{"scan":{"id":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","inputUrl":"https://loire.cidff.info/","url":"https://loire.cidff.info/","site":"loire.cidff.info","collectionId":"74e55664-7c15-4c39-bfa3-88d7686c3094","status":"success","error":null,"pageTitle":"Accueil - Loire — CIDFF","finalUrl":"https://loire.cidff.info/","dnsServer":"9.9.9.9","pages":3,"browsingHistory":["https://loire.cidff.info/","https://loire.cidff.info/adhesion-don/","https://loire.cidff.info/services/lutte-contre-les-violences-sexistes/"],"device":"mobile","phase":"pre","postOf":null,"consentResult":null,"consentCmp":null,"language":"fr-FR","languageSource":"html-lang","acceptLanguage":"en-US","languageDocument":true,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"tcfCmpId":null,"blocked":null,"blockedBy":null,"totalTrackingRequests":0,"analysisVersion":10,"trackerdbVersion":"1.0.920","maxmindDate":"2026-06-17","collectorVersion":"3.11.0","wikidataQid":null,"wikidataConfidence":null,"priority":0,"runnerId":null,"leaseExpiresAt":null,"requiredTag":null,"avoidRunnerId":null,"attempts":1,"createdAt":"2026-08-21T13:01:56.360Z","startedAt":"2026-08-24T04:42:24.702Z","finishedAt":"2026-08-24T04:42:41.147Z"},"pageAfterConsent":false,"half":{"id":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","status":"success","at":"2026-08-21T13:01:56.360Z","pages":["https://loire.cidff.info/","https://loire.cidff.info/adhesion-don/","https://loire.cidff.info/services/lutte-contre-les-violences-sexistes/"],"consentResult":null,"consentCmp":null,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"trackerRefs":[],"trackers":0,"requests":0,"thirdPartyHosts":5,"cookies":0,"thirdPartyCookies":0},"other":{"id":"0e2196fa-1d16-45df-bb2e-bebdd1243da8","status":"success","at":"2026-08-24T04:42:41.178Z","pages":["https://loire.cidff.info/","https://loire.cidff.info/adhesion-don/","https://loire.cidff.info/services/lutte-contre-les-violences-sexistes/"],"consentResult":"nopopup","consentCmp":null,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"trackerRefs":[],"trackers":0,"requests":0,"thirdPartyHosts":5,"cookies":0,"thirdPartyCookies":0,"phase":"post","trackerRows":[]},"trackers":[],"unidentified":[],"hosts":[{"id":145755,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","hostname":"loire.cidff.info","party":"first","addresses":["147.135.162.2"],"countries":["FR"],"providers":["OVH SAS (AS16276)"],"asns":[16276],"source":"observed","error":null},{"id":145756,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","hostname":"unpkg.com","party":"third","addresses":["104.18.0.22"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":145757,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","hostname":"cdnjs.cloudflare.com","party":"third","addresses":["104.17.24.14"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":145758,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","hostname":"c.basemaps.cartocdn.com","party":"third","addresses":["151.101.206.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null},{"id":145759,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","hostname":"a.basemaps.cartocdn.com","party":"third","addresses":["151.101.206.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null},{"id":145760,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","hostname":"b.basemaps.cartocdn.com","party":"third","addresses":["151.101.62.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null}],"consentManagers":[],"signals":[{"id":90733,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","kind":"behaviour","label":"MOUSE","source":"https://loire.cidff.info/wp-content/cache/autoptimize/autoptimize_single_fa03f187c5d2fdfce7632be6f0a06478.php?ver=1.9.4","details":["scroll"]},{"id":90734,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","kind":"behaviour","label":"KEYBOARD","source":"data:text/javascript;base64,CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBJZCA9ICJjaWRmZi1tYXAiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwUmVmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobWFwSWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwRGV0YWlsc1JlZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaWRmZi1zaXRlLWRldGFpbHMnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzUG9pbnRzID0gWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vZGVsIDogWyBsYXQsIGxvbiwgdG9vbHRpcCwgc2l0ZURhdGEgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUuNTI2MjI5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuMjY5Nzc1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBFc3BhY2UgRnJhbmNlIFNlcnZpY2VzIEFuZHLDqXppZXV4LUJvdXRow6lvbmAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjEyNiIsImNlbnRyZV9pZCI6IjgiLCJub20iOiJFc3BhY2UgRnJhbmNlIFNlcnZpY2VzIEFuZHJcdTAwZTl6aWV1eC1Cb3V0aFx1MDBlOW9uIiwibm9tX3NsdWciOiJlc3BhY2UtZnJhbmNlLXNlcnZpY2VzLWFuZHJlemlldXhib3V0aGVvbiIsImFkcmVzc2UiOiIxLCBydWUgTW9saVx1MDBlOHJlIiwiY3AiOiI0MjE2MCIsInZpbGxlIjoiQW5kclx1MDBlOXppZXV4LUJvdXRoXHUwMGU5b24iLCJ2aWxsZV9zbHVnIjoiYW5kcmV6aWV1eGJvdXRoZW9uIiwiY2l0eV9pZCI6IjE2MzkwIiwiZW1haWwiOiJjaWRmZjQyQGNpZGZmNDIuZnIiLCJ0ZWxlcGhvbmUiOiIwNCA3NyAwMSAzMyA1NSIsInFwdiI6IjEiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IkNlbnRyZSBTb2NpYWwgbGUgTmVsdW1ibyIsImFjY3VlaWxfcHJlY2lzaW9uIjoiRnJhbmNlIFNlcnZpY2VzIiwiaG9yYWlyZXMiOiJMZSB2ZW5kcmVkaSBtYXRpbiAoc2VtYWluZSBwYWlyZSkgZGUgOWgwMCBcdTAwZTAgMTJoMDAiLCJ2b2xfaHJfaGViZG8iOiI0NSBtaW4gZW4gbW95ZW5uZSIsImlpIjoiMSIsImljIjoiMSIsImUiOiIxIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6bnVsbCwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOm51bGwsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6bnVsbCwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOiJGcmFuY2UgU2VydmljZSIsImRlcGFydGVtZW50IjoiTG9pcmUiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDUuNTI2MjI5LCJsb24iOjQuMjY5Nzc1LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ1LjUyNjIyOSw0LjI2OTc3NSwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHA6XC9cL3d3dy5jaWRmZjQyLmZyIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ2LjAzNTExNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjA2MzUyMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUG9pbnQgQWNjdWVpbCBGZW1tZXMgRmFtaWxsZXMgSmV1bmVzIChSb2FubmUpYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTI3IiwiY2VudHJlX2lkIjoiOCIsIm5vbSI6IlBvaW50IEFjY3VlaWwgRmVtbWVzIEZhbWlsbGVzIEpldW5lcyAoUm9hbm5lKSIsIm5vbV9zbHVnIjoicG9pbnQtYWNjdWVpbC1mZW1tZXMtZmFtaWxsZXMtamV1bmVzLShyb2FubmUpIiwiYWRyZXNzZSI6IjExIHJ1ZSBNb3VsaW4gUGFpbGxhc3NvbiIsImNwIjoiNDIzMDAiLCJ2aWxsZSI6IlJvYW5uZSIsInZpbGxlX3NsdWciOiJyb2FubmUiLCJjaXR5X2lkIjoiMTY1NjciLCJlbWFpbCI6ImNpZGZmNDJAY2lkZmY0Mi5mciIsInRlbGVwaG9uZSI6IjA0IDc3IDAxIDMzIDU1IiwicXB2IjoiMSIsInpyciI6IjAiLCJhY2N1ZWlsIjoiUG9pbnQgZCdBY2N1ZWlsIEZlbW1lcyBGYW1pbGxlcyBKZXVuZXMiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IkxvY2FsIGFzc29jaWF0aWYiLCJob3JhaXJlcyI6IkxlIGx1bmRpIGFwclx1MDBlOHMtbWlkaSBkZSAxM2gzMCBcdTAwZTAgMTdoMDAgKHNlbWFpbmUgcGFpcmUpIFwvXG5MZSBtZXJjcmVkaSBkZSA5aDAwIFx1MDBlMCAxMmgzMCBldCBkZSAxM2gzMCBcdTAwZTAgMTdoMzAgXC9cbkxlIHZlbmRyZWRpIGFwclx1MDBlOHMtbWlkaSBkZSAxM2gzMCBcdTAwZTAgMTdoMDAgKHNlbWFpbmUgaW1wYWlyZSkiLCJ2b2xfaHJfaGViZG8iOiIxNGgiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiQW50ZW5uZSAgKHBhcnRhZ1x1MDBlOWUgYXZlYyBkJ2F1dHJlcyBhc3NvY2lhdGlvbnMpIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkxvaXJlIiwicmVnaW9uIjoiQXV2ZXJnbmUtUmhcdTAwZjRuZS1BbHBlcyIsImNvb3JkcyI6eyJsYXQiOjQ2LjAzNTExNCwibG9uIjo0LjA2MzUyMywidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0Ni4wMzUxMTQsNC4wNjM1MjMsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC93d3cuY2lkZmY0Mi5mciJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Ni4wNTc3OTcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC4wOTIwNDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYE1haXNvbiBGcmFuY2UgU2VydmljZXMgKFJvYW5uZSAvIFBhcmMpYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTI4IiwiY2VudHJlX2lkIjoiOCIsIm5vbSI6Ik1haXNvbiBGcmFuY2UgU2VydmljZXMgKFJvYW5uZSBcLyBQYXJjKSIsIm5vbV9zbHVnIjoibWFpc29uLWZyYW5jZS1zZXJ2aWNlcy0ocm9hbm5lLVwvLXBhcmMpIiwiYWRyZXNzZSI6IjI1IHJ1ZSBDb25kb3JjZXRcbiIsImNwIjoiNDIzMDAiLCJ2aWxsZSI6IlJvYW5uZSIsInZpbGxlX3NsdWciOiJyb2FubmUiLCJjaXR5X2lkIjoiMTY1NjciLCJlbWFpbCI6ImZzcGFyY0B2aWxsZS1yb2FubmUuZnIiLCJ0ZWxlcGhvbmUiOiIwNCA3NyA0NCAwOSA2MCIsInFwdiI6IjEiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6Ik1haXNvbiBkZXMgU2VydmljZXMgUHVibGljcyIsImFjY3VlaWxfcHJlY2lzaW9uIjoiRnJhbmNlIFNlcnZpY2VzIiwiaG9yYWlyZXMiOiJMZSB2ZW5kcmVkaSBtYXRpbiAoc2VtYWluZSBpbXBhaXJlKSBkZSA5aDAwIFx1MDBlMCAxMmgwMCIsInZvbF9ocl9oZWJkbyI6IjFoMzAiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiUG9zaXRpb25uZW1lbnQgZGVzIFJEViBkXHUwMGU5bFx1MDBlOWd1XHUwMGU5IiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjpudWxsLCJ0eXBlMyI6bnVsbCwidHlwZTQiOm51bGwsIm1mcyI6IkZyYW5jZSBTZXJ2aWNlIiwiZGVwYXJ0ZW1lbnQiOiJMb2lyZSIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0Ni4wNTc3OTcsImxvbiI6NC4wOTIwNDUsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDYuMDU3Nzk3LDQuMDkyMDQ1LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvd3d3LmNpZGZmNDIuZnIifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUuMzk0ODc3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuMzI0MTIzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBQw7RsZSBkZSBTZXJ2aWNlcyAoTGUgQ2hhbWJvbi1GZXVnZXJvbGxlcylgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxMzAiLCJjZW50cmVfaWQiOiI4Iiwibm9tIjoiUFx1MDBmNGxlIGRlIFNlcnZpY2VzIChMZSBDaGFtYm9uLUZldWdlcm9sbGVzKSIsIm5vbV9zbHVnIjoicG9sZS1kZS1zZXJ2aWNlcy0obGUtY2hhbWJvbmZldWdlcm9sbGVzKSIsImFkcmVzc2UiOiIyIGJvdWxldmFyZCBEJ0F1dmVyZ25lIiwiY3AiOiI0MjUwMCIsInZpbGxlIjoiQ2hhbWJvbi1GZXVnZXJvbGxlcyAoTGUpIiwidmlsbGVfc2x1ZyI6ImNoYW1ib25mZXVnZXJvbGxlcy0obGUpIiwiY2l0eV9pZCI6IjE2NDI4IiwiZW1haWwiOiJjaWRmZjQyQGNpZGZmNDIuZnIiLCJ0ZWxlcGhvbmUiOiIwNCA3NyAwMSAzMyA1NSIsInFwdiI6IjEiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IlBcdTAwZjRsZSBkZSBTZXJ2aWNlcyIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJMZSBsdW5kaSBhcHJcdTAwZThzLW1pZGkgKHNlbWFpbmUgcGFpcmUpIGRlIDEzaDMwIFx1MDBlMCAxNmgzMCIsInZvbF9ocl9oZWJkbyI6IjQ1IG1pbiBlbiBtb3llbm5lIiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjpudWxsLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOm51bGwsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6bnVsbCwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiTG9pcmUiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDUuMzk0ODc3LCJsb24iOjQuMzI0MTIzLCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ1LjM5NDg3Nyw0LjMyNDEyMywxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHA6XC9cL3d3dy5jaWRmZjQyLmZyIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ2LjAyMzc0OCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjA1MTIzNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTWFpc29uIEZyYW5jZSBTZXJ2aWNlcyAoUm9hbm5lIC8gU3QtQ2xhaXIpYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTMxIiwiY2VudHJlX2lkIjoiOCIsIm5vbSI6Ik1haXNvbiBGcmFuY2UgU2VydmljZXMgKFJvYW5uZSBcLyBTdC1DbGFpcikiLCJub21fc2x1ZyI6Im1haXNvbi1mcmFuY2Utc2VydmljZXMtKHJvYW5uZS1cLy1zdGNsYWlyKSIsImFkcmVzc2UiOiIyOCBiaXMgcnVlIGR1IE1heW9sbGV0ICIsImNwIjoiNDIzMDAiLCJ2aWxsZSI6IlJvYW5uZSIsInZpbGxlX3NsdWciOiJyb2FubmUiLCJjaXR5X2lkIjoiMTY1NjciLCJlbWFpbCI6ImZzc2FpbnRjbGFpckB2aWxsZS1yb2FubmUuZnIiLCJ0ZWxlcGhvbmUiOiIwNCA3NyA0NCAyNyA4MCIsInFwdiI6IjEiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6Ik1haXNvbiBkZXMgU2VydmljZXMgUHVibGljcyIsImFjY3VlaWxfcHJlY2lzaW9uIjoiTWFpc29uIEZyYW5jZSBzZXJ2aWNlcyIsImhvcmFpcmVzIjoiTGUgbHVuZGkgbWF0aW4gKHNlbWFpbmUgcGFpcmUpIGRlIDloMDAgXHUwMGUwIDEyaDAwXG4iLCJ2b2xfaHJfaGViZG8iOiIxaDMwIGVuIG1veWVubmUiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiUG9zaXRpb25uZW1lbnQgZGVzIFJEViBkXHUwMGU5bFx1MDBlOWd1XHUwMGU5IiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjoiRnJhbmNlIFNlcnZpY2UiLCJkZXBhcnRlbWVudCI6IkxvaXJlIiwicmVnaW9uIjoiQXV2ZXJnbmUtUmhcdTAwZjRuZS1BbHBlcyIsImNvb3JkcyI6eyJsYXQiOjQ2LjAyMzc0OCwibG9uIjo0LjA1MTIzNiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0Ni4wMjM3NDgsNC4wNTEyMzYsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC93d3cuY2lkZmY0Mi5mciJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NS40ODA5NzUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41MjYzNTcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYENlbnRyZSBzb2NpYWwgZGUgU3QtSnVsaWVuLWVuLUphcmV6IChTdC1DaGFtb25kKWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjEzMiIsImNlbnRyZV9pZCI6IjgiLCJub20iOiJDZW50cmUgc29jaWFsIGRlIFN0LUp1bGllbi1lbi1KYXJleiAoU3QtQ2hhbW9uZCkiLCJub21fc2x1ZyI6ImNlbnRyZS1zb2NpYWwtZGUtc3RqdWxpZW5lbmphcmV6LShzdGNoYW1vbmQpIiwiYWRyZXNzZSI6IjQ0LCBHcmFuZGUgUnVlIiwiY3AiOiI0MjQwMCIsInZpbGxlIjoiU2FpbnQtQ2hhbW9uZCIsInZpbGxlX3NsdWciOiJzYWludGNoYW1vbmQiLCJjaXR5X2lkIjoiMTY1ODYiLCJlbWFpbCI6ImNpZGZmNDJAY2lkZmY0Mi5mciIsInRlbGVwaG9uZSI6IjA0IDc3IDAxIDMzIDU1IiwicXB2IjoiMSIsInpyciI6IjAiLCJhY2N1ZWlsIjoiQ2VudHJlIFNvY2lhbCBMYXZpZXUiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IkNlbnRyZSBzb2NpYWwiLCJob3JhaXJlcyI6IkxlIG1hcmRpIG1hdGluIChzZW1haW5lIHBhaXJlKSBkZSA5aDAwIFx1MDBlMCAxMmgwMFxuIiwidm9sX2hyX2hlYmRvIjoiNDUgbWluIiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjpudWxsLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjpudWxsLCJ0eXBlMyI6bnVsbCwidHlwZTQiOm51bGwsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJMb2lyZSIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0NS40ODA5NzUsImxvbiI6NC41MjYzNTcsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDUuNDgwOTc1LDQuNTI2MzU3LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvd3d3LmNpZGZmNDIuZnIifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUuNDM1MTU2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuMzgxNjA4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBDZW50cmUgc29jaWFsIGR1IEJhYmV0IChTdC1FdGllbm5lKWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjEzNCIsImNlbnRyZV9pZCI6IjgiLCJub20iOiJDZW50cmUgc29jaWFsIGR1IEJhYmV0IChTdC1FdGllbm5lKSIsIm5vbV9zbHVnIjoiY2VudHJlLXNvY2lhbC1kdS1iYWJldC0oc3RldGllbm5lKSIsImFkcmVzc2UiOiIxMCBydWUgRlx1MDBlOWxpeCBQeWF0IiwiY3AiOiI0MjAwMCIsInZpbGxlIjoiU2FpbnQtXHUwMGM5dGllbm5lIiwidmlsbGVfc2x1ZyI6InNhaW50ZXRpZW5uZSIsImNpdHlfaWQiOiIxNjU5NyIsImVtYWlsIjoic2VjcmV0YXJpYXRAbGViYWJldC5mciIsInRlbGVwaG9uZSI6IjA0IDc3IDMzIDMzIDkyIiwicXB2IjoiMSIsInpyciI6IjAiLCJhY2N1ZWlsIjoiQ2VudHJlIHNvY2lhbCIsImFjY3VlaWxfcHJlY2lzaW9uIjoiQ2VudHJlIHNvY2lhbCIsImhvcmFpcmVzIjoiTGUgamV1ZGkgbWF0aW4gKDloLTEyaCkiLCJ2b2xfaHJfaGViZG8iOiIzaDQ1IiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IlBvc2l0aW9ubmVtZW50IGRlcyBSRFYgZFx1MDBlOWxcdTAwZTlndVx1MDBlOSIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjpudWxsLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjpudWxsLCJ0eXBlMyI6bnVsbCwidHlwZTQiOm51bGwsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJMb2lyZSIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0NS40MzUxNTYsImxvbiI6NC4zODE2MDgsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDUuNDM1MTU2LDQuMzgxNjA4LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvd3d3LmNpZGZmNDIuZnIifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUuNDIzMDg4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNjczMjgzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBNYWlzb24gZGVzIHNlcnZpY2VzIGR1IFBpbGF0IFJob2RhbmllbiAoUMOpbHVzc2luKWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjEzNSIsImNlbnRyZV9pZCI6IjgiLCJub20iOiJNYWlzb24gZGVzIHNlcnZpY2VzIGR1IFBpbGF0IFJob2RhbmllbiAoUFx1MDBlOWx1c3NpbikiLCJub21fc2x1ZyI6Im1haXNvbi1kZXMtc2VydmljZXMtZHUtcGlsYXQtcmhvZGFuaWVuLShwZWx1c3NpbikiLCJhZHJlc3NlIjoiNyBydWUgZGVzIFByYWlyaWVzIiwiY3AiOiI0MjQxMCIsInZpbGxlIjoiUFx1MDBlOWx1c3NpbiIsInZpbGxlX3NsdWciOiJwZWx1c3NpbiIsImNpdHlfaWQiOiIxNjU0OCIsImVtYWlsIjoibWRzQHBpbGF0cmhvZGFuaWVuLmZyIiwidGVsZXBob25lIjoiMDQgNzQgNTYgNzUgNjAiLCJxcHYiOiIwIiwienJyIjoiMSIsImFjY3VlaWwiOiJNYWlzb24gZGVzIHNlcnZpY2VzIGR1IFBpbGF0IFJob2RhbmllbiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiTWFpc29uIEZyYW5jZSBTZXJ2aWNlcyIsImhvcmFpcmVzIjoiTGUgbWFyZGkgbWF0aW4gKHNlbWFpbmUgaW1wYWlyZSkgZGUgOWgwMCBcdTAwZTAgMTJoMDAgZW4gMjAyNCBcLyBMZSBtYXJkaSBhcHJcdTAwZThzLW1pZGkgKHNlbWFpbmUgcGFpcmUpIGRlIDE0aCBcdTAwZTAgMTdoIFx1MDBlMCBwYXJ0aXIgZHUgMDFcLzAxXC8yMDI1XG4iLCJ2b2xfaHJfaGViZG8iOiI0NSBtaW4iLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiUG9zaXRpb25uZW1lbnQgZGVzIFJEViBkXHUwMGU5bFx1MDBlOWd1XHUwMGU5IiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjoiVmlzaW9jb25mXHUwMGU5cmVuY2UiLCJ0eXBlNCI6bnVsbCwibWZzIjoiRnJhbmNlIFNlcnZpY2UiLCJkZXBhcnRlbWVudCI6IkxvaXJlIiwicmVnaW9uIjoiQXV2ZXJnbmUtUmhcdTAwZjRuZS1BbHBlcyIsImNvb3JkcyI6eyJsYXQiOjQ1LjQyMzA4OCwibG9uIjo0LjY3MzI4MywidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0NS40MjMwODgsNC42NzMyODMsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC93d3cuY2lkZmY0Mi5mciJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NS40MzczOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjM3OTE3NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTWFpc29uIGRlIGxcJ0VtcGxvaWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjE5OTMiLCJjZW50cmVfaWQiOiI4Iiwibm9tIjoiTWFpc29uIGRlIGwnRW1wbG9pIiwibm9tX3NsdWciOiJtYWlzb24tZGUtbGVtcGxvaSIsImFkcmVzc2UiOiIxOCBhdmVudWUgQXVndXN0aW4gRHVwclx1MDBlOSIsImNwIjoiNDIwMDAiLCJ2aWxsZSI6IlNhaW50LVx1MDBjOXRpZW5uZSIsInZpbGxlX3NsdWciOiJzYWludGV0aWVubmUiLCJjaXR5X2lkIjoiMTY1OTciLCJlbWFpbCI6ImNpZGZmNDJAY2lkZmY0Mi5mciIsInRlbGVwaG9uZSI6IjA0IDc3IDAxIDMzIDU1IiwicXB2IjoiMSIsInpyciI6IjAiLCJhY2N1ZWlsIjoiY2lkZmYgc2lcdTAwZThnZSIsImFjY3VlaWxfcHJlY2lzaW9uIjoiU2lcdTAwZThnZSBzb2NpYWwiLCJob3JhaXJlcyI6IkR1IGx1bmRpIGF1IHZlbmRyZWRpIChzYXVmIG1hcmRpIGEtbWlkaSlcbkRlIDloIFx1MDBlMCAxMmgzMCBldCBkZSAxM2gzMCBcdTAwZTAgMTdoIiwidm9sX2hyX2hlYmRvIjoiMzVoIiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IlNpXHUwMGU4Z2Ugc29jaWFsIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjoiTCdhY2NvbXBhZ25lbWVudCBlbXBsb2kiLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiTG9pcmUiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDUuNDM3MzksImxvbiI6NC4zNzkxNzQsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDUuNDM3MzksNC4zNzkxNzQsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC93d3cuY2lkZmY0Mi5mciJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NS41MjgwMDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC42MTMwMzUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYE1haXNvbiBGcmFuY2UgU2VydmljZXMgKFJpdmUtZGUtR2llcilgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIzNTAyIiwiY2VudHJlX2lkIjoiOCIsIm5vbSI6Ik1haXNvbiBGcmFuY2UgU2VydmljZXMgKFJpdmUtZGUtR2llcikiLCJub21fc2x1ZyI6Im1haXNvbi1mcmFuY2Utc2VydmljZXMtKHJpdmVkZWdpZXIpIiwiYWRyZXNzZSI6IjE4LCBydWUgQ2xhdWRlLURyaXZvbiIsImNwIjoiNDI4MDAiLCJ2aWxsZSI6IlJpdmUtZGUtR2llciIsInZpbGxlX3NsdWciOiJyaXZlZGVnaWVyIiwiY2l0eV9pZCI6IjE2NTY2IiwiZW1haWwiOiJjaWRmZjQyQGNpZGZmNDIuZnIiLCJ0ZWxlcGhvbmUiOiIwNCA3NyAwMSAzMyA1NSIsInFwdiI6IjEiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJMZSB2ZW5kcmVkaSBtYXRpbiAoc2VtYWluZSBpbXBhaXJlKSBkZSA5aDAwIFx1MDBlMCAxMmgwMCIsInZvbF9ocl9oZWJkbyI6IiIsImlpIjoiMSIsImljIjoiMSIsImUiOiIxIiwidiI6IjEiLCJwcmVjaXNpb24iOiJFdm9sdXRpb24gdmVycyB1biBwb3NpdGlvbm5lbWVudCBkZXMgUkRWIGRcdTAwZTlsXHUwMGU5Z3VcdTAwZTkgIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6bnVsbCwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6bnVsbCwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOiJGcmFuY2UgU2VydmljZSIsImRlcGFydGVtZW50IjoiTG9pcmUiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDUuNTI4MDA1LCJsb24iOjQuNjEzMDM1LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ1LjUyODAwNSw0LjYxMzAzNSwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHA6XC9cL3d3dy5jaWRmZjQyLmZyIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1LjM4Njk5NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjI4OTA1MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRnJhbmNlIFNlcnZpY2VzIExpZXUgUmVzc291cmNlcyAoRmlybWlueSlgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIzNTQ3IiwiY2VudHJlX2lkIjoiOCIsIm5vbSI6IkZyYW5jZSBTZXJ2aWNlcyBMaWV1IFJlc3NvdXJjZXMgKEZpcm1pbnkpIiwibm9tX3NsdWciOiJmcmFuY2Utc2VydmljZXMtbGlldS1yZXNzb3VyY2VzLShmaXJtaW55KSIsImFkcmVzc2UiOiIyLCBydWUgTGFwcmF0IiwiY3AiOiI0MjcwMCIsInZpbGxlIjoiRmlybWlueSIsInZpbGxlX3NsdWciOiJmaXJtaW55IiwiY2l0eV9pZCI6IjE2NDc3IiwiZW1haWwiOiJmaXJtaW55QGZyYW5jZS1zZXJ2aWNlcy5nb3V2LmZyIiwidGVsZXBob25lIjoiMDQgNzcgMjAgNjUgOTciLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiIiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiTGUgbHVuZGkgYXByXHUwMGU4cy1taWRpIChzZW1haW5lIGltcGFpcmUpLCBkZSAxM2gzMCBcdTAwZTAgMTZoMzAiLCJ2b2xfaHJfaGViZG8iOiIiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIwIiwicHJlY2lzaW9uIjoiUG9zaXRpb25uZW1lbnQgZGVzIFJEViBkXHUwMGU5bFx1MDBlOWd1XHUwMGU5IiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjpudWxsLCJ0eXBlMyI6bnVsbCwidHlwZTQiOm51bGwsIm1mcyI6IkZyYW5jZSBTZXJ2aWNlIiwiZGVwYXJ0ZW1lbnQiOiJMb2lyZSIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0NS4zODY5OTQsImxvbiI6NC4yODkwNTIsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDUuMzg2OTk0LDQuMjg5MDUyLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvd3d3LmNpZGZmNDIuZnIifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUuNDA2ODcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC4zNjM5NzIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYExBIFJJQ0FNQVJJRSAtIELDonRpbWVudCBtdW5pY2lwYWwgKFVuIHRpc3NhZ2UgY29sb3LDqSlgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIzNTc2IiwiY2VudHJlX2lkIjoiOCIsIm5vbSI6IkxBIFJJQ0FNQVJJRSAtIEJcdTAwZTJ0aW1lbnQgbXVuaWNpcGFsIChVbiB0aXNzYWdlIGNvbG9yXHUwMGU5KSIsIm5vbV9zbHVnIjoibGEtcmljYW1hcmllLS1iYXRpbWVudC1tdW5pY2lwYWwtKHVuLXRpc3NhZ2UtY29sb3JlKSIsImFkcmVzc2UiOiIzIHJ1ZSBDbGF1ZGUgVG91Y2hlIiwiY3AiOiI0MjE1MCIsInZpbGxlIjoiUmljYW1hcmllIChMYSkiLCJ2aWxsZV9zbHVnIjoicmljYW1hcmllLShsYSkiLCJjaXR5X2lkIjoiMTY1NjMiLCJlbWFpbCI6ImNpZGZmNDJAY2lkZmY0Mi5mciIsInRlbGVwaG9uZSI6IjA0IDc3IDAxIDMzIDU1IiwicXB2IjoiMSIsInpyciI6IjAiLCJhY2N1ZWlsIjoiIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IkxlIG1hcmRpIG1hdGluIChzZW1haW5lIGltcGFpcmUpIGRlIDloIFx1MDBlMCAxMmgiLCJ2b2xfaHJfaGViZG8iOiIiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMCIsInYiOiIwIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTIiOm51bGwsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6IkNldHRlIHBlcm1hbmVuY2Ugblx1MjAxOWVzdCBwYXMgYWNjZXNzaWJsZSBhdXggcGVyc29ubmVzIGVuIHNpdHVhdGlvbiBkZSBoYW5kaWNhcCIsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6bnVsbCwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiTG9pcmUiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDUuNDA2ODcsImxvbiI6NC4zNjM5NzIsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDUuNDA2ODcsNC4zNjM5NzIsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC93d3cuY2lkZmY0Mi5mciJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NS40MzczOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjM3OTE3NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTG9pcmUsIFNhaW50LUV0aWVubmVgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiI4Iiwibm9tIjoiTG9pcmUsIFNhaW50LUV0aWVubmUiLCJhZHJlc3NlIjoiTWFpc29uIGRlIGwnZW1wbG9pIGV0IGRlIGxhIGZvcm1hdGlvbiAtIDE4IGF2ZW51ZSBBdWd1c3Rpbi1EdXByXHUwMGU5IiwiY3AiOiI0MjAwMCIsInZpbGxlIjoiU2FpbnQtXHUwMGM5dGllbm5lIiwidGVsZXBob25lIjoiMDQgNzcgMDEgMzMgNTUiLCJtYWlsIjoiY2lkZmY0MkBjaWRmZjQyLmZyIiwic2l0ZV9pbnRlcm5ldCI6Imh0dHA6XC9cL3d3dy5jaWRmZjQyLmZyIiwiYWNjZXNfZHJvaXQiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJlbXBsb2kiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsInZpb2xlbmNlcyI6bnVsbCwicGFyZW50YWxpdGUiOm51bGwsImF1dHJlIjpudWxsLCJzaWVnZSI6dHJ1ZSwiY29vcmRzIjp7ImxhdCI6NDUuNDM3MzksImxvbiI6NC4zNzkxNzQsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDUuNDM3MzksNC4zNzkxNzQsMTV6In0sInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJkZXBhcnRlbWVudCI6IkxvaXJlIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRab29tID0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0Wm9vbU1vYmlsZSA9IDY7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWluWm9vbSA9IDY7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF4Wm9vbSA9IDIwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbWFwID0gbnVsbDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBpbml0TWFwKHNlbGVjdGVkQ2F0ZWdvcmllcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCA9IG5ldyBMLm1hcChtYXBJZCwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEwuY29udHJvbC56b29tKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdib3R0b21yaWdodCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5hZGRUbyhtYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdodHRwczovL3tzfS5iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vbGlnaHRfYWxsL3t6fS97eH0ve3l9e3J9LnBuZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pblpvb20sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhab29tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmFkZFRvKG1hcCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnkxID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTIgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5MyA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnk0ID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTUgPSBbXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya2VycyA9IG5ldyBMLm1hcmtlckNsdXN0ZXJHcm91cCh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwaWRlckxlZ1BvbHlsaW5lT3B0aW9uczogeyB3ZWlnaHQ6IDYwMCwgY29sb3I6ICcjMjIyJywgb3BhY2l0eTogMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhDbHVzdGVyUmFkaXVzOiA0MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYWluTWFya2VycyA9IG5ldyBMLmxheWVyR3JvdXAoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhZGRyZXNzUG9pbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSBhZGRyZXNzUG9pbnRzW2ldOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9IGFbMl07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhWzNdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb29yZHMgPSBuZXcgTC5MYXRMbmcoYVswXSwgYVsxXSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya2VyID0geyBkYXRhOiBuZXcgTC5tYXJrZXIoY29vcmRzLCB7IHRpdGxlIH0pLCBzaWVnZTogZGF0YS5zaWVnZSB9OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTEnXSB8fCBkYXRhWydhY2Nlc19kcm9pdCddICkgbGF5ZXJDYXRlZ29yeTEucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlMiddIHx8IGRhdGFbJ3Zpb2xlbmNlcyddICkgbGF5ZXJDYXRlZ29yeTIucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlMyddIHx8IGRhdGFbJ2VtcGxvaSddICkgbGF5ZXJDYXRlZ29yeTMucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlNCddIHx8IGRhdGFbJ3BhcmVudGFsaXRlJ10gKSBsYXllckNhdGVnb3J5NC5wdXNoKG1hcmtlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmU1J10gfHwgZGF0YVsnYXV0cmUnXSApIGxheWVyQ2F0ZWdvcnk1LnB1c2gobWFya2VyKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlci5kYXRhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5wYW5Ubyhjb29yZHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwUmVmLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdvbi1tYXJrZXItaW50ZXJhY3QnLCB7IGRldGFpbDogZGF0YSB9KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkTGF5ZXIobWFpbk1hcmtlcnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRMYXllcihtYXJrZXJzKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJzVG9EaXNwbGF5ID0gW107CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZENhdGVnb3JpZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoMSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcygyKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnkyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDMpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoNCkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyg1KSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnk1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTEsIC4uLmxheWVyQ2F0ZWdvcnkyLCAuLi5sYXllckNhdGVnb3J5MywgLi4ubGF5ZXJDYXRlZ29yeTQsIC4uLmxheWVyQ2F0ZWdvcnk1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya2Vyc1RvU2hvdyA9IFsuLi5uZXcgU2V0KGxheWVyc1RvRGlzcGxheSldOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcmtlcnNUb1Nob3cubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbSA9IG1hcmtlcnNUb1Nob3dbaV07CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobS5zaWVnZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLmFkZFRvKG1haW5NYXJrZXJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5zZXRaSW5kZXhPZmZzZXQoMTAwMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuc2V0SWNvbihjcmVhdGVNYWluTWFya2VyKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLmFkZFRvKG1hcmtlcnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLnNldEljb24oY3JlYXRlTWFya2VyKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIG1hcmtlcnMuZ2V0TGF5ZXJzKCkubGVuZ3RoID4gMCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5maXRCb3VuZHMobWFya2Vycy5nZXRCb3VuZHMoKSwgeyBwYWRkaW5nOiBbIDEwLCAxMCBdIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1haW5NYXJrZXJzLmdldExheWVycygpWzBdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2V0VmlldyhtYWluTWFya2Vycy5nZXRMYXllcnMoKVswXS5nZXRMYXRMbmcoKSwgNSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zZXRWaWV3KFs0Ni41LCAyLjM0NTQ5MjNdLCAzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW50ZXJhY3Rpb24gcnVsZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2Nyb2xsV2hlZWxab29tLmRpc2FibGUoKTsgLy8gRGlzYWJsZSBzY3JvbGwgaW50ZXJhY3Rpb24gYXQgZmlyc3QKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zY3JvbGxXaGVlbFpvb20uZW5hYmxlKCk7IC8vIFJlZW5hYmxlIHNjcm9sbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zY3JvbGxXaGVlbFpvb20uZGlzYWJsZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBSZWYuYWRkRXZlbnRMaXN0ZW5lcignb24tbWFya2VyLWludGVyYWN0JywgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2l0ZURldGFpbHMoZS5kZXRhaWwpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBoaWRlRGV0YWlsc0V2ZW50cyA9IFsnY2xpY2snLCAnbW92ZXN0YXJ0J10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlRGV0YWlsc0V2ZW50cy5mb3JFYWNoKGUgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkRXZlbnRMaXN0ZW5lcihlLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlU2l0ZURldGFpbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAiRXNjYXBlIikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZVNpdGVEZXRhaWxzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE1hcCgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZU1hcmtlcihjbGFzc05hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEwuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25Vcmw6ICdodHRwczovL2xvaXJlLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1zZWNvbmRhcnktZmlsbGVkLndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzE4LCAyM10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd1VybDogJ2h0dHBzOi8vbG9pcmUuY2lkZmYuaW5mby93cC1jb250ZW50L3RoZW1lcy9jaWRmZi13cC9hc3NldHMvaW1hZ2VzL3dlYnAvaWNvbi1waW5zLWZpbGxlZC1zaGFkb3cud2VicCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd1NpemU6IFsyNSwgMjVdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dBbmNob3I6IFs0LCAxNV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBjcmVhdGVNYWluTWFya2VyKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTC5pY29uKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2h0dHBzOi8vbG9pcmUuY2lkZmYuaW5mby93cC1jb250ZW50L3RoZW1lcy9jaWRmZi13cC9hc3NldHMvaW1hZ2VzL3dlYnAvaWNvbi1waW5zLWZpbGxlZC53ZWJwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsyOCwgMzNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dVcmw6ICdodHRwczovL2xvaXJlLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1maWxsZWQtc2hhZG93LndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dTaXplOiBbMzAsIDMwXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93QW5jaG9yOiBbNCwgMTZdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2V0U2l0ZURldGFpbHMoZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTaXRlRGV0YWlscygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VlTW9yZUtleSA9IGRhdGEuc2llZ2UgPyBgJHtuZXcgU3RyaW5nKGRhdGEubm9tKS5yZXBsYWNlKC9cXHxcLHxccy9naSwgJy0nKS50b0xvd2VyQ2FzZSgpfS0ke2RhdGEuaWR9YCA6IGAke2RhdGEubm9tX3NsdWd9LSR7ZGF0YS5pZH1gCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBkYXRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRpdGxlJ10iKS5pbm5lckhUTUwgPSBkYXRhLm5vbTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtc2VlLW1vcmUnXSIpLmhyZWYgPSBgaHR0cHM6Ly9sb2lyZS5jaWRmZi5pbmZvL2xpc3RlLWRlcy1wZXJtYW5lbmNlcy8/ZGVwYXJ0ZW1lbnQ9JHtkYXRhLmRlcGFydGVtZW50fSZjZW50cmUtaWQ9JHtzZWVNb3JlS2V5fWA7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmhvcmFpcmVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1ob3Vycy13cmFwcGVyJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtaG91cnMnXSIpLmlubmVySFRNTCA9IGRhdGEuaG9yYWlyZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWhvdXJzLXdyYXBwZXInXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtbG9jYXRpb24nXSIpLmlubmVySFRNTCA9IGAke2RhdGEuYWRyZXNzZX0sICR7ZGF0YS5jcH0gJHtkYXRhLnZpbGxlfWA7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnRlbGVwaG9uZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtdGVsLXdyYXBwZXInXSIpLnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS10ZWwnXSIpLmlubmVySFRNTCA9IGRhdGEudGVsZXBob25lOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS10ZWwtd3JhcHBlciddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhZHJlMSB8fCBkYXRhLmFjY2VzX2Ryb2l0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0xJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMSddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhZHJlMiB8fCBkYXRhLmVtcGxvaSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMiddIikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTInXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5jYWRyZTMgfHwgZGF0YS52aW9sZW5jZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTMnXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0zJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuY2FkcmU0IHx8IGRhdGEucGFyZW50YWxpdGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTQnXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS00J10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBoaWRlU2l0ZURldGFpbHMoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHNob3dTaXRlRGV0YWlscygpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gcmVzZXRNYXBMYXlvdXQoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZVNpdGVEZXRhaWxzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLm9mZigpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib24tbWFwLXJlZnJlc2giLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0TWFwTGF5b3V0KCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsYXN0Q2F0ZWdvcmllcyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYXN0LWZpbHRlci1jYXRlZ29yaWVzJyk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYXN0Q2F0ZWdvcmllcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0Q2F0ZWdvcmllcyA9IEpTT04ucGFyc2UobGFzdENhdGVnb3JpZXMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRNYXAobGFzdENhdGVnb3JpZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0TWFwKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib24tY2F0ZWdvcnktZmlsdGVyLWNoYW5nZSIsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRDYXRlZ29yaWVzID0gZS5kZXRhaWw7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVTaXRlRGV0YWlscygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5vZmYoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE1hcChzZWxlY3RlZENhdGVnb3JpZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIA==","details":["keydown"]}],"cookies":[],"software":[],"platforms":[{"id":6950,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","kind":"cms","name":"WordPress","evidence":"/wp-content/cache/autoptimize/autoptimize_single_64ac31699f5326cb3c76122498b76f66.php?ver=6.1.4","source":"path"}],"offeredLanguages":[],"resources":[{"id":94225,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","party":"first","kind":"image","requests":40,"bytes":1107108},{"id":94226,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","party":"third","kind":"image","requests":6,"bytes":399646},{"id":94227,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","party":"third","kind":"script","requests":4,"bytes":182096},{"id":94228,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","party":"first","kind":"font","requests":12,"bytes":172599},{"id":94229,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","party":"first","kind":"script","requests":29,"bytes":120094},{"id":94230,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","party":"first","kind":"style","requests":13,"bytes":56718},{"id":94231,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","party":"first","kind":"document","requests":3,"bytes":32398},{"id":94232,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","party":"third","kind":"style","requests":3,"bytes":11854}],"dependencies":[],"pixels":[],"headers":[{"id":23673,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","name":"content-security-policy","value":"frame-ancestors 'self';"},{"id":23674,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","name":"server","value":"Apache"},{"id":23675,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","name":"x-content-type-options","value":"nosniff"}],"identifiers":[],"domain":{"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","domain":"cidff.info","dnssec":"signed","ipv6":false,"ipv6Reachable":null,"ipv6Reason":"no-aaaa","spf":false,"dmarcPolicy":null,"dnsError":null,"tlsProtocol":"TLSv1.3","tlsCipher":"TLS_AES_256_GCM_SHA384","tlsAlpn":"h2","tlsIssuer":"Let's Encrypt","tlsValidFrom":"2026-07-21T07:02:53.000Z","tlsValidTo":"2026-10-19T07:02:52.000Z","tlsAuthorized":true,"tlsError":null,"registrar":null,"registeredAt":null,"expiresAt":null,"holderCountry":null,"rdapSource":"rdap.identitydigital.services","rdapError":"réponse 400 du registre","robotsFound":false,"robotsAllows":true,"adsFound":false,"adsPartners":0,"securityFound":false,"securityContact":null,"probedAt":"2026-08-24T04:42:41.160Z","mailProvider":"OVHcloud","dnsProvider":"OVHcloud","tlsAuthority":"Let's Encrypt (ISRG)","tlsAuthorityCountry":"US"},"dns":[{"id":62948,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","kind":"mx","value":"mx3.mail.ovh.net","rank":10,"cnameTarget":null,"provider":"OVHcloud"},{"id":62949,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","kind":"mx","value":"mx4.mail.ovh.net","rank":1,"cnameTarget":null,"provider":"OVHcloud"},{"id":62950,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","kind":"mx","value":"mail.nexylan.net","rank":0,"cnameTarget":"lba-sov.soverin.net","provider":null},{"id":62951,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","kind":"ns","value":"dns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"},{"id":62952,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","kind":"ns","value":"ns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"}],"adsPartners":[],"blocklists":[{"id":98051,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","resolver":"Quad9","resolverIp":"9.9.9.9","kind":"security","verdict":"allowed","note":null},{"id":98052,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","resolver":"CleanBrowsing Security","resolverIp":"185.228.168.9","kind":"security","verdict":"allowed","note":null},{"id":98053,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","resolver":"Comodo Secure","resolverIp":"8.26.56.26","kind":"security","verdict":"unknown","note":"ETIMEOUT"},{"id":98054,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","resolver":"OpenDNS","resolverIp":"208.67.222.222","kind":"security","verdict":"unknown","note":"EREFUSED"},{"id":98055,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","resolver":"AdGuard","resolverIp":"94.140.14.14","kind":"ads","verdict":"allowed","note":null},{"id":98056,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","resolver":"AdGuard Famille","resolverIp":"94.140.14.15","kind":"family","verdict":"allowed","note":null},{"id":98057,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","resolver":"Cloudflare Famille","resolverIp":"1.1.1.3","kind":"family","verdict":"allowed","note":null},{"id":98058,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","resolver":"CleanBrowsing Famille","resolverIp":"185.228.168.168","kind":"family","verdict":"allowed","note":null},{"id":98059,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","resolver":"CleanBrowsing Adulte","resolverIp":"185.228.168.10","kind":"family","verdict":"allowed","note":null},{"id":98060,"scanId":"3dd8d746-36ec-48a4-a1f0-9fa7ffbd8244","resolver":"OpenDNS Famille","resolverIp":"208.67.222.123","kind":"family","verdict":"unknown","note":"EREFUSED"}],"threats":[],"wayback":null,"cnames":[],"reputation":[],"webcompat":{"consulted":false,"rules":0,"updatedAt":null,"flags":[]},"wikidata":{"entities":{"Q34045622":{"qid":"Q34045622","label":"Fastly","description":"entreprise américaine de cloud computing","officialWebsite":"https://www.fastly.com","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Fastly%20logo.svg","tosdrId":"9951","influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/Fastly","fr":"https://fr.wikipedia.org/wiki/Fastly"},"parentQid":null,"countryCode":"US","countryLabel":"États-Unis","fetchedAt":"2026-10-18T15:05:56.758Z"},"Q568183":{"qid":"Q568183","label":"OVHcloud","description":"hébergeur de sites web français","officialWebsite":"https://www.ovhcloud.com/en/","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Logo%20OVH.svg","tosdrId":null,"influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/OVHcloud","fr":"https://fr.wikipedia.org/wiki/OVHcloud"},"parentQid":null,"countryCode":"FR","countryLabel":"France","fetchedAt":"2026-10-18T15:08:27.232Z"},"Q4778915":{"qid":"Q4778915","label":"Cloudflare","description":"entreprise américaine spécialisée dans la sécurité et les services web","officialWebsite":"https://www.cloudflare.com/","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Cloudflare%20Logo.svg","tosdrId":"894","influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/Cloudflare","fr":"https://fr.wikipedia.org/wiki/Cloudflare"},"parentQid":null,"countryCode":"US","countryLabel":"États-Unis","fetchedAt":"2026-10-18T15:05:57.236Z"}},"asnToQid":{"13335":"Q4778915","16276":"Q568183","54113":"Q34045622"}},"siteMatch":{"qid":null,"confidence":null,"decided":false}}