{"title":"Blacklight Inspection","page_title":"Accueil - Alpes-Maritimes — CIDFF","uri_ins":"http://alpesmaritimes.cidff.info/","uri_dest":"https://alpesmaritimes.cidff.info/","uri_redirects":["http://alpesmaritimes.cidff.info/"],"secure_connection":{},"host":"alpesmaritimes.cidff.info","config":{"emulateDevice":{"name":"iPhone 15 Pro","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1","viewport":{"width":393,"height":659,"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"isLandscape":false}},"cleareCache":true,"captureHar":true,"captureLinks":false,"enableAdBlock":false,"saveBrowserProfile":false,"numPages":2,"defaultTimeout":35000,"defaultWaitUntil":"networkidle2","headless":true,"headers":{},"extraChromiumArgs":["--disable-features=TrackingProtection3pcd","--website-analysis-scan=063c219c-2dd7-4810-9079-75cf6eac0b4b"],"extraPuppeteerOptions":{}},"browser":{"name":"Chromium","version":"Chrome/127.0.6533.88","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/127.0.0.0 Safari/537.36","platform":{"name":"Linux","version":"4.4.302+"}},"script":{"host":"f55531b6c604","version":{"npm":"3.11.0","commit":"dev"},"node_version":"v24.20.0"},"start_time":"2026-09-16T18:38:10.569Z","end_time":"2026-09-16T18:38:27.139Z","browsing_history":["https://alpesmaritimes.cidff.info/","https://alpesmaritimes.cidff.info/services/emploi-formation-et-creation-dentreprise/","https://alpesmaritimes.cidff.info/services/"],"hosts":{"requests":{"first_party":["alpesmaritimes.cidff.info"],"third_party":["unpkg.com","cdnjs.cloudflare.com","b.basemaps.cartocdn.com","c.basemaps.cartocdn.com","a.basemaps.cartocdn.com"]}},"reports":{"behaviour_event_listeners":{"MOUSE":{"https://alpesmaritimes.cidff.info/wp-content/cache/autoptimize/autoptimize_single_fa03f187c5d2fdfce7632be6f0a06478.php?ver=1.9.4":["scroll"]},"KEYBOARD":{"data:text/javascript;base64,CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBJZCA9ICJjaWRmZi1tYXAiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwUmVmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobWFwSWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwRGV0YWlsc1JlZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaWRmZi1zaXRlLWRldGFpbHMnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzUG9pbnRzID0gWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vZGVsIDogWyBsYXQsIGxvbiwgdG9vbHRpcCwgc2l0ZURhdGEgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMuNzc1NTEzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMTkyNDM0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBDZW50cmUgc29jaWFsIFBhc3NlcmVsbGUgUC5BLlIuSSBNaXhcJ0NpdMOpYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTQ0NSIsImNlbnRyZV9pZCI6Ijk5Iiwibm9tIjoiQ2VudHJlIHNvY2lhbCBQYXNzZXJlbGxlIFAuQS5SLkkgTWl4J0NpdFx1MDBlOSIsIm5vbV9zbHVnIjoiY2VudHJlLXNvY2lhbC1wYXNzZXJlbGxlLXBhcmktbWl4Y2l0ZSIsImFkcmVzc2UiOiIxNSBiaXMgcnVlIGR1IEJvc3F1ZXQiLCJjcCI6IjA2NTEwIiwidmlsbGUiOiJDYXJyb3MiLCJ2aWxsZV9zbHVnIjoiY2Fycm9zIiwiY2l0eV9pZCI6IjE5NjUiLCJlbWFpbCI6IiIsInRlbGVwaG9uZSI6IiIsInFwdiI6IjAiLCJ6cnIiOiIxIiwiYWNjdWVpbCI6IkZyYW5jZSBzZXJ2aWNlIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IkpVUklESVFVRSBMdW5kaSA5aC0xMmggZXQgMTNoMzAtMTZoMzAgc2VtYWluZSBpbXBhaXJlID0+IHByaXNlIGRlIHJkdiBcdTAwZTAgTGEgUGFzc2VyZWxsZSBvdSAwNCA5MyAwOCA3OCAwMyBcL1wvIFBTWUNIT0xPR0lRVUUgTWFyZGkgOWgtMTJoIGV0IDEzaDMwLTE2aDMwID0+IHByaXNlIGRlIHJkdiBhdSBDSURGRjA2IG91IDA0IDkzIDcxIDU1IDY5XG4iLCJ2b2xfaHJfaGViZG8iOiI3aCIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOiJMJ2FjY29tcGFnbmVtZW50IHBhcmVudGFsaXRcdTAwZTkgKEVJQ0NGLCBtXHUwMGU5ZGlhdGlvbiBmYW1pbGlhbGUpIiwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOiJGcmFuY2UgU2VydmljZSIsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjc3NTUxMywibG9uIjo3LjE5MjQzNCwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My43NzU1MTMsNy4xOTI0MzQsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjU0ODkxNywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2Ljk4MDIxMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQW50ZW5uZSBkZSBKdXN0aWNlIGRlIENhbm5lcy1sYS1Cb2NjYWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjE0NDYiLCJjZW50cmVfaWQiOiI5OSIsIm5vbSI6IkFudGVubmUgZGUgSnVzdGljZSBkZSBDYW5uZXMtbGEtQm9jY2EiLCJub21fc2x1ZyI6ImFudGVubmUtZGUtanVzdGljZS1kZS1jYW5uZXNsYWJvY2NhIiwiYWRyZXNzZSI6IjIgcnVlIGRlIGxhIFZlcnJlcmllIiwiY3AiOiIwNjE1MCIsInZpbGxlIjoiQ2FubmVzIiwidmlsbGVfc2x1ZyI6ImNhbm5lcyIsImNpdHlfaWQiOiIxOTYxIiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIwNCA4OSA4MiAyMiAwMCIsInFwdiI6IjAiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IkFudGVubmUgZGUgSnVzdGljZSIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJKZXVkaSAxM2gzMC0xN2giLCJ2b2xfaHJfaGViZG8iOiIzaDMwIiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjAiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjU0ODkxNywibG9uIjo2Ljk4MDIxMiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My41NDg5MTcsNi45ODAyMTIsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjcwNjMzOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjI2MzQwMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQ2VudHJlIHNvY2lhbCBMYSBSdWNoZSAoc2VtZXVzZSlgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDUxIiwiY2VudHJlX2lkIjoiOTkiLCJub20iOiJDZW50cmUgc29jaWFsIExhIFJ1Y2hlIChzZW1ldXNlKSIsIm5vbV9zbHVnIjoiY2VudHJlLXNvY2lhbC1sYS1ydWNoZS0oc2VtZXVzZSkiLCJhZHJlc3NlIjoiNSBydWUgVHJhY2hlbCIsImNwIjoiMDYwMDAiLCJ2aWxsZSI6Ik5pY2UiLCJ2aWxsZV9zbHVnIjoibmljZSIsImNpdHlfaWQiOiIyMDIwIiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIxIiwienJyIjoiMCIsImFjY3VlaWwiOiJBc3NvY2lhdGlvbiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJKVVJJRElRVUUgTWFyZGkgOWgtMTJoID0+IHByaXNlIGRlIHJkdiBcdTAwZTAgbGEgUnVjaGUgXC9cLyBQU1lDSE9MT0dJUVVFIE1hcmRpIDE0aC0xOGggPT4gcHJpc2UgZGUgcmR2IGF1IENJREZGMDYgb3UgMDQgOTMgNzEgNTUgNjkiLCJ2b2xfaHJfaGViZG8iOiI2aCIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOiJMJ2FjY29tcGFnbmVtZW50IHBhcmVudGFsaXRcdTAwZTkgKEVJQ0NGLCBtXHUwMGU5ZGlhdGlvbiBmYW1pbGlhbGUpIiwiY2FkcmU1IjoiQXV0cmUiLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjcwNjMzOCwibG9uIjo3LjI2MzQwMywidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My43MDYzMzgsNy4yNjM0MDMsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjczNzQzMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjMwMjU4MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTUpEIE5pY2VgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDU0IiwiY2VudHJlX2lkIjoiOTkiLCJub20iOiJNSkQgTmljZSIsIm5vbV9zbHVnIjoibWpkLW5pY2UiLCJhZHJlc3NlIjoiNTIgcnVlIEFuYXRvbGUgZGUgTW9uemllIiwiY3AiOiIwNjMwMCIsInZpbGxlIjoiTmljZSIsInZpbGxlX3NsdWciOiJuaWNlIiwiY2l0eV9pZCI6IjIwMjAiLCJlbWFpbCI6Im1qZC1uaWNlQGp1c3RpY2UuZnIiLCJ0ZWxlcGhvbmUiOiIwNCA5NyAwMCAwMyA5MCIsInFwdiI6IjEiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6Ik1haXNvbiBkZSBKdXN0aWNlIGV0IGR1IERyb2l0IiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IkpldWRpIDloLTE3aCBzZW1haW5lIHBhaXJlID0+IHByaXNlIGRlIHJkdiBcdTAwZTAgbGEgTUpEIGRlIE5pY2Ugb3UgMDQgOTcgMDAgMDMgOTAgb3UgbWpkLW5pY2VAanVzdGljZS5mciIsInZvbF9ocl9oZWJkbyI6IjdoMzAiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMCIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjoiVmlzaW9jb25mXHUwMGU5cmVuY2UiLCJ0eXBlNCI6IkF1dHJlIiwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFscGVzLU1hcml0aW1lcyIsInJlZ2lvbiI6IlByb3ZlbmNlLUFscGVzLUNcdTAwZjR0ZSBkJ0F6dXIiLCJjb29yZHMiOnsibGF0Ijo0My43Mzc0MzEsImxvbiI6Ny4zMDI1ODIsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuNzM3NDMxLDcuMzAyNTgyLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvYWxwZXNtYXJpdGltZXMuY2lkZmYuaW5mbyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My41NDU1NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2Ljk2Mjk2MywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUGFyY291cnMgZGUgZmVtbWVzIC0gRVNDQUxgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDU2IiwiY2VudHJlX2lkIjoiOTkiLCJub20iOiJQYXJjb3VycyBkZSBmZW1tZXMgLSBFU0NBTCIsIm5vbV9zbHVnIjoicGFyY291cnMtZGUtZmVtbWVzLS1lc2NhbCIsImFkcmVzc2UiOiJBdmVudWUgZHUgY2VudHJlIiwiY3AiOiIwNjE1MCIsInZpbGxlIjoiQ2FubmVzIiwidmlsbGVfc2x1ZyI6ImNhbm5lcyIsImNpdHlfaWQiOiIxOTYxIiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJBc3NvY2lhdGlvbiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJKZXVkaSA5aC0xN2ggPT4gcHJpc2UgZGUgcmR2IDA0IDkzIDcxIDU1IDY5Iiwidm9sX2hyX2hlYmRvIjoiM2giLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMCIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjoiVmlzaW9jb25mXHUwMGU5cmVuY2UiLCJ0eXBlNCI6IkF1dHJlIiwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFscGVzLU1hcml0aW1lcyIsInJlZ2lvbiI6IlByb3ZlbmNlLUFscGVzLUNcdTAwZjR0ZSBkJ0F6dXIiLCJjb29yZHMiOnsibGF0Ijo0My41NDU1NSwibG9uIjo2Ljk2Mjk2MywidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My41NDU1NSw2Ljk2Mjk2MywxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHA6XC9cL2FscGVzbWFyaXRpbWVzLmNpZGZmLmluZm8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMuNzIyNjU2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMjg3MDcxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBFc3BhY2UgbXVsdGkgc2VydmljZXMgUGFzdGV1cmAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjE0NjAiLCJjZW50cmVfaWQiOiI5OSIsIm5vbSI6IkVzcGFjZSBtdWx0aSBzZXJ2aWNlcyBQYXN0ZXVyIiwibm9tX3NsdWciOiJlc3BhY2UtbXVsdGktc2VydmljZXMtcGFzdGV1ciIsImFkcmVzc2UiOiIxODEgUXVhaSBkdSBNYXJcdTAwZTljaGFsIEx5YXV0ZXkgIiwiY3AiOiIwNjAwMCIsInZpbGxlIjoiTmljZSIsInZpbGxlX3NsdWciOiJuaWNlIiwiY2l0eV9pZCI6IjIwMjAiLCJlbWFpbCI6IiIsInRlbGVwaG9uZSI6IiIsInFwdiI6IjEiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IkVzcGFjZSBNdWx0aSBTZXJ2aWNlcyBQYXN0ZXVyIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6Ik1lcmNyZWRpIHNlbWFpbmUgcGFpcmUgOWgtMTJoID0+IHByaXNlIGRlIHJkdiBhdSBDSURGRjA2IG91IDA0IDkzIDcxIDU1IDY5Iiwidm9sX2hyX2hlYmRvIjoiMWgxNSIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6IkF1dHJlIiwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjoiVmlzaW9jb25mXHUwMGU5cmVuY2UiLCJ0eXBlNCI6IkF1dHJlIiwibWZzIjoiRnJhbmNlIFNlcnZpY2UiLCJkZXBhcnRlbWVudCI6IkFscGVzLU1hcml0aW1lcyIsInJlZ2lvbiI6IlByb3ZlbmNlLUFscGVzLUNcdTAwZjR0ZSBkJ0F6dXIiLCJjb29yZHMiOnsibGF0Ijo0My43MjI2NTYsImxvbiI6Ny4yODcwNzEsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuNzIyNjU2LDcuMjg3MDcxLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvYWxwZXNtYXJpdGltZXMuY2lkZmYuaW5mbyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My42OTUxNywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjIyODc2MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTWFpc29uIGRlIHNhbnTDqSBkZXMgRmVtbWVzIGRlcyBBbHBlcy1NYXJpdGltZXNgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDY3IiwiY2VudHJlX2lkIjoiOTkiLCJub20iOiJNYWlzb24gZGUgc2FudFx1MDBlOSBkZXMgRmVtbWVzIGRlcyBBbHBlcy1NYXJpdGltZXMiLCJub21fc2x1ZyI6Im1haXNvbi1kZS1zYW50ZS1kZXMtZmVtbWVzLWRlcy1hbHBlc21hcml0aW1lcyIsImFkcmVzc2UiOiIxNTEgcm91dGUgZGUgU2FpbnQgQW50b2luZSBkZSBHaW5lc3RpZXJlIiwiY3AiOiIwNjIwMCIsInZpbGxlIjoiTmljZSIsInZpbGxlX3NsdWciOiJuaWNlIiwiY2l0eV9pZCI6IjIwMjAiLCJlbWFpbCI6Im1haXNvbmRlc2ZlbW1lczA2QGNodS1uaWNlLmZyIiwidGVsZXBob25lIjoiMDQgOTIgMDMgMjEgMTAiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJIXHUwMGY0cGl0YWwiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiSmV1ZGkgMTNoIC0gMTdoIiwidm9sX2hyX2hlYmRvIjoiM2gzMCIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOiJMJ2FjY29tcGFnbmVtZW50IHBhcmVudGFsaXRcdTAwZTkgKEVJQ0NGLCBtXHUwMGU5ZGlhdGlvbiBmYW1pbGlhbGUpIiwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjY5NTE3LCJsb24iOjcuMjI4NzYyLCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQzLjY5NTE3LDcuMjI4NzYyLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvYWxwZXNtYXJpdGltZXMuY2lkZmYuaW5mbyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My43MDQ5ODUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4yNjgxMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFBhc3NcJ1JcJ0VsbGVzYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTQ2OCIsImNlbnRyZV9pZCI6Ijk5Iiwibm9tIjoiUGFzcydSJ0VsbGVzIiwibm9tX3NsdWciOiJwYXNzcmVsbGVzIiwiYWRyZXNzZSI6IkNDQVMgZGUgTmljZSIsImNwIjoiMDYwMDAiLCJ2aWxsZSI6Ik5pY2UiLCJ2aWxsZV9zbHVnIjoibmljZSIsImNpdHlfaWQiOiIyMDIwIiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIwNCA5NyAxMyAzOSA0NiIsInFwdiI6IjAiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IkFjY3VlaWwgZGUgam91ciBwb3VyIGxlcyBGZW1tZXMgdmljdGltZXMgZGUgdmlvbGVuY2VzIGNvbmp1Z2FsZXMiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiTHVuZGkgOWgtMTdoID0+IHByaXNlIGRlIHJkdiBzdXIgcGxhY2Ugb3UgMDQgOTcgMTMgMzkgNDYiLCJ2b2xfaHJfaGViZG8iOiI3aCIsImlpIjoiMSIsImljIjoiMSIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOiJMJ2FjY29tcGFnbmVtZW50IHBhcmVudGFsaXRcdTAwZTkgKEVJQ0NGLCBtXHUwMGU5ZGlhdGlvbiBmYW1pbGlhbGUpIiwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjcwNDk4NSwibG9uIjo3LjI2ODExMiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My43MDQ5ODUsNy4yNjgxMTIsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjY5ODU2NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjI1NzgxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgU2nDqGdlIENJREZGYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTgzNiIsImNlbnRyZV9pZCI6Ijk5Iiwibm9tIjoiU2lcdTAwZThnZSBDSURGRiIsIm5vbV9zbHVnIjoic2llZ2UtY2lkZmYiLCJhZHJlc3NlIjoiMiwgcnVlIEd1aWdsaWEiLCJjcCI6IjA2MDAwIiwidmlsbGUiOiJOaWNlIiwidmlsbGVfc2x1ZyI6Im5pY2UiLCJjaXR5X2lkIjoiMjAyMCIsImVtYWlsIjoiY29udGFjdEBjaWRmZjA2LmNvbSIsInRlbGVwaG9uZSI6IjA0IDkzIDcxIDU1IDY5IiwicXB2IjoiMCIsInpyciI6IjAiLCJhY2N1ZWlsIjoiU2lcdTAwZThnZSBhc3NvY2lhdGlvbiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJMdW5kaSBhdSB2ZW5kcmVkaSA4aDMwLTEyaDE1IGV0IDEzaC0xN2ggKEhPUlMgVkVORFJFREkgTUFUSU4pIiwidm9sX2hyX2hlYmRvIjoiMzhoNDUiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjoiTCdhY2NvbXBhZ25lbWVudCBlbXBsb2kiLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImNhZHJlNSI6IkF1dHJlIiwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjpudWxsLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjY5ODU2NiwibG9uIjo3LjI1NzgxNiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My42OTg1NjYsNy4yNTc4MTYsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjU3ODAxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjA1NTA5NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQW50ZW5uZSBkZSBqdXN0aWNlIGRlIFZhbGxhdXJpc2AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjIxNTkiLCJjZW50cmVfaWQiOiI5OSIsIm5vbSI6IkFudGVubmUgZGUganVzdGljZSBkZSBWYWxsYXVyaXMiLCJub21fc2x1ZyI6ImFudGVubmUtZGUtanVzdGljZS1kZS12YWxsYXVyaXMiLCJhZHJlc3NlIjoiNiwgYm91bGV2YXJkIEphY3F1ZXMgVWdvIiwiY3AiOiIwNjIyMCIsInZpbGxlIjoiVmFsbGF1cmlzIiwidmlsbGVfc2x1ZyI6InZhbGxhdXJpcyIsImNpdHlfaWQiOiIyMDg3IiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIwNCA5MiAxOSA3NiAyMCIsInFwdiI6IjEiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IkFudGVubmUgZGUganVzdGljZSIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJNZXJjcmVkaSA5aC0xMmgzMCBldCAxM2gzMC0xN2hcblNlbWFpbmUgcGFpcmUiLCJ2b2xfaHJfaGViZG8iOiI3aCIsImlpIjoiMSIsImljIjoiMCIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOiJMJ2FjY29tcGFnbmVtZW50IHBhcmVudGFsaXRcdTAwZTkgKEVJQ0NGLCBtXHUwMGU5ZGlhdGlvbiBmYW1pbGlhbGUpIiwiY2FkcmU1IjoiQXV0cmUiLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjU3ODAxNiwibG9uIjo3LjA1NTA5NiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My41NzgwMTYsNy4wNTUwOTYsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjcyMTk5NywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjExNzQ4NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTGEgU291cmNlLCBjZW50cmUgc29jaWFsIElTSSBNb250am95ZWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjI0NjciLCJjZW50cmVfaWQiOiI5OSIsIm5vbSI6IkxhIFNvdXJjZSwgY2VudHJlIHNvY2lhbCBJU0kgTW9udGpveWUiLCJub21fc2x1ZyI6ImxhLXNvdXJjZSwtY2VudHJlLXNvY2lhbC1pc2ktbW9udGpveWUiLCJhZHJlc3NlIjoiMTc3LCBib3VsZXZhcmQgQWxwaG9uc2UgVG9yZWlsbGUiLCJjcCI6IjA2MTQwIiwidmlsbGUiOiJWZW5jZSIsInZpbGxlX3NsdWciOiJ2ZW5jZSIsImNpdHlfaWQiOiIyMDg5IiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJDZW50cmUgc29jaWFsIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6Ik1hcmRpIDEzaDMwLTE3aCA9PiBwcmlzZSBkZSByZHYgYXUgQ0lERkYwNiBvdSAwNCA5MyA3MSA1NSA2OSIsInZvbF9ocl9oZWJkbyI6IjNoMzAiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOiJBdXRyZSIsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6IlRcdTAwZTlsXHUwMGU5cGhvbmlxdWUiLCJ0eXBlMyI6IlZpc2lvY29uZlx1MDBlOXJlbmNlIiwidHlwZTQiOiJBdXRyZSIsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJBbHBlcy1NYXJpdGltZXMiLCJyZWdpb24iOiJQcm92ZW5jZS1BbHBlcy1DXHUwMGY0dGUgZCdBenVyIiwiY29vcmRzIjp7ImxhdCI6NDMuNzIxOTk3LCJsb24iOjcuMTE3NDg0LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQzLjcyMTk5Nyw3LjExNzQ4NCwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHA6XC9cL2FscGVzbWFyaXRpbWVzLmNpZGZmLmluZm8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMuNzAxNDk5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMjg1NDQxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBNYWlzb24gZGVzIHByb2pldHMgQXJpYW5lYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMzczNSIsImNlbnRyZV9pZCI6Ijk5Iiwibm9tIjoiTWFpc29uIGRlcyBwcm9qZXRzIEFyaWFuZSIsIm5vbV9zbHVnIjoibWFpc29uLWRlcy1wcm9qZXRzLWFyaWFuZSIsImFkcmVzc2UiOiIyIFBsYWNlIGRlcyBTaXRlbGxlcyIsImNwIjoiMDYzMDAiLCJ2aWxsZSI6Ik5pY2UiLCJ2aWxsZV9zbHVnIjoibmljZSIsImNpdHlfaWQiOiIyMDIwIiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIxIiwienJyIjoiMCIsImFjY3VlaWwiOiIiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6Ik1haXNvbiBkZXMgUHJvamV0cyIsImhvcmFpcmVzIjoiTWFyZGkgOWgtMTJoID0+IHByaXNlIGRlIHJkdiBhdSBDSURGRjA2IG91IDA0IDkzIDcxIDU1IDY5Iiwidm9sX2hyX2hlYmRvIjoiIiwiaWkiOiIwIiwiaWMiOiIxIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6bnVsbCwiY2FkcmUyIjoiTCdhY2NvbXBhZ25lbWVudCBlbXBsb2kiLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjoiQXV0cmUiLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtTWFyaXRpbWVzIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQzLjcwMTQ5OSwibG9uIjo3LjI4NTQ0MSwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My43MDE0OTksNy4yODU0NDEsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjY5ODU2NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjI1NzgxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQWxwZXMtTWFyaXRpbWVzLCBOaWNlYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiOTkiLCJub20iOiJBbHBlcy1NYXJpdGltZXMsIE5pY2UiLCJhZHJlc3NlIjoiMiBydWUgR3VpZ2xpYSAiLCJjcCI6IjA2MDAwIiwidmlsbGUiOiJOaWNlIiwidGVsZXBob25lIjoiMDQgOTMgNzEgNTUgNjkiLCJtYWlsIjoiY29udGFjdEBjaWRmZjA2LmNvbSIsInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvIiwiYWNjZXNfZHJvaXQiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJlbXBsb2kiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsInZpb2xlbmNlcyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJwYXJlbnRhbGl0ZSI6IkwnYWNjb21wYWduZW1lbnQgcGFyZW50YWxpdFx1MDBlOSAoRUlDQ0YsIG1cdTAwZTlkaWF0aW9uIGZhbWlsaWFsZSkiLCJhdXRyZSI6IkF1dHJlIiwic2llZ2UiOnRydWUsImNvb3JkcyI6eyJsYXQiOjQzLjY5ODU2NiwibG9uIjo3LjI1NzgxNiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My42OTg1NjYsNy4yNTc4MTYsMTV6In0sInJlZ2lvbiI6IlByb3ZlbmNlLUFscGVzLUNcdTAwZjR0ZSBkJ0F6dXIiLCJkZXBhcnRlbWVudCI6IkFscGVzLU1hcml0aW1lcyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0Wm9vbSA9IDc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdFpvb21Nb2JpbGUgPSA2OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pblpvb20gPSA2OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1heFpvb20gPSAyMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1hcCA9IG51bGw7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaW5pdE1hcChzZWxlY3RlZENhdGVnb3JpZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAgPSBuZXcgTC5tYXAobWFwSWQsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBMLmNvbnRyb2wuem9vbSh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkuYWRkVG8obWFwKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHR0cHM6Ly97c30uYmFzZW1hcHMuY2FydG9jZG4uY29tL2xpZ2h0X2FsbC97en0ve3h9L3t5fXtyfS5wbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5ab29tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Wm9vbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5hZGRUbyhtYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5MSA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnkyID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTMgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5NCA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnk1ID0gW107CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtlcnMgPSBuZXcgTC5tYXJrZXJDbHVzdGVyR3JvdXAoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlkZXJMZWdQb2x5bGluZU9wdGlvbnM6IHsgd2VpZ2h0OiA2MDAsIGNvbG9yOiAnIzIyMicsIG9wYWNpdHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Q2x1c3RlclJhZGl1czogNDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFpbk1hcmtlcnMgPSBuZXcgTC5sYXllckdyb3VwKCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWRkcmVzc1BvaW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gYWRkcmVzc1BvaW50c1tpXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGl0bGUgPSBhWzJdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gYVszXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29vcmRzID0gbmV3IEwuTGF0TG5nKGFbMF0sIGFbMV0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtlciA9IHsgZGF0YTogbmV3IEwubWFya2VyKGNvb3JkcywgeyB0aXRsZSB9KSwgc2llZ2U6IGRhdGEuc2llZ2UgfTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmUxJ10gfHwgZGF0YVsnYWNjZXNfZHJvaXQnXSApIGxheWVyQ2F0ZWdvcnkxLnB1c2gobWFya2VyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTInXSB8fCBkYXRhWyd2aW9sZW5jZXMnXSApIGxheWVyQ2F0ZWdvcnkyLnB1c2gobWFya2VyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTMnXSB8fCBkYXRhWydlbXBsb2knXSApIGxheWVyQ2F0ZWdvcnkzLnB1c2gobWFya2VyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTQnXSB8fCBkYXRhWydwYXJlbnRhbGl0ZSddICkgbGF5ZXJDYXRlZ29yeTQucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlNSddIHx8IGRhdGFbJ2F1dHJlJ10gKSBsYXllckNhdGVnb3J5NS5wdXNoKG1hcmtlcik7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrZXIuZGF0YS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAucGFuVG8oY29vcmRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcFJlZi5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnb24tbWFya2VyLWludGVyYWN0JywgeyBkZXRhaWw6IGRhdGEgfSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZExheWVyKG1haW5NYXJrZXJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkTGF5ZXIobWFya2Vycyk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyc1RvRGlzcGxheSA9IFtdOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRDYXRlZ29yaWVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDEpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoMikgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5MikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcygzKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnkzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDQpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoNSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5NSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnkxLCAuLi5sYXllckNhdGVnb3J5MiwgLi4ubGF5ZXJDYXRlZ29yeTMsIC4uLmxheWVyQ2F0ZWdvcnk0LCAuLi5sYXllckNhdGVnb3J5NSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtlcnNUb1Nob3cgPSBbLi4ubmV3IFNldChsYXllcnNUb0Rpc3BsYXkpXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXJrZXJzVG9TaG93Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG0gPSBtYXJrZXJzVG9TaG93W2ldOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG0uc2llZ2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5hZGRUbyhtYWluTWFya2Vycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuc2V0WkluZGV4T2Zmc2V0KDEwMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLnNldEljb24oY3JlYXRlTWFpbk1hcmtlcigpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5hZGRUbyhtYXJrZXJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5zZXRJY29uKGNyZWF0ZU1hcmtlcigpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBtYXJrZXJzLmdldExheWVycygpLmxlbmd0aCA+IDAgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuZml0Qm91bmRzKG1hcmtlcnMuZ2V0Qm91bmRzKCksIHsgcGFkZGluZzogWyAxMCwgMTAgXSB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtYWluTWFya2Vycy5nZXRMYXllcnMoKVswXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNldFZpZXcobWFpbk1hcmtlcnMuZ2V0TGF5ZXJzKClbMF0uZ2V0TGF0TG5nKCksIDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2V0VmlldyhbNDYuNSwgMi4zNDU0OTIzXSwgMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEludGVyYWN0aW9uIHJ1bGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNjcm9sbFdoZWVsWm9vbS5kaXNhYmxlKCk7IC8vIERpc2FibGUgc2Nyb2xsIGludGVyYWN0aW9uIGF0IGZpcnN0CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2Nyb2xsV2hlZWxab29tLmVuYWJsZSgpOyAvLyBSZWVuYWJsZSBzY3JvbGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2Nyb2xsV2hlZWxab29tLmRpc2FibGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwUmVmLmFkZEV2ZW50TGlzdGVuZXIoJ29uLW1hcmtlci1pbnRlcmFjdCcsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNpdGVEZXRhaWxzKGUuZGV0YWlsKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaGlkZURldGFpbHNFdmVudHMgPSBbJ2NsaWNrJywgJ21vdmVzdGFydCddCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZURldGFpbHNFdmVudHMuZm9yRWFjaChlID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZEV2ZW50TGlzdGVuZXIoZSwgKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZVNpdGVEZXRhaWxzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gIkVzY2FwZSIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVTaXRlRGV0YWlscygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRNYXAoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBjcmVhdGVNYXJrZXIoY2xhc3NOYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBMLmljb24oewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uVXJsOiAnaHR0cHM6Ly9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvL3dwLWNvbnRlbnQvdGhlbWVzL2NpZGZmLXdwL2Fzc2V0cy9pbWFnZXMvd2VicC9pY29uLXBpbnMtc2Vjb25kYXJ5LWZpbGxlZC53ZWJwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsxOCwgMjNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dVcmw6ICdodHRwczovL2FscGVzbWFyaXRpbWVzLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1maWxsZWQtc2hhZG93LndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dTaXplOiBbMjUsIDI1XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93QW5jaG9yOiBbNCwgMTVdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY3JlYXRlTWFpbk1hcmtlcigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEwuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25Vcmw6ICdodHRwczovL2FscGVzbWFyaXRpbWVzLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1maWxsZWQud2VicCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TaXplOiBbMjgsIDMzXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93VXJsOiAnaHR0cHM6Ly9hbHBlc21hcml0aW1lcy5jaWRmZi5pbmZvL3dwLWNvbnRlbnQvdGhlbWVzL2NpZGZmLXdwL2Fzc2V0cy9pbWFnZXMvd2VicC9pY29uLXBpbnMtZmlsbGVkLXNoYWRvdy53ZWJwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93U2l6ZTogWzMwLCAzMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd0FuY2hvcjogWzQsIDE2XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHNldFNpdGVEZXRhaWxzKGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93U2l0ZURldGFpbHMoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlZU1vcmVLZXkgPSBkYXRhLnNpZWdlID8gYCR7bmV3IFN0cmluZyhkYXRhLm5vbSkucmVwbGFjZSgvXFx8XCx8XHMvZ2ksICctJykudG9Mb3dlckNhc2UoKX0tJHtkYXRhLmlkfWAgOiBgJHtkYXRhLm5vbV9zbHVnfS0ke2RhdGEuaWR9YAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgZGF0YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS10aXRsZSddIikuaW5uZXJIVE1MID0gZGF0YS5ub207CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXNlZS1tb3JlJ10iKS5ocmVmID0gYGh0dHBzOi8vYWxwZXNtYXJpdGltZXMuY2lkZmYuaW5mby9saXN0ZS1kZXMtcGVybWFuZW5jZXMvP2RlcGFydGVtZW50PSR7ZGF0YS5kZXBhcnRlbWVudH0mY2VudHJlLWlkPSR7c2VlTW9yZUtleX1gOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5ob3JhaXJlcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtaG91cnMtd3JhcHBlciddIikuc3R5bGUuZGlzcGxheSA9ICdmbGV4JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWhvdXJzJ10iKS5pbm5lckhUTUwgPSBkYXRhLmhvcmFpcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1ob3Vycy13cmFwcGVyJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWxvY2F0aW9uJ10iKS5pbm5lckhUTUwgPSBgJHtkYXRhLmFkcmVzc2V9LCAke2RhdGEuY3B9ICR7ZGF0YS52aWxsZX1gOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS50ZWxlcGhvbmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRlbC13cmFwcGVyJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtdGVsJ10iKS5pbm5lckhUTUwgPSBkYXRhLnRlbGVwaG9uZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtdGVsLXdyYXBwZXInXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5jYWRyZTEgfHwgZGF0YS5hY2Nlc19kcm9pdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMSddIikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTEnXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5jYWRyZTIgfHwgZGF0YS5lbXBsb2kpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTInXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0yJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuY2FkcmUzIHx8IGRhdGEudmlvbGVuY2VzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0zJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMyddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhZHJlNCB8fCBkYXRhLnBhcmVudGFsaXRlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS00J10iKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtNCddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaGlkZVNpdGVEZXRhaWxzKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzaG93U2l0ZURldGFpbHMoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHJlc2V0TWFwTGF5b3V0KCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVTaXRlRGV0YWlscygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5vZmYoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9uLW1hcC1yZWZyZXNoIiwgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldE1hcExheW91dCgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFzdENhdGVnb3JpZXMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFzdC1maWx0ZXItY2F0ZWdvcmllcycpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGFzdENhdGVnb3JpZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdENhdGVnb3JpZXMgPSBKU09OLnBhcnNlKGxhc3RDYXRlZ29yaWVzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0TWFwKGxhc3RDYXRlZ29yaWVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE1hcCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9uLWNhdGVnb3J5LWZpbHRlci1jaGFuZ2UiLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQ2F0ZWdvcmllcyA9IGUuZGV0YWlsOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlU2l0ZURldGFpbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAub2ZmKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRNYXAoc2VsZWN0ZWRDYXRlZ29yaWVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICA=":["keydown"]}},"canvas_fingerprinters":{"data_url":{},"fingerprinters":[],"styles":{},"texts":{}},"canvas_font_fingerprinters":{"canvas_font":{},"text_measure":{}},"cookies":[],"fb_pixel_events":[],"tiktok_pixel_events":[],"twitter_pixel_events":[],"google_analytics_events":[],"key_logging":{},"session_recorders":{},"third_party_trackers":[]}}