{"id":21817,"date":"2025-10-28T21:20:27","date_gmt":"2025-10-28T20:20:27","guid":{"rendered":"https:\/\/opranic.com\/la-ciencia-eficiente-detras-de-opranic\/"},"modified":"2025-10-30T00:22:08","modified_gmt":"2025-10-29T23:22:08","slug":"la-ciencia-eficiente-detras-de-opranic","status":"publish","type":"post","link":"https:\/\/opranic.com\/es\/la-ciencia-eficiente-detras-de-opranic\/","title":{"rendered":"La ciencia eficiente detr\u00e1s de Opranic"},"content":{"rendered":"<div class=\"wpb-content-wrapper\">[vc_row][vc_column][vc_column_text css=\u00bb\u00bb]\n<header class=\"hero-intro\">\n<h2 class=\"hero-title\">La ciencia de Opranic<\/h2>\n<p class=\"hero-sub\">Un an\u00e1lisis visual que compara la tecnolog\u00eda Opranic IR-X Carbon Black (IR-B de onda media a \u22482,4 \u00b5m) con el hal\u00f3geno tradicional (IR-A de onda corta).<\/p>\n<\/header>\n[\/vc_column_text]<div class=\"vcex-spacing wpex-w-100 wpex-clear\" style=\"height:20px;\"><\/div>[vc_raw_html css=\u00bb\u00bb]PCEtLSDinIUgT3ByYW5pYyBJbmZvZ3JhcGhpYyDigJMgRklOQUwgcmVzcG9uc2l2ZSB2ZXJzaW9uIC0tPgo8ZGl2IGNsYXNzPSJvcHJhbmljLWluZm9ncmFwaGljIHR5cC0taW5oZXJpdCIgZGF0YS1vcHJhbmljLWluZm9ncmFwaGljPSIiIGRhdGEtd2F0ZXJtYXJrPSJodHRwczovL29wcmFuaWMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzEwL29wcmFuaWMtbG9nby0yMDIzLnBuZyI+CgoKICA8ZGl2IGNsYXNzPSJvcHJhbmljLWdyaWQiPgoKICAgIDwhLS0gMSkgQWJzb3JwdGlvbiAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLXdpZGUiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5MYSBjbGF2ZSBkZSBsYSBlZmljaWVuY2lhOiBjYWxvciBmcmVudGUgYSBhYnNvcmNpw7NuIGRlIGFndWE8L2gyPgogICAgICA8cCBjbGFzcz0ibXV0ZWQgY2VudGVyIj4KICBFbCBjdWVycG8gaHVtYW5vIGVzdMOhIGNvbXB1ZXN0byBwb3IgdW4gNzAlIGRlIGFndWEgYXByb3hpbWFkYW1lbnRlLiBQYXJhIHVuYSBjYWxlZmFjY2nDs24gZWZpY2llbnRlLCBsYSBsb25naXR1ZCBkZSBvbmRhIGRlbCBjYWxlZmFjdG9yIChwaWNvIGRlIGVuZXJnw61hKQogZGViZSBjb2luY2lkaXIgY29uIGxhIGNhcGFjaWRhZCBkZWwgYWd1YSBwYXJhIGFic29yYmVyIGVzYSBlbmVyZ8OtYS4gCiAgICAgIDwvcD4KICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIGgtNzIgaC1tZC05NiI+PGNhbnZhcyBjbGFzcz0iYWJzb3JwdGlvbkNoYXJ0Ij48L2NhbnZhcz48L2Rpdj4KICAgICAgPHAgY2xhc3M9Im11dGVkIHNtYWxsIGNlbnRlciI+CiAgRWwgaGFsw7NnZW5vICg8c3BhbiBjbGFzcz0idGV4dC1zZWNvbmRhcnkiPjxzdHJvbmc+bMOtbmVhIHJvamE8L3N0cm9uZz48L3NwYW4+KSBhbGNhbnphIHN1IHB1bnRvIG3DoXhpbW8gYSDiiYgxLDAgwrVtLCBkb25kZSBsYSBhYnNvcmNpw7NuIGRlIGFndWEKICg8c3BhbiBjbGFzcz0idGV4dC10ZXJ0aWFyeSI+PHN0cm9uZz7DoXJlYSBhenVsPC9zdHJvbmc+PC9zcGFuPikgZXMgbXV5IGJhamEuIEVsIGNhcmJvbm8gbmVncm8gZGUgT3ByYW5pYwogKDxzcGFuIGNsYXNzPSJ0ZXh0LXByaW1hcnkiPjxzdHJvbmc+bMOtbmVhIG5hcmFuamE8L3N0cm9uZz48L3NwYW4+KSBhbGNhbnphIHN1IHB1bnRvIG3DoXhpbW8gYSDiiYgyLDQgwrVtLCBsbyBxdWUgY29pbmNpZGUgY29uIGVsIHLDoXBpZG8gYXVtZW50byBkZSBsYSBhYnNvcmNpw7NuLiAKICAgICAgPC9wPgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gMikgQmFsYW5jZSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLXdpZGUiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5FbmNvbnRyYXIgZWwgZXF1aWxpYnJpbyBwZXJmZWN0bzogaW50ZW5zaWRhZCBmcmVudGUgYSBhYnNvcmNpw7NuPC9oMj4KICAgICAgPHAgY2xhc3M9Im11dGVkIGNlbnRlciI+CiAgU2kgc29sbyBzZSB0aWVuZSBlbiBjdWVudGEgbGEgYWJzb3JjacOzbiwgbGEgb25kYSBsYXJnYSAoSVItQykgZ2FuYXLDrWEsIHBlcm8gbGEgaW50ZW5zaWRhZCBlcyBpbXBvcnRhbnRlIGVuIGV4dGVyaW9yZXMuCiAgRWwgY2Fsb3IgbmVjZXNpdGEgc3VmaWNpZW50ZSBlbmVyZ8OtYSBwYXJhIGxsZWdhciBhIGxhIHBpZWwgYW50ZXMgZGUgcXVlIGVsIHZpZW50byBsYSBlbmZyw61lLgogICAgICA8L3A+CiAgICAgIDxkaXYgY2xhc3M9ImFuYWxvZ3ktZ3JpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYW5hbG9neS1jYXJkIGJvcmRlci1zZWNvbmRhcnkiPgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIHRleHQtc2Vjb25kYXJ5Ij5IYWzDs2dlbm8gKElSLWEpOiBsYSBoaWRyb2xpbXBpYWRvcmE8L2gzPgogICAgICAgICAgPHA+QWdyZXNpdm8geSBwZW5ldHJhbnRlOyBlbmVyZ8OtYSBlbiBlbCBsdWdhciBlcXVpdm9jYWRvIHkgZGVzYWdyYWRhYmxlLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhbmFsb2d5LWNhcmQgYm9yZGVyLXByaW1hcnkiPgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIHRleHQtcHJpbWFyeSI+Q2FyYm9ubyBuZWdybyBkZSBPcHJhbmljIChJUi1CKTogbGEgZHVjaGEgcGVyZmVjdGE8L2gzPgogICAgICAgICAgPHA+SW50ZW5zaWRhZCB5IGFic29yY2nDs24gZXF1aWxpYnJhZGFzOyBjYWxvciBleHRlcmlvciBlZmljaWVudGUgeSBjb25mb3J0YWJsZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYW5hbG9neS1jYXJkIGJvcmRlci1uZXV0cmFsIj4KICAgICAgICAgIDxoMyBjbGFzcz0iaC14cyI+T25kYSBsYXJnYSAoSVItQyk6IGVsIGdyaWZvIHF1ZSBnb3RlYTwvaDM+CiAgICAgICAgICA8cD5HcmFuIGFic29yY2nDs24gcGVybyBkZW1hc2lhZG8gZMOpYmlsOiBlbCBjYWxvciBzZSBkaXNpcGEgYW50ZXMgZGUgcXVlIGF5dWRlLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPCEtLSAzKSBTa2luIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImNhcmQiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5TZWd1cmlkYWQgeSBjb25mb3J0OiBwZW5ldHJhY2nDs24gZW4gbGEgcGllbDwvaDI+CiAgICAgIDxwIGNsYXNzPSJtdXRlZCI+CiAgTG9zIHJlY2VwdG9yZXMgZGUgY2Fsb3Igc2UgZW5jdWVudHJhbiBlbiBsYXMgY2FwYXMgZXh0ZXJuYXMgZGUgbGEgcGllbCAoZXBpZGVybWlzL2Rlcm1pcykuIExhIG9uZGEgbWVkaWEgSVItQiBzZSBhYnNvcmJlIGRvbmRlIGVzdMOhbiBsb3MgcmVjZXB0b3JlczsKIGxhIG9uZGEgY29ydGEgSVItQSBwZW5ldHJhIG3DoXMgcHJvZnVuZGFtZW50ZSB5IHNlIHNpZW50ZSBtw6FzIMOhc3BlcmEuIAogICAgICA8L3A+CiAgICAgIDxkaXYgY2xhc3M9ImNhbnZhcy13cmFwIj48Y2FudmFzIGNsYXNzPSJza2luUGVuZXRyYXRpb25DYW52YXMiPjwvY2FudmFzPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsZWdlbmRzIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIHRleHQtcHJpbWFyeSI+Q2FyYm9ubyBuZWdybyBkZSBPcHJhbmljIChJUi1CKTwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0ic21hbGwgbXV0ZWQiPkFic29yY2nDs24gc3VwZXJmaWNpYWwg4oaSIGNvbmZvcnQgaW5tZWRpYXRvLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIHRleHQtc2Vjb25kYXJ5Ij5IYWzDs2dlbm8gKElSLWEpPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJzbWFsbCBtdXRlZCI+UGVuZXRyYWNpw7NuIHByb2Z1bmRhIHkgYWdyZXNpdmEg4oaSIGVzdHLDqXMgdGlzdWxhci48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gNCkgVGVjaG5pY2FsIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImNhcmQiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5Db21wYXJhY2nDs24gdMOpY25pY2E8L2gyPgogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS13cmFwIj4KICAgICAgICA8dGFibGUgY2xhc3M9InByb3AtdGFibGUiPgogICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRoPlByb3BpZWRhZDwvdGg+CiAgICAgICAgICAgICAgPHRoIGNsYXNzPSJ0ZXh0LXByaW1hcnkgY2VudGVyIj5DYXJib25vIG5lZ3JvIGRlIE9wcmFuaWMgKElSLUIpPC90aD4KICAgICAgICAgICAgICA8dGggY2xhc3M9InRleHQtc2Vjb25kYXJ5IGNlbnRlciI+SGFsw7NnZW5vIChJUi1BKTwvdGg+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgPHRib2R5PgogICAgICAgICAgICA8dHI+PHRkPjxzdHJvbmc+TG9uZ2l0dWQgZGUgb25kYTwvc3Ryb25nPjwvdGQ+PHRkIGNsYXNzPSJjZW50ZXIiPuKJiDIsNCDCtW08L3RkPjx0ZCBjbGFzcz0iY2VudGVyIj7iiYgxLDAgwrVtPC90ZD48L3RyPgogICAgICAgICAgICA8dHI+PHRkPjxzdHJvbmc+QWJzb3JjacOzbiBjdXTDoW5lYSAoYWd1YSk8L3N0cm9uZz48L3RkPjx0ZCBjbGFzcz0iY2VudGVyIHN0cm9uZyBncmVlbiI+bXV5IGFsdGE8L3RkPjx0ZCBjbGFzcz0iY2VudGVyIHN0cm9uZyByZWQiPm11eSBiYWphPC90ZD48L3RyPgogICAgICAgICAgICA8dHI+PHRkPjxzdHJvbmc+RXF1aWxpYnJpbyAoaW50ZW5zaWRhZC9hYnNvcmNpw7NuKTwvc3Ryb25nPjwvdGQ+PHRkIGNsYXNzPSJjZW50ZXIgYmlnIGdyZWVuIj7inJQ8L3RkPjx0ZCBjbGFzcz0iY2VudGVyIGJpZyByZWQiPuKcmDwvdGQ+PC90cj4KICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPlBlbmV0cmFjacOzbjwvc3Ryb25nPjwvdGQ+PHRkIGNsYXNzPSJjZW50ZXIiPnN1cGVyZmljaWFsIChzZWd1cmEpPC90ZD48dGQgY2xhc3M9ImNlbnRlciI+cHJvZnVuZGEgKGFncmVzaXZhKTwvdGQ+PC90cj4KICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPkNvbmZvcnQgKGRlc2x1bWJyYW1pZW50byk8L3N0cm9uZz48L3RkPjx0ZCBjbGFzcz0iY2VudGVyIj5CcmlsbG8gc3VhdmUgeSBhZ3JhZGFibGU8L3RkPjx0ZCBjbGFzcz0iY2VudGVyIj5MdXogaW50ZW5zYSB5IGRlc2x1bWJyYW50ZTwvdGQ+PC90cj4KICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPCEtLSA1KSBHbGFyZSB2cyBIZWF0IOKAkyBzaWRlLWJ5LXNpZGUgLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0iY2FyZCBjYXJkLS13aWRlIj4KICAgICAgPGgyIGNsYXNzPSJoLXNtIGNlbnRlciI+QW7DoWxpc2lzOiBkZXNsdW1icmFtaWVudG8gZnJlbnRlIGEgY2Fsb3I8L2gyPgogICAgICA8cCBjbGFzcz0ibXV0ZWQgY2VudGVyIj4KICBFbCBoYWzDs2dlbm8gZW1pdGUgdW5hIG1heW9yIHBhcnRlIGRlIHN1IGVuZXJnw61hIGVuIGZvcm1hIGRlIGx1eiB2aXNpYmxlIChkZXNsdW1icmFtaWVudG8pLCBtaWVudHJhcyBxdWUgZWwgY2FyYm9ubyBuZWdybyBkZSBPcHJhbmljIGNlbnRyYSBzdSBzYWxpZGEgZW4gY2Fsb3IgaW5mcmFycm9qbyBlZmljaWVudGVtZW50ZSBhYnNvcmJpZG8uCiAgICAgIDwvcD4KICAgICAgPGRpdiBjbGFzcz0idHdvLWNvbCBzaWRlY2hhcnRzIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGgzIGNsYXNzPSJoLXh4cyBjZW50ZXIgdGV4dC1zZWNvbmRhcnkiPkhhbMOzZ2VubyAoSVItYSk8L2gzPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIGgtNjQiPjxjYW52YXMgY2xhc3M9ImdsYXJlQ2hhcnQiPjwvY2FudmFzPjwvZGl2PgogICAgICAgICAgPHAgY2xhc3M9InNtYWxsIG11dGVkIGNlbnRlciI+RW5lcmfDrWEgZGl2aWRpZGEgZW50cmUgbHV6IGFncmVzaXZhIHkgY2Fsb3IgaW5lZmljaWVudGUuPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXY+CiAgICAgICAgICA8aDMgY2xhc3M9ImgteHhzIGNlbnRlciB0ZXh0LXByaW1hcnkiPkNhcmJvbm8gbmVncm8gZGUgT3ByYW5pYyAoSVItQik8L2gzPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIGgtNjQiPjxjYW52YXMgY2xhc3M9ImVmZmljaWVuY3lDaGFydCI+PC9jYW52YXM+PC9kaXY+CiAgICAgICAgICA8cCBjbGFzcz0ic21hbGwgbXV0ZWQgY2VudGVyIj5MYSBlbmVyZ8OtYSBzZSBkZXN0aW5hIGFsIGNhbG9yOyBlbCBicmlsbG8gc2UgbWFudGllbmUgYWwgbcOtbmltby48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gNikgQ29uY2x1c2lvbiAobcO2cmspIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImNhcmQgY2FyZC0tZGFyayBjYXJkLS13aWRlIGZlYXR1cmUtYmxvY2siPgogICAgICA8aDIgY2xhc3M9ImZlYXR1cmUtdGl0bGUiPkNvbmNsdXNpw7NuOiBsYSBlbGVjY2nDs24gY2llbnTDrWZpY2FtZW50ZSBpbnRlbGlnZW50ZTwvaDI+CiAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWxlYWQiPgogIFNpIGJpZW4gZWwgaGFsw7NnZW5vIChJUi1BKSB5IGVsIGNhcmJvbm8gbmVncm8gZGUgT3ByYW5pYyAoSVItQikgc29uIHRlY25vbG9nw61hcyBpbmZyYXJyb2phcyBtb2Rlcm5hcywgZGlmaWVyZW4gZW4gbGEgZm9ybWEgZW4gcXVlIHByb3BvcmNpb25hbiBjYWxvciB1dGlsaXphYmxlLgogRWwgaGFsw7NnZW5vIGlycmFkaWEgdW5hIG1heW9yIHByb3BvcmNpw7NuIGNvbW8gbHV6IHZpc2libGUsIG1pZW50cmFzIHF1ZSBlbCBJUi1YIENhcmJvbiBCbGFjayBkZSBPcHJhbmljIGNvbmNlbnRyYSBzdSBlbmVyZ8OtYSBkZW50cm8gZGVsIHJhbmdvIGRlIGxvbmdpdHVkIGRlIG9uZGEgw7NwdGltbwogcGFyYSBsYSBjb21vZGlkYWQgeSBsYSBhYnNvcmNpw7NuIGh1bWFuYXMsIHByb3BvcmNpb25hbmRvIHVuIGNhbG9yIGVxdWlsaWJyYWRvLCBpbm1lZGlhdG8geSBzdWF2ZSBkZSBmb3JtYSBzZWd1cmEuCiAgICAgIDwvcD4KICAgICAgPGhyIGNsYXNzPSJmZWF0dXJlLXNlcCI+CiAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmVzLXJvdyI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj7inKY8L3NwYW4+CiAgICAgICAgICA8aDMgY2xhc3M9ImZlYXR1cmUtaXRlbS10aXRsZSBoLXh4cyI+RXF1aWxpYnJpbyBvcHRpbWl6YWRvPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGV4dCI+UGljbyBhIOKJiDIsNCDCtW0gcGFyYSB1bmEgbcOheGltYSBlZmljaWVuY2lhLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPvCfko48L3NwYW4+CiAgICAgICAgICA8aDMgY2xhc3M9ImZlYXR1cmUtaXRlbS10aXRsZSBoLXh4cyI+RmlicmEgZGUgY2FyYm9ubyBqYXBvbmVzYTwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0iZmVhdHVyZS1pdGVtLXRleHQiPkFsdGEgY2FsaWRhZCBwYXJhIHVuIGZ1bmNpb25hbWllbnRvIGVzdGFibGUgeSB1bmEgbGFyZ2EgdmlkYSDDunRpbC48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj7ih7M8L3NwYW4+CiAgICAgICAgICA8aDMgY2xhc3M9ImZlYXR1cmUtaXRlbS10aXRsZSBoLXh4cyI+RGlzZcOxbyBJUi1YPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGV4dCI+TW9udGFqZSBmbGV4aWJsZSBlbiB0b2RhcyBsYXMgZGlyZWNjaW9uZXMuPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCjwhLS0gUmVmZXJlbmNlcyAtLT4KPHNlY3Rpb24gY2xhc3M9ImNhcmQgY2FyZC0td2lkZSByZWZzLWNhcmQiIGlkPSJyZWZlcmVuY2VzIj4KICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5SZWZlcmVuY2lhcyAoZnVlbnRlcyBjaWVudMOtZmljYXMpPC9oMj4KICA8b2wgY2xhc3M9InJlZnMtbGlzdCI+CiAgICA8bGk+CiAgQ3VyY2lvLCBKLiBBLiwgJmFtcDsgUGV0dHksIEMuIEMuICgxOTUxKS4g4oCcVGhlIE5lYXIgSW5mcmFyZWQgQWJzb3JwdGlvbiBTcGVjdHJ1bSBvZiBMaXF1aWQgV2F0ZXIu4oCdCiAgICAgIDxlbT5Kb3VybmFsIG9mIHRoZSBPcHRpY2FsIFNvY2lldHkgb2YgQW1lcmljYTwvZW0+LCA0MSg1KSwgMzAy4oCTMzA0LiAKICAgIDwvbGk+CiAgICA8bGk+CiAgU2Nocm9lZGVyLCBQLiwgZXQgYWwuICgyMDA4KS4g4oCcRWZmZWN0cyBvZiBJbmZyYXJlZC1BIElycmFkaWF0aW9uIG9uIFNraW4u4oCdIEluOiBCLiBOLiBULiAoZWRzKTx4IGlkPSJnaWRfMCI+PC94PiAgICAgIDxnIGlkPSJnaWRfMSI+U2tpbiBBZ2luZzwvZz4uIFNwcmluZ2VyLCBCZXJsaW4sIEhlaWRlbGJlcmcuICAgCiAgICA8L2xpPgogICAgPGxpPgogIElDTklSUCDigJQgQ29taXNpw7NuIEludGVybmFjaW9uYWwgZGUgUHJvdGVjY2nDs24gY29udHJhIGxhIFJhZGlhY2nDs24gTm8gSW9uaXphbnRlICgyMDEzKS4KIOKAnElDTklSUCBHdWlkZWxpbmVzIG9uIExpbWl0cyBvZiBFeHBvc3VyZSB0byBJbmNvaGVyZW50IFZpc2libGUgYW5kIEluZnJhcmVkIFJhZGlhdGlvbi7igJ0KICAgICAgPGVtPkhlYWx0aCBQaHlzaWNzPC9lbT4sIDEwNSgxKSwgNzTigJM5Ni4KICAgIDwvbGk+CiAgICA8bGk+CiAgQmFyb2xldCwgRC4gKDIwMTYpLiDigJxMaWdodC1FbWl0dGluZyBEaW9kZXMgKExFRHMpIGluIERlcm1hdG9sb2d5LuKAnQogICAgICA8ZW0+U2VtaW5hcnMgaW4gQ3V0YW5lb3VzIE1lZGljaW5lIGFuZCBTdXJnZXJ5PC9lbT4sIDM1KDMpLCAxNjHigJMxNjkuIAogICAgPC9saT4KICA8L29sPgo8L3NlY3Rpb24+CgoKCiAgPC9kaXY+CjwvZGl2PgoKPHN0eWxlPgovKiAtLS0tIEluaGVyaXQgc2l0ZSB0eXBvZ3JhcGh5LCBjb21wYWN0IGhlYWRpbmdzIC0tLS0gKi8KLnR5cC0taW5oZXJpdCwudHlwLS1pbmhlcml0ICp7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O2NvbG9yOmluaGVyaXQ7fQoub3ByYW5pYy1pbmZvZ3JhcGhpY3stLWMtcHJpbWFyeTojZWU5MzA1Oy0tYy1zZWNvbmRhcnk6I0ZGNEU1MDstLWMtdGVydGlhcnk6IzRBOTBFMjsKICBiYWNrZ3JvdW5kOiNmNGY3ZjY7cGFkZGluZzoxNnB4O21hcmdpbjowIGF1dG87bWF4LXdpZHRoOjEyMDBweDtvdmVyZmxvdy14OmhpZGRlbjt9Ci5vcHJhbmljLWluZm9ncmFwaGljICp7Ym94LXNpemluZzpib3JkZXItYm94O30KLmgtc217Zm9udC1zaXplOjEuMXJlbTtmb250LXdlaWdodDo3MDA7bWFyZ2luOi4xcmVtIDAgLjRyZW07fQouaC14c3tmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjAgMCAuM3JlbTt9Ci5oLXh4c3tmb250LXNpemU6Ljk0cmVtO2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW46LjFyZW0gMCAuMjVyZW07fQoKLmhlcm8taW50cm97dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjE4cHggMCAyMnB4O30KLmhlcm8tYnJhbmR7Y29sb3I6dmFyKC0tYy1wcmltYXJ5KTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjFlbTtmb250LXNpemU6LjhyZW07bWFyZ2luLWJvdHRvbTo1cHg7fQouaGVyby10aXRsZXttYXJnaW46MCAwIDZweDtmb250LXdlaWdodDo4MDA7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoxLjI1O30KLmhlcm8tc3Vie21heC13aWR0aDo4MjBweDttYXJnaW46MCBhdXRvO29wYWNpdHk6Ljk7Zm9udC1zaXplOi45NXJlbTt9CgoudGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWMtcHJpbWFyeSk7fSAudGV4dC1zZWNvbmRhcnl7Y29sb3I6dmFyKC0tYy1zZWNvbmRhcnkpO30gLnRleHQtdGVydGlhcnl7Y29sb3I6dmFyKC0tYy10ZXJ0aWFyeSk7fQoubXV0ZWR7b3BhY2l0eTouODU7fSAuc21hbGx7Zm9udC1zaXplOi45MmVtO30gLnN0cm9uZ3tmb250LXdlaWdodDo3MDA7fSAuYmlne2ZvbnQtc2l6ZToxLjJlbTt9Ci5ncmVlbntjb2xvcjojMGY4YTJjO30gLnJlZHtjb2xvcjojZDkzMDI1O30gLmNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcjt9Cgoub3ByYW5pYy1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDoxOHB4O30KQG1lZGlhKG1pbi13aWR0aDo3NjhweCl7Lm9wcmFuaWMtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjt9fQoKLmNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MTBweDtib3gtc2hhZG93OjAgNnB4IDE0cHggcmdiYSgwLDAsMCwuMDgpO3BhZGRpbmc6MThweDt9Ci5jYXJkLS13aWRle2dyaWQtY29sdW1uOjEvLTE7fQouY2FyZC0tZGFya3tiYWNrZ3JvdW5kOiMxZjI5Mzc7Y29sb3I6I2U1ZWVmNTt9Ci5jYXJkLS1kYXJrIHB7Y29sb3I6I2QxZDVkYjt9CgouY2hhcnQtY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO30KY2FudmFze2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50O2hlaWdodDphdXRvO30KCi5oLTcye2hlaWdodDoxOHJlbTt9Ci5oLTY0e2hlaWdodDoxNnJlbTt9CkBtZWRpYShtaW4td2lkdGg6NzY4cHgpey5oLW1kLTk2e2hlaWdodDoyNHJlbTt9fQoKLmFuYWxvZ3ktZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6MTRweDt9CkBtZWRpYShtaW4td2lkdGg6NzY4cHgpey5hbmFsb2d5LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7fX0KLmFuYWxvZ3ktY2FyZHtiYWNrZ3JvdW5kOiNmYWZhZmE7Ym9yZGVyLXRvcDo0cHggc29saWQgI2U1ZTdlYjtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjE0cHg7aGVpZ2h0OjEwMCU7fQouYm9yZGVyLXByaW1hcnl7Ym9yZGVyLWNvbG9yOnZhcigtLWMtcHJpbWFyeSkhaW1wb3J0YW50O30KLmJvcmRlci1zZWNvbmRhcnl7Ym9yZGVyLWNvbG9yOnZhcigtLWMtc2Vjb25kYXJ5KSFpbXBvcnRhbnQ7fQouYm9yZGVyLW5ldXRyYWx7Ym9yZGVyLWNvbG9yOiM5Y2EzYWYhaW1wb3J0YW50O30KCi5jYW52YXMtd3JhcHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzo4cHg7fQoKLnRhYmxlLXdyYXB7b3ZlcmZsb3cteDphdXRvO30KLnByb3AtdGFibGV7d2lkdGg6MTAwJTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7fQoucHJvcC10YWJsZSB0aCwucHJvcC10YWJsZSB0ZHtwYWRkaW5nOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U1ZTdlYjt9Ci5wcm9wLXRhYmxlIHRoe2JhY2tncm91bmQ6I2Y4ZmFmYzt0ZXh0LWFsaWduOmxlZnQ7fQoucHJvcC10YWJsZSAuY2VudGVye3RleHQtYWxpZ246Y2VudGVyO30KCi8qIEdsYXJlIHZzIEhlYXQgc2lkZS1ieS1zaWRlIG9uIGRlc2t0b3AgKi8KLnNpZGVjaGFydHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjI0cHg7YWxpZ24taXRlbXM6c3RhcnQ7fQpAbWVkaWEobWluLXdpZHRoOjgyMHB4KXsuc2lkZWNoYXJ0c3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6NDBweDt9fQoKLyogQ29uY2x1c2lvbiBibG9jayAqLwouZmVhdHVyZS1ibG9ja3tib3JkZXItcmFkaXVzOjEycHg7Ym94LXNoYWRvdzowIDZweCAxNnB4IHJnYmEoMCwwLDAsLjE4KTtwYWRkaW5nOjI0cHggMThweCAyMnB4O30KLmZlYXR1cmUtdGl0bGV7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjAgMCA2cHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxLjA1cmVtO30KLmZlYXR1cmUtbGVhZHt0ZXh0LWFsaWduOmNlbnRlcjttYXgtd2lkdGg6ODIwcHg7bWFyZ2luOjAgYXV0byAxMnB4O29wYWNpdHk6LjkyO30KLmZlYXR1cmUtc2Vwe2hlaWdodDoxcHg7Ym9yZGVyOjA7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xOCk7bWFyZ2luOjE2cHggMDt9Ci5mZWF0dXJlcy1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjIycHg7YWxpZ24taXRlbXM6c3RhcnQ7anVzdGlmeS1pdGVtczpjZW50ZXI7fQpAbWVkaWEobWluLXdpZHRoOjc2OHB4KXsuZmVhdHVyZXMtcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoyNnB4O319Ci5mZWF0dXJlLWl0ZW17dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzo2cHggMTBweDt9Ci5mZWF0dXJlLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6OTk5OXB4OwogIGJhY2tncm91bmQ6cmdiYSgyMzgsMTQ3LDUsLjEyKTtjb2xvcjp2YXIoLS1jLXByaW1hcnkpO2ZvbnQtc2l6ZToxOHB4O21hcmdpbi1ib3R0b206OHB4O30KLmZlYXR1cmUtaXRlbS10aXRsZXttYXJnaW46MnB4IDAgNHB4O2ZvbnQtd2VpZ2h0OjcwMDt9Ci5mZWF0dXJlLWl0ZW0tdGV4dHttYXJnaW46MDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Zm9udC1zaXplOi45NWVtO30KCi8qIE1vYmlsZSB0aWdodGVuaW5nICovCkBtZWRpYShtYXgtd2lkdGg6NTc1cHgpewogIC5vcHJhbmljLWluZm9ncmFwaGlje3BhZGRpbmc6MTJweDt9CiAgLmhlcm8tdGl0bGV7Zm9udC1zaXplOjEuMjJyZW07fQogIC5oZXJvLXN1Yntmb250LXNpemU6LjlyZW07bGluZS1oZWlnaHQ6MS40NTt9CiAgLmgtc217Zm9udC1zaXplOjEuMHJlbTt9IC5oLXhze2ZvbnQtc2l6ZTouOTVyZW07fSAuaC14eHN7Zm9udC1zaXplOi44OHJlbTt9CiAgcHtmb250LXNpemU6LjkzcmVtO2xpbmUtaGVpZ2h0OjEuNTt9CiAgLmNhcmR7cGFkZGluZzoxNHB4O30gLmFuYWxvZ3ktY2FyZHtwYWRkaW5nOjEycHg7fSAuZmVhdHVyZS1ibG9ja3twYWRkaW5nOjE4cHggMTRweDt9CiAgLmgtNzJ7aGVpZ2h0OjE1cmVtO30gLmgtNjR7aGVpZ2h0OjEzcmVtO30KfQo8L3N0eWxlPgoKPHNjcmlwdD4KLyogLS0tLS0tLS0tLS0tLS0tLSBDaGFydC5qcyBsb2FkZXIgKyBXYXRlcm1hcmsgKyBBdXRvLXJlc2l6ZSAtLS0tLS0tLS0tLS0tLS0tICovCihmdW5jdGlvbigpewogIGZ1bmN0aW9uIHJlYWR5KGZuKXsgaWYoZG9jdW1lbnQucmVhZHlTdGF0ZSE9PSdsb2FkaW5nJyl7IGZuKCk7IH0gZWxzZSB7IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmbik7IH0gfQoKICBmdW5jdGlvbiBsb2FkQ2hhcnQoY2IpewogICAgaWYod2luZG93LkNoYXJ0KXsgY2IoKTsgcmV0dXJuOyB9CiAgICB2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIHMuc3JjPSdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzQDQuNC4zL2Rpc3QvY2hhcnQudW1kLm1pbi5qcyc7CiAgICBzLm9ubG9hZD1mdW5jdGlvbigpeyBjYigpOyB9OwogICAgcy5vbmVycm9yPWZ1bmN0aW9uKCl7IGNvbnNvbGUuZXJyb3IoJ0NoYXJ0LmpzIGZhaWxlZCB0byBsb2FkJyk7IH07CiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpOwogIH0KCiAgZnVuY3Rpb24gbG9hZEltZyh1cmwsY2IpewogICAgaWYoIXVybCl7IGNiKG51bGwpOyByZXR1cm47IH0KICAgIHZhciBpbWc9bmV3IEltYWdlKCk7CiAgICBpbWcuY3Jvc3NPcmlnaW49J2Fub255bW91cyc7CiAgICBpbWcub25sb2FkPWZ1bmN0aW9uKCl7IGNiKGltZyk7IH07CiAgICBpbWcub25lcnJvcj1mdW5jdGlvbigpeyBjb25zb2xlLndhcm4oJ1dhdGVybWFyayBpbWFnZSBmYWlsZWQ6Jyx1cmwpOyBjYihudWxsKTsgfTsKICAgIGltZy5zcmM9dXJsOwogIH0KCiAgZnVuY3Rpb24gbWFrZVdhdGVybWFya1BsdWdpbihpbWcpewogICAgcmV0dXJuIHsKICAgICAgaWQ6ICdvcHJhbmljV2F0ZXJtYXJrJywKICAgICAgYmVmb3JlRHJhdyhjaGFydCl7CiAgICAgICAgaWYoIWltZykgcmV0dXJuOwogICAgICAgIHZhciBhPWNoYXJ0LmNoYXJ0QXJlYTsgaWYoIWEpIHJldHVybjsKICAgICAgICB2YXIgY3R4PWNoYXJ0LmN0eCwgY3c9YS5yaWdodC1hLmxlZnQsIGNoPWEuYm90dG9tLWEudG9wOwogICAgICAgIHZhciB3PWN3KjAuNDAsIGg9dyooaW1nLmhlaWdodC9pbWcud2lkdGgpOyAvLyA0MCUgYXYgYXJlYS1icmVkZAogICAgICAgIHZhciB4PWEubGVmdCsoY3ctdykvMiwgeT1hLnRvcCsoY2gtaCkvMjsKICAgICAgICBjdHguc2F2ZSgpOyBjdHguZ2xvYmFsQWxwaGE9MC4wODsgY3R4LmRyYXdJbWFnZShpbWcseCx5LHcsaCk7IGN0eC5yZXN0b3JlKCk7CiAgICAgIH0KICAgIH07CiAgfQoKICBmdW5jdGlvbiBpbml0QWxsKCl7IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLW9wcmFuaWMtaW5mb2dyYXBoaWNdJykuZm9yRWFjaChpbml0QmxvY2spOyB9CgogIGZ1bmN0aW9uIGluaXRCbG9jayhyb290KXsKICAgIHZhciBwcmltYXJ5PScjZWU5MzA1Jywgc2Vjb25kYXJ5PScjRkY0RTUwJywgdGVydGlhcnk9JyM0QTkwRTInLCB0ZXJ0aWFyeUZpbGw9J3JnYmEoNzQsMTQ0LDIyNiwuMjgpJzsKICAgIHZhciB3bVVybD1yb290LmdldEF0dHJpYnV0ZSgnZGF0YS13YXRlcm1hcmsnKXx8Jyc7CiAgICBsb2FkSW1nKHdtVXJsLCBmdW5jdGlvbih3bUltZyl7CiAgICAgIHZhciB3bSA9IHdtSW1nID8gW21ha2VXYXRlcm1hcmtQbHVnaW4od21JbWcpXSA6IFtdOwoKICAgICAgZnVuY3Rpb24gbWtDaGFydChjYW52YXMsIGNmZyl7CiAgICAgICAgaWYoIWNhbnZhcykgcmV0dXJuIG51bGw7CiAgICAgICAgdmFyIGN0eD1jYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgICB2YXIgY2g9bmV3IENoYXJ0KGN0eCwgT2JqZWN0LmFzc2lnbih7fSwgY2ZnLCB7IHBsdWdpbnM6IChjZmcucGx1Z2luc3x8W10pLmNvbmNhdCh3bSkgfSkpOwogICAgICAgIC8vIEF1dG8tcmVzaXplIHdoZW4gcGFyZW50IHdpZHRoIGNoYW5nZXMgKFdQQmFrZXJ5IGxhdGUgcmVmbG93cykKICAgICAgICB0cnl7IG5ldyBSZXNpemVPYnNlcnZlcihmdW5jdGlvbigpeyBjaC5yZXNpemUoKTsgfSkub2JzZXJ2ZShjYW52YXMucGFyZW50RWxlbWVudCk7IH0KICAgICAgICBjYXRjaChlKXsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uKCl7IGNoLnJlc2l6ZSgpOyB9KTsgfQogICAgICAgIHJldHVybiBjaDsKICAgICAgfQoKICAgICAgLy8gQWJzb3JwdGlvbiAobGluZSkKICAgICAgbWtDaGFydChyb290LnF1ZXJ5U2VsZWN0b3IoJy5hYnNvcnB0aW9uQ2hhcnQnKSx7CiAgICAgICAgdHlwZTonbGluZScsCiAgICAgICAgZGF0YTp7IGRhdGFzZXRzOlsKICAgICAgICAgIHsgbGFiZWw6J1dhdGVyIEFic29ycHRpb24nLCBkYXRhOlt7eDoxLHk6MTV9LHt4OjEuNSx5OjIwfSx7eDoyLHk6MzB9LHt4OjIuNSx5OjcwfSx7eDoyLjgseTo5MH0se3g6Myx5Ojk1fSx7eDozLjIseTo5MH0se3g6NCx5OjYwfSx7eDo1LHk6NDB9XSwKICAgICAgICAgICAgYm9yZGVyQ29sb3I6dGVydGlhcnksIGJhY2tncm91bmRDb2xvcjp0ZXJ0aWFyeUZpbGwsIGZpbGw6dHJ1ZSwgdGVuc2lvbjouMzUsIGJvcmRlcldpZHRoOjIsIHBvaW50UmFkaXVzOjAgfSwKICAgICAgICAgIHsgbGFiZWw6J0hhbG9nZW4gKElSLUEpJywgZGF0YTpbe3g6LjUseToxMH0se3g6LjgseToxODB9LHt4OjEseToyMjB9LHt4OjEuMix5OjE3MH0se3g6Mix5OjQwfSx7eDozLHk6MTB9XSwKICAgICAgICAgICAgYm9yZGVyQ29sb3I6c2Vjb25kYXJ5LCBmaWxsOmZhbHNlLCB0ZW5zaW9uOi4zNSwgYm9yZGVyV2lkdGg6MywgcG9pbnRSYWRpdXM6MCB9LAogICAgICAgICAgeyBsYWJlbDonT3ByYW5pYyBDYXJib24gQmxhY2sgKElSLUIpJywgZGF0YTpbe3g6MSx5OjV9LHt4OjEuNSx5OjIwfSx7eDoyLHk6ODB9LHt4OjIuNCx5OjExMH0se3g6Myx5OjkwfSx7eDo0LHk6NDB9LHt4OjUseToyMH1dLAogICAgICAgICAgICBib3JkZXJDb2xvcjpwcmltYXJ5LCBmaWxsOmZhbHNlLCB0ZW5zaW9uOi4zNSwgYm9yZGVyV2lkdGg6MywgcG9pbnRSYWRpdXM6MCB9CiAgICAgICAgXX0sCiAgICAgICAgb3B0aW9uczp7CiAgICAgICAgICByZXNwb25zaXZlOnRydWUsIG1haW50YWluQXNwZWN0UmF0aW86ZmFsc2UsCiAgICAgICAgICBzY2FsZXM6eyB5OnsgdGl0bGU6e2Rpc3BsYXk6dHJ1ZSx0ZXh0OidSZWxhdGl2ZSBJbnRlbnNpdHkgLyBBYnNvcnB0aW9uJ30gfSwKICAgICAgICAgICAgICAgICAgIHg6eyB0eXBlOidsaW5lYXInLCBwb3NpdGlvbjonYm90dG9tJywgdGl0bGU6e2Rpc3BsYXk6dHJ1ZSx0ZXh0OidXYXZlbGVuZ3RoICjCtW0pJ30sIG1pbjouNSwgbWF4OjUuNSB9IH0sCiAgICAgICAgICBwbHVnaW5zOnsgbGVnZW5kOnsgcG9zaXRpb246J2JvdHRvbScsIGxhYmVsczp7IHBhZGRpbmc6MTYgfSB9LAogICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6eyBjYWxsYmFja3M6eyB0aXRsZTooYyk9PidXYXZlbGVuZ3RoOiAnK2NbMF0ucGFyc2VkLngudG9GaXhlZCgxKSsnIMK1bScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOihjKT0+Yy5kYXRhc2V0LmxhYmVsKyc6ICcrYy5wYXJzZWQueS50b0ZpeGVkKDApIH0gfSB9CiAgICAgICAgfQogICAgICB9KTsKCiAgICAgIC8vIEdsYXJlIGRvbnV0IChIYWxvZ2VuKQogICAgICBta0NoYXJ0KHJvb3QucXVlcnlTZWxlY3RvcignLmdsYXJlQ2hhcnQnKSx7CiAgICAgICAgdHlwZTonZG91Z2hudXQnLAogICAgICAgIGRhdGE6eyBsYWJlbHM6WydBZ2dyZXNzaXZlIExpZ2h0JywnSGVhdCddLCBkYXRhc2V0czpbeyBkYXRhOls0MCw2MF0sIGJhY2tncm91bmRDb2xvcjpbc2Vjb25kYXJ5LCcjRkVFMkUyJ10gfV19LAogICAgICAgIG9wdGlvbnM6eyByZXNwb25zaXZlOnRydWUsIG1haW50YWluQXNwZWN0UmF0aW86ZmFsc2UsIHBsdWdpbnM6eyBsZWdlbmQ6eyBwb3NpdGlvbjonYm90dG9tJywgbGFiZWxzOnsgcGFkZGluZzoxNCB9IH0gfSB9CiAgICAgIH0pOwoKICAgICAgLy8gRWZmaWNpZW5jeSBkb251dCAoQ2FyYm9uIEJsYWNrKQogICAgICBta0NoYXJ0KHJvb3QucXVlcnlTZWxlY3RvcignLmVmZmljaWVuY3lDaGFydCcpLHsKICAgICAgICB0eXBlOidkb3VnaG51dCcsCiAgICAgICAgZGF0YTp7IGxhYmVsczpbJ0VmZmljaWVudCBIZWF0JywnU29mdCBHbG93J10sIGRhdGFzZXRzOlt7IGRhdGE6WzkwLDEwXSwgYmFja2dyb3VuZENvbG9yOltwcmltYXJ5LCcjRkVGNUU2J10gfV19LAogICAgICAgIG9wdGlvbnM6eyByZXNwb25zaXZlOnRydWUsIG1haW50YWluQXNwZWN0UmF0aW86ZmFsc2UsIHBsdWdpbnM6eyBsZWdlbmQ6eyBwb3NpdGlvbjonYm90dG9tJywgbGFiZWxzOnsgcGFkZGluZzoxNCB9IH0gfSB9CiAgICAgIH0pOwoKICAgICAgLy8gU2tpbiBwZW5ldHJhdGlvbiAoY3VzdG9tIGNhbnZhcykKICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgdmFyIGMgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy5za2luUGVuZXRyYXRpb25DYW52YXMnKTsgaWYoIWMpIHJldHVybjsKICAgICAgICBmdW5jdGlvbiBkcmF3KCl7CiAgICAgICAgICB2YXIgd3JhcD1jLnBhcmVudEVsZW1lbnQ7IGMud2lkdGg9KHdyYXAuY2xpZW50V2lkdGh8fDMwMCk7IGMuaGVpZ2h0PTI1NjsKICAgICAgICAgIHZhciBjdHg9Yy5nZXRDb250ZXh0KCcyZCcpLCB3PWMud2lkdGgsIGg9Yy5oZWlnaHQsIGxoPWgvMzsKICAgICAgICAgIGN0eC5jbGVhclJlY3QoMCwwLHcsaCk7CgogICAgICAgICAgLy8gbGF5ZXJzCiAgICAgICAgICBjdHguZmlsbFN0eWxlPScjZmVmNWU2JzsgY3R4LmZpbGxSZWN0KDAsMCx3LGxoKTsKICAgICAgICAgIGN0eC5maWxsU3R5bGU9JyNjNzdhMDQnOyBjdHguZm9udD0nYm9sZCAxNHB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7IGN0eC50ZXh0QWxpZ249J2NlbnRlcic7CiAgICAgICAgICBjdHguZmlsbFRleHQoJ0VwaWRlcm1pcycsdy8yLGxoLzItNSk7IGN0eC5mb250PScxMnB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7IGN0eC5maWxsVGV4dCgnKEhlYXQgUmVjZXB0b3JzKScsdy8yLGxoLzIrMTApOwoKICAgICAgICAgIGN0eC5maWxsU3R5bGU9JyNmYmU2YzInOyBjdHguZmlsbFJlY3QoMCxsaCx3LGxoKTsKICAgICAgICAgIGN0eC5maWxsU3R5bGU9JyNjNzdhMDQnOyBjdHguZm9udD0nYm9sZCAxNHB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7IGN0eC5maWxsVGV4dCgnRGVybWlzJyx3LzIsbGgrbGgvMik7CgogICAgICAgICAgY3R4LmZpbGxTdHlsZT0nI2Y4ZDNhMCc7IGN0eC5maWxsUmVjdCgwLGxoKjIsdyxsaCk7CiAgICAgICAgICBjdHguZmlsbFN0eWxlPScjYzc3YTA0JzsgY3R4LmZvbnQ9J2JvbGQgMTRweCBzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxTZWdvZSBVSSxSb2JvdG8nOwogICAgICAgICAgY3R4LmZpbGxUZXh0KCdTdWJjdXRpcycsdy8yLGxoKjIrbGgvMi01KTsKICAgICAgICAgIGN0eC5mb250PScxMnB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7CiAgICAgICAgICBjdHguZmlsbFRleHQoJyhEZWVwIFRpc3N1ZSknLHcvMixsaCoyK2xoLzIrMTApOwoKICAgICAgICAgIC8vIGFycm93cwogICAgICAgICAgZnVuY3Rpb24gYXJyb3coeCxzeSxleSxjb2wsbGJsLHN5bSl7CiAgICAgICAgICAgIGN0eC5maWxsU3R5bGU9Y29sOyBjdHguc3Ryb2tlU3R5bGU9Y29sOyBjdHgubGluZVdpZHRoPTM7CiAgICAgICAgICAgIGN0eC5mb250PSdib2xkIDEycHggc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sU2Vnb2UgVUksUm9ib3RvJzsKICAgICAgICAgICAgY3R4LmZpbGxUZXh0KGxibCx4LHN5LTEwKTsKICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpOyBjdHgubW92ZVRvKHgsc3kpOyBjdHgubGluZVRvKHgsZXkpOyBjdHguc3Ryb2tlKCk7CiAgICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTsgY3R4Lm1vdmVUbyh4LGV5KTsgY3R4LmxpbmVUbyh4LTYsZXktMTApOyBjdHgubGluZVRvKHgrNixleS0xMCk7IGN0eC5jbG9zZVBhdGgoKTsgY3R4LmZpbGwoKTsKICAgICAgICAgICAgY3R4LmZvbnQ9J2JvbGQgMjJweCBzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxTZWdvZSBVSSxSb2JvdG8nOwogICAgICAgICAgICBjdHguZmlsbFRleHQoc3ltLHgrMTQsZXkrNik7CiAgICAgICAgICB9CiAgICAgICAgICBhcnJvdyh3KjAuMzAsMjUsIGxoKjAuNywgJyNlZTkzMDUnLCAnQ2FyYm9uIEJsYWNrIChJUi1CKScsICfinJQnKTsKICAgICAgICAgIGFycm93KHcqMC43MCwyNSwgaC0zMCwgICcjRkY0RTUwJywgJ0hhbG9nZW4gKElSLUEpJywgJ+KcmCcpOwoKICAgICAgICAgIC8vIHdhdGVybWFyayBpbiBjYW52YXMKICAgICAgICAgIGlmKHdtSW1nKXsKICAgICAgICAgICAgdmFyIHd3PXcqMC4zNSwgaGg9d3cqKHdtSW1nLmhlaWdodC93bUltZy53aWR0aCk7CiAgICAgICAgICAgIHZhciB4PSh3LXd3KS8yLCB5PShoLWhoKS8yOwogICAgICAgICAgICBjdHguc2F2ZSgpOyBjdHguZ2xvYmFsQWxwaGE9MC4wOTsgY3R4LmRyYXdJbWFnZSh3bUltZyx4LHksd3csaGgpOyBjdHgucmVzdG9yZSgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBkcmF3KCk7CiAgICAgICAgdHJ5eyBuZXcgUmVzaXplT2JzZXJ2ZXIoZHJhdykub2JzZXJ2ZShjLnBhcmVudEVsZW1lbnQpOyB9IGNhdGNoKGUpeyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZHJhdyk7IH0KICAgICAgfSkoKTsKCiAgICB9KTsgLy8gbG9hZEltZwogIH0KCiAgcmVhZHkoZnVuY3Rpb24oKXsgbG9hZENoYXJ0KGZ1bmN0aW9uKCl7IGluaXRBbGwoKTsgfSk7IH0pOwp9KSgpOwo8L3NjcmlwdD4KPHN0eWxlPgovKiAxKSBHw7ZyIHRhYmVsbGVuIG1lciBmbGV4aWJlbCBnZW5lcmVsbHQgKi8KLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGV7CiAgdGFibGUtbGF5b3V0OiBmaXhlZDsgICAgICAgICAgIC8qIGbDtnJoaW5kcmFyIGF0dCBrb2x1bW5lciBkcml2ZXIgaXbDpGcgKi8KICB3aWR0aDogMTAwJTsKfQoub3ByYW5pYy1pbmZvZ3JhcGhpYyAucHJvcC10YWJsZSB0aCwKLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdGR7CiAgd29yZC13cmFwOiBicmVhay13b3JkOwogIHdoaXRlLXNwYWNlOiBub3JtYWw7ICAgICAgICAgICAvKiB0aWxsw6V0IHJhZGJyeXRuaW5nICovCiAgZm9udC1zaXplOiAuOTVyZW07Cn0KCi8qIDIpIE1PQklMOiBrb252ZXJ0ZXJhIHRhYmVsbCAtPiAia29ydCIgcGVyIHJhZCAqLwpAbWVkaWEgKG1heC13aWR0aDogNTc1cHgpewogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRoZWFkewogICAgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyB0b3A6IC05OTk5cHg7IC8qIGfDtm0gcnVicmlrZXIgKi8KICB9CiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUsCiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdGJvZHksCiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdHIsCiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdGR7CiAgICBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7CiAgfQogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRyewogICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgfQogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRkewogICAgYm9yZGVyOiAwOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWY1Zjk7CiAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7ICAgICAvKiBicnl0IGV2LiBjZW50ZXIgKi8KICAgIGZvbnQtc2l6ZTogLjkycmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNDU7CiAgfQogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRkOmxhc3QtY2hpbGR7CiAgICBib3JkZXItYm90dG9tOiAwOwogIH0KICAvKiB2aXNhIGtvbHVtbnJ1YnJpayBmw7ZyZSBjZWxsZW5zIGlubmVow6VsbCAqLwogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRkOjpiZWZvcmV7CiAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgY29sb3I6ICMzNzQxNTE7CiAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgfQp9CgovKiBSZWZlcmVuY2VzIGJsb2NrICovCi5yZWZzLWNhcmQgeyBwYWRkaW5nLXRvcDogMTZweDsgfQoucmVmcy1saXN0IHsgY291bnRlci1yZXNldDogcmVmY250OyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDhweCAwIDA7IHBhZGRpbmc6IDA7IH0KLnJlZnMtbGlzdCBsaSB7CiAgY291bnRlci1pbmNyZW1lbnQ6IHJlZmNudDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1sZWZ0OiA0OHB4OwogIG1hcmdpbjogMTBweCAwOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KLnJlZnMtbGlzdCBsaTo6YmVmb3JlIHsKICBjb250ZW50OiAiWyIgY291bnRlcihyZWZjbnQpICJdIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMDsKICB0b3A6IDA7CiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBtaW4td2lkdGg6IDM2cHg7Cn0KLnJlZnMtbGlzdCBlbSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfQoKCjwvc3R5bGU+Cgo8c2NyaXB0PgovKiBMw6RnZyBpbiBrb2x1bW5ydWJyaWtlciBzb20gZGF0YS1sYWJlbCBpIHZhcmplIFREIChmw7ZyIG1vYmlsLXN0YXBsaW5nIG92YW4pICovCihmdW5jdGlvbigpewogIGZ1bmN0aW9uIGVuaGFuY2VSZXNwb25zaXZlVGFibGVzKCl7CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcub3ByYW5pYy1pbmZvZ3JhcGhpYyAucHJvcC10YWJsZScpLmZvckVhY2goZnVuY3Rpb24odGJsKXsKICAgICAgdmFyIHRocyA9IEFycmF5LmZyb20odGJsLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RoZWFkIHRoJykpLm1hcChmdW5jdGlvbih0aCl7CiAgICAgICAgcmV0dXJuICh0aC50ZXh0Q29udGVudCB8fCAnJykudHJpbSgpOwogICAgICB9KTsKICAgICAgdGJsLnF1ZXJ5U2VsZWN0b3JBbGwoJ3Rib2R5IHRyJykuZm9yRWFjaChmdW5jdGlvbih0cil7CiAgICAgICAgQXJyYXkuZnJvbSh0ci5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbih0ZCwgaSl7CiAgICAgICAgICBpZiAoIXRkLmdldEF0dHJpYnV0ZSgnZGF0YS1sYWJlbCcpKSB7CiAgICAgICAgICAgIHRkLnNldEF0dHJpYnV0ZSgnZGF0YS1sYWJlbCcsIHRoc1tpXSB8fCAnJyk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CiAgfQogIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAnbG9hZGluZycpIGVuaGFuY2VSZXNwb25zaXZlVGFibGVzKCk7CiAgZWxzZSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZW5oYW5jZVJlc3BvbnNpdmVUYWJsZXMpOwp9KSgpOwo8L3NjcmlwdD4K[\/vc_raw_html][\/vc_column][\/vc_row]\n<\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column][vc_column_text css=\u00bb\u00bb] La ciencia de Opranic Un an\u00e1lisis visual que compara la tecnolog\u00eda Opranic IR-X Carbon Black (IR-B de onda media a \u22482,4 \u00b5m) con el hal\u00f3geno tradicional (IR-A de onda corta). [\/vc_column_text][vc_raw_html css=\u00bb\u00bb]PCEtLSDinIUgT3ByYW5pYyBJbmZvZ3JhcGhpYyDigJMgRklOQUwgcmVzcG9uc2l2ZSB2ZXJzaW9uIC0tPgo8ZGl2IGNsYXNzPSJvcHJhbmljLWluZm9ncmFwaGljIHR5cC0taW5oZXJpdCIgZGF0YS1vcHJhbmljLWluZm9ncmFwaGljPSIiIGRhdGEtd2F0ZXJtYXJrPSJodHRwczovL29wcmFuaWMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzEwL29wcmFuaWMtbG9nby0yMDIzLnBuZyI+CgoKICA8ZGl2IGNsYXNzPSJvcHJhbmljLWdyaWQiPgoKICAgIDwhLS0gMSkgQWJzb3JwdGlvbiAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLXdpZGUiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5MYSBjbGF2ZSBkZSBsYSBlZmljaWVuY2lhOiBjYWxvciBmcmVudGUgYSBhYnNvcmNpw7NuIGRlIGFndWE8L2gyPgogICAgICA8cCBjbGFzcz0ibXV0ZWQgY2VudGVyIj4KICBFbCBjdWVycG8gaHVtYW5vIGVzdMOhIGNvbXB1ZXN0byBwb3IgdW4gNzAlIGRlIGFndWEgYXByb3hpbWFkYW1lbnRlLiBQYXJhIHVuYSBjYWxlZmFjY2nDs24gZWZpY2llbnRlLCBsYSBsb25naXR1ZCBkZSBvbmRhIGRlbCBjYWxlZmFjdG9yIChwaWNvIGRlIGVuZXJnw61hKQogZGViZSBjb2luY2lkaXIgY29uIGxhIGNhcGFjaWRhZCBkZWwgYWd1YSBwYXJhIGFic29yYmVyIGVzYSBlbmVyZ8OtYS4gCiAgICAgIDwvcD4KICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIGgtNzIgaC1tZC05NiI+PGNhbnZhcyBjbGFzcz0iYWJzb3JwdGlvbkNoYXJ0Ij48L2NhbnZhcz48L2Rpdj4KICAgICAgPHAgY2xhc3M9Im11dGVkIHNtYWxsIGNlbnRlciI+CiAgRWwgaGFsw7NnZW5vICg8c3BhbiBjbGFzcz0idGV4dC1zZWNvbmRhcnkiPjxzdHJvbmc+bMOtbmVhIHJvamE8L3N0cm9uZz48L3NwYW4+KSBhbGNhbnphIHN1IHB1bnRvIG3DoXhpbW8gYSDiiYgxLDAgwrVtLCBkb25kZSBsYSBhYnNvcmNpw7NuIGRlIGFndWEKICg8c3BhbiBjbGFzcz0idGV4dC10ZXJ0aWFyeSI+PHN0cm9uZz7DoXJlYSBhenVsPC9zdHJvbmc+PC9zcGFuPikgZXMgbXV5IGJhamEuIEVsIGNhcmJvbm8gbmVncm8gZGUgT3ByYW5pYwogKDxzcGFuIGNsYXNzPSJ0ZXh0LXByaW1hcnkiPjxzdHJvbmc+bMOtbmVhIG5hcmFuamE8L3N0cm9uZz48L3NwYW4+KSBhbGNhbnphIHN1IHB1bnRvIG3DoXhpbW8gYSDiiYgyLDQgwrVtLCBsbyBxdWUgY29pbmNpZGUgY29uIGVsIHLDoXBpZG8gYXVtZW50byBkZSBsYSBhYnNvcmNpw7NuLiAKICAgICAgPC9wPgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gMikgQmFsYW5jZSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLXdpZGUiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5FbmNvbnRyYXIgZWwgZXF1aWxpYnJpbyBwZXJmZWN0bzogaW50ZW5zaWRhZCBmcmVudGUgYSBhYnNvcmNpw7NuPC9oMj4KICAgICAgPHAgY2xhc3M9Im11dGVkIGNlbnRlciI+CiAgU2kgc29sbyBzZSB0aWVuZSBlbiBjdWVudGEgbGEgYWJzb3JjacOzbiwgbGEgb25kYSBsYXJnYSAoSVItQykgZ2FuYXLDrWEsIHBlcm8gbGEgaW50ZW5zaWRhZCBlcyBpbXBvcnRhbnRlIGVuIGV4dGVyaW9yZXMuCiAgRWwgY2Fsb3IgbmVjZXNpdGEgc3VmaWNpZW50ZSBlbmVyZ8OtYSBwYXJhIGxsZWdhciBhIGxhIHBpZWwgYW50ZXMgZGUgcXVlIGVsIHZpZW50byBsYSBlbmZyw61lLgogICAgICA8L3A+CiAgICAgIDxkaXYgY2xhc3M9ImFuYWxvZ3ktZ3JpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYW5hbG9neS1jYXJkIGJvcmRlci1zZWNvbmRhcnkiPgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIHRleHQtc2Vjb25kYXJ5Ij5IYWzDs2dlbm8gKElSLWEpOiBsYSBoaWRyb2xpbXBpYWRvcmE8L2gzPgogICAgICAgICAgPHA+QWdyZXNpdm8geSBwZW5ldHJhbnRlOyBlbmVyZ8OtYSBlbiBlbCBsdWdhciBlcXVpdm9jYWRvIHkgZGVzYWdyYWRhYmxlLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhbmFsb2d5LWNhcmQgYm9yZGVyLXByaW1hcnkiPgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIHRleHQtcHJpbWFyeSI+Q2FyYm9ubyBuZWdybyBkZSBPcHJhbmljIChJUi1CKTogbGEgZHVjaGEgcGVyZmVjdGE8L2gzPgogICAgICAgICAgPHA+SW50ZW5zaWRhZCB5IGFic29yY2nDs24gZXF1aWxpYnJhZGFzOyBjYWxvciBleHRlcmlvciBlZmljaWVudGUgeSBjb25mb3J0YWJsZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYW5hbG9neS1jYXJkIGJvcmRlci1uZXV0cmFsIj4KICAgICAgICAgIDxoMyBjbGFzcz0iaC14cyI+T25kYSBsYXJnYSAoSVItQyk6IGVsIGdyaWZvIHF1ZSBnb3RlYTwvaDM+CiAgICAgICAgICA8cD5HcmFuIGFic29yY2nDs24gcGVybyBkZW1hc2lhZG8gZMOpYmlsOiBlbCBjYWxvciBzZSBkaXNpcGEgYW50ZXMgZGUgcXVlIGF5dWRlLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPCEtLSAzKSBTa2luIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImNhcmQiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5TZWd1cmlkYWQgeSBjb25mb3J0OiBwZW5ldHJhY2nDs24gZW4gbGEgcGllbDwvaDI+CiAgICAgIDxwIGNsYXNzPSJtdXRlZCI+CiAgTG9zIHJlY2VwdG9yZXMgZGUgY2Fsb3Igc2UgZW5jdWVudHJhbiBlbiBsYXMgY2FwYXMgZXh0ZXJuYXMgZGUgbGEgcGllbCAoZXBpZGVybWlzL2Rlcm1pcykuIExhIG9uZGEgbWVkaWEgSVItQiBzZSBhYnNvcmJlIGRvbmRlIGVzdMOhbiBsb3MgcmVjZXB0b3JlczsKIGxhIG9uZGEgY29ydGEgSVItQSBwZW5ldHJhIG3DoXMgcHJvZnVuZGFtZW50ZSB5IHNlIHNpZW50ZSBtw6FzIMOhc3BlcmEuIAogICAgICA8L3A+CiAgICAgIDxkaXYgY2xhc3M9ImNhbnZhcy13cmFwIj48Y2FudmFzIGNsYXNzPSJza2luUGVuZXRyYXRpb25DYW52YXMiPjwvY2FudmFzPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsZWdlbmRzIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIHRleHQtcHJpbWFyeSI+Q2FyYm9ubyBuZWdybyBkZSBPcHJhbmljIChJUi1CKTwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0ic21hbGwgbXV0ZWQiPkFic29yY2nDs24gc3VwZXJmaWNpYWwg4oaSIGNvbmZvcnQgaW5tZWRpYXRvLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIHRleHQtc2Vjb25kYXJ5Ij5IYWzDs2dlbm8gKElSLWEpPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJzbWFsbCBtdXRlZCI+UGVuZXRyYWNpw7NuIHByb2Z1bmRhIHkgYWdyZXNpdmEg4oaSIGVzdHLDqXMgdGlzdWxhci48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gNCkgVGVjaG5pY2FsIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImNhcmQiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5Db21wYXJhY2nDs24gdMOpY25pY2E8L2gyPgogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS13cmFwIj4KICAgICAgICA8dGFibGUgY2xhc3M9InByb3AtdGFibGUiPgogICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRoPlByb3BpZWRhZDwvdGg+CiAgICAgICAgICAgICAgPHRoIGNsYXNzPSJ0ZXh0LXByaW1hcnkgY2VudGVyIj5DYXJib25vIG5lZ3JvIGRlIE9wcmFuaWMgKElSLUIpPC90aD4KICAgICAgICAgICAgICA8dGggY2xhc3M9InRleHQtc2Vjb25kYXJ5IGNlbnRlciI+SGFsw7NnZW5vIChJUi1BKTwvdGg+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgPHRib2R5PgogICAgICAgICAgICA8dHI+PHRkPjxzdHJvbmc+TG9uZ2l0dWQgZGUgb25kYTwvc3Ryb25nPjwvdGQ+PHRkIGNsYXNzPSJjZW50ZXIiPuKJiDIsNCDCtW08L3RkPjx0ZCBjbGFzcz0iY2VudGVyIj7iiYgxLDAgwrVtPC90ZD48L3RyPgogICAgICAgICAgICA8dHI+PHRkPjxzdHJvbmc+QWJzb3JjacOzbiBjdXTDoW5lYSAoYWd1YSk8L3N0cm9uZz48L3RkPjx0ZCBjbGFzcz0iY2VudGVyIHN0cm9uZyBncmVlbiI+bXV5IGFsdGE8L3RkPjx0ZCBjbGFzcz0iY2VudGVyIHN0cm9uZyByZWQiPm11eSBiYWphPC90ZD48L3RyPgogICAgICAgICAgICA8dHI+PHRkPjxzdHJvbmc+RXF1aWxpYnJpbyAoaW50ZW5zaWRhZC9hYnNvcmNpw7NuKTwvc3Ryb25nPjwvdGQ+PHRkIGNsYXNzPSJjZW50ZXIgYmlnIGdyZWVuIj7inJQ8L3RkPjx0ZCBjbGFzcz0iY2VudGVyIGJpZyByZWQiPuKcmDwvdGQ+PC90cj4KICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPlBlbmV0cmFjacOzbjwvc3Ryb25nPjwvdGQ+PHRkIGNsYXNzPSJjZW50ZXIiPnN1cGVyZmljaWFsIChzZWd1cmEpPC90ZD48dGQgY2xhc3M9ImNlbnRlciI+cHJvZnVuZGEgKGFncmVzaXZhKTwvdGQ+PC90cj4KICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPkNvbmZvcnQgKGRlc2x1bWJyYW1pZW50byk8L3N0cm9uZz48L3RkPjx0ZCBjbGFzcz0iY2VudGVyIj5CcmlsbG8gc3VhdmUgeSBhZ3JhZGFibGU8L3RkPjx0ZCBjbGFzcz0iY2VudGVyIj5MdXogaW50ZW5zYSB5IGRlc2x1bWJyYW50ZTwvdGQ+PC90cj4KICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPCEtLSA1KSBHbGFyZSB2cyBIZWF0IOKAkyBzaWRlLWJ5LXNpZGUgLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0iY2FyZCBjYXJkLS13aWRlIj4KICAgICAgPGgyIGNsYXNzPSJoLXNtIGNlbnRlciI+QW7DoWxpc2lzOiBkZXNsdW1icmFtaWVudG8gZnJlbnRlIGEgY2Fsb3I8L2gyPgogICAgICA8cCBjbGFzcz0ibXV0ZWQgY2VudGVyIj4KICBFbCBoYWzDs2dlbm8gZW1pdGUgdW5hIG1heW9yIHBhcnRlIGRlIHN1IGVuZXJnw61hIGVuIGZvcm1hIGRlIGx1eiB2aXNpYmxlIChkZXNsdW1icmFtaWVudG8pLCBtaWVudHJhcyBxdWUgZWwgY2FyYm9ubyBuZWdybyBkZSBPcHJhbmljIGNlbnRyYSBzdSBzYWxpZGEgZW4gY2Fsb3IgaW5mcmFycm9qbyBlZmljaWVudGVtZW50ZSBhYnNvcmJpZG8uCiAgICAgIDwvcD4KICAgICAgPGRpdiBjbGFzcz0idHdvLWNvbCBzaWRlY2hhcnRzIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGgzIGNsYXNzPSJoLXh4cyBjZW50ZXIgdGV4dC1zZWNvbmRhcnkiPkhhbMOzZ2VubyAoSVItYSk8L2gzPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIGgtNjQiPjxjYW52YXMgY2xhc3M9ImdsYXJlQ2hhcnQiPjwvY2FudmFzPjwvZGl2PgogICAgICAgICAgPHAgY2xhc3M9InNtYWxsIG11dGVkIGNlbnRlciI+RW5lcmfDrWEgZGl2aWRpZGEgZW50cmUgbHV6IGFncmVzaXZhIHkgY2Fsb3IgaW5lZmljaWVudGUuPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXY+CiAgICAgICAgICA8aDMgY2xhc3M9ImgteHhzIGNlbnRlciB0ZXh0LXByaW1hcnkiPkNhcmJvbm8gbmVncm8gZGUgT3ByYW5pYyAoSVItQik8L2gzPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIGgtNjQiPjxjYW52YXMgY2xhc3M9ImVmZmljaWVuY3lDaGFydCI+PC9jYW52YXM+PC9kaXY+CiAgICAgICAgICA8cCBjbGFzcz0ic21hbGwgbXV0ZWQgY2VudGVyIj5MYSBlbmVyZ8OtYSBzZSBkZXN0aW5hIGFsIGNhbG9yOyBlbCBicmlsbG8gc2UgbWFudGllbmUgYWwgbcOtbmltby48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gNikgQ29uY2x1c2lvbiAobcO2cmspIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImNhcmQgY2FyZC0tZGFyayBjYXJkLS13aWRlIGZlYXR1cmUtYmxvY2siPgogICAgICA8aDIgY2xhc3M9ImZlYXR1cmUtdGl0bGUiPkNvbmNsdXNpw7NuOiBsYSBlbGVjY2nDs24gY2llbnTDrWZpY2FtZW50ZSBpbnRlbGlnZW50ZTwvaDI+CiAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWxlYWQiPgogIFNpIGJpZW4gZWwgaGFsw7NnZW5vIChJUi1BKSB5IGVsIGNhcmJvbm8gbmVncm8gZGUgT3ByYW5pYyAoSVItQikgc29uIHRlY25vbG9nw61hcyBpbmZyYXJyb2phcyBtb2Rlcm5hcywgZGlmaWVyZW4gZW4gbGEgZm9ybWEgZW4gcXVlIHByb3BvcmNpb25hbiBjYWxvciB1dGlsaXphYmxlLgogRWwgaGFsw7NnZW5vIGlycmFkaWEgdW5hIG1heW9yIHByb3BvcmNpw7NuIGNvbW8gbHV6IHZpc2libGUsIG1pZW50cmFzIHF1ZSBlbCBJUi1YIENhcmJvbiBCbGFjayBkZSBPcHJhbmljIGNvbmNlbnRyYSBzdSBlbmVyZ8OtYSBkZW50cm8gZGVsIHJhbmdvIGRlIGxvbmdpdHVkIGRlIG9uZGEgw7NwdGltbwogcGFyYSBsYSBjb21vZGlkYWQgeSBsYSBhYnNvcmNpw7NuIGh1bWFuYXMsIHByb3BvcmNpb25hbmRvIHVuIGNhbG9yIGVxdWlsaWJyYWRvLCBpbm1lZGlhdG8geSBzdWF2ZSBkZSBmb3JtYSBzZWd1cmEuCiAgICAgIDwvcD4KICAgICAgPGhyIGNsYXNzPSJmZWF0dXJlLXNlcCI+CiAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmVzLXJvdyI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj7inKY8L3NwYW4+CiAgICAgICAgICA8aDMgY2xhc3M9ImZlYXR1cmUtaXRlbS10aXRsZSBoLXh4cyI+RXF1aWxpYnJpbyBvcHRpbWl6YWRvPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGV4dCI+UGljbyBhIOKJiDIsNCDCtW0gcGFyYSB1bmEgbcOheGltYSBlZmljaWVuY2lhLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPvCfko48L3NwYW4+CiAgICAgICAgICA8aDMgY2xhc3M9ImZlYXR1cmUtaXRlbS10aXRsZSBoLXh4cyI+RmlicmEgZGUgY2FyYm9ubyBqYXBvbmVzYTwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0iZmVhdHVyZS1pdGVtLXRleHQiPkFsdGEgY2FsaWRhZCBwYXJhIHVuIGZ1bmNpb25hbWllbnRvIGVzdGFibGUgeSB1bmEgbGFyZ2EgdmlkYSDDunRpbC48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj7ih7M8L3NwYW4+CiAgICAgICAgICA8aDMgY2xhc3M9ImZlYXR1cmUtaXRlbS10aXRsZSBoLXh4cyI+RGlzZcOxbyBJUi1YPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGV4dCI+TW9udGFqZSBmbGV4aWJsZSBlbiB0b2RhcyBsYXMgZGlyZWNjaW9uZXMuPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCjwhLS0gUmVmZXJlbmNlcyAtLT4KPHNlY3Rpb24gY2xhc3M9ImNhcmQgY2FyZC0td2lkZSByZWZzLWNhcmQiIGlkPSJyZWZlcmVuY2VzIj4KICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5SZWZlcmVuY2lhcyAoZnVlbnRlcyBjaWVudMOtZmljYXMpPC9oMj4KICA8b2wgY2xhc3M9InJlZnMtbGlzdCI+CiAgICA8bGk+CiAgQ3VyY2lvLCBKLiBBLiwgJmFtcDsgUGV0dHksIEMuIEMuICgxOTUxKS4g4oCcVGhlIE5lYXIgSW5mcmFyZWQgQWJzb3JwdGlvbiBTcGVjdHJ1bSBvZiBMaXF1aWQgV2F0ZXIu4oCdCiAgICAgIDxlbT5Kb3VybmFsIG9mIHRoZSBPcHRpY2FsIFNvY2lldHkgb2YgQW1lcmljYTwvZW0+LCA0MSg1KSwgMzAy4oCTMzA0LiAKICAgIDwvbGk+CiAgICA8bGk+CiAgU2Nocm9lZGVyLCBQLiwgZXQgYWwuICgyMDA4KS4g4oCcRWZmZWN0cyBvZiBJbmZyYXJlZC1BIElycmFkaWF0aW9uIG9uIFNraW4u4oCdIEluOiBCLiBOLiBULiAoZWRzKTx4IGlkPSJnaWRfMCI+PC94PiAgICAgIDxnIGlkPSJnaWRfMSI+U2tpbiBBZ2luZzwvZz4uIFNwcmluZ2VyLCBCZXJsaW4sIEhlaWRlbGJlcmcuICAgCiAgICA8L2xpPgogICAgPGxpPgogIElDTklSUCDigJQgQ29taXNpw7NuIEludGVybmFjaW9uYWwgZGUgUHJvdGVjY2nDs24gY29udHJhIGxhIFJhZGlhY2nDs24gTm8gSW9uaXphbnRlICgyMDEzKS4KIOKAnElDTklSUCBHdWlkZWxpbmVzIG9uIExpbWl0cyBvZiBFeHBvc3VyZSB0byBJbmNvaGVyZW50IFZpc2libGUgYW5kIEluZnJhcmVkIFJhZGlhdGlvbi7igJ0KICAgICAgPGVtPkhlYWx0aCBQaHlzaWNzPC9lbT4sIDEwNSgxKSwgNzTigJM5Ni4KICAgIDwvbGk+CiAgICA8bGk+CiAgQmFyb2xldCwgRC4gKDIwMTYpLiDigJxMaWdodC1FbWl0dGluZyBEaW9kZXMgKExFRHMpIGluIERlcm1hdG9sb2d5LuKAnQogICAgICA8ZW0+U2VtaW5hcnMgaW4gQ3V0YW5lb3VzIE1lZGljaW5lIGFuZCBTdXJnZXJ5PC9lbT4sIDM1KDMpLCAxNjHigJMxNjkuIAogICAgPC9saT4KICA8L29sPgo8L3NlY3Rpb24+CgoKCiAgPC9kaXY+CjwvZGl2PgoKPHN0eWxlPgovKiAtLS0tIEluaGVyaXQgc2l0ZSB0eXBvZ3JhcGh5LCBjb21wYWN0IGhlYWRpbmdzIC0tLS0gKi8KLnR5cC0taW5oZXJpdCwudHlwLS1pbmhlcml0ICp7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O2NvbG9yOmluaGVyaXQ7fQoub3ByYW5pYy1pbmZvZ3JhcGhpY3stLWMtcHJpbWFyeTojZWU5MzA1Oy0tYy1zZWNvbmRhcnk6I0ZGNEU1MDstLWMtdGVydGlhcnk6IzRBOTBFMjsKICBiYWNrZ3JvdW5kOiNmNGY3ZjY7cGFkZGluZzoxNnB4O21hcmdpbjowIGF1dG87bWF4LXdpZHRoOjEyMDBweDtvdmVyZmxvdy14OmhpZGRlbjt9Ci5vcHJhbmljLWluZm9ncmFwaGljICp7Ym94LXNpemluZzpib3JkZXItYm94O30KLmgtc217Zm9udC1zaXplOjEuMXJlbTtmb250LXdlaWdodDo3MDA7bWFyZ2luOi4xcmVtIDAgLjRyZW07fQouaC14c3tmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjAgMCAuM3JlbTt9Ci5oLXh4c3tmb250LXNpemU6Ljk0cmVtO2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW46LjFyZW0gMCAuMjVyZW07fQoKLmhlcm8taW50cm97dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjE4cHggMCAyMnB4O30KLmhlcm8tYnJhbmR7Y29sb3I6dmFyKC0tYy1wcmltYXJ5KTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjFlbTtmb250LXNpemU6LjhyZW07bWFyZ2luLWJvdHRvbTo1cHg7fQouaGVyby10aXRsZXttYXJnaW46MCAwIDZweDtmb250LXdlaWdodDo4MDA7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoxLjI1O30KLmhlcm8tc3Vie21heC13aWR0aDo4MjBweDttYXJnaW46MCBhdXRvO29wYWNpdHk6Ljk7Zm9udC1zaXplOi45NXJlbTt9CgoudGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWMtcHJpbWFyeSk7fSAudGV4dC1zZWNvbmRhcnl7Y29sb3I6dmFyKC0tYy1zZWNvbmRhcnkpO30gLnRleHQtdGVydGlhcnl7Y29sb3I6dmFyKC0tYy10ZXJ0aWFyeSk7fQoubXV0ZWR7b3BhY2l0eTouODU7fSAuc21hbGx7Zm9udC1zaXplOi45MmVtO30gLnN0cm9uZ3tmb250LXdlaWdodDo3MDA7fSAuYmlne2ZvbnQtc2l6ZToxLjJlbTt9Ci5ncmVlbntjb2xvcjojMGY4YTJjO30gLnJlZHtjb2xvcjojZDkzMDI1O30gLmNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcjt9Cgoub3ByYW5pYy1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDoxOHB4O30KQG1lZGlhKG1pbi13aWR0aDo3NjhweCl7Lm9wcmFuaWMtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjt9fQoKLmNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MTBweDtib3gtc2hhZG93OjAgNnB4IDE0cHggcmdiYSgwLDAsMCwuMDgpO3BhZGRpbmc6MThweDt9Ci5jYXJkLS13aWRle2dyaWQtY29sdW1uOjEvLTE7fQouY2FyZC0tZGFya3tiYWNrZ3JvdW5kOiMxZjI5Mzc7Y29sb3I6I2U1ZWVmNTt9Ci5jYXJkLS1kYXJrIHB7Y29sb3I6I2QxZDVkYjt9CgouY2hhcnQtY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO30KY2FudmFze2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50O2hlaWdodDphdXRvO30KCi5oLTcye2hlaWdodDoxOHJlbTt9Ci5oLTY0e2hlaWdodDoxNnJlbTt9CkBtZWRpYShtaW4td2lkdGg6NzY4cHgpey5oLW1kLTk2e2hlaWdodDoyNHJlbTt9fQoKLmFuYWxvZ3ktZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6MTRweDt9CkBtZWRpYShtaW4td2lkdGg6NzY4cHgpey5hbmFsb2d5LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7fX0KLmFuYWxvZ3ktY2FyZHtiYWNrZ3JvdW5kOiNmYWZhZmE7Ym9yZGVyLXRvcDo0cHggc29saWQgI2U1ZTdlYjtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjE0cHg7aGVpZ2h0OjEwMCU7fQouYm9yZGVyLXByaW1hcnl7Ym9yZGVyLWNvbG9yOnZhcigtLWMtcHJpbWFyeSkhaW1wb3J0YW50O30KLmJvcmRlci1zZWNvbmRhcnl7Ym9yZGVyLWNvbG9yOnZhcigtLWMtc2Vjb25kYXJ5KSFpbXBvcnRhbnQ7fQouYm9yZGVyLW5ldXRyYWx7Ym9yZGVyLWNvbG9yOiM5Y2EzYWYhaW1wb3J0YW50O30KCi5jYW52YXMtd3JhcHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzo4cHg7fQoKLnRhYmxlLXdyYXB7b3ZlcmZsb3cteDphdXRvO30KLnByb3AtdGFibGV7d2lkdGg6MTAwJTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7fQoucHJvcC10YWJsZSB0aCwucHJvcC10YWJsZSB0ZHtwYWRkaW5nOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U1ZTdlYjt9Ci5wcm9wLXRhYmxlIHRoe2JhY2tncm91bmQ6I2Y4ZmFmYzt0ZXh0LWFsaWduOmxlZnQ7fQoucHJvcC10YWJsZSAuY2VudGVye3RleHQtYWxpZ246Y2VudGVyO30KCi8qIEdsYXJlIHZzIEhlYXQgc2lkZS1ieS1zaWRlIG9uIGRlc2t0b3AgKi8KLnNpZGVjaGFydHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjI0cHg7YWxpZ24taXRlbXM6c3RhcnQ7fQpAbWVkaWEobWluLXdpZHRoOjgyMHB4KXsuc2lkZWNoYXJ0c3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6NDBweDt9fQoKLyogQ29uY2x1c2lvbiBibG9jayAqLwouZmVhdHVyZS1ibG9ja3tib3JkZXItcmFkaXVzOjEycHg7Ym94LXNoYWRvdzowIDZweCAxNnB4IHJnYmEoMCwwLDAsLjE4KTtwYWRkaW5nOjI0cHggMThweCAyMnB4O30KLmZlYXR1cmUtdGl0bGV7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjAgMCA2cHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxLjA1cmVtO30KLmZlYXR1cmUtbGVhZHt0ZXh0LWFsaWduOmNlbnRlcjttYXgtd2lkdGg6ODIwcHg7bWFyZ2luOjAgYXV0byAxMnB4O29wYWNpdHk6LjkyO30KLmZlYXR1cmUtc2Vwe2hlaWdodDoxcHg7Ym9yZGVyOjA7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xOCk7bWFyZ2luOjE2cHggMDt9Ci5mZWF0dXJlcy1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjIycHg7YWxpZ24taXRlbXM6c3RhcnQ7anVzdGlmeS1pdGVtczpjZW50ZXI7fQpAbWVkaWEobWluLXdpZHRoOjc2OHB4KXsuZmVhdHVyZXMtcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoyNnB4O319Ci5mZWF0dXJlLWl0ZW17dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzo2cHggMTBweDt9Ci5mZWF0dXJlLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6OTk5OXB4OwogIGJhY2tncm91bmQ6cmdiYSgyMzgsMTQ3LDUsLjEyKTtjb2xvcjp2YXIoLS1jLXByaW1hcnkpO2ZvbnQtc2l6ZToxOHB4O21hcmdpbi1ib3R0b206OHB4O30KLmZlYXR1cmUtaXRlbS10aXRsZXttYXJnaW46MnB4IDAgNHB4O2ZvbnQtd2VpZ2h0OjcwMDt9Ci5mZWF0dXJlLWl0ZW0tdGV4dHttYXJnaW46MDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Zm9udC1zaXplOi45NWVtO30KCi8qIE1vYmlsZSB0aWdodGVuaW5nICovCkBtZWRpYShtYXgtd2lkdGg6NTc1cHgpewogIC5vcHJhbmljLWluZm9ncmFwaGlje3BhZGRpbmc6MTJweDt9CiAgLmhlcm8tdGl0bGV7Zm9udC1zaXplOjEuMjJyZW07fQogIC5oZXJvLXN1Yntmb250LXNpemU6LjlyZW07bGluZS1oZWlnaHQ6MS40NTt9CiAgLmgtc217Zm9udC1zaXplOjEuMHJlbTt9IC5oLXhze2ZvbnQtc2l6ZTouOTVyZW07fSAuaC14eHN7Zm9udC1zaXplOi44OHJlbTt9CiAgcHtmb250LXNpemU6LjkzcmVtO2xpbmUtaGVpZ2h0OjEuNTt9CiAgLmNhcmR7cGFkZGluZzoxNHB4O30gLmFuYWxvZ3ktY2FyZHtwYWRkaW5nOjEycHg7fSAuZmVhdHVyZS1ibG9ja3twYWRkaW5nOjE4cHggMTRweDt9CiAgLmgtNzJ7aGVpZ2h0OjE1cmVtO30gLmgtNjR7aGVpZ2h0OjEzcmVtO30KfQo8L3N0eWxlPgoKPHNjcmlwdD4KLyogLS0tLS0tLS0tLS0tLS0tLSBDaGFydC5qcyBsb2FkZXIgKyBXYXRlcm1hcmsgKyBBdXRvLXJlc2l6ZSAtLS0tLS0tLS0tLS0tLS0tICovCihmdW5jdGlvbigpewogIGZ1bmN0aW9uIHJlYWR5KGZuKXsgaWYoZG9jdW1lbnQucmVhZHlTdGF0ZSE9PSdsb2FkaW5nJyl7IGZuKCk7IH0gZWxzZSB7IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmbik7IH0gfQoKICBmdW5jdGlvbiBsb2FkQ2hhcnQoY2IpewogICAgaWYod2luZG93LkNoYXJ0KXsgY2IoKTsgcmV0dXJuOyB9CiAgICB2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIHMuc3JjPSdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzQDQuNC4zL2Rpc3QvY2hhcnQudW1kLm1pbi5qcyc7CiAgICBzLm9ubG9hZD1mdW5jdGlvbigpeyBjYigpOyB9OwogICAgcy5vbmVycm9yPWZ1bmN0aW9uKCl7IGNvbnNvbGUuZXJyb3IoJ0NoYXJ0LmpzIGZhaWxlZCB0byBsb2FkJyk7IH07CiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpOwogIH0KCiAgZnVuY3Rpb24gbG9hZEltZyh1cmwsY2IpewogICAgaWYoIXVybCl7IGNiKG51bGwpOyByZXR1cm47IH0KICAgIHZhciBpbWc9bmV3IEltYWdlKCk7CiAgICBpbWcuY3Jvc3NPcmlnaW49J2Fub255bW91cyc7CiAgICBpbWcub25sb2FkPWZ1bmN0aW9uKCl7IGNiKGltZyk7IH07CiAgICBpbWcub25lcnJvcj1mdW5jdGlvbigpeyBjb25zb2xlLndhcm4oJ1dhdGVybWFyayBpbWFnZSBmYWlsZWQ6Jyx1cmwpOyBjYihudWxsKTsgfTsKICAgIGltZy5zcmM9dXJsOwogIH0KCiAgZnVuY3Rpb24gbWFrZVdhdGVybWFya1BsdWdpbihpbWcpewogICAgcmV0dXJuIHsKICAgICAgaWQ6ICdvcHJhbmljV2F0ZXJtYXJrJywKICAgICAgYmVmb3JlRHJhdyhjaGFydCl7CiAgICAgICAgaWYoIWltZykgcmV0dXJuOwogICAgICAgIHZhciBhPWNoYXJ0LmNoYXJ0QXJlYTsgaWYoIWEpIHJldHVybjsKICAgICAgICB2YXIgY3R4PWNoYXJ0LmN0eCwgY3c9YS5yaWdodC1hLmxlZnQsIGNoPWEuYm90dG9tLWEudG9wOwogICAgICAgIHZhciB3PWN3KjAuNDAsIGg9dyooaW1nLmhlaWdodC9pbWcud2lkdGgpOyAvLyA0MCUgYXYgYXJlYS1icmVkZAogICAgICAgIHZhciB4PWEubGVmdCsoY3ctdykvMiwgeT1hLnRvcCsoY2gtaCkvMjsKICAgICAgICBjdHguc2F2ZSgpOyBjdHguZ2xvYmFsQWxwaGE9MC4wODsgY3R4LmRyYXdJbWFnZShpbWcseCx5LHcsaCk7IGN0eC5yZXN0b3JlKCk7CiAgICAgIH0KICAgIH07CiAgfQoKICBmdW5jdGlvbiBpbml0QWxsKCl7IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLW9wcmFuaWMtaW5mb2dyYXBoaWNdJykuZm9yRWFjaChpbml0QmxvY2spOyB9CgogIGZ1bmN0aW9uIGluaXRCbG9jayhyb290KXsKICAgIHZhciBwcmltYXJ5PScjZWU5MzA1Jywgc2Vjb25kYXJ5PScjRkY0RTUwJywgdGVydGlhcnk9JyM0QTkwRTInLCB0ZXJ0aWFyeUZpbGw9J3JnYmEoNzQsMTQ0LDIyNiwuMjgpJzsKICAgIHZhciB3bVVybD1yb290LmdldEF0dHJpYnV0ZSgnZGF0YS13YXRlcm1hcmsnKXx8Jyc7CiAgICBsb2FkSW1nKHdtVXJsLCBmdW5jdGlvbih3bUltZyl7CiAgICAgIHZhciB3bSA9IHdtSW1nID8gW21ha2VXYXRlcm1hcmtQbHVnaW4od21JbWcpXSA6IFtdOwoKICAgICAgZnVuY3Rpb24gbWtDaGFydChjYW52YXMsIGNmZyl7CiAgICAgICAgaWYoIWNhbnZhcykgcmV0dXJuIG51bGw7CiAgICAgICAgdmFyIGN0eD1jYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgICB2YXIgY2g9bmV3IENoYXJ0KGN0eCwgT2JqZWN0LmFzc2lnbih7fSwgY2ZnLCB7IHBsdWdpbnM6IChjZmcucGx1Z2luc3x8W10pLmNvbmNhdCh3bSkgfSkpOwogICAgICAgIC8vIEF1dG8tcmVzaXplIHdoZW4gcGFyZW50IHdpZHRoIGNoYW5nZXMgKFdQQmFrZXJ5IGxhdGUgcmVmbG93cykKICAgICAgICB0cnl7IG5ldyBSZXNpemVPYnNlcnZlcihmdW5jdGlvbigpeyBjaC5yZXNpemUoKTsgfSkub2JzZXJ2ZShjYW52YXMucGFyZW50RWxlbWVudCk7IH0KICAgICAgICBjYXRjaChlKXsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uKCl7IGNoLnJlc2l6ZSgpOyB9KTsgfQogICAgICAgIHJldHVybiBjaDsKICAgICAgfQoKICAgICAgLy8gQWJzb3JwdGlvbiAobGluZSkKICAgICAgbWtDaGFydChyb290LnF1ZXJ5U2VsZWN0b3IoJy5hYnNvcnB0aW9uQ2hhcnQnKSx7CiAgICAgICAgdHlwZTonbGluZScsCiAgICAgICAgZGF0YTp7IGRhdGFzZXRzOlsKICAgICAgICAgIHsgbGFiZWw6J1dhdGVyIEFic29ycHRpb24nLCBkYXRhOlt7eDoxLHk6MTV9LHt4OjEuNSx5OjIwfSx7eDoyLHk6MzB9LHt4OjIuNSx5OjcwfSx7eDoyLjgseTo5MH0se3g6Myx5Ojk1fSx7eDozLjIseTo5MH0se3g6NCx5OjYwfSx7eDo1LHk6NDB9XSwKICAgICAgICAgICAgYm9yZGVyQ29sb3I6dGVydGlhcnksIGJhY2tncm91bmRDb2xvcjp0ZXJ0aWFyeUZpbGwsIGZpbGw6dHJ1ZSwgdGVuc2lvbjouMzUsIGJvcmRlcldpZHRoOjIsIHBvaW50UmFkaXVzOjAgfSwKICAgICAgICAgIHsgbGFiZWw6J0hhbG9nZW4gKElSLUEpJywgZGF0YTpbe3g6LjUseToxMH0se3g6LjgseToxODB9LHt4OjEseToyMjB9LHt4OjEuMix5OjE3MH0se3g6Mix5OjQwfSx7eDozLHk6MTB9XSwKICAgICAgICAgICAgYm9yZGVyQ29sb3I6c2Vjb25kYXJ5LCBmaWxsOmZhbHNlLCB0ZW5zaW9uOi4zNSwgYm9yZGVyV2lkdGg6MywgcG9pbnRSYWRpdXM6MCB9LAogICAgICAgICAgeyBsYWJlbDonT3ByYW5pYyBDYXJib24gQmxhY2sgKElSLUIpJywgZGF0YTpbe3g6MSx5OjV9LHt4OjEuNSx5OjIwfSx7eDoyLHk6ODB9LHt4OjIuNCx5OjExMH0se3g6Myx5OjkwfSx7eDo0LHk6NDB9LHt4OjUseToyMH1dLAogICAgICAgICAgICBib3JkZXJDb2xvcjpwcmltYXJ5LCBmaWxsOmZhbHNlLCB0ZW5zaW9uOi4zNSwgYm9yZGVyV2lkdGg6MywgcG9pbnRSYWRpdXM6MCB9CiAgICAgICAgXX0sCiAgICAgICAgb3B0aW9uczp7CiAgICAgICAgICByZXNwb25zaXZlOnRydWUsIG1haW50YWluQXNwZWN0UmF0aW86ZmFsc2UsCiAgICAgICAgICBzY2FsZXM6eyB5OnsgdGl0bGU6e2Rpc3BsYXk6dHJ1ZSx0ZXh0OidSZWxhdGl2ZSBJbnRlbnNpdHkgLyBBYnNvcnB0aW9uJ30gfSwKICAgICAgICAgICAgICAgICAgIHg6eyB0eXBlOidsaW5lYXInLCBwb3NpdGlvbjonYm90dG9tJywgdGl0bGU6e2Rpc3BsYXk6dHJ1ZSx0ZXh0OidXYXZlbGVuZ3RoICjCtW0pJ30sIG1pbjouNSwgbWF4OjUuNSB9IH0sCiAgICAgICAgICBwbHVnaW5zOnsgbGVnZW5kOnsgcG9zaXRpb246J2JvdHRvbScsIGxhYmVsczp7IHBhZGRpbmc6MTYgfSB9LAogICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6eyBjYWxsYmFja3M6eyB0aXRsZTooYyk9PidXYXZlbGVuZ3RoOiAnK2NbMF0ucGFyc2VkLngudG9GaXhlZCgxKSsnIMK1bScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOihjKT0+Yy5kYXRhc2V0LmxhYmVsKyc6ICcrYy5wYXJzZWQueS50b0ZpeGVkKDApIH0gfSB9CiAgICAgICAgfQogICAgICB9KTsKCiAgICAgIC8vIEdsYXJlIGRvbnV0IChIYWxvZ2VuKQogICAgICBta0NoYXJ0KHJvb3QucXVlcnlTZWxlY3RvcignLmdsYXJlQ2hhcnQnKSx7CiAgICAgICAgdHlwZTonZG91Z2hudXQnLAogICAgICAgIGRhdGE6eyBsYWJlbHM6WydBZ2dyZXNzaXZlIExpZ2h0JywnSGVhdCddLCBkYXRhc2V0czpbeyBkYXRhOls0MCw2MF0sIGJhY2tncm91bmRDb2xvcjpbc2Vjb25kYXJ5LCcjRkVFMkUyJ10gfV19LAogICAgICAgIG9wdGlvbnM6eyByZXNwb25zaXZlOnRydWUsIG1haW50YWluQXNwZWN0UmF0aW86ZmFsc2UsIHBsdWdpbnM6eyBsZWdlbmQ6eyBwb3NpdGlvbjonYm90dG9tJywgbGFiZWxzOnsgcGFkZGluZzoxNCB9IH0gfSB9CiAgICAgIH0pOwoKICAgICAgLy8gRWZmaWNpZW5jeSBkb251dCAoQ2FyYm9uIEJsYWNrKQogICAgICBta0NoYXJ0KHJvb3QucXVlcnlTZWxlY3RvcignLmVmZmljaWVuY3lDaGFydCcpLHsKICAgICAgICB0eXBlOidkb3VnaG51dCcsCiAgICAgICAgZGF0YTp7IGxhYmVsczpbJ0VmZmljaWVudCBIZWF0JywnU29mdCBHbG93J10sIGRhdGFzZXRzOlt7IGRhdGE6WzkwLDEwXSwgYmFja2dyb3VuZENvbG9yOltwcmltYXJ5LCcjRkVGNUU2J10gfV19LAogICAgICAgIG9wdGlvbnM6eyByZXNwb25zaXZlOnRydWUsIG1haW50YWluQXNwZWN0UmF0aW86ZmFsc2UsIHBsdWdpbnM6eyBsZWdlbmQ6eyBwb3NpdGlvbjonYm90dG9tJywgbGFiZWxzOnsgcGFkZGluZzoxNCB9IH0gfSB9CiAgICAgIH0pOwoKICAgICAgLy8gU2tpbiBwZW5ldHJhdGlvbiAoY3VzdG9tIGNhbnZhcykKICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgdmFyIGMgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy5za2luUGVuZXRyYXRpb25DYW52YXMnKTsgaWYoIWMpIHJldHVybjsKICAgICAgICBmdW5jdGlvbiBkcmF3KCl7CiAgICAgICAgICB2YXIgd3JhcD1jLnBhcmVudEVsZW1lbnQ7IGMud2lkdGg9KHdyYXAuY2xpZW50V2lkdGh8fDMwMCk7IGMuaGVpZ2h0PTI1NjsKICAgICAgICAgIHZhciBjdHg9Yy5nZXRDb250ZXh0KCcyZCcpLCB3PWMud2lkdGgsIGg9Yy5oZWlnaHQsIGxoPWgvMzsKICAgICAgICAgIGN0eC5jbGVhclJlY3QoMCwwLHcsaCk7CgogICAgICAgICAgLy8gbGF5ZXJzCiAgICAgICAgICBjdHguZmlsbFN0eWxlPScjZmVmNWU2JzsgY3R4LmZpbGxSZWN0KDAsMCx3LGxoKTsKICAgICAgICAgIGN0eC5maWxsU3R5bGU9JyNjNzdhMDQnOyBjdHguZm9udD0nYm9sZCAxNHB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7IGN0eC50ZXh0QWxpZ249J2NlbnRlcic7CiAgICAgICAgICBjdHguZmlsbFRleHQoJ0VwaWRlcm1pcycsdy8yLGxoLzItNSk7IGN0eC5mb250PScxMnB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7IGN0eC5maWxsVGV4dCgnKEhlYXQgUmVjZXB0b3JzKScsdy8yLGxoLzIrMTApOwoKICAgICAgICAgIGN0eC5maWxsU3R5bGU9JyNmYmU2YzInOyBjdHguZmlsbFJlY3QoMCxsaCx3LGxoKTsKICAgICAgICAgIGN0eC5maWxsU3R5bGU9JyNjNzdhMDQnOyBjdHguZm9udD0nYm9sZCAxNHB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7IGN0eC5maWxsVGV4dCgnRGVybWlzJyx3LzIsbGgrbGgvMik7CgogICAgICAgICAgY3R4LmZpbGxTdHlsZT0nI2Y4ZDNhMCc7IGN0eC5maWxsUmVjdCgwLGxoKjIsdyxsaCk7CiAgICAgICAgICBjdHguZmlsbFN0eWxlPScjYzc3YTA0JzsgY3R4LmZvbnQ9J2JvbGQgMTRweCBzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxTZWdvZSBVSSxSb2JvdG8nOwogICAgICAgICAgY3R4LmZpbGxUZXh0KCdTdWJjdXRpcycsdy8yLGxoKjIrbGgvMi01KTsKICAgICAgICAgIGN0eC5mb250PScxMnB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7CiAgICAgICAgICBjdHguZmlsbFRleHQoJyhEZWVwIFRpc3N1ZSknLHcvMixsaCoyK2xoLzIrMTApOwoKICAgICAgICAgIC8vIGFycm93cwogICAgICAgICAgZnVuY3Rpb24gYXJyb3coeCxzeSxleSxjb2wsbGJsLHN5bSl7CiAgICAgICAgICAgIGN0eC5maWxsU3R5bGU9Y29sOyBjdHguc3Ryb2tlU3R5bGU9Y29sOyBjdHgubGluZVdpZHRoPTM7CiAgICAgICAgICAgIGN0eC5mb250PSdib2xkIDEycHggc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sU2Vnb2UgVUksUm9ib3RvJzsKICAgICAgICAgICAgY3R4LmZpbGxUZXh0KGxibCx4LHN5LTEwKTsKICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpOyBjdHgubW92ZVRvKHgsc3kpOyBjdHgubGluZVRvKHgsZXkpOyBjdHguc3Ryb2tlKCk7CiAgICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTsgY3R4Lm1vdmVUbyh4LGV5KTsgY3R4LmxpbmVUbyh4LTYsZXktMTApOyBjdHgubGluZVRvKHgrNixleS0xMCk7IGN0eC5jbG9zZVBhdGgoKTsgY3R4LmZpbGwoKTsKICAgICAgICAgICAgY3R4LmZvbnQ9J2JvbGQgMjJweCBzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxTZWdvZSBVSSxSb2JvdG8nOwogICAgICAgICAgICBjdHguZmlsbFRleHQoc3ltLHgrMTQsZXkrNik7CiAgICAgICAgICB9CiAgICAgICAgICBhcnJvdyh3KjAuMzAsMjUsIGxoKjAuNywgJyNlZTkzMDUnLCAnQ2FyYm9uIEJsYWNrIChJUi1CKScsICfinJQnKTsKICAgICAgICAgIGFycm93KHcqMC43MCwyNSwgaC0zMCwgICcjRkY0RTUwJywgJ0hhbG9nZW4gKElSLUEpJywgJ+KcmCcpOwoKICAgICAgICAgIC8vIHdhdGVybWFyayBpbiBjYW52YXMKICAgICAgICAgIGlmKHdtSW1nKXsKICAgICAgICAgICAgdmFyIHd3PXcqMC4zNSwgaGg9d3cqKHdtSW1nLmhlaWdodC93bUltZy53aWR0aCk7CiAgICAgICAgICAgIHZhciB4PSh3LXd3KS8yLCB5PShoLWhoKS8yOwogICAgICAgICAgICBjdHguc2F2ZSgpOyBjdHguZ2xvYmFsQWxwaGE9MC4wOTsgY3R4LmRyYXdJbWFnZSh3bUltZyx4LHksd3csaGgpOyBjdHgucmVzdG9yZSgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBkcmF3KCk7CiAgICAgICAgdHJ5eyBuZXcgUmVzaXplT2JzZXJ2ZXIoZHJhdykub2JzZXJ2ZShjLnBhcmVudEVsZW1lbnQpOyB9IGNhdGNoKGUpeyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZHJhdyk7IH0KICAgICAgfSkoKTsKCiAgICB9KTsgLy8gbG9hZEltZwogIH0KCiAgcmVhZHkoZnVuY3Rpb24oKXsgbG9hZENoYXJ0KGZ1bmN0aW9uKCl7IGluaXRBbGwoKTsgfSk7IH0pOwp9KSgpOwo8L3NjcmlwdD4KPHN0eWxlPgovKiAxKSBHw7ZyIHRhYmVsbGVuIG1lciBmbGV4aWJlbCBnZW5lcmVsbHQgKi8KLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGV7CiAgdGFibGUtbGF5b3V0OiBmaXhlZDsgICAgICAgICAgIC8qIGbDtnJoaW5kcmFyIGF0dCBrb2x1bW5lciBkcml2ZXIgaXbDpGcgKi8KICB3aWR0aDogMTAwJTsKfQoub3ByYW5pYy1pbmZvZ3JhcGhpYyAucHJvcC10YWJsZSB0aCwKLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdGR7CiAgd29yZC13cmFwOiBicmVhay13b3JkOwogIHdoaXRlLXNwYWNlOiBub3JtYWw7ICAgICAgICAgICAvKiB0aWxsw6V0IHJhZGJyeXRuaW5nICovCiAgZm9udC1zaXplOiAuOTVyZW07Cn0KCi8qIDIpIE1PQklMOiBrb252ZXJ0ZXJhIHRhYmVsbCAtPiAia29ydCIgcGVyIHJhZCAqLwpAbWVkaWEgKG1heC13aWR0aDogNTc1cHgpewogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRoZWFkewogICAgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyB0b3A6IC05OTk5cHg7IC8qIGfDtm0gcnVicmlrZXIgKi8KICB9CiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUsCiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdGJvZHksCiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdHIsCiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdGR7CiAgICBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7CiAgfQogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRyewogICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgfQogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRkewogICAgYm9yZGVyOiAwOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWY1Zjk7CiAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7ICAgICAvKiBicnl0IGV2LiBjZW50ZXIgKi8KICAgIGZvbnQtc2l6ZTogLjkycmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNDU7CiAgfQogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRkOmxhc3QtY2hpbGR7CiAgICBib3JkZXItYm90dG9tOiAwOwogIH0KICAvKiB2aXNhIGtvbHVtbnJ1YnJpayBmw7ZyZSBjZWxsZW5zIGlubmVow6VsbCAqLwogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRkOjpiZWZvcmV7CiAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgY29sb3I6ICMzNzQxNTE7CiAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgfQp9CgovKiBSZWZlcmVuY2VzIGJsb2NrICovCi5yZWZzLWNhcmQgeyBwYWRkaW5nLXRvcDogMTZweDsgfQoucmVmcy1saXN0IHsgY291bnRlci1yZXNldDogcmVmY250OyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDhweCAwIDA7IHBhZGRpbmc6IDA7IH0KLnJlZnMtbGlzdCBsaSB7CiAgY291bnRlci1pbmNyZW1lbnQ6IHJlZmNudDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1sZWZ0OiA0OHB4OwogIG1hcmdpbjogMTBweCAwOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KLnJlZnMtbGlzdCBsaTo6YmVmb3JlIHsKICBjb250ZW50OiAiWyIgY291bnRlcihyZWZjbnQpICJdIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMDsKICB0b3A6IDA7CiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBtaW4td2lkdGg6IDM2cHg7Cn0KLnJlZnMtbGlzdCBlbSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfQoKCjwvc3R5bGU+Cgo8c2NyaXB0PgovKiBMw6RnZyBpbiBrb2x1bW5ydWJyaWtlciBzb20gZGF0YS1sYWJlbCBpIHZhcmplIFREIChmw7ZyIG1vYmlsLXN0YXBsaW5nIG92YW4pICovCihmdW5jdGlvbigpewogIGZ1bmN0aW9uIGVuaGFuY2VSZXNwb25zaXZlVGFibGVzKCl7CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcub3ByYW5pYy1pbmZvZ3JhcGhpYyAucHJvcC10YWJsZScpLmZvckVhY2goZnVuY3Rpb24odGJsKXsKICAgICAgdmFyIHRocyA9IEFycmF5LmZyb20odGJsLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RoZWFkIHRoJykpLm1hcChmdW5jdGlvbih0aCl7CiAgICAgICAgcmV0dXJuICh0aC50ZXh0Q29udGVudCB8fCAnJykudHJpbSgpOwogICAgICB9KTsKICAgICAgdGJsLnF1ZXJ5U2VsZWN0b3JBbGwoJ3Rib2R5IHRyJykuZm9yRWFjaChmdW5jdGlvbih0cil7CiAgICAgICAgQXJyYXkuZnJvbSh0ci5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbih0ZCwgaSl7CiAgICAgICAgICBpZiAoIXRkLmdldEF0dHJpYnV0ZSgnZGF0YS1sYWJlbCcpKSB7CiAgICAgICAgICAgIHRkLnNldEF0dHJpYnV0ZSgnZGF0YS1sYWJlbCcsIHRoc1tpXSB8fCAnJyk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CiAgfQogIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAnbG9hZGluZycpIGVuaGFuY2VSZXNwb25zaXZlVGFibGVzKCk7CiAgZWxzZSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZW5oYW5jZVJlc3BvbnNpdmVUYWJsZXMpOwp9KSgpOwo8L3NjcmlwdD4K[\/vc_raw_html][\/vc_column][\/vc_row]<\/p>\n","protected":false},"author":1,"featured_media":21680,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"_joinchat":[],"footnotes":""},"categories":[19,561],"tags":[],"class_list":["post-21817","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-banco-de-conocimientos","category-noticias","entry","has-media"],"acf":[],"_links":{"self":[{"href":"https:\/\/opranic.com\/es\/wp-json\/wp\/v2\/posts\/21817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opranic.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opranic.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opranic.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/opranic.com\/es\/wp-json\/wp\/v2\/comments?post=21817"}],"version-history":[{"count":0,"href":"https:\/\/opranic.com\/es\/wp-json\/wp\/v2\/posts\/21817\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opranic.com\/es\/wp-json\/wp\/v2\/media\/21680"}],"wp:attachment":[{"href":"https:\/\/opranic.com\/es\/wp-json\/wp\/v2\/media?parent=21817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opranic.com\/es\/wp-json\/wp\/v2\/categories?post=21817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opranic.com\/es\/wp-json\/wp\/v2\/tags?post=21817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}