{"id":21717,"date":"2025-10-28T21:20:27","date_gmt":"2025-10-28T20:20:27","guid":{"rendered":"https:\/\/opranic.com\/la-science-efficace-derriere-opranic\/"},"modified":"2025-10-30T00:22:08","modified_gmt":"2025-10-29T23:22:08","slug":"la-science-efficace-derriere-opranic","status":"publish","type":"post","link":"https:\/\/opranic.com\/fr\/la-science-efficace-derriere-opranic\/","title":{"rendered":"La science efficace derri\u00e8re Opranic"},"content":{"rendered":"<div class=\"wpb-content-wrapper\">[vc_row][vc_column][vc_column_text css=\u00a0\u00bb\u00a0\u00bb]\n<header class=\"hero-intro\">\n<h2 class=\"hero-title\">La science Opranic<\/h2>\n<p class=\"hero-sub\">Une analyse visuelle comparant la technologie Opranic IR-X Carbon Black (IR-B \u00e0 ondes moyennes \u00e0 \u22482,4 \u00b5m) avec l&rsquo;halog\u00e8ne traditionnel (IR-A \u00e0 ondes courtes).<\/p>\n<\/header>\n[\/vc_column_text]<div class=\"vcex-spacing wpex-w-100 wpex-clear\" style=\"height:20px;\"><\/div>[vc_raw_html css=\u00a0\u00bb\u00a0\u00bb]PCEtLSDinIUgT3ByYW5pYyBJbmZvZ3JhcGhpYyDigJMgRklOQUwgcmVzcG9uc2l2ZSB2ZXJzaW9uIC0tPgo8ZGl2IGNsYXNzPSJvcHJhbmljLWluZm9ncmFwaGljIHR5cC0taW5oZXJpdCIgZGF0YS1vcHJhbmljLWluZm9ncmFwaGljPSIiIGRhdGEtd2F0ZXJtYXJrPSJodHRwczovL29wcmFuaWMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzEwL29wcmFuaWMtbG9nby0yMDIzLnBuZyI+CgoKICA8ZGl2IGNsYXNzPSJvcHJhbmljLWdyaWQiPgoKICAgIDwhLS0gMSkgQWJzb3JwdGlvbiAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLXdpZGUiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5MYSBjbMOpIGRlIGwnZWZmaWNhY2l0w6kmbmJzcDs6IGNoYWxldXIgdnMuIGFic29ycHRpb24gZGUgbCdlYXU8L2gyPgogICAgICA8cCBjbGFzcz0ibXV0ZWQgY2VudGVyIj4KICBMZSBjb3JwcyBodW1haW4gZXN0IGNvbXBvc8OpIGQnZW52aXJvbiA3MCZuYnNwOyUgZCdlYXUuIFBvdXIgdW4gY2hhdWZmYWdlIGVmZmljYWNlLCBsYSBsb25ndWV1ciBkJ29uZGUgZHUgcmFkaWF0ZXVyIChwaWMgZCfDqW5lcmdpZSkKIGRvaXQgY29ycmVzcG9uZHJlIMOgIGxhIGNhcGFjaXTDqSBkZSBsJ2VhdSDDoCBhYnNvcmJlciBjZXR0ZSDDqW5lcmdpZS4gCiAgICAgIDwvcD4KICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIGgtNzIgaC1tZC05NiI+PGNhbnZhcyBjbGFzcz0iYWJzb3JwdGlvbkNoYXJ0Ij48L2NhbnZhcz48L2Rpdj4KICAgICAgPHAgY2xhc3M9Im11dGVkIHNtYWxsIGNlbnRlciI+CiAgTCdoYWxvZ8OobmUgKDxzcGFuIGNsYXNzPSJ0ZXh0LXNlY29uZGFyeSI+PHN0cm9uZz5saWduZSByb3VnZTwvc3Ryb25nPjwvc3Bhbj4pIGN1bG1pbmUgw6Ag4omIMSwwJm5ic3A7wrVtIG\/DuSBsJ2Fic29ycHRpb24gZCdlYXUKICg8c3BhbiBjbGFzcz0idGV4dC10ZXJ0aWFyeSI+PHN0cm9uZz56b25lIGJsZXVlPC9zdHJvbmc+PC9zcGFuPikgZXN0IHRyw6hzIGZhaWJsZS4gTGUgbm9pciBkZSBjYXJib25lIE9wcmFuaWMKICg8c3BhbiBjbGFzcz0idGV4dC1wcmltYXJ5Ij48c3Ryb25nPmxpZ25lIG9yYW5nZTwvc3Ryb25nPjwvc3Bhbj4pIGN1bG1pbmUgw6Ag4omIMiw0Jm5ic3A7wrVtLCBjZSBxdWkgY29ycmVzcG9uZCDDoCBsJ2F1Z21lbnRhdGlvbiByYXBpZGUgZGUgbCdhYnNvcnB0aW9uLiAKICAgICAgPC9wPgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gMikgQmFsYW5jZSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLXdpZGUiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5Ucm91dmVyIGwnw6lxdWlsaWJyZSBwYXJmYWl0Jm5ic3A7OiBpbnRlbnNpdMOpIHZzLiBhYnNvcnB0aW9uPC9oMj4KICAgICAgPHAgY2xhc3M9Im11dGVkIGNlbnRlciI+CiAgU2kgdm91cyBuZSBzdWl2ZXogcXVlIGwnYWJzb3JwdGlvbiwgbGVzIG9uZGVzIGxvbmd1ZXMgKElSLUMpIGdhZ25lcmFpZW50LCBtYWlzIGwnaW50ZW5zaXTDqSBjb21wdGUgw6AgbCdleHTDqXJpZXVyLgogIExhIGNoYWxldXIgYSBiZXNvaW4gZGUgc3VmZmlzYW1tZW50IGQnw6luZXJnaWUgcG91ciBhdHRlaW5kcmUgbGEgcGVhdSBhdmFudCBxdWUgbGUgdmVudCBuZSBsYSByZWZyb2lkaXNzZS4KICAgICAgPC9wPgogICAgICA8ZGl2IGNsYXNzPSJhbmFsb2d5LWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImFuYWxvZ3ktY2FyZCBib3JkZXItc2Vjb25kYXJ5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iaC14cyB0ZXh0LXNlY29uZGFyeSI+SGFsb2fDqG5lIChJUi1hKSZuYnNwOzogbGUgbmV0dG95ZXVyIGhhdXRlIHByZXNzaW9uPC9oMz4KICAgICAgICAgIDxwPkFncmVzc2lmIGV0IHDDqW7DqXRyYW50Jm5ic3A7OyDDqW5lcmdpZSBhdSBtYXV2YWlzIGVuZHJvaXQgZXQgZMOpc2FncsOpYWJsZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYW5hbG9neS1jYXJkIGJvcmRlci1wcmltYXJ5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iaC14cyB0ZXh0LXByaW1hcnkiPk5vaXIgZGUgY2FyYm9uZSBPcHJhbmljIChJUi1CKSZuYnNwOzogbGEgZG91Y2hlIHBhcmZhaXRlPC9oMz4KICAgICAgICAgIDxwPkludGVuc2l0w6kgZXQgYWJzb3JwdGlvbiDDqXF1aWxpYnLDqWVzJm5ic3A7OyBjaGFsZXVyIGV4dMOpcmlldXJlIGVmZmljYWNlIGV0IGNvbmZvcnRhYmxlLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhbmFsb2d5LWNhcmQgYm9yZGVyLW5ldXRyYWwiPgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIj5PbmRlcyBsb25ndWVzIChJUi1DKSZuYnNwOzogbGUgcm9iaW5ldCBxdWkgZ291dHRlPC9oMz4KICAgICAgICAgIDxwPkdyYW5kZSBhYnNvcnB0aW9uIG1haXMgdHJvcCBmYWlibGUmbmJzcDs6IGxhIGNoYWxldXIgcydlbnZvbGUgYXZhbnQgZCdhaWRlci48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gMykgU2tpbiAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIj4KICAgICAgPGgyIGNsYXNzPSJoLXNtIGNlbnRlciI+U8OpY3VyaXTDqSBldCBjb25mb3J0Jm5ic3A7OiBww6luw6l0cmF0aW9uIGRhbnMgbGEgcGVhdTwvaDI+CiAgICAgIDxwIGNsYXNzPSJtdXRlZCI+CiAgTGVzIHLDqWNlcHRldXJzIGRlIGNoYWxldXIgc2UgdHJvdXZlbnQgZGFucyBsZXMgY291Y2hlcyBleHRlcm5lcyBkZSBsYSBwZWF1ICjDqXBpZGVybWUvZGVybWUpLiBMJ0lSLUIgw6Agb25kZXMgbW95ZW5uZXMgZXN0IGFic29yYsOpIGzDoCBvw7kgc2UgdHJvdXZlbnQgbGVzIHLDqWNlcHRldXJzJm5ic3A7OwogbCdJUi1BIMOgIG9uZGVzIGNvdXJ0ZXMgcMOpbsOodHJlIHBsdXMgcHJvZm9uZMOpbWVudCBldCBlc3QgcGx1cyBkdXIuIAogICAgICA8L3A+CiAgICAgIDxkaXYgY2xhc3M9ImNhbnZhcy13cmFwIj48Y2FudmFzIGNsYXNzPSJza2luUGVuZXRyYXRpb25DYW52YXMiPjwvY2FudmFzPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsZWdlbmRzIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIHRleHQtcHJpbWFyeSI+Tm9pciBkZSBjYXJib25lIE9wcmFuaWMgKElSLUIpPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJzbWFsbCBtdXRlZCI+QWJzb3JwdGlvbiBzdXBlcmZpY2llbGxlIOKGkiBjb25mb3J0IGltbcOpZGlhdC48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxoMyBjbGFzcz0iaC14cyB0ZXh0LXNlY29uZGFyeSI+SGFsb2fDqG5lIChJUi1hKTwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0ic21hbGwgbXV0ZWQiPlDDqW7DqXRyYXRpb24gcHJvZm9uZGUgZXQgYWdyZXNzaXZlIOKGkiBzdHJlc3MgdGlzc3VsYWlyZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gNCkgVGVjaG5pY2FsIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImNhcmQiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5Db21wYXJhaXNvbiB0ZWNobmlxdWU8L2gyPgogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS13cmFwIj4KICAgICAgICA8dGFibGUgY2xhc3M9InByb3AtdGFibGUiPgogICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRoPlByb3ByacOpdMOpPC90aD4KICAgICAgICAgICAgICA8dGggY2xhc3M9InRleHQtcHJpbWFyeSBjZW50ZXIiPk5vaXIgZGUgY2FyYm9uZSBPcHJhbmljIChJUi1CKTwvdGg+CiAgICAgICAgICAgICAgPHRoIGNsYXNzPSJ0ZXh0LXNlY29uZGFyeSBjZW50ZXIiPkhhbG9nw6huZSAoSVItQSk8L3RoPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgPC90aGVhZD4KICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPkxvbmd1ZXVyIGQnb25kZTwvc3Ryb25nPjwvdGQ+PHRkIGNsYXNzPSJjZW50ZXIiPuKJiDIsNCZuYnNwO8K1bTwvdGQ+PHRkIGNsYXNzPSJjZW50ZXIiPuKJiDEsMCZuYnNwO8K1bTwvdGQ+PC90cj4KICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPkFic29ycHRpb24gY3V0YW7DqWUgKGVhdSk8L3N0cm9uZz48L3RkPjx0ZCBjbGFzcz0iY2VudGVyIHN0cm9uZyBncmVlbiI+dHLDqHMgw6lsZXbDqWU8L3RkPjx0ZCBjbGFzcz0iY2VudGVyIHN0cm9uZyByZWQiPnRyw6hzIGZhaWJsZTwvdGQ+PC90cj4KICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPsOJcXVpbGlicmUgKGludGVuc2l0w6kvYWJzb3JwdGlvbik8L3N0cm9uZz48L3RkPjx0ZCBjbGFzcz0iY2VudGVyIGJpZyBncmVlbiI+4pyUPC90ZD48dGQgY2xhc3M9ImNlbnRlciBiaWcgcmVkIj7inJg8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+PHN0cm9uZz5Qw6luw6l0cmF0aW9uPC9zdHJvbmc+PC90ZD48dGQgY2xhc3M9ImNlbnRlciI+c3VwZXJmaWNpZWxsZSAoc8O7cmUpPC90ZD48dGQgY2xhc3M9ImNlbnRlciI+cHJvZm9uZGUgKGFncmVzc2l2ZSk8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+PHN0cm9uZz5Db25mb3J0ICjDqWJsb3Vpc3NlbWVudCk8L3N0cm9uZz48L3RkPjx0ZCBjbGFzcz0iY2VudGVyIj5MdWV1ciBkb3VjZSBldCBhZ3LDqWFibGU8L3RkPjx0ZCBjbGFzcz0iY2VudGVyIj5MdW1pw6hyZSB2aXZlIGV0IMOpYmxvdWlzc2FudGU8L3RkPjwvdHI+CiAgICAgICAgICA8L3Rib2R5PgogICAgICAgIDwvdGFibGU+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gNSkgR2xhcmUgdnMgSGVhdCDigJMgc2lkZS1ieS1zaWRlIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImNhcmQgY2FyZC0td2lkZSI+CiAgICAgIDxoMiBjbGFzcz0iaC1zbSBjZW50ZXIiPkFuYWx5c2UmbmJzcDs6IMOpYmxvdWlzc2VtZW50IHZzLiBjaGFsZXVyPC9oMj4KICAgICAgPHAgY2xhc3M9Im11dGVkIGNlbnRlciI+CiAgTCdoYWxvZ8OobmUgw6ltZXQgdW5lIHBsdXMgZ3JhbmRlIHBhcnRpZSBkZSBzb24gw6luZXJnaWUgc291cyBmb3JtZSBkZSBsdW1pw6hyZSB2aXNpYmxlICjDqWJsb3Vpc3NlbWVudCksIHRhbmRpcyBxdWUgbGUgbm9pciBkZSBjYXJib25lIE9wcmFuaWMgY29uY2VudHJlIHNhIHByb2R1Y3Rpb24gZW4gY2hhbGV1ciBpbmZyYXJvdWdlIGVmZmljYWNlbWVudCBhYnNvcmLDqWUuCiAgICAgIDwvcD4KICAgICAgPGRpdiBjbGFzcz0idHdvLWNvbCBzaWRlY2hhcnRzIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGgzIGNsYXNzPSJoLXh4cyBjZW50ZXIgdGV4dC1zZWNvbmRhcnkiPkhhbG9nw6huZSAoSVItYSk8L2gzPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIGgtNjQiPjxjYW52YXMgY2xhc3M9ImdsYXJlQ2hhcnQiPjwvY2FudmFzPjwvZGl2PgogICAgICAgICAgPHAgY2xhc3M9InNtYWxsIG11dGVkIGNlbnRlciI+w4luZXJnaWUgZGl2aXPDqWUgZW50cmUgbHVtacOocmUgYWdyZXNzaXZlIGV0IGNoYWxldXIgaW5lZmZpY2FjZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxoMyBjbGFzcz0iaC14eHMgY2VudGVyIHRleHQtcHJpbWFyeSI+Tm9pciBkZSBjYXJib25lIE9wcmFuaWMgKElSLUIpPC9oMz4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciBoLTY0Ij48Y2FudmFzIGNsYXNzPSJlZmZpY2llbmN5Q2hhcnQiPjwvY2FudmFzPjwvZGl2PgogICAgICAgICAgPHAgY2xhc3M9InNtYWxsIG11dGVkIGNlbnRlciI+TCfDqW5lcmdpZSB2YSDDoCBsYSBjaGFsZXVyJm5ic3A7OyBsdWV1ciBtYWludGVudWUgbWluaW1hbGUuPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8IS0tIDYpIENvbmNsdXNpb24gKG3DtnJrKSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLWRhcmsgY2FyZC0td2lkZSBmZWF0dXJlLWJsb2NrIj4KICAgICAgPGgyIGNsYXNzPSJmZWF0dXJlLXRpdGxlIj5Db25jbHVzaW9uJm5ic3A7OiBsZSBjaG9peCBzY2llbnRpZmlxdWVtZW50IGludGVsbGlnZW50PC9oMj4KICAgICAgPHAgY2xhc3M9ImZlYXR1cmUtbGVhZCI+CiAgQmllbiBxdWUgbCdoYWxvZ8OobmUgKElSLUEpIGV0IGxlIG5vaXIgZGUgY2FyYm9uZSBPcHJhbmljIChJUi1CKSBzb2llbnQgdG91cyBkZXV4IGRlcyB0ZWNobm9sb2dpZXMgaW5mcmFyb3VnZXMgbW9kZXJuZXMsIGlscyBkaWZmw6hyZW50IGRhbnMgbGEgZmHDp29uIGRvbnQgaWxzIGZvdXJuaXNzZW50IHVuZSBjaGFsZXVyIHV0aWxpc2FibGUuCiBMJ2hhbG9nw6huZSByYXlvbm5lIHVuZSBwbHVzIGdyYW5kZSBwYXJ0IHNvdXMgZm9ybWUgZGUgbHVtacOocmUgdmlzaWJsZSwgdGFuZGlzIHF1ZSBsJ0lSLVggQ2FyYm9uIEJsYWNrIGQnT3ByYW5pYyBjb25jZW50cmUgc29uIMOpbmVyZ2llIGRhbnMgbGEgcGxhZ2UgZGUgbG9uZ3VldXJzIGQnb25kZSBvcHRpbWFsZQogcG91ciBsZSBjb25mb3J0IGV0IGwnYWJzb3JwdGlvbiBodW1haW5zLCBvZmZyYW50IHVuZSBjaGFsZXVyIMOpcXVpbGlicsOpZSwgaW1tw6lkaWF0ZSBldCBkb3VjZSBlbiB0b3V0ZSBzw6ljdXJpdMOpLgogICAgICA8L3A+CiAgICAgIDxociBjbGFzcz0iZmVhdHVyZS1zZXAiPgogICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlcy1yb3ciPgogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+4pymPC9zcGFuPgogICAgICAgICAgPGgzIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGl0bGUgaC14eHMiPsOJcXVpbGlicmUgb3B0aW1pc8OpPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGV4dCI+UGljIMOgIOKJiDIsNCZuYnNwO8K1bSBwb3VyIHVuZSBlZmZpY2FjaXTDqSBtYXhpbWFsZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj7wn5KOPC9zcGFuPgogICAgICAgICAgPGgzIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGl0bGUgaC14eHMiPkZpYnJlIGRlIGNhcmJvbmUgamFwb25haXNlPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGV4dCI+SGF1dGUgcXVhbGl0w6kgcG91ciB1biBmb25jdGlvbm5lbWVudCBzdGFibGUgZXQgdW5lIGxvbmd1ZSBkdXLDqWUgZGUgdmllLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPuKHszwvc3Bhbj4KICAgICAgICAgIDxoMyBjbGFzcz0iZmVhdHVyZS1pdGVtLXRpdGxlIGgteHhzIj5Db25jZXB0aW9uIElSLVg8L2gzPgogICAgICAgICAgPHAgY2xhc3M9ImZlYXR1cmUtaXRlbS10ZXh0Ij5Nb250YWdlIGZsZXhpYmxlIGRhbnMgdG91dGVzIGxlcyBkaXJlY3Rpb25zLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+Cgo8IS0tIFJlZmVyZW5jZXMgLS0+CjxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLXdpZGUgcmVmcy1jYXJkIiBpZD0icmVmZXJlbmNlcyI+CiAgPGgyIGNsYXNzPSJoLXNtIGNlbnRlciI+UsOpZsOpcmVuY2VzIChzb3VyY2VzIHNjaWVudGlmaXF1ZXMpPC9oMj4KICA8b2wgY2xhc3M9InJlZnMtbGlzdCI+CiAgICA8bGk+CiAgQ3VyY2lvLCBKLiBBLiwgJmFtcDsgUGV0dHksIEMuIEMuICgxOTUxKS4gwqsmbmJzcDtUaGUgTmVhciBJbmZyYXJlZCBBYnNvcnB0aW9uIFNwZWN0cnVtIG9mIExpcXVpZCBXYXRlci4mbmJzcDvCuwogICAgICA8ZW0+Sm91cm5hbCBvZiB0aGUgT3B0aWNhbCBTb2NpZXR5IG9mIEFtZXJpY2E8L2VtPiwgNDEoNSksIDMwMuKAkzMwNC4gCiAgICA8L2xpPgogICAgPGxpPgogIFNjaHJvZWRlciwgUC4sIGV0IGFsLiAoMjAwOCkuIMKrJm5ic3A7RWZmZWN0cyBvZiBJbmZyYXJlZC1BIElycmFkaWF0aW9uIG9uIFNraW4uJm5ic3A7wrsgSW4mbmJzcDs6IEIuIE4uIFQuIChlZHMpPHggaWQ9ImdpZF8wIj48L3g+ICAgICAgPGcgaWQ9ImdpZF8xIj5Ta2luIEFnaW5nPC9nPi4gU3ByaW5nZXIsIEJlcmxpbiwgSGVpZGVsYmVyZy4gICAKICAgIDwvbGk+CiAgICA8bGk+CiAgSUNOSVJQIOKAlCBDb21taXNzaW9uIGludGVybmF0aW9uYWxlIGRlIHByb3RlY3Rpb24gY29udHJlIGxlcyByYXlvbm5lbWVudHMgbm9uIGlvbmlzYW50cyAoMjAxMykuCiDCqyZuYnNwO0lDTklSUCBHdWlkZWxpbmVzIG9uIExpbWl0cyBvZiBFeHBvc3VyZSB0byBJbmNvaGVyZW50IFZpc2libGUgYW5kIEluZnJhcmVkIFJhZGlhdGlvbi4mbmJzcDvCuwogICAgICA8ZW0+SGVhbHRoIFBoeXNpY3M8L2VtPiwgMTA1KDEpLCA3NOKAkzk2LgogICAgPC9saT4KICAgIDxsaT4KICBCYXJvbGV0LCBELiAoMjAxNikuIMKrJm5ic3A7TGlnaHQtRW1pdHRpbmcgRGlvZGVzIChMRURzKSBpbiBEZXJtYXRvbG9neS4mbmJzcDvCuwogICAgICA8ZW0+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=\u00a0\u00bb\u00a0\u00bb] La science Opranic Une analyse visuelle comparant la technologie Opranic IR-X Carbon Black (IR-B \u00e0 ondes moyennes \u00e0 \u22482,4 \u00b5m) avec l&rsquo;halog\u00e8ne traditionnel (IR-A \u00e0 ondes courtes). [\/vc_column_text][vc_raw_html css=\u00a0\u00bb\u00a0\u00bb]PCEtLSDinIUgT3ByYW5pYyBJbmZvZ3JhcGhpYyDigJMgRklOQUwgcmVzcG9uc2l2ZSB2ZXJzaW9uIC0tPgo8ZGl2IGNsYXNzPSJvcHJhbmljLWluZm9ncmFwaGljIHR5cC0taW5oZXJpdCIgZGF0YS1vcHJhbmljLWluZm9ncmFwaGljPSIiIGRhdGEtd2F0ZXJtYXJrPSJodHRwczovL29wcmFuaWMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzEwL29wcmFuaWMtbG9nby0yMDIzLnBuZyI+CgoKICA8ZGl2IGNsYXNzPSJvcHJhbmljLWdyaWQiPgoKICAgIDwhLS0gMSkgQWJzb3JwdGlvbiAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLXdpZGUiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5MYSBjbMOpIGRlIGwnZWZmaWNhY2l0w6kmbmJzcDs6IGNoYWxldXIgdnMuIGFic29ycHRpb24gZGUgbCdlYXU8L2gyPgogICAgICA8cCBjbGFzcz0ibXV0ZWQgY2VudGVyIj4KICBMZSBjb3JwcyBodW1haW4gZXN0IGNvbXBvc8OpIGQnZW52aXJvbiA3MCZuYnNwOyUgZCdlYXUuIFBvdXIgdW4gY2hhdWZmYWdlIGVmZmljYWNlLCBsYSBsb25ndWV1ciBkJ29uZGUgZHUgcmFkaWF0ZXVyIChwaWMgZCfDqW5lcmdpZSkKIGRvaXQgY29ycmVzcG9uZHJlIMOgIGxhIGNhcGFjaXTDqSBkZSBsJ2VhdSDDoCBhYnNvcmJlciBjZXR0ZSDDqW5lcmdpZS4gCiAgICAgIDwvcD4KICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIGgtNzIgaC1tZC05NiI+PGNhbnZhcyBjbGFzcz0iYWJzb3JwdGlvbkNoYXJ0Ij48L2NhbnZhcz48L2Rpdj4KICAgICAgPHAgY2xhc3M9Im11dGVkIHNtYWxsIGNlbnRlciI+CiAgTCdoYWxvZ8OobmUgKDxzcGFuIGNsYXNzPSJ0ZXh0LXNlY29uZGFyeSI+PHN0cm9uZz5saWduZSByb3VnZTwvc3Ryb25nPjwvc3Bhbj4pIGN1bG1pbmUgw6Ag4omIMSwwJm5ic3A7wrVtIG\/DuSBsJ2Fic29ycHRpb24gZCdlYXUKICg8c3BhbiBjbGFzcz0idGV4dC10ZXJ0aWFyeSI+PHN0cm9uZz56b25lIGJsZXVlPC9zdHJvbmc+PC9zcGFuPikgZXN0IHRyw6hzIGZhaWJsZS4gTGUgbm9pciBkZSBjYXJib25lIE9wcmFuaWMKICg8c3BhbiBjbGFzcz0idGV4dC1wcmltYXJ5Ij48c3Ryb25nPmxpZ25lIG9yYW5nZTwvc3Ryb25nPjwvc3Bhbj4pIGN1bG1pbmUgw6Ag4omIMiw0Jm5ic3A7wrVtLCBjZSBxdWkgY29ycmVzcG9uZCDDoCBsJ2F1Z21lbnRhdGlvbiByYXBpZGUgZGUgbCdhYnNvcnB0aW9uLiAKICAgICAgPC9wPgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gMikgQmFsYW5jZSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLXdpZGUiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5Ucm91dmVyIGwnw6lxdWlsaWJyZSBwYXJmYWl0Jm5ic3A7OiBpbnRlbnNpdMOpIHZzLiBhYnNvcnB0aW9uPC9oMj4KICAgICAgPHAgY2xhc3M9Im11dGVkIGNlbnRlciI+CiAgU2kgdm91cyBuZSBzdWl2ZXogcXVlIGwnYWJzb3JwdGlvbiwgbGVzIG9uZGVzIGxvbmd1ZXMgKElSLUMpIGdhZ25lcmFpZW50LCBtYWlzIGwnaW50ZW5zaXTDqSBjb21wdGUgw6AgbCdleHTDqXJpZXVyLgogIExhIGNoYWxldXIgYSBiZXNvaW4gZGUgc3VmZmlzYW1tZW50IGQnw6luZXJnaWUgcG91ciBhdHRlaW5kcmUgbGEgcGVhdSBhdmFudCBxdWUgbGUgdmVudCBuZSBsYSByZWZyb2lkaXNzZS4KICAgICAgPC9wPgogICAgICA8ZGl2IGNsYXNzPSJhbmFsb2d5LWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImFuYWxvZ3ktY2FyZCBib3JkZXItc2Vjb25kYXJ5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iaC14cyB0ZXh0LXNlY29uZGFyeSI+SGFsb2fDqG5lIChJUi1hKSZuYnNwOzogbGUgbmV0dG95ZXVyIGhhdXRlIHByZXNzaW9uPC9oMz4KICAgICAgICAgIDxwPkFncmVzc2lmIGV0IHDDqW7DqXRyYW50Jm5ic3A7OyDDqW5lcmdpZSBhdSBtYXV2YWlzIGVuZHJvaXQgZXQgZMOpc2FncsOpYWJsZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYW5hbG9neS1jYXJkIGJvcmRlci1wcmltYXJ5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iaC14cyB0ZXh0LXByaW1hcnkiPk5vaXIgZGUgY2FyYm9uZSBPcHJhbmljIChJUi1CKSZuYnNwOzogbGEgZG91Y2hlIHBhcmZhaXRlPC9oMz4KICAgICAgICAgIDxwPkludGVuc2l0w6kgZXQgYWJzb3JwdGlvbiDDqXF1aWxpYnLDqWVzJm5ic3A7OyBjaGFsZXVyIGV4dMOpcmlldXJlIGVmZmljYWNlIGV0IGNvbmZvcnRhYmxlLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhbmFsb2d5LWNhcmQgYm9yZGVyLW5ldXRyYWwiPgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIj5PbmRlcyBsb25ndWVzIChJUi1DKSZuYnNwOzogbGUgcm9iaW5ldCBxdWkgZ291dHRlPC9oMz4KICAgICAgICAgIDxwPkdyYW5kZSBhYnNvcnB0aW9uIG1haXMgdHJvcCBmYWlibGUmbmJzcDs6IGxhIGNoYWxldXIgcydlbnZvbGUgYXZhbnQgZCdhaWRlci48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gMykgU2tpbiAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIj4KICAgICAgPGgyIGNsYXNzPSJoLXNtIGNlbnRlciI+U8OpY3VyaXTDqSBldCBjb25mb3J0Jm5ic3A7OiBww6luw6l0cmF0aW9uIGRhbnMgbGEgcGVhdTwvaDI+CiAgICAgIDxwIGNsYXNzPSJtdXRlZCI+CiAgTGVzIHLDqWNlcHRldXJzIGRlIGNoYWxldXIgc2UgdHJvdXZlbnQgZGFucyBsZXMgY291Y2hlcyBleHRlcm5lcyBkZSBsYSBwZWF1ICjDqXBpZGVybWUvZGVybWUpLiBMJ0lSLUIgw6Agb25kZXMgbW95ZW5uZXMgZXN0IGFic29yYsOpIGzDoCBvw7kgc2UgdHJvdXZlbnQgbGVzIHLDqWNlcHRldXJzJm5ic3A7OwogbCdJUi1BIMOgIG9uZGVzIGNvdXJ0ZXMgcMOpbsOodHJlIHBsdXMgcHJvZm9uZMOpbWVudCBldCBlc3QgcGx1cyBkdXIuIAogICAgICA8L3A+CiAgICAgIDxkaXYgY2xhc3M9ImNhbnZhcy13cmFwIj48Y2FudmFzIGNsYXNzPSJza2luUGVuZXRyYXRpb25DYW52YXMiPjwvY2FudmFzPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsZWdlbmRzIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGgzIGNsYXNzPSJoLXhzIHRleHQtcHJpbWFyeSI+Tm9pciBkZSBjYXJib25lIE9wcmFuaWMgKElSLUIpPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJzbWFsbCBtdXRlZCI+QWJzb3JwdGlvbiBzdXBlcmZpY2llbGxlIOKGkiBjb25mb3J0IGltbcOpZGlhdC48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxoMyBjbGFzcz0iaC14cyB0ZXh0LXNlY29uZGFyeSI+SGFsb2fDqG5lIChJUi1hKTwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0ic21hbGwgbXV0ZWQiPlDDqW7DqXRyYXRpb24gcHJvZm9uZGUgZXQgYWdyZXNzaXZlIOKGkiBzdHJlc3MgdGlzc3VsYWlyZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gNCkgVGVjaG5pY2FsIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImNhcmQiPgogICAgICA8aDIgY2xhc3M9Imgtc20gY2VudGVyIj5Db21wYXJhaXNvbiB0ZWNobmlxdWU8L2gyPgogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS13cmFwIj4KICAgICAgICA8dGFibGUgY2xhc3M9InByb3AtdGFibGUiPgogICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRoPlByb3ByacOpdMOpPC90aD4KICAgICAgICAgICAgICA8dGggY2xhc3M9InRleHQtcHJpbWFyeSBjZW50ZXIiPk5vaXIgZGUgY2FyYm9uZSBPcHJhbmljIChJUi1CKTwvdGg+CiAgICAgICAgICAgICAgPHRoIGNsYXNzPSJ0ZXh0LXNlY29uZGFyeSBjZW50ZXIiPkhhbG9nw6huZSAoSVItQSk8L3RoPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgPC90aGVhZD4KICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPkxvbmd1ZXVyIGQnb25kZTwvc3Ryb25nPjwvdGQ+PHRkIGNsYXNzPSJjZW50ZXIiPuKJiDIsNCZuYnNwO8K1bTwvdGQ+PHRkIGNsYXNzPSJjZW50ZXIiPuKJiDEsMCZuYnNwO8K1bTwvdGQ+PC90cj4KICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPkFic29ycHRpb24gY3V0YW7DqWUgKGVhdSk8L3N0cm9uZz48L3RkPjx0ZCBjbGFzcz0iY2VudGVyIHN0cm9uZyBncmVlbiI+dHLDqHMgw6lsZXbDqWU8L3RkPjx0ZCBjbGFzcz0iY2VudGVyIHN0cm9uZyByZWQiPnRyw6hzIGZhaWJsZTwvdGQ+PC90cj4KICAgICAgICAgICAgPHRyPjx0ZD48c3Ryb25nPsOJcXVpbGlicmUgKGludGVuc2l0w6kvYWJzb3JwdGlvbik8L3N0cm9uZz48L3RkPjx0ZCBjbGFzcz0iY2VudGVyIGJpZyBncmVlbiI+4pyUPC90ZD48dGQgY2xhc3M9ImNlbnRlciBiaWcgcmVkIj7inJg8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+PHN0cm9uZz5Qw6luw6l0cmF0aW9uPC9zdHJvbmc+PC90ZD48dGQgY2xhc3M9ImNlbnRlciI+c3VwZXJmaWNpZWxsZSAoc8O7cmUpPC90ZD48dGQgY2xhc3M9ImNlbnRlciI+cHJvZm9uZGUgKGFncmVzc2l2ZSk8L3RkPjwvdHI+CiAgICAgICAgICAgIDx0cj48dGQ+PHN0cm9uZz5Db25mb3J0ICjDqWJsb3Vpc3NlbWVudCk8L3N0cm9uZz48L3RkPjx0ZCBjbGFzcz0iY2VudGVyIj5MdWV1ciBkb3VjZSBldCBhZ3LDqWFibGU8L3RkPjx0ZCBjbGFzcz0iY2VudGVyIj5MdW1pw6hyZSB2aXZlIGV0IMOpYmxvdWlzc2FudGU8L3RkPjwvdHI+CiAgICAgICAgICA8L3Rib2R5PgogICAgICAgIDwvdGFibGU+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gNSkgR2xhcmUgdnMgSGVhdCDigJMgc2lkZS1ieS1zaWRlIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImNhcmQgY2FyZC0td2lkZSI+CiAgICAgIDxoMiBjbGFzcz0iaC1zbSBjZW50ZXIiPkFuYWx5c2UmbmJzcDs6IMOpYmxvdWlzc2VtZW50IHZzLiBjaGFsZXVyPC9oMj4KICAgICAgPHAgY2xhc3M9Im11dGVkIGNlbnRlciI+CiAgTCdoYWxvZ8OobmUgw6ltZXQgdW5lIHBsdXMgZ3JhbmRlIHBhcnRpZSBkZSBzb24gw6luZXJnaWUgc291cyBmb3JtZSBkZSBsdW1pw6hyZSB2aXNpYmxlICjDqWJsb3Vpc3NlbWVudCksIHRhbmRpcyBxdWUgbGUgbm9pciBkZSBjYXJib25lIE9wcmFuaWMgY29uY2VudHJlIHNhIHByb2R1Y3Rpb24gZW4gY2hhbGV1ciBpbmZyYXJvdWdlIGVmZmljYWNlbWVudCBhYnNvcmLDqWUuCiAgICAgIDwvcD4KICAgICAgPGRpdiBjbGFzcz0idHdvLWNvbCBzaWRlY2hhcnRzIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGgzIGNsYXNzPSJoLXh4cyBjZW50ZXIgdGV4dC1zZWNvbmRhcnkiPkhhbG9nw6huZSAoSVItYSk8L2gzPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIGgtNjQiPjxjYW52YXMgY2xhc3M9ImdsYXJlQ2hhcnQiPjwvY2FudmFzPjwvZGl2PgogICAgICAgICAgPHAgY2xhc3M9InNtYWxsIG11dGVkIGNlbnRlciI+w4luZXJnaWUgZGl2aXPDqWUgZW50cmUgbHVtacOocmUgYWdyZXNzaXZlIGV0IGNoYWxldXIgaW5lZmZpY2FjZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxoMyBjbGFzcz0iaC14eHMgY2VudGVyIHRleHQtcHJpbWFyeSI+Tm9pciBkZSBjYXJib25lIE9wcmFuaWMgKElSLUIpPC9oMz4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciBoLTY0Ij48Y2FudmFzIGNsYXNzPSJlZmZpY2llbmN5Q2hhcnQiPjwvY2FudmFzPjwvZGl2PgogICAgICAgICAgPHAgY2xhc3M9InNtYWxsIG11dGVkIGNlbnRlciI+TCfDqW5lcmdpZSB2YSDDoCBsYSBjaGFsZXVyJm5ic3A7OyBsdWV1ciBtYWludGVudWUgbWluaW1hbGUuPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8IS0tIDYpIENvbmNsdXNpb24gKG3DtnJrKSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLWRhcmsgY2FyZC0td2lkZSBmZWF0dXJlLWJsb2NrIj4KICAgICAgPGgyIGNsYXNzPSJmZWF0dXJlLXRpdGxlIj5Db25jbHVzaW9uJm5ic3A7OiBsZSBjaG9peCBzY2llbnRpZmlxdWVtZW50IGludGVsbGlnZW50PC9oMj4KICAgICAgPHAgY2xhc3M9ImZlYXR1cmUtbGVhZCI+CiAgQmllbiBxdWUgbCdoYWxvZ8OobmUgKElSLUEpIGV0IGxlIG5vaXIgZGUgY2FyYm9uZSBPcHJhbmljIChJUi1CKSBzb2llbnQgdG91cyBkZXV4IGRlcyB0ZWNobm9sb2dpZXMgaW5mcmFyb3VnZXMgbW9kZXJuZXMsIGlscyBkaWZmw6hyZW50IGRhbnMgbGEgZmHDp29uIGRvbnQgaWxzIGZvdXJuaXNzZW50IHVuZSBjaGFsZXVyIHV0aWxpc2FibGUuCiBMJ2hhbG9nw6huZSByYXlvbm5lIHVuZSBwbHVzIGdyYW5kZSBwYXJ0IHNvdXMgZm9ybWUgZGUgbHVtacOocmUgdmlzaWJsZSwgdGFuZGlzIHF1ZSBsJ0lSLVggQ2FyYm9uIEJsYWNrIGQnT3ByYW5pYyBjb25jZW50cmUgc29uIMOpbmVyZ2llIGRhbnMgbGEgcGxhZ2UgZGUgbG9uZ3VldXJzIGQnb25kZSBvcHRpbWFsZQogcG91ciBsZSBjb25mb3J0IGV0IGwnYWJzb3JwdGlvbiBodW1haW5zLCBvZmZyYW50IHVuZSBjaGFsZXVyIMOpcXVpbGlicsOpZSwgaW1tw6lkaWF0ZSBldCBkb3VjZSBlbiB0b3V0ZSBzw6ljdXJpdMOpLgogICAgICA8L3A+CiAgICAgIDxociBjbGFzcz0iZmVhdHVyZS1zZXAiPgogICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlcy1yb3ciPgogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+4pymPC9zcGFuPgogICAgICAgICAgPGgzIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGl0bGUgaC14eHMiPsOJcXVpbGlicmUgb3B0aW1pc8OpPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGV4dCI+UGljIMOgIOKJiDIsNCZuYnNwO8K1bSBwb3VyIHVuZSBlZmZpY2FjaXTDqSBtYXhpbWFsZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj7wn5KOPC9zcGFuPgogICAgICAgICAgPGgzIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGl0bGUgaC14eHMiPkZpYnJlIGRlIGNhcmJvbmUgamFwb25haXNlPC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJmZWF0dXJlLWl0ZW0tdGV4dCI+SGF1dGUgcXVhbGl0w6kgcG91ciB1biBmb25jdGlvbm5lbWVudCBzdGFibGUgZXQgdW5lIGxvbmd1ZSBkdXLDqWUgZGUgdmllLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPuKHszwvc3Bhbj4KICAgICAgICAgIDxoMyBjbGFzcz0iZmVhdHVyZS1pdGVtLXRpdGxlIGgteHhzIj5Db25jZXB0aW9uIElSLVg8L2gzPgogICAgICAgICAgPHAgY2xhc3M9ImZlYXR1cmUtaXRlbS10ZXh0Ij5Nb250YWdlIGZsZXhpYmxlIGRhbnMgdG91dGVzIGxlcyBkaXJlY3Rpb25zLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+Cgo8IS0tIFJlZmVyZW5jZXMgLS0+CjxzZWN0aW9uIGNsYXNzPSJjYXJkIGNhcmQtLXdpZGUgcmVmcy1jYXJkIiBpZD0icmVmZXJlbmNlcyI+CiAgPGgyIGNsYXNzPSJoLXNtIGNlbnRlciI+UsOpZsOpcmVuY2VzIChzb3VyY2VzIHNjaWVudGlmaXF1ZXMpPC9oMj4KICA8b2wgY2xhc3M9InJlZnMtbGlzdCI+CiAgICA8bGk+CiAgQ3VyY2lvLCBKLiBBLiwgJmFtcDsgUGV0dHksIEMuIEMuICgxOTUxKS4gwqsmbmJzcDtUaGUgTmVhciBJbmZyYXJlZCBBYnNvcnB0aW9uIFNwZWN0cnVtIG9mIExpcXVpZCBXYXRlci4mbmJzcDvCuwogICAgICA8ZW0+Sm91cm5hbCBvZiB0aGUgT3B0aWNhbCBTb2NpZXR5IG9mIEFtZXJpY2E8L2VtPiwgNDEoNSksIDMwMuKAkzMwNC4gCiAgICA8L2xpPgogICAgPGxpPgogIFNjaHJvZWRlciwgUC4sIGV0IGFsLiAoMjAwOCkuIMKrJm5ic3A7RWZmZWN0cyBvZiBJbmZyYXJlZC1BIElycmFkaWF0aW9uIG9uIFNraW4uJm5ic3A7wrsgSW4mbmJzcDs6IEIuIE4uIFQuIChlZHMpPHggaWQ9ImdpZF8wIj48L3g+ICAgICAgPGcgaWQ9ImdpZF8xIj5Ta2luIEFnaW5nPC9nPi4gU3ByaW5nZXIsIEJlcmxpbiwgSGVpZGVsYmVyZy4gICAKICAgIDwvbGk+CiAgICA8bGk+CiAgSUNOSVJQIOKAlCBDb21taXNzaW9uIGludGVybmF0aW9uYWxlIGRlIHByb3RlY3Rpb24gY29udHJlIGxlcyByYXlvbm5lbWVudHMgbm9uIGlvbmlzYW50cyAoMjAxMykuCiDCqyZuYnNwO0lDTklSUCBHdWlkZWxpbmVzIG9uIExpbWl0cyBvZiBFeHBvc3VyZSB0byBJbmNvaGVyZW50IFZpc2libGUgYW5kIEluZnJhcmVkIFJhZGlhdGlvbi4mbmJzcDvCuwogICAgICA8ZW0+SGVhbHRoIFBoeXNpY3M8L2VtPiwgMTA1KDEpLCA3NOKAkzk2LgogICAgPC9saT4KICAgIDxsaT4KICBCYXJvbGV0LCBELiAoMjAxNikuIMKrJm5ic3A7TGlnaHQtRW1pdHRpbmcgRGlvZGVzIChMRURzKSBpbiBEZXJtYXRvbG9neS4mbmJzcDvCuwogICAgICA8ZW0+U2VtaW5hcnMgaW4gQ3V0YW5lb3VzIE1lZGljaW5lIGFuZCBTdXJnZXJ5PC9lbT4sIDM1KDMpLCAxNjHigJMxNjkuIAogICAgPC9saT4KICA8L29sPgo8L3NlY3Rpb24+CgoKCiAgPC9kaXY+CjwvZGl2PgoKPHN0eWxlPgovKiAtLS0tIEluaGVyaXQgc2l0ZSB0eXBvZ3JhcGh5LCBjb21wYWN0IGhlYWRpbmdzIC0tLS0gKi8KLnR5cC0taW5oZXJpdCwudHlwLS1pbmhlcml0ICp7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O2NvbG9yOmluaGVyaXQ7fQoub3ByYW5pYy1pbmZvZ3JhcGhpY3stLWMtcHJpbWFyeTojZWU5MzA1Oy0tYy1zZWNvbmRhcnk6I0ZGNEU1MDstLWMtdGVydGlhcnk6IzRBOTBFMjsKICBiYWNrZ3JvdW5kOiNmNGY3ZjY7cGFkZGluZzoxNnB4O21hcmdpbjowIGF1dG87bWF4LXdpZHRoOjEyMDBweDtvdmVyZmxvdy14OmhpZGRlbjt9Ci5vcHJhbmljLWluZm9ncmFwaGljICp7Ym94LXNpemluZzpib3JkZXItYm94O30KLmgtc217Zm9udC1zaXplOjEuMXJlbTtmb250LXdlaWdodDo3MDA7bWFyZ2luOi4xcmVtIDAgLjRyZW07fQouaC14c3tmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjAgMCAuM3JlbTt9Ci5oLXh4c3tmb250LXNpemU6Ljk0cmVtO2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW46LjFyZW0gMCAuMjVyZW07fQoKLmhlcm8taW50cm97dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjE4cHggMCAyMnB4O30KLmhlcm8tYnJhbmR7Y29sb3I6dmFyKC0tYy1wcmltYXJ5KTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjFlbTtmb250LXNpemU6LjhyZW07bWFyZ2luLWJvdHRvbTo1cHg7fQouaGVyby10aXRsZXttYXJnaW46MCAwIDZweDtmb250LXdlaWdodDo4MDA7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoxLjI1O30KLmhlcm8tc3Vie21heC13aWR0aDo4MjBweDttYXJnaW46MCBhdXRvO29wYWNpdHk6Ljk7Zm9udC1zaXplOi45NXJlbTt9CgoudGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWMtcHJpbWFyeSk7fSAudGV4dC1zZWNvbmRhcnl7Y29sb3I6dmFyKC0tYy1zZWNvbmRhcnkpO30gLnRleHQtdGVydGlhcnl7Y29sb3I6dmFyKC0tYy10ZXJ0aWFyeSk7fQoubXV0ZWR7b3BhY2l0eTouODU7fSAuc21hbGx7Zm9udC1zaXplOi45MmVtO30gLnN0cm9uZ3tmb250LXdlaWdodDo3MDA7fSAuYmlne2ZvbnQtc2l6ZToxLjJlbTt9Ci5ncmVlbntjb2xvcjojMGY4YTJjO30gLnJlZHtjb2xvcjojZDkzMDI1O30gLmNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcjt9Cgoub3ByYW5pYy1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDoxOHB4O30KQG1lZGlhKG1pbi13aWR0aDo3NjhweCl7Lm9wcmFuaWMtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjt9fQoKLmNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MTBweDtib3gtc2hhZG93OjAgNnB4IDE0cHggcmdiYSgwLDAsMCwuMDgpO3BhZGRpbmc6MThweDt9Ci5jYXJkLS13aWRle2dyaWQtY29sdW1uOjEvLTE7fQouY2FyZC0tZGFya3tiYWNrZ3JvdW5kOiMxZjI5Mzc7Y29sb3I6I2U1ZWVmNTt9Ci5jYXJkLS1kYXJrIHB7Y29sb3I6I2QxZDVkYjt9CgouY2hhcnQtY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO30KY2FudmFze2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50O2hlaWdodDphdXRvO30KCi5oLTcye2hlaWdodDoxOHJlbTt9Ci5oLTY0e2hlaWdodDoxNnJlbTt9CkBtZWRpYShtaW4td2lkdGg6NzY4cHgpey5oLW1kLTk2e2hlaWdodDoyNHJlbTt9fQoKLmFuYWxvZ3ktZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6MTRweDt9CkBtZWRpYShtaW4td2lkdGg6NzY4cHgpey5hbmFsb2d5LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7fX0KLmFuYWxvZ3ktY2FyZHtiYWNrZ3JvdW5kOiNmYWZhZmE7Ym9yZGVyLXRvcDo0cHggc29saWQgI2U1ZTdlYjtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjE0cHg7aGVpZ2h0OjEwMCU7fQouYm9yZGVyLXByaW1hcnl7Ym9yZGVyLWNvbG9yOnZhcigtLWMtcHJpbWFyeSkhaW1wb3J0YW50O30KLmJvcmRlci1zZWNvbmRhcnl7Ym9yZGVyLWNvbG9yOnZhcigtLWMtc2Vjb25kYXJ5KSFpbXBvcnRhbnQ7fQouYm9yZGVyLW5ldXRyYWx7Ym9yZGVyLWNvbG9yOiM5Y2EzYWYhaW1wb3J0YW50O30KCi5jYW52YXMtd3JhcHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzo4cHg7fQoKLnRhYmxlLXdyYXB7b3ZlcmZsb3cteDphdXRvO30KLnByb3AtdGFibGV7d2lkdGg6MTAwJTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7fQoucHJvcC10YWJsZSB0aCwucHJvcC10YWJsZSB0ZHtwYWRkaW5nOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U1ZTdlYjt9Ci5wcm9wLXRhYmxlIHRoe2JhY2tncm91bmQ6I2Y4ZmFmYzt0ZXh0LWFsaWduOmxlZnQ7fQoucHJvcC10YWJsZSAuY2VudGVye3RleHQtYWxpZ246Y2VudGVyO30KCi8qIEdsYXJlIHZzIEhlYXQgc2lkZS1ieS1zaWRlIG9uIGRlc2t0b3AgKi8KLnNpZGVjaGFydHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjI0cHg7YWxpZ24taXRlbXM6c3RhcnQ7fQpAbWVkaWEobWluLXdpZHRoOjgyMHB4KXsuc2lkZWNoYXJ0c3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6NDBweDt9fQoKLyogQ29uY2x1c2lvbiBibG9jayAqLwouZmVhdHVyZS1ibG9ja3tib3JkZXItcmFkaXVzOjEycHg7Ym94LXNoYWRvdzowIDZweCAxNnB4IHJnYmEoMCwwLDAsLjE4KTtwYWRkaW5nOjI0cHggMThweCAyMnB4O30KLmZlYXR1cmUtdGl0bGV7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjAgMCA2cHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxLjA1cmVtO30KLmZlYXR1cmUtbGVhZHt0ZXh0LWFsaWduOmNlbnRlcjttYXgtd2lkdGg6ODIwcHg7bWFyZ2luOjAgYXV0byAxMnB4O29wYWNpdHk6LjkyO30KLmZlYXR1cmUtc2Vwe2hlaWdodDoxcHg7Ym9yZGVyOjA7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xOCk7bWFyZ2luOjE2cHggMDt9Ci5mZWF0dXJlcy1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjIycHg7YWxpZ24taXRlbXM6c3RhcnQ7anVzdGlmeS1pdGVtczpjZW50ZXI7fQpAbWVkaWEobWluLXdpZHRoOjc2OHB4KXsuZmVhdHVyZXMtcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoyNnB4O319Ci5mZWF0dXJlLWl0ZW17dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzo2cHggMTBweDt9Ci5mZWF0dXJlLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6OTk5OXB4OwogIGJhY2tncm91bmQ6cmdiYSgyMzgsMTQ3LDUsLjEyKTtjb2xvcjp2YXIoLS1jLXByaW1hcnkpO2ZvbnQtc2l6ZToxOHB4O21hcmdpbi1ib3R0b206OHB4O30KLmZlYXR1cmUtaXRlbS10aXRsZXttYXJnaW46MnB4IDAgNHB4O2ZvbnQtd2VpZ2h0OjcwMDt9Ci5mZWF0dXJlLWl0ZW0tdGV4dHttYXJnaW46MDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Zm9udC1zaXplOi45NWVtO30KCi8qIE1vYmlsZSB0aWdodGVuaW5nICovCkBtZWRpYShtYXgtd2lkdGg6NTc1cHgpewogIC5vcHJhbmljLWluZm9ncmFwaGlje3BhZGRpbmc6MTJweDt9CiAgLmhlcm8tdGl0bGV7Zm9udC1zaXplOjEuMjJyZW07fQogIC5oZXJvLXN1Yntmb250LXNpemU6LjlyZW07bGluZS1oZWlnaHQ6MS40NTt9CiAgLmgtc217Zm9udC1zaXplOjEuMHJlbTt9IC5oLXhze2ZvbnQtc2l6ZTouOTVyZW07fSAuaC14eHN7Zm9udC1zaXplOi44OHJlbTt9CiAgcHtmb250LXNpemU6LjkzcmVtO2xpbmUtaGVpZ2h0OjEuNTt9CiAgLmNhcmR7cGFkZGluZzoxNHB4O30gLmFuYWxvZ3ktY2FyZHtwYWRkaW5nOjEycHg7fSAuZmVhdHVyZS1ibG9ja3twYWRkaW5nOjE4cHggMTRweDt9CiAgLmgtNzJ7aGVpZ2h0OjE1cmVtO30gLmgtNjR7aGVpZ2h0OjEzcmVtO30KfQo8L3N0eWxlPgoKPHNjcmlwdD4KLyogLS0tLS0tLS0tLS0tLS0tLSBDaGFydC5qcyBsb2FkZXIgKyBXYXRlcm1hcmsgKyBBdXRvLXJlc2l6ZSAtLS0tLS0tLS0tLS0tLS0tICovCihmdW5jdGlvbigpewogIGZ1bmN0aW9uIHJlYWR5KGZuKXsgaWYoZG9jdW1lbnQucmVhZHlTdGF0ZSE9PSdsb2FkaW5nJyl7IGZuKCk7IH0gZWxzZSB7IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmbik7IH0gfQoKICBmdW5jdGlvbiBsb2FkQ2hhcnQoY2IpewogICAgaWYod2luZG93LkNoYXJ0KXsgY2IoKTsgcmV0dXJuOyB9CiAgICB2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIHMuc3JjPSdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzQDQuNC4zL2Rpc3QvY2hhcnQudW1kLm1pbi5qcyc7CiAgICBzLm9ubG9hZD1mdW5jdGlvbigpeyBjYigpOyB9OwogICAgcy5vbmVycm9yPWZ1bmN0aW9uKCl7IGNvbnNvbGUuZXJyb3IoJ0NoYXJ0LmpzIGZhaWxlZCB0byBsb2FkJyk7IH07CiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpOwogIH0KCiAgZnVuY3Rpb24gbG9hZEltZyh1cmwsY2IpewogICAgaWYoIXVybCl7IGNiKG51bGwpOyByZXR1cm47IH0KICAgIHZhciBpbWc9bmV3IEltYWdlKCk7CiAgICBpbWcuY3Jvc3NPcmlnaW49J2Fub255bW91cyc7CiAgICBpbWcub25sb2FkPWZ1bmN0aW9uKCl7IGNiKGltZyk7IH07CiAgICBpbWcub25lcnJvcj1mdW5jdGlvbigpeyBjb25zb2xlLndhcm4oJ1dhdGVybWFyayBpbWFnZSBmYWlsZWQ6Jyx1cmwpOyBjYihudWxsKTsgfTsKICAgIGltZy5zcmM9dXJsOwogIH0KCiAgZnVuY3Rpb24gbWFrZVdhdGVybWFya1BsdWdpbihpbWcpewogICAgcmV0dXJuIHsKICAgICAgaWQ6ICdvcHJhbmljV2F0ZXJtYXJrJywKICAgICAgYmVmb3JlRHJhdyhjaGFydCl7CiAgICAgICAgaWYoIWltZykgcmV0dXJuOwogICAgICAgIHZhciBhPWNoYXJ0LmNoYXJ0QXJlYTsgaWYoIWEpIHJldHVybjsKICAgICAgICB2YXIgY3R4PWNoYXJ0LmN0eCwgY3c9YS5yaWdodC1hLmxlZnQsIGNoPWEuYm90dG9tLWEudG9wOwogICAgICAgIHZhciB3PWN3KjAuNDAsIGg9dyooaW1nLmhlaWdodC9pbWcud2lkdGgpOyAvLyA0MCUgYXYgYXJlYS1icmVkZAogICAgICAgIHZhciB4PWEubGVmdCsoY3ctdykvMiwgeT1hLnRvcCsoY2gtaCkvMjsKICAgICAgICBjdHguc2F2ZSgpOyBjdHguZ2xvYmFsQWxwaGE9MC4wODsgY3R4LmRyYXdJbWFnZShpbWcseCx5LHcsaCk7IGN0eC5yZXN0b3JlKCk7CiAgICAgIH0KICAgIH07CiAgfQoKICBmdW5jdGlvbiBpbml0QWxsKCl7IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLW9wcmFuaWMtaW5mb2dyYXBoaWNdJykuZm9yRWFjaChpbml0QmxvY2spOyB9CgogIGZ1bmN0aW9uIGluaXRCbG9jayhyb290KXsKICAgIHZhciBwcmltYXJ5PScjZWU5MzA1Jywgc2Vjb25kYXJ5PScjRkY0RTUwJywgdGVydGlhcnk9JyM0QTkwRTInLCB0ZXJ0aWFyeUZpbGw9J3JnYmEoNzQsMTQ0LDIyNiwuMjgpJzsKICAgIHZhciB3bVVybD1yb290LmdldEF0dHJpYnV0ZSgnZGF0YS13YXRlcm1hcmsnKXx8Jyc7CiAgICBsb2FkSW1nKHdtVXJsLCBmdW5jdGlvbih3bUltZyl7CiAgICAgIHZhciB3bSA9IHdtSW1nID8gW21ha2VXYXRlcm1hcmtQbHVnaW4od21JbWcpXSA6IFtdOwoKICAgICAgZnVuY3Rpb24gbWtDaGFydChjYW52YXMsIGNmZyl7CiAgICAgICAgaWYoIWNhbnZhcykgcmV0dXJuIG51bGw7CiAgICAgICAgdmFyIGN0eD1jYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgICB2YXIgY2g9bmV3IENoYXJ0KGN0eCwgT2JqZWN0LmFzc2lnbih7fSwgY2ZnLCB7IHBsdWdpbnM6IChjZmcucGx1Z2luc3x8W10pLmNvbmNhdCh3bSkgfSkpOwogICAgICAgIC8vIEF1dG8tcmVzaXplIHdoZW4gcGFyZW50IHdpZHRoIGNoYW5nZXMgKFdQQmFrZXJ5IGxhdGUgcmVmbG93cykKICAgICAgICB0cnl7IG5ldyBSZXNpemVPYnNlcnZlcihmdW5jdGlvbigpeyBjaC5yZXNpemUoKTsgfSkub2JzZXJ2ZShjYW52YXMucGFyZW50RWxlbWVudCk7IH0KICAgICAgICBjYXRjaChlKXsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uKCl7IGNoLnJlc2l6ZSgpOyB9KTsgfQogICAgICAgIHJldHVybiBjaDsKICAgICAgfQoKICAgICAgLy8gQWJzb3JwdGlvbiAobGluZSkKICAgICAgbWtDaGFydChyb290LnF1ZXJ5U2VsZWN0b3IoJy5hYnNvcnB0aW9uQ2hhcnQnKSx7CiAgICAgICAgdHlwZTonbGluZScsCiAgICAgICAgZGF0YTp7IGRhdGFzZXRzOlsKICAgICAgICAgIHsgbGFiZWw6J1dhdGVyIEFic29ycHRpb24nLCBkYXRhOlt7eDoxLHk6MTV9LHt4OjEuNSx5OjIwfSx7eDoyLHk6MzB9LHt4OjIuNSx5OjcwfSx7eDoyLjgseTo5MH0se3g6Myx5Ojk1fSx7eDozLjIseTo5MH0se3g6NCx5OjYwfSx7eDo1LHk6NDB9XSwKICAgICAgICAgICAgYm9yZGVyQ29sb3I6dGVydGlhcnksIGJhY2tncm91bmRDb2xvcjp0ZXJ0aWFyeUZpbGwsIGZpbGw6dHJ1ZSwgdGVuc2lvbjouMzUsIGJvcmRlcldpZHRoOjIsIHBvaW50UmFkaXVzOjAgfSwKICAgICAgICAgIHsgbGFiZWw6J0hhbG9nZW4gKElSLUEpJywgZGF0YTpbe3g6LjUseToxMH0se3g6LjgseToxODB9LHt4OjEseToyMjB9LHt4OjEuMix5OjE3MH0se3g6Mix5OjQwfSx7eDozLHk6MTB9XSwKICAgICAgICAgICAgYm9yZGVyQ29sb3I6c2Vjb25kYXJ5LCBmaWxsOmZhbHNlLCB0ZW5zaW9uOi4zNSwgYm9yZGVyV2lkdGg6MywgcG9pbnRSYWRpdXM6MCB9LAogICAgICAgICAgeyBsYWJlbDonT3ByYW5pYyBDYXJib24gQmxhY2sgKElSLUIpJywgZGF0YTpbe3g6MSx5OjV9LHt4OjEuNSx5OjIwfSx7eDoyLHk6ODB9LHt4OjIuNCx5OjExMH0se3g6Myx5OjkwfSx7eDo0LHk6NDB9LHt4OjUseToyMH1dLAogICAgICAgICAgICBib3JkZXJDb2xvcjpwcmltYXJ5LCBmaWxsOmZhbHNlLCB0ZW5zaW9uOi4zNSwgYm9yZGVyV2lkdGg6MywgcG9pbnRSYWRpdXM6MCB9CiAgICAgICAgXX0sCiAgICAgICAgb3B0aW9uczp7CiAgICAgICAgICByZXNwb25zaXZlOnRydWUsIG1haW50YWluQXNwZWN0UmF0aW86ZmFsc2UsCiAgICAgICAgICBzY2FsZXM6eyB5OnsgdGl0bGU6e2Rpc3BsYXk6dHJ1ZSx0ZXh0OidSZWxhdGl2ZSBJbnRlbnNpdHkgLyBBYnNvcnB0aW9uJ30gfSwKICAgICAgICAgICAgICAgICAgIHg6eyB0eXBlOidsaW5lYXInLCBwb3NpdGlvbjonYm90dG9tJywgdGl0bGU6e2Rpc3BsYXk6dHJ1ZSx0ZXh0OidXYXZlbGVuZ3RoICjCtW0pJ30sIG1pbjouNSwgbWF4OjUuNSB9IH0sCiAgICAgICAgICBwbHVnaW5zOnsgbGVnZW5kOnsgcG9zaXRpb246J2JvdHRvbScsIGxhYmVsczp7IHBhZGRpbmc6MTYgfSB9LAogICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6eyBjYWxsYmFja3M6eyB0aXRsZTooYyk9PidXYXZlbGVuZ3RoOiAnK2NbMF0ucGFyc2VkLngudG9GaXhlZCgxKSsnIMK1bScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOihjKT0+Yy5kYXRhc2V0LmxhYmVsKyc6ICcrYy5wYXJzZWQueS50b0ZpeGVkKDApIH0gfSB9CiAgICAgICAgfQogICAgICB9KTsKCiAgICAgIC8vIEdsYXJlIGRvbnV0IChIYWxvZ2VuKQogICAgICBta0NoYXJ0KHJvb3QucXVlcnlTZWxlY3RvcignLmdsYXJlQ2hhcnQnKSx7CiAgICAgICAgdHlwZTonZG91Z2hudXQnLAogICAgICAgIGRhdGE6eyBsYWJlbHM6WydBZ2dyZXNzaXZlIExpZ2h0JywnSGVhdCddLCBkYXRhc2V0czpbeyBkYXRhOls0MCw2MF0sIGJhY2tncm91bmRDb2xvcjpbc2Vjb25kYXJ5LCcjRkVFMkUyJ10gfV19LAogICAgICAgIG9wdGlvbnM6eyByZXNwb25zaXZlOnRydWUsIG1haW50YWluQXNwZWN0UmF0aW86ZmFsc2UsIHBsdWdpbnM6eyBsZWdlbmQ6eyBwb3NpdGlvbjonYm90dG9tJywgbGFiZWxzOnsgcGFkZGluZzoxNCB9IH0gfSB9CiAgICAgIH0pOwoKICAgICAgLy8gRWZmaWNpZW5jeSBkb251dCAoQ2FyYm9uIEJsYWNrKQogICAgICBta0NoYXJ0KHJvb3QucXVlcnlTZWxlY3RvcignLmVmZmljaWVuY3lDaGFydCcpLHsKICAgICAgICB0eXBlOidkb3VnaG51dCcsCiAgICAgICAgZGF0YTp7IGxhYmVsczpbJ0VmZmljaWVudCBIZWF0JywnU29mdCBHbG93J10sIGRhdGFzZXRzOlt7IGRhdGE6WzkwLDEwXSwgYmFja2dyb3VuZENvbG9yOltwcmltYXJ5LCcjRkVGNUU2J10gfV19LAogICAgICAgIG9wdGlvbnM6eyByZXNwb25zaXZlOnRydWUsIG1haW50YWluQXNwZWN0UmF0aW86ZmFsc2UsIHBsdWdpbnM6eyBsZWdlbmQ6eyBwb3NpdGlvbjonYm90dG9tJywgbGFiZWxzOnsgcGFkZGluZzoxNCB9IH0gfSB9CiAgICAgIH0pOwoKICAgICAgLy8gU2tpbiBwZW5ldHJhdGlvbiAoY3VzdG9tIGNhbnZhcykKICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgdmFyIGMgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy5za2luUGVuZXRyYXRpb25DYW52YXMnKTsgaWYoIWMpIHJldHVybjsKICAgICAgICBmdW5jdGlvbiBkcmF3KCl7CiAgICAgICAgICB2YXIgd3JhcD1jLnBhcmVudEVsZW1lbnQ7IGMud2lkdGg9KHdyYXAuY2xpZW50V2lkdGh8fDMwMCk7IGMuaGVpZ2h0PTI1NjsKICAgICAgICAgIHZhciBjdHg9Yy5nZXRDb250ZXh0KCcyZCcpLCB3PWMud2lkdGgsIGg9Yy5oZWlnaHQsIGxoPWgvMzsKICAgICAgICAgIGN0eC5jbGVhclJlY3QoMCwwLHcsaCk7CgogICAgICAgICAgLy8gbGF5ZXJzCiAgICAgICAgICBjdHguZmlsbFN0eWxlPScjZmVmNWU2JzsgY3R4LmZpbGxSZWN0KDAsMCx3LGxoKTsKICAgICAgICAgIGN0eC5maWxsU3R5bGU9JyNjNzdhMDQnOyBjdHguZm9udD0nYm9sZCAxNHB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7IGN0eC50ZXh0QWxpZ249J2NlbnRlcic7CiAgICAgICAgICBjdHguZmlsbFRleHQoJ0VwaWRlcm1pcycsdy8yLGxoLzItNSk7IGN0eC5mb250PScxMnB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7IGN0eC5maWxsVGV4dCgnKEhlYXQgUmVjZXB0b3JzKScsdy8yLGxoLzIrMTApOwoKICAgICAgICAgIGN0eC5maWxsU3R5bGU9JyNmYmU2YzInOyBjdHguZmlsbFJlY3QoMCxsaCx3LGxoKTsKICAgICAgICAgIGN0eC5maWxsU3R5bGU9JyNjNzdhMDQnOyBjdHguZm9udD0nYm9sZCAxNHB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7IGN0eC5maWxsVGV4dCgnRGVybWlzJyx3LzIsbGgrbGgvMik7CgogICAgICAgICAgY3R4LmZpbGxTdHlsZT0nI2Y4ZDNhMCc7IGN0eC5maWxsUmVjdCgwLGxoKjIsdyxsaCk7CiAgICAgICAgICBjdHguZmlsbFN0eWxlPScjYzc3YTA0JzsgY3R4LmZvbnQ9J2JvbGQgMTRweCBzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxTZWdvZSBVSSxSb2JvdG8nOwogICAgICAgICAgY3R4LmZpbGxUZXh0KCdTdWJjdXRpcycsdy8yLGxoKjIrbGgvMi01KTsKICAgICAgICAgIGN0eC5mb250PScxMnB4IHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLFNlZ29lIFVJLFJvYm90byc7CiAgICAgICAgICBjdHguZmlsbFRleHQoJyhEZWVwIFRpc3N1ZSknLHcvMixsaCoyK2xoLzIrMTApOwoKICAgICAgICAgIC8vIGFycm93cwogICAgICAgICAgZnVuY3Rpb24gYXJyb3coeCxzeSxleSxjb2wsbGJsLHN5bSl7CiAgICAgICAgICAgIGN0eC5maWxsU3R5bGU9Y29sOyBjdHguc3Ryb2tlU3R5bGU9Y29sOyBjdHgubGluZVdpZHRoPTM7CiAgICAgICAgICAgIGN0eC5mb250PSdib2xkIDEycHggc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sU2Vnb2UgVUksUm9ib3RvJzsKICAgICAgICAgICAgY3R4LmZpbGxUZXh0KGxibCx4LHN5LTEwKTsKICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpOyBjdHgubW92ZVRvKHgsc3kpOyBjdHgubGluZVRvKHgsZXkpOyBjdHguc3Ryb2tlKCk7CiAgICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTsgY3R4Lm1vdmVUbyh4LGV5KTsgY3R4LmxpbmVUbyh4LTYsZXktMTApOyBjdHgubGluZVRvKHgrNixleS0xMCk7IGN0eC5jbG9zZVBhdGgoKTsgY3R4LmZpbGwoKTsKICAgICAgICAgICAgY3R4LmZvbnQ9J2JvbGQgMjJweCBzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxTZWdvZSBVSSxSb2JvdG8nOwogICAgICAgICAgICBjdHguZmlsbFRleHQoc3ltLHgrMTQsZXkrNik7CiAgICAgICAgICB9CiAgICAgICAgICBhcnJvdyh3KjAuMzAsMjUsIGxoKjAuNywgJyNlZTkzMDUnLCAnQ2FyYm9uIEJsYWNrIChJUi1CKScsICfinJQnKTsKICAgICAgICAgIGFycm93KHcqMC43MCwyNSwgaC0zMCwgICcjRkY0RTUwJywgJ0hhbG9nZW4gKElSLUEpJywgJ+KcmCcpOwoKICAgICAgICAgIC8vIHdhdGVybWFyayBpbiBjYW52YXMKICAgICAgICAgIGlmKHdtSW1nKXsKICAgICAgICAgICAgdmFyIHd3PXcqMC4zNSwgaGg9d3cqKHdtSW1nLmhlaWdodC93bUltZy53aWR0aCk7CiAgICAgICAgICAgIHZhciB4PSh3LXd3KS8yLCB5PShoLWhoKS8yOwogICAgICAgICAgICBjdHguc2F2ZSgpOyBjdHguZ2xvYmFsQWxwaGE9MC4wOTsgY3R4LmRyYXdJbWFnZSh3bUltZyx4LHksd3csaGgpOyBjdHgucmVzdG9yZSgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBkcmF3KCk7CiAgICAgICAgdHJ5eyBuZXcgUmVzaXplT2JzZXJ2ZXIoZHJhdykub2JzZXJ2ZShjLnBhcmVudEVsZW1lbnQpOyB9IGNhdGNoKGUpeyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZHJhdyk7IH0KICAgICAgfSkoKTsKCiAgICB9KTsgLy8gbG9hZEltZwogIH0KCiAgcmVhZHkoZnVuY3Rpb24oKXsgbG9hZENoYXJ0KGZ1bmN0aW9uKCl7IGluaXRBbGwoKTsgfSk7IH0pOwp9KSgpOwo8L3NjcmlwdD4KPHN0eWxlPgovKiAxKSBHw7ZyIHRhYmVsbGVuIG1lciBmbGV4aWJlbCBnZW5lcmVsbHQgKi8KLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGV7CiAgdGFibGUtbGF5b3V0OiBmaXhlZDsgICAgICAgICAgIC8qIGbDtnJoaW5kcmFyIGF0dCBrb2x1bW5lciBkcml2ZXIgaXbDpGcgKi8KICB3aWR0aDogMTAwJTsKfQoub3ByYW5pYy1pbmZvZ3JhcGhpYyAucHJvcC10YWJsZSB0aCwKLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdGR7CiAgd29yZC13cmFwOiBicmVhay13b3JkOwogIHdoaXRlLXNwYWNlOiBub3JtYWw7ICAgICAgICAgICAvKiB0aWxsw6V0IHJhZGJyeXRuaW5nICovCiAgZm9udC1zaXplOiAuOTVyZW07Cn0KCi8qIDIpIE1PQklMOiBrb252ZXJ0ZXJhIHRhYmVsbCAtPiAia29ydCIgcGVyIHJhZCAqLwpAbWVkaWEgKG1heC13aWR0aDogNTc1cHgpewogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRoZWFkewogICAgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyB0b3A6IC05OTk5cHg7IC8qIGfDtm0gcnVicmlrZXIgKi8KICB9CiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUsCiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdGJvZHksCiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdHIsCiAgLm9wcmFuaWMtaW5mb2dyYXBoaWMgLnByb3AtdGFibGUgdGR7CiAgICBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7CiAgfQogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRyewogICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgfQogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRkewogICAgYm9yZGVyOiAwOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWY1Zjk7CiAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7ICAgICAvKiBicnl0IGV2LiBjZW50ZXIgKi8KICAgIGZvbnQtc2l6ZTogLjkycmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNDU7CiAgfQogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRkOmxhc3QtY2hpbGR7CiAgICBib3JkZXItYm90dG9tOiAwOwogIH0KICAvKiB2aXNhIGtvbHVtbnJ1YnJpayBmw7ZyZSBjZWxsZW5zIGlubmVow6VsbCAqLwogIC5vcHJhbmljLWluZm9ncmFwaGljIC5wcm9wLXRhYmxlIHRkOjpiZWZvcmV7CiAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgY29sb3I6ICMzNzQxNTE7CiAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgfQp9CgovKiBSZWZlcmVuY2VzIGJsb2NrICovCi5yZWZzLWNhcmQgeyBwYWRkaW5nLXRvcDogMTZweDsgfQoucmVmcy1saXN0IHsgY291bnRlci1yZXNldDogcmVmY250OyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDhweCAwIDA7IHBhZGRpbmc6IDA7IH0KLnJlZnMtbGlzdCBsaSB7CiAgY291bnRlci1pbmNyZW1lbnQ6IHJlZmNudDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1sZWZ0OiA0OHB4OwogIG1hcmdpbjogMTBweCAwOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KLnJlZnMtbGlzdCBsaTo6YmVmb3JlIHsKICBjb250ZW50OiAiWyIgY291bnRlcihyZWZjbnQpICJdIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMDsKICB0b3A6IDA7CiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBtaW4td2lkdGg6IDM2cHg7Cn0KLnJlZnMtbGlzdCBlbSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfQoKCjwvc3R5bGU+Cgo8c2NyaXB0PgovKiBMw6RnZyBpbiBrb2x1bW5ydWJyaWtlciBzb20gZGF0YS1sYWJlbCBpIHZhcmplIFREIChmw7ZyIG1vYmlsLXN0YXBsaW5nIG92YW4pICovCihmdW5jdGlvbigpewogIGZ1bmN0aW9uIGVuaGFuY2VSZXNwb25zaXZlVGFibGVzKCl7CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcub3ByYW5pYy1pbmZvZ3JhcGhpYyAucHJvcC10YWJsZScpLmZvckVhY2goZnVuY3Rpb24odGJsKXsKICAgICAgdmFyIHRocyA9IEFycmF5LmZyb20odGJsLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RoZWFkIHRoJykpLm1hcChmdW5jdGlvbih0aCl7CiAgICAgICAgcmV0dXJuICh0aC50ZXh0Q29udGVudCB8fCAnJykudHJpbSgpOwogICAgICB9KTsKICAgICAgdGJsLnF1ZXJ5U2VsZWN0b3JBbGwoJ3Rib2R5IHRyJykuZm9yRWFjaChmdW5jdGlvbih0cil7CiAgICAgICAgQXJyYXkuZnJvbSh0ci5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbih0ZCwgaSl7CiAgICAgICAgICBpZiAoIXRkLmdldEF0dHJpYnV0ZSgnZGF0YS1sYWJlbCcpKSB7CiAgICAgICAgICAgIHRkLnNldEF0dHJpYnV0ZSgnZGF0YS1sYWJlbCcsIHRoc1tpXSB8fCAnJyk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CiAgfQogIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAnbG9hZGluZycpIGVuaGFuY2VSZXNwb25zaXZlVGFibGVzKCk7CiAgZWxzZSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZW5oYW5jZVJlc3BvbnNpdmVUYWJsZXMpOwp9KSgpOwo8L3NjcmlwdD4K[\/vc_raw_html][\/vc_column][\/vc_row]<\/p>\n","protected":false},"author":1,"featured_media":21719,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"_joinchat":[],"footnotes":""},"categories":[943,935],"tags":[],"class_list":["post-21717","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-base-de-connaissances","category-non-categorise","entry","has-media"],"acf":[],"_links":{"self":[{"href":"https:\/\/opranic.com\/fr\/wp-json\/wp\/v2\/posts\/21717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opranic.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opranic.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opranic.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/opranic.com\/fr\/wp-json\/wp\/v2\/comments?post=21717"}],"version-history":[{"count":0,"href":"https:\/\/opranic.com\/fr\/wp-json\/wp\/v2\/posts\/21717\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opranic.com\/fr\/wp-json\/wp\/v2\/media\/21719"}],"wp:attachment":[{"href":"https:\/\/opranic.com\/fr\/wp-json\/wp\/v2\/media?parent=21717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opranic.com\/fr\/wp-json\/wp\/v2\/categories?post=21717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opranic.com\/fr\/wp-json\/wp\/v2\/tags?post=21717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}