{"report_id":"b544eb88-db20-4c65-96c6-cf142486c062","version":0,"status":"done","tags":[],"date":"2026-07-27T07:49:47Z","url":{"schema":"https","addr":"magiclink.app/","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":0,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"final":{"url":{"schema":"https","addr":"magiclink.app/login?redirect=/bookings","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"title":"Magic Link — Jack","dom":{"size":4935,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (4232)","md5":"92042277df82a5444e278a6b015a25b7","sha1":"d54936548324b5990bacd05397962e9889995759","sha256":"01378631ec093fc182c6c47168fa2071fba8aa637e9110f9aa1b6a9de1df2312","sha512":"d15eb36f5b1f1fafacf1cf47a16530ff1c96d95c60723ca5cffa8ec805f4b2411ebfebd15a190088b6c27a38b3266bb7f77b8bf93d5720226a005a07982c8c5c","ssdeep":"96:nda2xfwLMymHpkjjKiZXYWLxpZjpac4QjgDDLBmn1eAe9ajSKK9kUBevEPCLVPoi:k2xGMyspkP7XYUxpZjpacHjgFk1e66eF","tlshash":"f8a163ac24101ceec63bca8765757a1cd0b76b5edf7a485971ee22182eb6c411de8c3c","dom_hash":"domhashea85dd001883c281e4563e10b14cda06","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"magiclink.app/","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":0,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T07:49:47Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"qguvgzjxzsgb3vs"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":0}},"detection":{"ids":null,"analyzer":null,"urlquery":null},"summary":[{"fqdn":"magiclink.app","ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"unknown","domain_rank":0,"first_seen":"2026-07-27T04:49:25.718844Z","last_seen":"2026-07-27T04:49:25.718844Z","alert_count":0,"request_count":6,"received_data":727610,"sent_data":2778,"comment":"","tags":null,"fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"rsms.me","ip":{"addr":"172.67.197.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2010-12-05","domain_rank":18742,"first_seen":"2014-10-14T17:46:02Z","last_seen":"2026-07-24T07:55:34.014234Z","alert_count":0,"request_count":2,"received_data":365927,"sent_data":1009,"comment":"","tags":null,"fingerprints":[{"name":"Fastly","description":"Fastly is a cloud computing services provider. Fastly's cloud platform provides a content delivery network, Internet security services, load balancing, and video \u0026 streaming services.","website":"https://www.fastly.com","common_platform_enumeration":"","icon":"Fastly.svg","categories":["CDN"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"GitHub Pages","description":"GitHub Pages is a static site hosting service.","website":"https://pages.github.com/","common_platform_enumeration":"","icon":"GitHub.svg","categories":["PaaS"]}]}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":null,"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"magiclink.app/login?redirect=/bookings","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"0ae64cce4f24529caa56156b159bdade","sha1":"3f1c5a480a93a0bfdc86eb0d7769ea098682b7a5","sha256":"99cb12f023e5c6752e9a7e0132343acf246a432e31d1e7326a3fad10704711a5","sha512":"0ce54f9c86d027c6895c449a7be022ab96d9df608d39f56a3eb0c2721f49aac55b9f82668c5265ba231c626d7a841bcb68c13b169f5f5f9be40244d0c3abec61","ssdeep":"","tlshash":"eec08cc8a0c22d002602a45010bf38e4a024842770481b028de4dc4c3e230f08233e98","size":141,"data":"","first_seen":"2023-04-14T14:41:51Z","last_seen":"2026-07-31T00:09:27.27291Z","times_seen":2490,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"magiclink.app/login?redirect=/bookings","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"6900701ff959494d30437499abeb8885","sha1":"7cb4c820fbf30caa6b50d6c2dc4aa7c0c4b644d8","sha256":"3be52a71ee1e4d668cceef779a9942298cef4d68e03183d10681c4aa945c83f5","sha512":"731bc35b44d92adfda91474163cba7cbfe8ebb8faeb76364becb6a0f87c8d62c68a560257759546c0c38da3d0ea220cbee60eed126f77194441f92786231135b","ssdeep":"","tlshash":"b5c08cc4a0c22d101642645420af26e4a028802a70485b128c94d8482e620b48233ea8","size":138,"data":"","first_seen":"2023-04-13T00:16:19Z","last_seen":"2026-07-30T20:34:47.954444Z","times_seen":8029,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"magiclink.app/assets/index-BkPeVjVH.js","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"8efda379a93e84b436a661de933b1ebf","sha1":"4f77d2de30e6bd6f008d9742c760ab71ea30508f","sha256":"57bfe6e3a04ca2fa517cf584ef34fdb10777fb4fd4794091ff3e55cf5cf58e02","sha512":"30f8cfb269ed6fad63c1e55d66a2dde4169ec913fbb46ce740d1b7d3544bbbf6a41c61023bd7d6ddd03370378a32510676b007a1e9b9680acd88d6afec32c239","ssdeep":"12288:oG+9yflJ374TvcxmcG/XiiUarZkOpc7u5HsEi9:oG+QHr4Tv877arZkOpc7u5HsEi9","tlshash":"38e43cd97192b43547f605e4647f0002f23d2d6a644d84acf1ace9eb39a2c8a9277f7c","size":663312,"data":"","first_seen":"2026-07-27T04:49:29.603791Z","last_seen":"2026-07-27T11:38:36.40093Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"magiclink.app/assets/LoginView-mnsUVYtn.js","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"777fb0849dc77b1869928007532f7999","sha1":"daa3f0ff42185424ce306adaf6e4dc293a017ef9","sha256":"ff3c38abcd60094dbd54958b91cbc8103cfa6bf878ef4ea4d415559cfbf01d23","sha512":"28ce2d850b667b466cc912105611e9b1cc0bbbb2942f9e876e6e284768a4945f2323d672ce9ce1c53e2c657f4f72a62f84baf768de8e7838f0a5d54fb48242ab","ssdeep":"","tlshash":"a541728c7075cefea0c780a874a91064b008eba9c131c8dcf2bd8d353fa6d129e54325","size":1948,"data":"","first_seen":"2026-07-27T04:49:29.612704Z","last_seen":"2026-07-27T11:38:36.392603Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"magiclink.app/assets/jack-in-5Oxg1GOC.js","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"8a8b32c5b7b6f7b5cbcd275b69a15093","sha1":"559a4b4501018ac5efa92946de484e82f16393de","sha256":"04f329d07cb9bc96994e395cbc5a4557f7097e82e10c8270d3125fecdaad4698","sha512":"94a0adb29b6e8531918006cc931df3925dc36b0df12f0e89fefd3d7444081cdb0cfbdb21bd469986d760214c7ccfc4fcdf23cf1b8dcf1452383afe1ade9859aa","ssdeep":"","tlshash":"e25103ad15110dedca39cba34736391cc0372aadffba0d9976d631182d7548429e8c7d","size":2880,"data":"","first_seen":"2026-07-27T04:49:29.609142Z","last_seen":"2026-07-27T11:38:36.402113Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"magiclink.app/login?redirect=/bookings","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"Function","is_inline":false,"md5":"f325222a758aeaf467ffd9902267b129","sha1":"ebb95b3866ab29d0ee9bb0755384b81ab12e000e","sha256":"cb11ef6823d7949b57e01ab9d6bb5c829be6b14322aa0dd5897a6d2d209d0672","sha512":"aa743a98e2ffb65897bee06760376bb5dbb7c2f10613ca12c8cc462ae79e1d3351855f14b3ea70088d449656bb4167061ab22d99f0eb628b9b63dc2a94131292","ssdeep":"","tlshash":"46c08cc4a0d26d001602641020af34e89024802674481b028c94d8482e220b09233ee8","size":138,"data":"","first_seen":"2023-04-14T14:41:51Z","last_seen":"2026-07-30T06:00:18.512231Z","times_seen":2644,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"magiclink.app/","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T07:49:20.509Z","timestamp":1785138560509,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"magiclink.app","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 24 Jul 2026 15:33:43 GMT","end":"Thu, 22 Oct 2026 15:33:42 GMT"},"fingerprint":{"sha1":"1A:58:07:31:51:B3:D6:84:CF:41:05:77:B4:8C:81:12:BA:C1:FD:EC","sha256":"4D:75:97:CC:DD:05:6D:BB:F6:32:82:48:AA:FB:FF:B7:B7:C1:95:D3:03:9F:31:F4:C3:24:88:0B:D1:1F:FA:FB"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: magiclink.app\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 298157\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:49:20 GMT\r\netag: \"568f9322dd67fd3472bf83e64132d148\"\r\nlast-modified: Thu, 23 Jul 2026 21:00:02 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::c5dkb-1785138560624-13fff7182dab\r\ncontent-length: 570\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":570,"size_decoded":1073,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text","md5":"568f9322dd67fd3472bf83e64132d148","sha1":"bcfc75dc196555501158cfa7565d65fdf577e890","sha256":"da1b65cf3b6d8ca009a484c64ca108a88deaacf7c05d2b001c29476104992e3f","sha512":"9f36b79f0dfd8175f74d1474badffdc668e11cacadd9e07de9e7581dfe5416265fe4d6ca13cabc3cef6fbf590090d4d04f58d2e9cdf89b463231fa994bc61df8","ssdeep":"","tlshash":"7bf0814598e18c27536002566cc1b204ed87e68b8b89580875fb807c5f84f9dc9ef868","first_seen":"2026-07-27T04:49:29.599538Z","last_seen":"2026-07-27T11:38:36.397427Z","times_seen":5,"resource_available":false,"data":"PCFkb2N0eXBlIGh0bWw+CjxodG1sIGNsYXNzPSJzY3JvbGwtc21vb3RoIGFudGlhbGlhc2VkIiBsYW5nPSJlbiI+CiAgPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCIgLz4KICAgIDxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiIC8+CiAgICA8dGl0bGU+TWFnaWMgTGluayDigJQgSmFjazwvdGl0bGU+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vcnNtcy5tZS9pbnRlci9pbnRlci5jc3MiIC8+CiAgICA8c2NyaXB0IHR5cGU9Im1vZHVsZSIgY3Jvc3NvcmlnaW4gc3JjPSIvYXNzZXRzL2luZGV4LUJrUGVWalZILmpzIj48L3NjcmlwdD4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgY3Jvc3NvcmlnaW4gaHJlZj0iL2Fzc2V0cy9pbmRleC1CUEdHV2pRaS5jc3MiPgogIDwvaGVhZD4KICA8Ym9keSBjbGFzcz0iYmctZ3JheS0xMDAiPgogICAgPGRpdiBpZD0iYXBwIj48L2Rpdj4KICA8L2JvZHk+CjwvaHRtbD4K"}},"time_used":142,"timings":{"blocked":-1,"dns":76,"connect":1,"send":0,"wait":11,"receive":23,"ssl":31},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"rsms.me/inter/inter.css","fqdn":"rsms.me","domain":"rsms.me","tld":"me"},"ip":{"addr":"172.67.197.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://magiclink.app/","date":"2026-07-27T07:49:21.056Z","timestamp":1785138561056,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"rsms.me","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 20 Jul 2026 21:14:51 GMT","end":"Sun, 18 Oct 2026 22:05:47 GMT"},"fingerprint":{"sha1":"95:E3:7B:A4:FE:13:E0:38:5E:57:29:77:38:12:2C:70:3D:D1:F1:0A","sha256":"0F:3B:AF:C5:B1:13:F8:9E:20:48:44:EC:D8:C4:63:7C:B3:6F:56:AF:65:14:AB:09:21:46:30:EF:1E:98:8F:CC"}}},"request":{"raw":"GET /inter/inter.css HTTP/1.1\r\nHost: rsms.me\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://magiclink.app/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\npriority: u=2,i=?0\r\nserver-timing: cfExtPri\r\nserver: cloudflare\r\ncontent-type: text/css; charset=utf-8\r\nx-origin-cache: HIT\r\nlast-modified: Sat, 16 Nov 2024 01:00:53 GMT\r\naccess-control-allow-origin: *\r\netag: W/\"6737eec5-2ce9\"\r\nexpires: Sun, 26 Jul 2026 01:52:39 GMT\r\ncache-control: max-age=14400\r\ncontent-encoding: gzip\r\nx-proxy-cache: HIT\r\nx-github-request-id: F376:479C2:4AC68:5B642:69BD0D14\r\naccept-ranges: bytes\r\ndate: Mon, 27 Jul 2026 07:49:21 GMT\r\nvia: 1.1 varnish\r\nage: 193\r\nx-served-by: cache-bma-essb1270070-BMA\r\nx-cache: HIT\r\nx-cache-hits: 1\r\nx-timer: S1774431097.749959,VS0,VE1\r\nvary: Accept-Encoding\r\nx-fastly-request-id: 8d611b41ad7835095794f1fb97a15ed81f170491\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=W1iiZVVD0ZuK4zLNlyiWTjBFxdcQDajriqv8e%2F%2FraPOsX2ujTSLYJwd7f%2F0Kj2DGChK1r0VY8QDN6kCj8n1FyEAzhz09iX5FNFwb9PLzUqrTdBDJeVZ41ix9\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a21a0c06bac9568a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1305\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Fastly","description":"Fastly is a cloud computing services provider. Fastly's cloud platform provides a content delivery network, Internet security services, load balancing, and video \u0026 streaming services.","website":"https://www.fastly.com","common_platform_enumeration":"","icon":"Fastly.svg","categories":["CDN"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"GitHub Pages","description":"GitHub Pages is a static site hosting service.","website":"https://pages.github.com/","common_platform_enumeration":"","icon":"GitHub.svg","categories":["PaaS"]}],"data":{"size":11497,"size_decoded":2410,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"1454fd08f0a55e5811dddf1d02acc997","sha1":"3e9cb739b9e8b732b556fddafd71c89cbfafa2f5","sha256":"46d01c7807f64a24c1b2853b756ef15f3a2facdf4a9f066eaf5d39c0c9935441","sha512":"e5e91cb83a3c44e893df6bbc1f0f4b2bbef744ef9ae72dd6f3f61588726579f77b6b3439618f0c6c61e2b0a13a058fb83ddf3ba916f0e48c790a457897ef4cb6","ssdeep":"192:AEjyGqj29TSatEr5quxdNsF+r2D2rFaaDOzhEYRtd81oZyEjJczGXyEjJczGpyER:d8j29TSatEr5quxdNsF+r2D2rFaaDOz3","tlshash":"863246506a2f1b0185438db273dbbb12792d593513d94ab13a6e091c8fef93983d0fad","first_seen":"2024-11-16T09:12:47.720666Z","last_seen":"2026-07-31T05:03:11.34942Z","times_seen":11167,"resource_available":false,"data":"LyoKRm9udCBmYW1pbGllcyBkZWZpbmVkIGJ5IHRoaXMgQ1NTOgogIC0gSW50ZXJWYXJpYWJsZSAgdmFyaWFibGUgZm9udCBmb3IgbW9kZXJuIHdlYiBicm93c2VycwogIC0gSW50ZXIgICAgICAgICAgc3RhdGljIGZvbnRzIGZvciBvbGRlciB3ZWIgYnJvd3NlcnMgKHNtYWxsIG9wdGljYWwgc2l6ZSkKICAtIEludGVyRGlzcGxheSAgIHN0YXRpYyBmb250cyBmb3Igb2xkZXIgd2ViIGJyb3dzZXJzIChsYXJnZSBvcHRpY2FsIHNpemUpCgpVc2FnZSBleGFtcGxlOgogIDpyb290IHsgZm9udC1mYW1pbHk6IEludGVyLCBzYW5zLXNlcmlmOyB9CiAgQHN1cHBvcnRzIChmb250LXZhcmlhdGlvbi1zZXR0aW5nczogbm9ybWFsKSB7CiAgICA6cm9vdCB7IGZvbnQtZmFtaWx5OiBJbnRlclZhcmlhYmxlLCBzYW5zLXNlcmlmOyB9CiAgfQoKKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6IEludGVyVmFyaWFibGU7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDAgOTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybCgnZm9udC1maWxlcy9JbnRlclZhcmlhYmxlLndvZmYyP3Y9NC4xJykgZm9ybWF0KCd3b2ZmMicpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiBJbnRlclZhcmlhYmxlOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMTAwIDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoJ2ZvbnQtZmlsZXMvSW50ZXJWYXJpYWJsZS1JdGFsaWMud29mZjI/dj00LjEnKSBmb3JtYXQoJ3dvZmYyJyk7Cn0KLyogbGVnYWN5IG5hbWUgIkludGVyIHZhciIgKE9jdCAyMDIzKSAqLwpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6J0ludGVyIHZhcic7IGZvbnQtc3R5bGU6bm9ybWFsOyBmb250LXdlaWdodDoxMDAgOTAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOiB1cmwoJ2ZvbnQtZmlsZXMvSW50ZXJWYXJpYWJsZS53b2ZmMj92PTQuMScpIGZvcm1hdCgnd29mZjInKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6J0ludGVyIHZhcic7IGZvbnQtc3R5bGU6aXRhbGljOyBmb250LXdlaWdodDoxMDAgOTAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOiB1cmwoJ2ZvbnQtZmlsZXMvSW50ZXJWYXJpYWJsZS1JdGFsaWMud29mZjI/dj00LjEnKSBmb3JtYXQoJ3dvZmYyJyk7IH0KLyogc3RhdGljIGZvbnRzICovCkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlcjsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0OjEwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXItVGhpbi53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXI7IGZvbnQtc3R5bGU6aXRhbGljOyBmb250LXdlaWdodDoxMDA7IGZvbnQtZGlzcGxheTpzd2FwOyBzcmM6dXJsKCJmb250LWZpbGVzL0ludGVyLVRoaW5JdGFsaWMud29mZjI/dj00LjEiKSBmb3JtYXQoIndvZmYyIik7IH0KQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OkludGVyOyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6MjAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlci1FeHRyYUxpZ2h0LndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlcjsgZm9udC1zdHlsZTppdGFsaWM7IGZvbnQtd2VpZ2h0OjIwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXItRXh0cmFMaWdodEl0YWxpYy53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXI7IGZvbnQtc3R5bGU6bm9ybWFsOyBmb250LXdlaWdodDozMDA7IGZvbnQtZGlzcGxheTpzd2FwOyBzcmM6dXJsKCJmb250LWZpbGVzL0ludGVyLUxpZ2h0LndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlcjsgZm9udC1zdHlsZTppdGFsaWM7IGZvbnQtd2VpZ2h0OjMwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXItTGlnaHRJdGFsaWMud29mZjI/dj00LjEiKSBmb3JtYXQoIndvZmYyIik7IH0KQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OkludGVyOyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6NDAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlci1SZWd1bGFyLndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlcjsgZm9udC1zdHlsZTppdGFsaWM7IGZvbnQtd2VpZ2h0OjQwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXItSXRhbGljLndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlcjsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0OjUwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXItTWVkaXVtLndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlcjsgZm9udC1zdHlsZTppdGFsaWM7IGZvbnQtd2VpZ2h0OjUwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXItTWVkaXVtSXRhbGljLndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlcjsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0OjYwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXItU2VtaUJvbGQud29mZjI/dj00LjEiKSBmb3JtYXQoIndvZmYyIik7IH0KQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OkludGVyOyBmb250LXN0eWxlOml0YWxpYzsgZm9udC13ZWlnaHQ6NjAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlci1TZW1pQm9sZEl0YWxpYy53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXI7IGZvbnQtc3R5bGU6bm9ybWFsOyBmb250LXdlaWdodDo3MDA7IGZvbnQtZGlzcGxheTpzd2FwOyBzcmM6dXJsKCJmb250LWZpbGVzL0ludGVyLUJvbGQud29mZjI/dj00LjEiKSBmb3JtYXQoIndvZmYyIik7IH0KQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OkludGVyOyBmb250LXN0eWxlOml0YWxpYzsgZm9udC13ZWlnaHQ6NzAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlci1Cb2xkSXRhbGljLndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlcjsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0OjgwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXItRXh0cmFCb2xkLndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlcjsgZm9udC1zdHlsZTppdGFsaWM7IGZvbnQtd2VpZ2h0OjgwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXItRXh0cmFCb2xkSXRhbGljLndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlcjsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0OjkwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXItQmxhY2sud29mZjI/dj00LjEiKSBmb3JtYXQoIndvZmYyIik7IH0KQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OkludGVyOyBmb250LXN0eWxlOml0YWxpYzsgZm9udC13ZWlnaHQ6OTAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlci1CbGFja0l0YWxpYy53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXJEaXNwbGF5OyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6MTAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlckRpc3BsYXktVGhpbi53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXJEaXNwbGF5OyBmb250LXN0eWxlOml0YWxpYzsgZm9udC13ZWlnaHQ6MTAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlckRpc3BsYXktVGhpbkl0YWxpYy53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXJEaXNwbGF5OyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6MjAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlckRpc3BsYXktRXh0cmFMaWdodC53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXJEaXNwbGF5OyBmb250LXN0eWxlOml0YWxpYzsgZm9udC13ZWlnaHQ6MjAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlckRpc3BsYXktRXh0cmFMaWdodEl0YWxpYy53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXJEaXNwbGF5OyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6MzAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlckRpc3BsYXktTGlnaHQud29mZjI/dj00LjEiKSBmb3JtYXQoIndvZmYyIik7IH0KQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OkludGVyRGlzcGxheTsgZm9udC1zdHlsZTppdGFsaWM7IGZvbnQtd2VpZ2h0OjMwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXJEaXNwbGF5LUxpZ2h0SXRhbGljLndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlckRpc3BsYXk7IGZvbnQtc3R5bGU6bm9ybWFsOyBmb250LXdlaWdodDo0MDA7IGZvbnQtZGlzcGxheTpzd2FwOyBzcmM6dXJsKCJmb250LWZpbGVzL0ludGVyRGlzcGxheS1SZWd1bGFyLndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlckRpc3BsYXk7IGZvbnQtc3R5bGU6aXRhbGljOyBmb250LXdlaWdodDo0MDA7IGZvbnQtZGlzcGxheTpzd2FwOyBzcmM6dXJsKCJmb250LWZpbGVzL0ludGVyRGlzcGxheS1JdGFsaWMud29mZjI/dj00LjEiKSBmb3JtYXQoIndvZmYyIik7IH0KQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OkludGVyRGlzcGxheTsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0OjUwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXJEaXNwbGF5LU1lZGl1bS53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXJEaXNwbGF5OyBmb250LXN0eWxlOml0YWxpYzsgZm9udC13ZWlnaHQ6NTAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlckRpc3BsYXktTWVkaXVtSXRhbGljLndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlckRpc3BsYXk7IGZvbnQtc3R5bGU6bm9ybWFsOyBmb250LXdlaWdodDo2MDA7IGZvbnQtZGlzcGxheTpzd2FwOyBzcmM6dXJsKCJmb250LWZpbGVzL0ludGVyRGlzcGxheS1TZW1pQm9sZC53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXJEaXNwbGF5OyBmb250LXN0eWxlOml0YWxpYzsgZm9udC13ZWlnaHQ6NjAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlckRpc3BsYXktU2VtaUJvbGRJdGFsaWMud29mZjI/dj00LjEiKSBmb3JtYXQoIndvZmYyIik7IH0KQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OkludGVyRGlzcGxheTsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0OjcwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXJEaXNwbGF5LUJvbGQud29mZjI/dj00LjEiKSBmb3JtYXQoIndvZmYyIik7IH0KQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OkludGVyRGlzcGxheTsgZm9udC1zdHlsZTppdGFsaWM7IGZvbnQtd2VpZ2h0OjcwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXJEaXNwbGF5LUJvbGRJdGFsaWMud29mZjI/dj00LjEiKSBmb3JtYXQoIndvZmYyIik7IH0KQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OkludGVyRGlzcGxheTsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0OjgwMDsgZm9udC1kaXNwbGF5OnN3YXA7IHNyYzp1cmwoImZvbnQtZmlsZXMvSW50ZXJEaXNwbGF5LUV4dHJhQm9sZC53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXJEaXNwbGF5OyBmb250LXN0eWxlOml0YWxpYzsgZm9udC13ZWlnaHQ6ODAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlckRpc3BsYXktRXh0cmFCb2xkSXRhbGljLndvZmYyP3Y9NC4xIikgZm9ybWF0KCJ3b2ZmMiIpOyB9CkBmb250LWZhY2UgeyBmb250LWZhbWlseTpJbnRlckRpc3BsYXk7IGZvbnQtc3R5bGU6bm9ybWFsOyBmb250LXdlaWdodDo5MDA7IGZvbnQtZGlzcGxheTpzd2FwOyBzcmM6dXJsKCJmb250LWZpbGVzL0ludGVyRGlzcGxheS1CbGFjay53b2ZmMj92PTQuMSIpIGZvcm1hdCgid29mZjIiKTsgfQpAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6SW50ZXJEaXNwbGF5OyBmb250LXN0eWxlOml0YWxpYzsgZm9udC13ZWlnaHQ6OTAwOyBmb250LWRpc3BsYXk6c3dhcDsgc3JjOnVybCgiZm9udC1maWxlcy9JbnRlckRpc3BsYXktQmxhY2tJdGFsaWMud29mZjI/dj00LjEiKSBmb3JtYXQoIndvZmYyIik7IH0KCkBmb250LWZlYXR1cmUtdmFsdWVzIEludGVyVmFyaWFibGUgewogICAgQGNoYXJhY3Rlci12YXJpYW50IHsKICAgICAgICBjdjAxOiAxOyBjdjAyOiAyOyBjdjAzOiAzOyBjdjA0OiA0OyBjdjA1OiA1OyBjdjA2OiA2OyBjdjA3OiA3OyBjdjA4OiA4OwogICAgICAgIGN2MDk6IDk7IGN2MTA6IDEwOyBjdjExOiAxMTsgY3YxMjogMTI7IGN2MTM6IDEzOwogICAgICAgIGFsdC0xOiAgICAgICAgICAgIDE7IC8qIEFsdGVybmF0ZSBvbmUgKi8KICAgICAgICBhbHQtMzogICAgICAgICAgICA5OyAvKiBGbGF0LXRvcCB0aHJlZSAqLwogICAgICAgIG9wZW4tNDogICAgICAgICAgIDI7IC8qIE9wZW4gZm91ciAqLwogICAgICAgIG9wZW4tNjogICAgICAgICAgIDM7IC8qIE9wZW4gc2l4ICovCiAgICAgICAgb3Blbi05OiAgICAgICAgICAgNDsgLyogT3BlbiBuaW5lICovCiAgICAgICAgbGMtbC13aXRoLXRhaWw6ICAgNTsgLyogTG93ZXItY2FzZSBMIHdpdGggdGFpbCAqLwogICAgICAgIHNpbXBsaWZpZWQtdTogICAgIDY7IC8qIFNpbXBsaWZpZWQgdSAqLwogICAgICAgIGFsdC1kb3VibGUtczogICAgIDc7IC8qIEFsdGVybmF0ZSBHZXJtYW4gZG91YmxlIHMgKi8KICAgICAgICB1Yy1pLXdpdGgtc2VyaWY6ICA4OyAvKiBVcHBlci1jYXNlIGkgd2l0aCBzZXJpZiAqLwogICAgICAgIHVjLWctd2l0aC1zcHVyOiAgMTA7IC8qIENhcGl0YWwgRyB3aXRoIHNwdXIgKi8KICAgICAgICBzaW5nbGUtc3RvcnktYTogIDExOyAvKiBTaW5nbGUtc3RvcnkgYSAqLwogICAgICAgIGNvbXBhY3QtbGMtZjogICAgMTI7IC8qIENvbXBhY3QgZiAqLwogICAgICAgIGNvbXBhY3QtbGMtdDogICAgMTM7IC8qIENvbXBhY3QgdCAqLwogICAgfQogICAgQHN0eWxlc2V0IHsKICAgICAgICBzczAxOiAxOyBzczAyOiAyOyBzczAzOiAzOyBzczA0OiA0OyBzczA1OiA1OyBzczA2OiA2OyBzczA3OiA3OyBzczA4OiA4OwogICAgICAgIG9wZW4tZGlnaXRzOiAxOyAgICAgICAgICAgICAgICAvKiBPcGVuIGRpZ2l0cyAqLwogICAgICAgIGRpc2FtYmlndWF0aW9uOiAyOyAgICAgICAgICAgICAvKiBEaXNhbWJpZ3VhdGlvbiAod2l0aCB6ZXJvKSAqLwogICAgICAgIGRpc2FtYmlndWF0aW9uLWV4Y2VwdC16ZXJvOiA0OyAvKiBEaXNhbWJpZ3VhdGlvbiAobm8gemVybykgKi8KICAgICAgICByb3VuZC1xdW90ZXMtYW5kLWNvbW1hczogMzsgICAgLyogUm91bmQgcXVvdGVzICZhbXA7IGNvbW1hcyAqLwogICAgICAgIHNxdWFyZS1wdW5jdHVhdGlvbjogNzsgICAgICAgICAvKiBTcXVhcmUgcHVuY3R1YXRpb24gKi8KICAgICAgICBzcXVhcmUtcXVvdGVzOiA4OyAgICAgICAgICAgICAgLyogU3F1YXJlIHF1b3RlcyAqLwogICAgICAgIGNpcmNsZWQtY2hhcmFjdGVyczogNTsgICAgICAgICAvKiBDaXJjbGVkIGNoYXJhY3RlcnMgKi8KICAgICAgICBzcXVhcmVkLWNoYXJhY3RlcnM6IDY7ICAgICAgICAgLyogU3F1YXJlZCBjaGFyYWN0ZXJzICovCiAgICB9Cn0KQGZvbnQtZmVhdHVyZS12YWx1ZXMgSW50ZXIgewogICAgQGNoYXJhY3Rlci12YXJpYW50IHsKICAgICAgICBjdjAxOiAxOyBjdjAyOiAyOyBjdjAzOiAzOyBjdjA0OiA0OyBjdjA1OiA1OyBjdjA2OiA2OyBjdjA3OiA3OyBjdjA4OiA4OwogICAgICAgIGN2MDk6IDk7IGN2MTA6IDEwOyBjdjExOiAxMTsgY3YxMjogMTI7IGN2MTM6IDEzOwogICAgICAgIGFsdC0xOiAgICAgICAgICAgIDE7IC8qIEFsdGVybmF0ZSBvbmUgKi8KICAgICAgICBhbHQtMzogICAgICAgICAgICA5OyAvKiBGbGF0LXRvcCB0aHJlZSAqLwogICAgICAgIG9wZW4tNDogICAgICAgICAgIDI7IC8qIE9wZW4gZm91ciAqLwogICAgICAgIG9wZW4tNjogICAgICAgICAgIDM7IC8qIE9wZW4gc2l4ICovCiAgICAgICAgb3Blbi05OiAgICAgICAgICAgNDsgLyogT3BlbiBuaW5lICovCiAgICAgICAgbGMtbC13aXRoLXRhaWw6ICAgNTsgLyogTG93ZXItY2FzZSBMIHdpdGggdGFpbCAqLwogICAgICAgIHNpbXBsaWZpZWQtdTogICAgIDY7IC8qIFNpbXBsaWZpZWQgdSAqLwogICAgICAgIGFsdC1kb3VibGUtczogICAgIDc7IC8qIEFsdGVybmF0ZSBHZXJtYW4gZG91YmxlIHMgKi8KICAgICAgICB1Yy1pLXdpdGgtc2VyaWY6ICA4OyAvKiBVcHBlci1jYXNlIGkgd2l0aCBzZXJpZiAqLwogICAgICAgIHVjLWctd2l0aC1zcHVyOiAgMTA7IC8qIENhcGl0YWwgRyB3aXRoIHNwdXIgKi8KICAgICAgICBzaW5nbGUtc3RvcnktYTogIDExOyAvKiBTaW5nbGUtc3RvcnkgYSAqLwogICAgICAgIGNvbXBhY3QtbGMtZjogICAgMTI7IC8qIENvbXBhY3QgZiAqLwogICAgICAgIGNvbXBhY3QtbGMtdDogICAgMTM7IC8qIENvbXBhY3QgdCAqLwogICAgfQogICAgQHN0eWxlc2V0IHsKICAgICAgICBzczAxOiAxOyBzczAyOiAyOyBzczAzOiAzOyBzczA0OiA0OyBzczA1OiA1OyBzczA2OiA2OyBzczA3OiA3OyBzczA4OiA4OwogICAgICAgIG9wZW4tZGlnaXRzOiAxOyAgICAgICAgICAgICAgICAvKiBPcGVuIGRpZ2l0cyAqLwogICAgICAgIGRpc2FtYmlndWF0aW9uOiAyOyAgICAgICAgICAgICAvKiBEaXNhbWJpZ3VhdGlvbiAod2l0aCB6ZXJvKSAqLwogICAgICAgIGRpc2FtYmlndWF0aW9uLWV4Y2VwdC16ZXJvOiA0OyAvKiBEaXNhbWJpZ3VhdGlvbiAobm8gemVybykgKi8KICAgICAgICByb3VuZC1xdW90ZXMtYW5kLWNvbW1hczogMzsgICAgLyogUm91bmQgcXVvdGVzICZhbXA7IGNvbW1hcyAqLwogICAgICAgIHNxdWFyZS1wdW5jdHVhdGlvbjogNzsgICAgICAgICAvKiBTcXVhcmUgcHVuY3R1YXRpb24gKi8KICAgICAgICBzcXVhcmUtcXVvdGVzOiA4OyAgICAgICAgICAgICAgLyogU3F1YXJlIHF1b3RlcyAqLwogICAgICAgIGNpcmNsZWQtY2hhcmFjdGVyczogNTsgICAgICAgICAvKiBDaXJjbGVkIGNoYXJhY3RlcnMgKi8KICAgICAgICBzcXVhcmVkLWNoYXJhY3RlcnM6IDY7ICAgICAgICAgLyogU3F1YXJlZCBjaGFyYWN0ZXJzICovCiAgICB9Cn0KQGZvbnQtZmVhdHVyZS12YWx1ZXMgSW50ZXJEaXNwbGF5IHsKICAgIEBjaGFyYWN0ZXItdmFyaWFudCB7CiAgICAgICAgY3YwMTogMTsgY3YwMjogMjsgY3YwMzogMzsgY3YwNDogNDsgY3YwNTogNTsgY3YwNjogNjsgY3YwNzogNzsgY3YwODogODsKICAgICAgICBjdjA5OiA5OyBjdjEwOiAxMDsgY3YxMTogMTE7IGN2MTI6IDEyOyBjdjEzOiAxMzsKICAgICAgICBhbHQtMTogICAgICAgICAgICAxOyAvKiBBbHRlcm5hdGUgb25lICovCiAgICAgICAgYWx0LTM6ICAgICAgICAgICAgOTsgLyogRmxhdC10b3AgdGhyZWUgKi8KICAgICAgICBvcGVuLTQ6ICAgICAgICAgICAyOyAvKiBPcGVuIGZvdXIgKi8KICAgICAgICBvcGVuLTY6ICAgICAgICAgICAzOyAvKiBPcGVuIHNpeCAqLwogICAgICAgIG9wZW4tOTogICAgICAgICAgIDQ7IC8qIE9wZW4gbmluZSAqLwogICAgICAgIGxjLWwtd2l0aC10YWlsOiAgIDU7IC8qIExvd2VyLWNhc2UgTCB3aXRoIHRhaWwgKi8KICAgICAgICBzaW1wbGlmaWVkLXU6ICAgICA2OyAvKiBTaW1wbGlmaWVkIHUgKi8KICAgICAgICBhbHQtZG91YmxlLXM6ICAgICA3OyAvKiBBbHRlcm5hdGUgR2VybWFuIGRvdWJsZSBzICovCiAgICAgICAgdWMtaS13aXRoLXNlcmlmOiAgODsgLyogVXBwZXItY2FzZSBpIHdpdGggc2VyaWYgKi8KICAgICAgICB1Yy1nLXdpdGgtc3B1cjogIDEwOyAvKiBDYXBpdGFsIEcgd2l0aCBzcHVyICovCiAgICAgICAgc2luZ2xlLXN0b3J5LWE6ICAxMTsgLyogU2luZ2xlLXN0b3J5IGEgKi8KICAgICAgICBjb21wYWN0LWxjLWY6ICAgIDEyOyAvKiBDb21wYWN0IGYgKi8KICAgICAgICBjb21wYWN0LWxjLXQ6ICAgIDEzOyAvKiBDb21wYWN0IHQgKi8KICAgIH0KICAgIEBzdHlsZXNldCB7CiAgICAgICAgc3MwMTogMTsgc3MwMjogMjsgc3MwMzogMzsgc3MwNDogNDsgc3MwNTogNTsgc3MwNjogNjsgc3MwNzogNzsgc3MwODogODsKICAgICAgICBvcGVuLWRpZ2l0czogMTsgICAgICAgICAgICAgICAgLyogT3BlbiBkaWdpdHMgKi8KICAgICAgICBkaXNhbWJpZ3VhdGlvbjogMjsgICAgICAgICAgICAgLyogRGlzYW1iaWd1YXRpb24gKHdpdGggemVybykgKi8KICAgICAgICBkaXNhbWJpZ3VhdGlvbi1leGNlcHQtemVybzogNDsgLyogRGlzYW1iaWd1YXRpb24gKG5vIHplcm8pICovCiAgICAgICAgcm91bmQtcXVvdGVzLWFuZC1jb21tYXM6IDM7ICAgIC8qIFJvdW5kIHF1b3RlcyAmYW1wOyBjb21tYXMgKi8KICAgICAgICBzcXVhcmUtcHVuY3R1YXRpb246IDc7ICAgICAgICAgLyogU3F1YXJlIHB1bmN0dWF0aW9uICovCiAgICAgICAgc3F1YXJlLXF1b3RlczogODsgICAgICAgICAgICAgIC8qIFNxdWFyZSBxdW90ZXMgKi8KICAgICAgICBjaXJjbGVkLWNoYXJhY3RlcnM6IDU7ICAgICAgICAgLyogQ2lyY2xlZCBjaGFyYWN0ZXJzICovCiAgICAgICAgc3F1YXJlZC1jaGFyYWN0ZXJzOiA2OyAgICAgICAgIC8qIFNxdWFyZWQgY2hhcmFjdGVycyAqLwogICAgfQp9Cg=="}},"time_used":24,"timings":{"blocked":-1,"dns":3,"connect":14,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"magiclink.app/assets/index-BPGGWjQi.css","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://magiclink.app/","date":"2026-07-27T07:49:21.059Z","timestamp":1785138561059,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"magiclink.app","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 24 Jul 2026 15:33:43 GMT","end":"Thu, 22 Oct 2026 15:33:42 GMT"},"fingerprint":{"sha1":"1A:58:07:31:51:B3:D6:84:CF:41:05:77:B4:8C:81:12:BA:C1:FD:EC","sha256":"4D:75:97:CC:DD:05:6D:BB:F6:32:82:48:AA:FB:FF:B7:B7:C1:95:D3:03:9F:31:F4:C3:24:88:0B:D1:1F:FA:FB"}}},"request":{"raw":"GET /assets/index-BPGGWjQi.css HTTP/1.1\r\nHost: magiclink.app\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://magiclink.app/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 319460\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline; filename=\"index-BPGGWjQi.css\"\r\ncontent-encoding: br\r\ncontent-type: text/css; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:49:21 GMT\r\netag: W/\"c70e254cec485db418d6be766b0bdb4a\"\r\nlast-modified: Thu, 23 Jul 2026 15:05:00 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::6r9hq-1785138561065-2dc60a9dae1c\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":52477,"size_decoded":9636,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (52476)","md5":"c70e254cec485db418d6be766b0bdb4a","sha1":"0b336993b66450c220f4415fbae87c8f16b873d7","sha256":"e9adcd33054b97872474e8403d200c1fc7fbcc845e5c678db63ceaee8bf353a0","sha512":"77c2cf1a852d821dcff4da8520bb68af33c0eb6493a5684b4e7406337928b514a2d5a1fc3ccaac5b0dadfe44c6ed38164814ada95c79a09f4109d2d2fbba82ab","ssdeep":"384:s0kIOHwdNWB3VEVIc5TqMUIyTX/T/Hu2dMo9s:zOQdNWB3zMUru2uMs","tlshash":"6f33541dba50413f6c2384f9d798f5adb21a70c4df395aebad8621219bc63f71c93128","first_seen":"2026-07-27T04:49:29.606738Z","last_seen":"2026-07-27T11:38:36.387952Z","times_seen":5,"resource_available":false,"data":"QHRhaWx3aW5kIHV0aWxpdGllcztzZWxlY3R7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNlJTNjcGF0aCBzdHJva2U9JyUyMzZiNzI4MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nTTYgOGw0IDQgNC00Jy8lM2UlM2Mvc3ZnJTNlIik7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAuNXJlbSBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToxLjVlbSAxLjVlbTtwYWRkaW5nLXJpZ2h0OjIuNXJlbTstd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDpleGFjdDtwcmludC1jb2xvci1hZGp1c3Q6ZXhhY3R9W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSd3aGl0ZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZD0nTTEyLjIwNyA0Ljc5M2ExIDEgMCAwMTAgMS40MTRsLTUgNWExIDEgMCAwMS0xLjQxNCAwbC0yLTJhMSAxIDAgMDExLjQxNC0xLjQxNEw2LjUgOS4wODZsNC4yOTMtNC4yOTNhMSAxIDAgMDExLjQxNCAweicvJTNlJTNjL3N2ZyUzZSIpfVt0eXBlPXJhZGlvXTpjaGVja2Vke2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nd2hpdGUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgY3g9JzgnIGN5PSc4JyByPSczJy8lM2UlM2Mvc3ZnJTNlIil9W3R5cGU9Y2hlY2tib3hdOmluZGV0ZXJtaW5hdGV7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBzdHJva2U9J3doaXRlJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgOGg4Jy8lM2UlM2Mvc3ZnJTNlIik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fTpyb290ey0tY29sb3ItcHJpbWFyeS01MDogMjQ2IDI1MSAyNTE7LS1jb2xvci1wcmltYXJ5LTEwMDogMjM2IDI0OCAyNDc7LS1jb2xvci1wcmltYXJ5LTIwMDogMjA5IDIzNyAyMzU7LS1jb2xvci1wcmltYXJ5LTMwMDogMTgxIDIyNiAyMjM7LS1jb2xvci1wcmltYXJ5LTQwMDogMTI1IDIwNSAxOTg7LS1jb2xvci1wcmltYXJ5LTUwMDogNjkgMTgzIDE3NDstLWNvbG9yLXByaW1hcnktNjAwOiA2MiAxNjUgMTU3Oy0tY29sb3ItcHJpbWFyeS03MDA6IDUyIDEzNyAxMzE7LS1jb2xvci1wcmltYXJ5LTgwMDogNDEgMTEwIDEwNDstLWNvbG9yLXByaW1hcnktOTAwOiAzNCA5MCA4NTstLWJvcmRlci1yYWRpdXMtcHJpbWFyeTogLjM3NXJlbX0qLDpiZWZvcmUsOmFmdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItd2lkdGg6MDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiNlNWU3ZWJ9OmJlZm9yZSw6YWZ0ZXJ7LS10dy1jb250ZW50OiAiIn1odG1sLDpob3N0e2xpbmUtaGVpZ2h0OjEuNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbW96LXRhYi1zaXplOjQ7LW8tdGFiLXNpemU6NDt0YWItc2l6ZTo0O2ZvbnQtZmFtaWx5OkludGVyIHZhcixzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoiY3YxMSIsInNzMDEiO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOm5vcm1hbDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Ym9keXttYXJnaW46MDtsaW5lLWhlaWdodDppbmhlcml0fWhye2hlaWdodDowO2NvbG9yOmluaGVyaXQ7Ym9yZGVyLXRvcC13aWR0aDoxcHh9YWJicjp3aGVyZShbdGl0bGVdKXstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjppbmhlcml0fWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1jb2RlLGtiZCxzYW1wLHByZXtmb250LWZhbWlseTp1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxDb3VyaWVyIE5ldyxtb25vc3BhY2U7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7Zm9udC1zaXplOjFlbX1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19dGFibGV7dGV4dC1pbmRlbnQ6MDtib3JkZXItY29sb3I6aW5oZXJpdDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7Zm9udC1zaXplOjEwMCU7Zm9udC13ZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDttYXJnaW46MDtwYWRkaW5nOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dDp3aGVyZShbdHlwZT1idXR0b25dKSxpbnB1dDp3aGVyZShbdHlwZT1yZXNldF0pLGlucHV0OndoZXJlKFt0eXBlPXN1Ym1pdF0pey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmV9Oi1tb3otZm9jdXNyaW5ne291dGxpbmU6YXV0b306LW1vei11aS1pbnZhbGlke2JveC1zaGFkb3c6bm9uZX1wcm9ncmVzc3t2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtvdXRsaW5lLW9mZnNldDotMnB4fTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Zm9udDppbmhlcml0fXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19YmxvY2txdW90ZSxkbCxkZCxoMSxoMixoMyxoNCxoNSxoNixocixmaWd1cmUscCxwcmV7bWFyZ2luOjB9ZmllbGRzZXR7bWFyZ2luOjA7cGFkZGluZzowfWxlZ2VuZHtwYWRkaW5nOjB9b2wsdWwsbWVudXtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowfWRpYWxvZ3twYWRkaW5nOjB9dGV4dGFyZWF7cmVzaXplOnZlcnRpY2FsfWlucHV0OjotbW96LXBsYWNlaG9sZGVyLHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVye29wYWNpdHk6MTtjb2xvcjojOWNhM2FmfWlucHV0OjpwbGFjZWhvbGRlcix0ZXh0YXJlYTo6cGxhY2Vob2xkZXJ7b3BhY2l0eToxO2NvbG9yOiM5Y2EzYWZ9YnV0dG9uLFtyb2xlPWJ1dHRvbl17Y3Vyc29yOnBvaW50ZXJ9OmRpc2FibGVke2N1cnNvcjpkZWZhdWx0fWltZyxzdmcsdmlkZW8sY2FudmFzLGF1ZGlvLGlmcmFtZSxlbWJlZCxvYmplY3R7ZGlzcGxheTpibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9aW1nLHZpZGVve21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfVtoaWRkZW5de2Rpc3BsYXk6bm9uZX1bdHlwZT10ZXh0XSxpbnB1dDp3aGVyZSg6bm90KFt0eXBlXSkpLFt0eXBlPWVtYWlsXSxbdHlwZT11cmxdLFt0eXBlPXBhc3N3b3JkXSxbdHlwZT1udW1iZXJdLFt0eXBlPWRhdGVdLFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxbdHlwZT1tb250aF0sW3R5cGU9c2VhcmNoXSxbdHlwZT10ZWxdLFt0eXBlPXRpbWVdLFt0eXBlPXdlZWtdLFttdWx0aXBsZV0sdGV4dGFyZWEsc2VsZWN0ey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiM2YjcyODA7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItcmFkaXVzOjA7cGFkZGluZzouNXJlbSAuNzVyZW07Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS41cmVtOy0tdHctc2hhZG93OiAwIDAgIzAwMDB9W3R5cGU9dGV4dF06Zm9jdXMsaW5wdXQ6d2hlcmUoOm5vdChbdHlwZV0pKTpmb2N1cyxbdHlwZT1lbWFpbF06Zm9jdXMsW3R5cGU9dXJsXTpmb2N1cyxbdHlwZT1wYXNzd29yZF06Zm9jdXMsW3R5cGU9bnVtYmVyXTpmb2N1cyxbdHlwZT1kYXRlXTpmb2N1cyxbdHlwZT1kYXRldGltZS1sb2NhbF06Zm9jdXMsW3R5cGU9bW9udGhdOmZvY3VzLFt0eXBlPXNlYXJjaF06Zm9jdXMsW3R5cGU9dGVsXTpmb2N1cyxbdHlwZT10aW1lXTpmb2N1cyxbdHlwZT13ZWVrXTpmb2N1cyxbbXVsdGlwbGVdOmZvY3VzLHRleHRhcmVhOmZvY3VzLHNlbGVjdDpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCB0cmFuc3BhcmVudDtvdXRsaW5lLW9mZnNldDoycHg7LS10dy1yaW5nLWluc2V0OiB2YXIoLS10dy1lbXB0eSwgKTstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7LS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjstLXR3LXJpbmctY29sb3I6ICMyNTYzZWI7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7LS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygxcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KTtib3JkZXItY29sb3I6IzI1NjNlYn1pbnB1dDo6LW1vei1wbGFjZWhvbGRlcix0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNmI3MjgwO29wYWNpdHk6MX1pbnB1dDo6cGxhY2Vob2xkZXIsdGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOiM2YjcyODA7b3BhY2l0eToxfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVye3BhZGRpbmc6MH06Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZXttaW4taGVpZ2h0OjEuNWVtO3RleHQtYWxpZ246aW5oZXJpdH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdHtkaXNwbGF5OmlubGluZS1mbGV4fTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQsOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkLDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZCw6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taWxsaXNlY29uZC1maWVsZCw6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tZXJpZGllbS1maWVsZHtwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjB9c2VsZWN0e2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nbm9uZScgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggc3Ryb2tlPSclMjM2YjcyODAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J002IDhsNCA0IDQtNCcvJTNlJTNjL3N2ZyUzZSIpO2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgLjVyZW0gY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6MS41ZW0gMS41ZW07cGFkZGluZy1yaWdodDoyLjVyZW07LXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6ZXhhY3Q7cHJpbnQtY29sb3ItYWRqdXN0OmV4YWN0fVttdWx0aXBsZV0sW3NpemVdOndoZXJlKHNlbGVjdDpub3QoW3NpemU9IjEiXSkpe2JhY2tncm91bmQtaW1hZ2U6aW5pdGlhbDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmluaXRpYWw7YmFja2dyb3VuZC1yZXBlYXQ6dW5zZXQ7YmFja2dyb3VuZC1zaXplOmluaXRpYWw7cGFkZGluZy1yaWdodDouNzVyZW07LXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6dW5zZXQ7cHJpbnQtY29sb3ItYWRqdXN0OnVuc2V0fVt0eXBlPWNoZWNrYm94XSxbdHlwZT1yYWRpb117LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO3BhZGRpbmc6MDstd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDpleGFjdDtwcmludC1jb2xvci1hZGp1c3Q6ZXhhY3Q7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2JhY2tncm91bmQtb3JpZ2luOmJvcmRlci1ib3g7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjFyZW07d2lkdGg6MXJlbTtjb2xvcjojMjU2M2ViO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6IzZiNzI4MDtib3JkZXItd2lkdGg6MXB4Oy0tdHctc2hhZG93OiAwIDAgIzAwMDB9W3R5cGU9Y2hlY2tib3hde2JvcmRlci1yYWRpdXM6MH1bdHlwZT1yYWRpb117Ym9yZGVyLXJhZGl1czoxMDAlfVt0eXBlPWNoZWNrYm94XTpmb2N1cyxbdHlwZT1yYWRpb106Zm9jdXN7b3V0bGluZToycHggc29saWQgdHJhbnNwYXJlbnQ7b3V0bGluZS1vZmZzZXQ6MnB4Oy0tdHctcmluZy1pbnNldDogdmFyKC0tdHctZW1wdHksICk7LS10dy1yaW5nLW9mZnNldC13aWR0aDogMnB4Oy0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7LS10dy1yaW5nLWNvbG9yOiAjMjU2M2ViOy0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQsW3R5cGU9cmFkaW9dOmNoZWNrZWR7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fVt0eXBlPWNoZWNrYm94XTpjaGVja2Vke2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nd2hpdGUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLyUzZSUzYy9zdmclM2UiKX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSl7W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWR7LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG87LW1vei1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTphdXRvfX1bdHlwZT1yYWRpb106Y2hlY2tlZHtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGN4PSc4JyBjeT0nOCcgcj0nMycvJTNlJTNjL3N2ZyUzZSIpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKXtbdHlwZT1yYWRpb106Y2hlY2tlZHstd2Via2l0LWFwcGVhcmFuY2U6YXV0bzstbW96LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOmF1dG99fVt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmhvdmVyLFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmZvY3VzLFt0eXBlPXJhZGlvXTpjaGVja2VkOmhvdmVyLFt0eXBlPXJhZGlvXTpjaGVja2VkOmZvY3Vze2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn1bdHlwZT1jaGVja2JveF06aW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9J25vbmUnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA4aDgnLyUzZSUzYy9zdmclM2UiKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3I7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9QG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpe1t0eXBlPWNoZWNrYm94XTppbmRldGVybWluYXRley13ZWJraXQtYXBwZWFyYW5jZTphdXRvOy1tb3otYXBwZWFyYW5jZTphdXRvO2FwcGVhcmFuY2U6YXV0b319W3R5cGU9Y2hlY2tib3hdOmluZGV0ZXJtaW5hdGU6aG92ZXIsW3R5cGU9Y2hlY2tib3hdOmluZGV0ZXJtaW5hdGU6Zm9jdXN7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfVt0eXBlPWZpbGVde2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czowO3BhZGRpbmc6MDtmb250LXNpemU6dW5zZXQ7bGluZS1oZWlnaHQ6aW5oZXJpdH1bdHlwZT1maWxlXTpmb2N1c3tvdXRsaW5lOjFweCBzb2xpZCBCdXR0b25UZXh0O291dGxpbmU6MXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yfSosOmJlZm9yZSw6YWZ0ZXJ7LS10dy1ib3JkZXItc3BhY2luZy14OiAwOy0tdHctYm9yZGVyLXNwYWNpbmcteTogMDstLXR3LXRyYW5zbGF0ZS14OiAwOy0tdHctdHJhbnNsYXRlLXk6IDA7LS10dy1yb3RhdGU6IDA7LS10dy1za2V3LXg6IDA7LS10dy1za2V3LXk6IDA7LS10dy1zY2FsZS14OiAxOy0tdHctc2NhbGUteTogMTstLXR3LXBhbi14OiA7LS10dy1wYW4teTogOy0tdHctcGluY2gtem9vbTogOy0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5Oy0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogOy0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiA7LS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogOy0tdHctb3JkaW5hbDogOy0tdHctc2xhc2hlZC16ZXJvOiA7LS10dy1udW1lcmljLWZpZ3VyZTogOy0tdHctbnVtZXJpYy1zcGFjaW5nOiA7LS10dy1udW1lcmljLWZyYWN0aW9uOiA7LS10dy1yaW5nLWluc2V0OiA7LS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4Oy0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7LS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIC41KTstLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwOy0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDstLXR3LXNoYWRvdzogMCAwICMwMDAwOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDstLXR3LWJsdXI6IDstLXR3LWJyaWdodG5lc3M6IDstLXR3LWNvbnRyYXN0OiA7LS10dy1ncmF5c2NhbGU6IDstLXR3LWh1ZS1yb3RhdGU6IDstLXR3LWludmVydDogOy0tdHctc2F0dXJhdGU6IDstLXR3LXNlcGlhOiA7LS10dy1kcm9wLXNoYWRvdzogOy0tdHctYmFja2Ryb3AtYmx1cjogOy0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogOy0tdHctYmFja2Ryb3AtY29udHJhc3Q6IDstLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogOy0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogOy0tdHctYmFja2Ryb3AtaW52ZXJ0OiA7LS10dy1iYWNrZHJvcC1vcGFjaXR5OiA7LS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogOy0tdHctYmFja2Ryb3Atc2VwaWE6IDstLXR3LWNvbnRhaW4tc2l6ZTogOy0tdHctY29udGFpbi1sYXlvdXQ6IDstLXR3LWNvbnRhaW4tcGFpbnQ6IDstLXR3LWNvbnRhaW4tc3R5bGU6IH06OmJhY2tkcm9wey0tdHctYm9yZGVyLXNwYWNpbmcteDogMDstLXR3LWJvcmRlci1zcGFjaW5nLXk6IDA7LS10dy10cmFuc2xhdGUteDogMDstLXR3LXRyYW5zbGF0ZS15OiAwOy0tdHctcm90YXRlOiAwOy0tdHctc2tldy14OiAwOy0tdHctc2tldy15OiAwOy0tdHctc2NhbGUteDogMTstLXR3LXNjYWxlLXk6IDE7LS10dy1wYW4teDogOy0tdHctcGFuLXk6IDstLXR3LXBpbmNoLXpvb206IDstLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTstLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246IDstLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogOy0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246IDstLXR3LW9yZGluYWw6IDstLXR3LXNsYXNoZWQtemVybzogOy0tdHctbnVtZXJpYy1maWd1cmU6IDstLXR3LW51bWVyaWMtc3BhY2luZzogOy0tdHctbnVtZXJpYy1mcmFjdGlvbjogOy0tdHctcmluZy1pbnNldDogOy0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmOy0tdHctcmluZy1jb2xvcjogcmdiKDU5IDEzMCAyNDYgLyAuNSk7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDstLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7LS10dy1zaGFkb3c6IDAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7LS10dy1ibHVyOiA7LS10dy1icmlnaHRuZXNzOiA7LS10dy1jb250cmFzdDogOy0tdHctZ3JheXNjYWxlOiA7LS10dy1odWUtcm90YXRlOiA7LS10dy1pbnZlcnQ6IDstLXR3LXNhdHVyYXRlOiA7LS10dy1zZXBpYTogOy0tdHctZHJvcC1zaGFkb3c6IDstLXR3LWJhY2tkcm9wLWJsdXI6IDstLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6IDstLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiA7LS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6IDstLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6IDstLXR3LWJhY2tkcm9wLWludmVydDogOy0tdHctYmFja2Ryb3Atb3BhY2l0eTogOy0tdHctYmFja2Ryb3Atc2F0dXJhdGU6IDstLXR3LWJhY2tkcm9wLXNlcGlhOiA7LS10dy1jb250YWluLXNpemU6IDstLXR3LWNvbnRhaW4tbGF5b3V0OiA7LS10dy1jb250YWluLXBhaW50OiA7LS10dy1jb250YWluLXN0eWxlOiB9LmNvbnRhaW5lcnt3aWR0aDoxMDAlfUBtZWRpYSAobWluLXdpZHRoOiA2NDBweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NjQwcHh9fUBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NzY4cHh9fUBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjEwMjRweH19QG1lZGlhIChtaW4td2lkdGg6IDEyODBweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6MTI4MHB4fX1AbWVkaWEgKG1pbi13aWR0aDogMTUzNnB4KXsuY29udGFpbmVye21heC13aWR0aDoxNTM2cHh9fS5mb3JtLWdyb3VwPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYyguMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC4yNXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5sYWJlbHtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0uaW5wdXR7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6LjM3NXJlbTtib3JkZXItd2lkdGg6MHB4O3BhZGRpbmctdG9wOi4zNzVyZW07cGFkZGluZy1ib3R0b206LjM3NXJlbTstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTstLXR3LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gLjA1KTstLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyk7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7LS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygxcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApOy0tdHctcmluZy1pbnNldDogaW5zZXQ7LS10dy1yaW5nLW9wYWNpdHk6IDE7LS10dy1yaW5nLWNvbG9yOiByZ2IoMjA5IDIxMyAyMTkgLyB2YXIoLS10dy1yaW5nLW9wYWNpdHkpKX0uaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXJ7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LmlucHV0OjpwbGFjZWhvbGRlcnstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0uaW5wdXQ6Zm9jdXN7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7LS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApOy0tdHctcmluZy1pbnNldDogaW5zZXQ7LS10dy1yaW5nLW9wYWNpdHk6IDE7LS10dy1yaW5nLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItcHJpbWFyeS02MDApIC8gdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9QG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KXsuaW5wdXR7Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS41cmVtfX0uY2hlY2tib3h7ZGlzcGxheTpibG9jaztoZWlnaHQ6MXJlbTt3aWR0aDoxcmVtO2N1cnNvcjpwb2ludGVyO2JvcmRlci1yYWRpdXM6LjI1cmVtOy0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKHZhcigtLWNvbG9yLXByaW1hcnktNzAwKSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLG9wYWNpdHksYm94LXNoYWRvdyx0cmFuc2Zvcm0sZmlsdGVyLGJhY2tkcm9wLWZpbHRlcjt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uY2hlY2tib3g6Zm9jdXN7LS10dy1yaW5nLW9wYWNpdHk6IDE7LS10dy1yaW5nLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItcHJpbWFyeS03MDApIC8gdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9LmJ1dHRvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6LjM3NXJlbTtib3JkZXItd2lkdGg6MXB4O3BhZGRpbmc6LjVyZW07Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjFyZW07LS10dy1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIC4wNSk7LS10dy1zaGFkb3ctY29sb3JlZDogMCAxcHggMnB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1zaGFkb3cpO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLG9wYWNpdHksYm94LXNoYWRvdyx0cmFuc2Zvcm0sZmlsdGVyLGJhY2tkcm9wLWZpbHRlcjt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uYnV0dG9uOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkIHRyYW5zcGFyZW50O291dGxpbmUtb2Zmc2V0OjJweH0uYnV0dG9uOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7LS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApOy0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDJweH0uYnV0dG9uOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi41fS5idXR0b24tLXByaW1hcnl7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Oy0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTgwMCkgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LmJ1dHRvbi0tcHJpbWFyeTpob3ZlcnstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IodmFyKC0tY29sb3ItcHJpbWFyeS05MDApIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpfS5idXR0b24tLXByaW1hcnk6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctb3BhY2l0eTogMTstLXR3LXJpbmctY29sb3I6IHJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTUwMCkgLyB2YXIoLS10dy1yaW5nLW9wYWNpdHkpKX0uYnV0dG9uLS1wcmltYXJ5OmhvdmVyOmRpc2FibGVkey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTgwMCkgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJ1dHRvbi0tZGVmYXVsdHtib3JkZXItd2lkdGg6MXB4Oy0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpOy0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYig1NSA2NSA4MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS5idXR0b24tLWRlZmF1bHQ6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0OSAyNTAgMjUxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpfS5idXR0b24tLWRlZmF1bHQ6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctb3BhY2l0eTogMTstLXR3LXJpbmctY29sb3I6IHJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTUwMCkgLyB2YXIoLS10dy1yaW5nLW9wYWNpdHkpKX0uYnV0dG9uLS1kZWZhdWx0OmhvdmVyOmRpc2FibGVkey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKX0uY2FyZHtib3JkZXItd2lkdGg6MXB4Oy0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSk7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpO3BhZGRpbmc6MS41cmVtOy0tdHctc2hhZG93OiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAuMDUpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDJweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX1AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpey5jYXJke2JvcmRlci1yYWRpdXM6LjVyZW19fS5oMXtmb250LXNpemU6MS41cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi0uMDI1ZW07LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE3IDI0IDM5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9Lmgye2ZvbnQtc2l6ZToxLjEyNXJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS43NXJlbTstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0uaC0tY29udGFpbmVye21hcmdpbi1ib3R0b206Ljc1cmVtO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHg7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtwYWRkaW5nLWJvdHRvbTouNzVyZW19LmJhZGdle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6LjM3NXJlbTstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7cGFkZGluZzouMjVyZW0gLjVyZW07Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxcmVtO2ZvbnQtd2VpZ2h0OjUwMDstLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTstLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDFweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCk7LS10dy1yaW5nLWluc2V0OiBpbnNldH0uYmFkZ2UtLWdyYXl7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0OSAyNTAgMjUxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpOy0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYig3NSA4NSA5OSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpOy0tdHctcmluZy1jb2xvcjogcmdiKDEwNyAxMTQgMTI4IC8gLjEpfS5iYWRnZS0tZ3JlZW57LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MCAyNTMgMjQ0IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpOy0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMSAxMjggNjEgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTstLXR3LXJpbmctY29sb3I6IHJnYigyMiAxNjMgNzQgLyAuMil9LmJhZGdlLS15ZWxsb3d7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NCAyNDkgMTk1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpOy0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxMzMgNzcgMTQgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTstLXR3LXJpbmctY29sb3I6IHJnYigyMDIgMTM4IDQgLyAuMil9LmJhZGdlLS1yZWR7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NCAyNDIgMjQyIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpOy0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxODUgMjggMjggLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTstLXR3LXJpbmctY29sb3I6IHJnYigyMjAgMzggMzggLyAuMSl9LnVwbG9hZC1ib3h7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnVwbG9hZC1ib3g+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6IDA7bWFyZ2luLXJpZ2h0OmNhbGMoLjI1cmVtICogdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7bWFyZ2luLWxlZnQ6Y2FsYyguMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSl9LnVwbG9hZC1ib3h7Ym9yZGVyLXJhZGl1czouNXJlbTtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpkYXNoZWQ7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTtwYWRkaW5nOjFyZW07Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbTstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS51cGxvYWQtYm94OmhvdmVyey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTYwMCkgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpOy0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTUwKSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IodmFyKC0tY29sb3ItcHJpbWFyeS03MDApIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9YTpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCB0cmFuc3BhcmVudDtvdXRsaW5lLW9mZnNldDoycHh9LmRyb3Bkb3duLW1lbnUtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjM3NXJlbSAuNzVyZW07Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbTtmb250LXdlaWdodDo1MDA7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LmRyb3Bkb3duLW1lbnUtaXRlbS0tZGVmYXVsdHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoNTUgNjUgODEgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0uZHJvcGRvd24tbWVudS1pdGVtLS1yZWR7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDIzOSA2OCA2OCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS5kcm9wZG93bi1tZW51LWl0ZW0tLXJlZC0tYWN0aXZley0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjM5IDY4IDY4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LmRyb3Bkb3duLW1lbnUtaXRlbS0tYWN0aXZley0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0uc3Itb25seXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDtwYWRkaW5nOjA7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLDAsMCwwKTt3aGl0ZS1zcGFjZTpub3dyYXA7Ym9yZGVyLXdpZHRoOjB9LnBvaW50ZXItZXZlbnRzLW5vbmV7cG9pbnRlci1ldmVudHM6bm9uZX0ucG9pbnRlci1ldmVudHMtYXV0b3twb2ludGVyLWV2ZW50czphdXRvfS52aXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZX0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVufS5jb2xsYXBzZXt2aXNpYmlsaXR5OmNvbGxhcHNlfS5zdGF0aWN7cG9zaXRpb246c3RhdGljfS5maXhlZHtwb3NpdGlvbjpmaXhlZH0uYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGV9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS5pbnNldC0we3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS5pbnNldC15LTB7dG9wOjA7Ym90dG9tOjB9LmJvdHRvbS0we2JvdHRvbTowfS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LnJpZ2h0LTB7cmlnaHQ6MH0ucmlnaHQtNntyaWdodDoxLjVyZW19LnRvcC0we3RvcDowfS50b3AtMVwvMnt0b3A6NTAlfS50b3AtNnt0b3A6MS41cmVtfS56LTEwe3otaW5kZXg6MTB9LnotMzB7ei1pbmRleDozMH0uei00MHt6LWluZGV4OjQwfS56LTUwe3otaW5kZXg6NTB9LnotXFsxMDBcXXt6LWluZGV4OjEwMH0uY29sLXNwYW4tMntncmlkLWNvbHVtbjpzcGFuIDIgLyBzcGFuIDJ9Li1tLTF7bWFyZ2luOi0uMjVyZW19Lm0tMHttYXJnaW46MH0ubS0xe21hcmdpbjouMjVyZW19Lm0tMnttYXJnaW46LjVyZW19Lm0tNHttYXJnaW46MXJlbX0ubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS4tbWItcHh7bWFyZ2luLWJvdHRvbTotMXB4fS4tbXItMXttYXJnaW4tcmlnaHQ6LS4yNXJlbX0uLW1yLTEye21hcmdpbi1yaWdodDotM3JlbX0ubWwtMXttYXJnaW4tbGVmdDouMjVyZW19Lm1sLTN7bWFyZ2luLWxlZnQ6Ljc1cmVtfS5tbC00e21hcmdpbi1sZWZ0OjFyZW19Lm1sLTZ7bWFyZ2luLWxlZnQ6MS41cmVtfS5tci0xe21hcmdpbi1yaWdodDouMjVyZW19Lm1yLTFcLjV7bWFyZ2luLXJpZ2h0Oi4zNzVyZW19Lm1yLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtfS5tci00e21hcmdpbi1yaWdodDoxcmVtfS5tci02e21hcmdpbi1yaWdodDoxLjVyZW19Lm10LTB7bWFyZ2luLXRvcDowfS5tdC0wXC41e21hcmdpbi10b3A6LjEyNXJlbX0ubXQtMXttYXJnaW4tdG9wOi4yNXJlbX0ubXQtMnttYXJnaW4tdG9wOi41cmVtfS5tdC0ze21hcmdpbi10b3A6Ljc1cmVtfS5tdC00e21hcmdpbi10b3A6MXJlbX0ubXQtNnttYXJnaW4tdG9wOjEuNXJlbX0ubXQtOHttYXJnaW4tdG9wOjJyZW19LmJsb2Nre2Rpc3BsYXk6YmxvY2t9LmlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9ja30uZmxleHtkaXNwbGF5OmZsZXh9LmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnRhYmxle2Rpc3BsYXk6dGFibGV9LmdyaWR7ZGlzcGxheTpncmlkfS5jb250ZW50c3tkaXNwbGF5OmNvbnRlbnRzfS5oaWRkZW57ZGlzcGxheTpub25lfS5cIWgtMzJ7aGVpZ2h0OjhyZW0haW1wb3J0YW50fS5oLTEwe2hlaWdodDoyLjVyZW19LmgtMTZ7aGVpZ2h0OjRyZW19LmgtMntoZWlnaHQ6LjVyZW19LmgtMlwuNXtoZWlnaHQ6LjYyNXJlbX0uaC0yMHtoZWlnaHQ6NXJlbX0uaC0ze2hlaWdodDouNzVyZW19LmgtM1wuNXtoZWlnaHQ6Ljg3NXJlbX0uaC0zMntoZWlnaHQ6OHJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTV7aGVpZ2h0OjEuMjVyZW19LmgtNntoZWlnaHQ6MS41cmVtfS5oLTY0e2hlaWdodDoxNnJlbX0uaC04e2hlaWdodDoycmVtfS5oLTl7aGVpZ2h0OjIuMjVyZW19LmgtYXV0b3toZWlnaHQ6YXV0b30uaC1mdWxse2hlaWdodDoxMDAlfS5oLXNjcmVlbntoZWlnaHQ6MTAwdmh9Lm1heC1oLTU2e21heC1oZWlnaHQ6MTRyZW19Lm1pbi1oLXNjcmVlbnttaW4taGVpZ2h0OjEwMHZofS5cIXctMzJ7d2lkdGg6OHJlbSFpbXBvcnRhbnR9LnctMHt3aWR0aDowcHh9LnctMTB7d2lkdGg6Mi41cmVtfS53LTE0e3dpZHRoOjMuNXJlbX0udy0xNnt3aWR0aDo0cmVtfS53LTJ7d2lkdGg6LjVyZW19LnctMlwuNXt3aWR0aDouNjI1cmVtfS53LTI0e3dpZHRoOjZyZW19LnctM3t3aWR0aDouNzVyZW19LnctM1wuNXt3aWR0aDouODc1cmVtfS53LTMye3dpZHRoOjhyZW19LnctNHt3aWR0aDoxcmVtfS53LTV7d2lkdGg6MS4yNXJlbX0udy01Nnt3aWR0aDoxNHJlbX0udy02e3dpZHRoOjEuNXJlbX0udy02NHt3aWR0aDoxNnJlbX0udy1hdXRve3dpZHRoOmF1dG99LnctZnVsbHt3aWR0aDoxMDAlfS5taW4tdy1mdWxse21pbi13aWR0aDoxMDAlfS5tYXgtdy0yeGx7bWF4LXdpZHRoOjQycmVtfS5tYXgtdy03eGx7bWF4LXdpZHRoOjgwcmVtfS5tYXgtdy1sZ3ttYXgtd2lkdGg6MzJyZW19Lm1heC13LW1ke21heC13aWR0aDoyOHJlbX0ubWF4LXctc217bWF4LXdpZHRoOjI0cmVtfS5tYXgtdy14c3ttYXgtd2lkdGg6MjByZW19LmZsZXgtMXtmbGV4OjEgMSAwJX0uZmxleC1zaHJpbmstMHtmbGV4LXNocmluazowfS5zaHJpbmt7ZmxleC1zaHJpbms6MX0uc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZ3Jvd3tmbGV4LWdyb3c6MX0udGFibGUtZml4ZWR7dGFibGUtbGF5b3V0OmZpeGVkfS5vcmlnaW4tdG9wLXJpZ2h0e3RyYW5zZm9ybS1vcmlnaW46dG9wIHJpZ2h0fS4tdHJhbnNsYXRlLXgtMVwvMnstLXR3LXRyYW5zbGF0ZS14OiAtNTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS4tdHJhbnNsYXRlLXgtZnVsbHstLXR3LXRyYW5zbGF0ZS14OiAtMTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uLXRyYW5zbGF0ZS15LTFcLzJ7LS10dy10cmFuc2xhdGUteTogLTUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0udHJhbnNsYXRlLXgtMHstLXR3LXRyYW5zbGF0ZS14OiAwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnRyYW5zbGF0ZS15LTB7LS10dy10cmFuc2xhdGUteTogMHB4O3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS50cmFuc2xhdGUteS0yey0tdHctdHJhbnNsYXRlLXk6IC41cmVtO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS50cmFuc2xhdGUteS00ey0tdHctdHJhbnNsYXRlLXk6IDFyZW07dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnJvdGF0ZS05MHstLXR3LXJvdGF0ZTogOTBkZWc7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnNjYWxlLTEwMHstLXR3LXNjYWxlLXg6IDE7LS10dy1zY2FsZS15OiAxO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5zY2FsZS05NXstLXR3LXNjYWxlLXg6IC45NTstLXR3LXNjYWxlLXk6IC45NTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfUBrZXlmcmFtZXMgc3Bpbnt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5hbmltYXRlLXNwaW57YW5pbWF0aW9uOnNwaW4gMXMgbGluZWFyIGluZmluaXRlfS5jdXJzb3ItZGVmYXVsdHtjdXJzb3I6ZGVmYXVsdH0uY3Vyc29yLXBvaW50ZXJ7Y3Vyc29yOnBvaW50ZXJ9LmN1cnNvci13YWl0e2N1cnNvcjp3YWl0fS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnJlc2l6ZXtyZXNpemU6Ym90aH0uZ3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5ncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30uZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mbGV4LXdyYXB7ZmxleC13cmFwOndyYXB9Lml0ZW1zLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lml0ZW1zLWVuZHthbGlnbi1pdGVtczpmbGV4LWVuZH0uaXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0xe2dhcDouMjVyZW19LmdhcC0xXC41e2dhcDouMzc1cmVtfS5nYXAtMntnYXA6LjVyZW19LmdhcC0ze2dhcDouNzVyZW19LmdhcC00e2dhcDoxcmVtfS5zcGFjZS14LTE+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6IDA7bWFyZ2luLXJpZ2h0OmNhbGMoLjI1cmVtICogdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7bWFyZ2luLWxlZnQ6Y2FsYyguMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSl9LnNwYWNlLXgtMVwuNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXgtcmV2ZXJzZTogMDttYXJnaW4tcmlnaHQ6Y2FsYyguMzc1cmVtICogdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7bWFyZ2luLWxlZnQ6Y2FsYyguMzc1cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpfS5zcGFjZS14LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6IDA7bWFyZ2luLXJpZ2h0OmNhbGMoLjVyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTttYXJnaW4tbGVmdDpjYWxjKC41cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpfS5zcGFjZS14LTM+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6IDA7bWFyZ2luLXJpZ2h0OmNhbGMoLjc1cmVtICogdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7bWFyZ2luLWxlZnQ6Y2FsYyguNzVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSl9LnNwYWNlLXgtND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXgtcmV2ZXJzZTogMDttYXJnaW4tcmlnaHQ6Y2FsYygxcmVtICogdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7bWFyZ2luLWxlZnQ6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpfS5zcGFjZS14LTg+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6IDA7bWFyZ2luLXJpZ2h0OmNhbGMoMnJlbSAqIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO21hcmdpbi1sZWZ0OmNhbGMoMnJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKX0uc3BhY2UteS0wPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYygwcHggKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKDBweCAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zcGFjZS15LTBcLjU+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKC4xMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC4xMjVyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0uc3BhY2UteS0xPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYyguMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC4yNXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKC41cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYyguNXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zcGFjZS15LTQ+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKDFyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKDFyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0uc3BhY2UteS04Pjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYygycmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygycmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9LmRpdmlkZS15Pjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctZGl2aWRlLXktcmV2ZXJzZTogMDtib3JkZXItdG9wLXdpZHRoOmNhbGMoMXB4ICogY2FsYygxIC0gdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpKTtib3JkZXItYm90dG9tLXdpZHRoOmNhbGMoMXB4ICogdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpfS5kaXZpZGUtZ3JheS0xMDA+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1kaXZpZGUtb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctZGl2aWRlLW9wYWNpdHkpKX0uZGl2aWRlLWdyYXktMjAwPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctZGl2aWRlLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWRpdmlkZS1vcGFjaXR5KSl9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctaGlkZGVue292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3cteC1hdXRve292ZXJmbG93LXg6YXV0b30ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ub3ZlcmZsb3cteC1oaWRkZW57b3ZlcmZsb3cteDpoaWRkZW59Lm92ZXJmbG93LXktaGlkZGVue292ZXJmbG93LXk6aGlkZGVufS5zY3JvbGwtc21vb3Roe3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9LnRydW5jYXRle292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS5icmVhay13b3Jkc3tvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmJyZWFrLWFsbHt3b3JkLWJyZWFrOmJyZWFrLWFsbH0ucm91bmRlZC1mdWxse2JvcmRlci1yYWRpdXM6OTk5OXB4fS5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czouMzc1cmVtfS5yb3VuZGVkLWItbWR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjM3NXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4zNzVyZW19LnJvdW5kZWQtYmwtbWR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMzc1cmVtfS5yb3VuZGVkLWJyLW1ke2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi4zNzVyZW19LmJvcmRlcntib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItd2lkdGg6MHB4fS5ib3JkZXItMntib3JkZXItd2lkdGg6MnB4fS5ib3JkZXItYntib3JkZXItYm90dG9tLXdpZHRoOjFweH0uYm9yZGVyLWItMntib3JkZXItYm90dG9tLXdpZHRoOjJweH0uYm9yZGVyLWx7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4fS5ib3JkZXItcntib3JkZXItcmlnaHQtd2lkdGg6MXB4fS5ib3JkZXItdHtib3JkZXItdG9wLXdpZHRoOjFweH0uYm9yZGVyLXNvbGlke2JvcmRlci1zdHlsZTpzb2xpZH0uYm9yZGVyLWRhc2hlZHtib3JkZXItc3R5bGU6ZGFzaGVkfS5ib3JkZXItZ3JheS0yMDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLWdyYXktMzAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmF5LTQwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItcHJpbWFyeS01MDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKHZhcigtLWNvbG9yLXByaW1hcnktNTAwKSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1wcmltYXJ5LTgwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IodmFyKC0tY29sb3ItcHJpbWFyeS04MDApIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYmctZ3JheS0xMDB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1ncmF5LTIwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJnLWdyYXktNTB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0OSAyNTAgMjUxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1ncmF5LTUwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTA3IDExNCAxMjggLyB2YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJnLWdyYXktNjAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig3NSA4NSA5OSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctZ3JlZW4tMTAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMjUyIDIzMSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctZ3JlZW4tNTB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MCAyNTMgMjQ0IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1ncmVlbi01MDB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDM0IDE5NyA5NCAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctcHJpbWFyeS0xMDB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKHZhcigtLWNvbG9yLXByaW1hcnktMTAwKSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctcHJpbWFyeS0yMDB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKHZhcigtLWNvbG9yLXByaW1hcnktMjAwKSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctcHJpbWFyeS01MHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IodmFyKC0tY29sb3ItcHJpbWFyeS01MCkgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJnLXByaW1hcnktNjAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTYwMCkgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJnLXByaW1hcnktODAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTgwMCkgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJnLXJlZC0xMDB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NCAyMjYgMjI2IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1yZWQtNTB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NCAyNDIgMjQyIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1yZWQtNTAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMzkgNjggNjggLyB2YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJnLXRyYW5zcGFyZW50e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJnLXdoaXRley0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmcteWVsbG93LTEwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU0IDI0OSAxOTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJnLXllbGxvdy01MHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU0IDI1MiAyMzIgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJnLW9wYWNpdHktNzV7LS10dy1iZy1vcGFjaXR5OiAuNzV9Lm9iamVjdC1jb3Zlcnstby1vYmplY3QtZml0OmNvdmVyO29iamVjdC1maXQ6Y292ZXJ9LnAtMHtwYWRkaW5nOjB9LnAtMXtwYWRkaW5nOi4yNXJlbX0ucC0ze3BhZGRpbmc6Ljc1cmVtfS5wLTR7cGFkZGluZzoxcmVtfS5wLTZ7cGFkZGluZzoxLjVyZW19LnAtOHtwYWRkaW5nOjJyZW19LnAtcHh7cGFkZGluZzoxcHh9LlwhcHgtMntwYWRkaW5nLWxlZnQ6LjVyZW0haW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5cIXB5LTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5weC0xe3BhZGRpbmctbGVmdDouMjVyZW07cGFkZGluZy1yaWdodDouMjVyZW19LnB4LTFcLjV7cGFkZGluZy1sZWZ0Oi4zNzVyZW07cGFkZGluZy1yaWdodDouMzc1cmVtfS5weC0xMHtwYWRkaW5nLWxlZnQ6Mi41cmVtO3BhZGRpbmctcmlnaHQ6Mi41cmVtfS5weC0ye3BhZGRpbmctbGVmdDouNXJlbTtwYWRkaW5nLXJpZ2h0Oi41cmVtfS5weC0yXC41e3BhZGRpbmctbGVmdDouNjI1cmVtO3BhZGRpbmctcmlnaHQ6LjYyNXJlbX0ucHgtM3twYWRkaW5nLWxlZnQ6Ljc1cmVtO3BhZGRpbmctcmlnaHQ6Ljc1cmVtfS5weC00e3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbX0ucHgtOHtwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19LnB5LTB7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowfS5weS0wXC41e3BhZGRpbmctdG9wOi4xMjVyZW07cGFkZGluZy1ib3R0b206LjEyNXJlbX0ucHktMXtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5weS0xXC41e3BhZGRpbmctdG9wOi4zNzVyZW07cGFkZGluZy1ib3R0b206LjM3NXJlbX0ucHktMntwYWRkaW5nLXRvcDouNXJlbTtwYWRkaW5nLWJvdHRvbTouNXJlbX0ucHktMlwuNXtwYWRkaW5nLXRvcDouNjI1cmVtO3BhZGRpbmctYm90dG9tOi42MjVyZW19LnB5LTN7cGFkZGluZy10b3A6Ljc1cmVtO3BhZGRpbmctYm90dG9tOi43NXJlbX0ucHktNHtwYWRkaW5nLXRvcDoxcmVtO3BhZGRpbmctYm90dG9tOjFyZW19LnB5LTZ7cGFkZGluZy10b3A6MS41cmVtO3BhZGRpbmctYm90dG9tOjEuNXJlbX0ucHktXFs2cHhcXXtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5wYi0yNHtwYWRkaW5nLWJvdHRvbTo2cmVtfS5wYi00e3BhZGRpbmctYm90dG9tOjFyZW19LnBiLTh7cGFkZGluZy1ib3R0b206MnJlbX0ucGwtMntwYWRkaW5nLWxlZnQ6LjVyZW19LnBsLTN7cGFkZGluZy1sZWZ0Oi43NXJlbX0ucHItMTB7cGFkZGluZy1yaWdodDoyLjVyZW19LnByLTJ7cGFkZGluZy1yaWdodDouNXJlbX0ucHItNHtwYWRkaW5nLXJpZ2h0OjFyZW19LnByLTl7cGFkZGluZy1yaWdodDoyLjI1cmVtfS5wdC0we3BhZGRpbmctdG9wOjB9LnB0LTBcLjV7cGFkZGluZy10b3A6LjEyNXJlbX0ucHQtMntwYWRkaW5nLXRvcDouNXJlbX0ucHQtNHtwYWRkaW5nLXRvcDoxcmVtfS5wdC01e3BhZGRpbmctdG9wOjEuMjVyZW19LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LmFsaWduLWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjpib3R0b219LmZvbnQtbW9ub3tmb250LWZhbWlseTp1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxDb3VyaWVyIE5ldyxtb25vc3BhY2V9LnRleHQtXFsxMXB4XF17Zm9udC1zaXplOjExcHh9LnRleHQtYmFzZXtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX0udGV4dC14bHtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtfS50ZXh0LXhze2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MXJlbX0uXCFmb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMCFpbXBvcnRhbnR9LmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9LmZvbnQtbWVkaXVte2ZvbnQtd2VpZ2h0OjUwMH0uZm9udC1ub3JtYWx7Zm9udC13ZWlnaHQ6NDAwfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uXCFsZWFkaW5nLTZ7bGluZS1oZWlnaHQ6MS41cmVtIWltcG9ydGFudH0ubGVhZGluZy02e2xpbmUtaGVpZ2h0OjEuNXJlbX0udHJhY2tpbmctdGlnaHR7bGV0dGVyLXNwYWNpbmc6LS4wMjVlbX0udHJhY2tpbmctd2lkZXJ7bGV0dGVyLXNwYWNpbmc6LjA1ZW19LnRyYWNraW5nLXdpZGVzdHtsZXR0ZXItc3BhY2luZzouMWVtfS50ZXh0LWJsdWUtNDAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYig5NiAxNjUgMjUwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtZ3JheS0zMDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDIwOSAyMTMgMjE5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtZ3JheS00MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtZ3JheS01MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDEwNyAxMTQgMTI4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtZ3JheS02MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDc1IDg1IDk5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtZ3JheS03MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtZ3JheS05MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE3IDI0IDM5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtZ3JlZW4tNDAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYig3NCAyMjIgMTI4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtZ3JlZW4tODAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMiAxMDEgNTIgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0udGV4dC1wcmltYXJ5LTYwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IodmFyKC0tY29sb3ItcHJpbWFyeS02MDApIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtcHJpbWFyeS03MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKHZhcigtLWNvbG9yLXByaW1hcnktNzAwKSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LXByaW1hcnktODAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTgwMCkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0udGV4dC1yZWQtNDAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyNDggMTEzIDExMyAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LXJlZC03MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE4NSAyOCAyOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LXJlZC04MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE1MyAyNyAyNyAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LXdoaXRley0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LXllbGxvdy00MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI1MCAyMDQgMjEgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0udGV4dC15ZWxsb3ctNzAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxNjEgOTggNyAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS5hbnRpYWxpYXNlZHstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0ub3BhY2l0eS0we29wYWNpdHk6MH0ub3BhY2l0eS0xMDB7b3BhY2l0eToxfS5vcGFjaXR5LTUwe29wYWNpdHk6LjV9LnNoYWRvdy0yeGx7LS10dy1zaGFkb3c6IDAgMjVweCA1MHB4IC0xMnB4IHJnYigwIDAgMCAvIC4yNSk7LS10dy1zaGFkb3ctY29sb3JlZDogMCAyNXB4IDUwcHggLTEycHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbGd7LS10dy1zaGFkb3c6IDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gLjEpLCAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAuMSk7LS10dy1zaGFkb3ctY29sb3JlZDogMCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1ub25ley0tdHctc2hhZG93OiAwIDAgIzAwMDA7LS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gLjA1KTstLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy14bHstLXR3LXNoYWRvdzogMCAyMHB4IDI1cHggLTVweCByZ2IoMCAwIDAgLyAuMSksIDAgOHB4IDEwcHggLTZweCByZ2IoMCAwIDAgLyAuMSk7LS10dy1zaGFkb3ctY29sb3JlZDogMCAyMHB4IDI1cHggLTVweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDhweCAxMHB4IC02cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1zaGFkb3cpfS5yaW5ney0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKX0ucmluZy0xey0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKX0ucmluZy0yey0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKX0ucmluZy1pbnNldHstLXR3LXJpbmctaW5zZXQ6IGluc2V0fS5yaW5nLWJsYWNrey0tdHctcmluZy1vcGFjaXR5OiAxOy0tdHctcmluZy1jb2xvcjogcmdiKDAgMCAwIC8gdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9LnJpbmctZ3JheS0yMDB7LS10dy1yaW5nLW9wYWNpdHk6IDE7LS10dy1yaW5nLWNvbG9yOiByZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1yaW5nLW9wYWNpdHkpKX0ucmluZy1ncmF5LTMwMHstLXR3LXJpbmctb3BhY2l0eTogMTstLXR3LXJpbmctY29sb3I6IHJnYigyMDkgMjEzIDIxOSAvIHZhcigtLXR3LXJpbmctb3BhY2l0eSkpfS5yaW5nLWdyYXktNTAwXC8xMHstLXR3LXJpbmctY29sb3I6IHJnYigxMDcgMTE0IDEyOCAvIC4xKX0ucmluZy1ncmVlbi0zMDB7LS10dy1yaW5nLW9wYWNpdHk6IDE7LS10dy1yaW5nLWNvbG9yOiByZ2IoMTM0IDIzOSAxNzIgLyB2YXIoLS10dy1yaW5nLW9wYWNpdHkpKX0ucmluZy1ncmVlbi00MDB7LS10dy1yaW5nLW9wYWNpdHk6IDE7LS10dy1yaW5nLWNvbG9yOiByZ2IoNzQgMjIyIDEyOCAvIHZhcigtLXR3LXJpbmctb3BhY2l0eSkpfS5yaW5nLXByaW1hcnktNTAwey0tdHctcmluZy1vcGFjaXR5OiAxOy0tdHctcmluZy1jb2xvcjogcmdiKHZhcigtLWNvbG9yLXByaW1hcnktNTAwKSAvIHZhcigtLXR3LXJpbmctb3BhY2l0eSkpfS5yaW5nLXByaW1hcnktNjAwXC8yMHstLXR3LXJpbmctY29sb3I6IHJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTYwMCkgLyAuMil9LnJpbmctcHJpbWFyeS03MDBcLzEwey0tdHctcmluZy1jb2xvcjogcmdiKHZhcigtLWNvbG9yLXByaW1hcnktNzAwKSAvIC4xKX0ucmluZy1yZWQtMzAwey0tdHctcmluZy1vcGFjaXR5OiAxOy0tdHctcmluZy1jb2xvcjogcmdiKDI1MiAxNjUgMTY1IC8gdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9LnJpbmctcmVkLTQwMHstLXR3LXJpbmctb3BhY2l0eTogMTstLXR3LXJpbmctY29sb3I6IHJnYigyNDggMTEzIDExMyAvIHZhcigtLXR3LXJpbmctb3BhY2l0eSkpfS5yaW5nLXllbGxvdy02MDBcLzIwey0tdHctcmluZy1jb2xvcjogcmdiKDIwMiAxMzggNCAvIC4yKX0ucmluZy15ZWxsb3ctNzAwXC8xMHstLXR3LXJpbmctY29sb3I6IHJnYigxNjEgOTggNyAvIC4xKX0ucmluZy1vcGFjaXR5LTV7LS10dy1yaW5nLW9wYWNpdHk6IC4wNX0uYmx1cnstLXR3LWJsdXI6IGJsdXIoOHB4KTtmaWx0ZXI6dmFyKC0tdHctYmx1cikgdmFyKC0tdHctYnJpZ2h0bmVzcykgdmFyKC0tdHctY29udHJhc3QpIHZhcigtLXR3LWdyYXlzY2FsZSkgdmFyKC0tdHctaHVlLXJvdGF0ZSkgdmFyKC0tdHctaW52ZXJ0KSB2YXIoLS10dy1zYXR1cmF0ZSkgdmFyKC0tdHctc2VwaWEpIHZhcigtLXR3LWRyb3Atc2hhZG93KX0uZmlsdGVye2ZpbHRlcjp2YXIoLS10dy1ibHVyKSB2YXIoLS10dy1icmlnaHRuZXNzKSB2YXIoLS10dy1jb250cmFzdCkgdmFyKC0tdHctZ3JheXNjYWxlKSB2YXIoLS10dy1odWUtcm90YXRlKSB2YXIoLS10dy1pbnZlcnQpIHZhcigtLXR3LXNhdHVyYXRlKSB2YXIoLS10dy1zZXBpYSkgdmFyKC0tdHctZHJvcC1zaGFkb3cpfS5iYWNrZHJvcC1ibHVyLXNtey0tdHctYmFja2Ryb3AtYmx1cjogYmx1cig0cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIpIHZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MpIHZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0KSB2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUpIHZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUpIHZhcigtLXR3LWJhY2tkcm9wLWludmVydCkgdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSkgdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUpIHZhcigtLXR3LWJhY2tkcm9wLXNlcGlhKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1cikgdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcykgdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QpIHZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSkgdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSkgdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0KSB2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5KSB2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSkgdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEpfS5iYWNrZHJvcC1maWx0ZXJ7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1cikgdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcykgdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QpIHZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSkgdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSkgdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0KSB2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5KSB2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSkgdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyKSB2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzKSB2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCkgdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlKSB2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlKSB2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQpIHZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHkpIHZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlKSB2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSl9LnRyYW5zaXRpb257dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2Usb3BhY2l0eSxib3gtc2hhZG93LHRyYW5zZm9ybSxmaWx0ZXIsYmFja2Ryb3AtZmlsdGVyO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30udHJhbnNpdGlvbi1hbGx7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGw7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS50cmFuc2l0aW9uLW9wYWNpdHl7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30uZHVyYXRpb24tMTAwe3RyYW5zaXRpb24tZHVyYXRpb246LjFzfS5kdXJhdGlvbi0xNTB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS5kdXJhdGlvbi0yMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9LmR1cmF0aW9uLTMwMHt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uZHVyYXRpb24tNzV7dHJhbnNpdGlvbi1kdXJhdGlvbjo3NW1zfS5lYXNlLWlue3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLDEsMSl9LmVhc2UtaW4tb3V0e3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5lYXNlLWxpbmVhcnt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXJ9LmVhc2Utb3V0e3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjIsMSl9LnYtcG9wcGVyLS10aGVtZS1pbmZvLXRvb2x0aXAgLnYtcG9wcGVyX19pbm5lcntib3JkZXItcmFkaXVzOi4zNzVyZW07Ym9yZGVyLXdpZHRoOjFweDstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpOy0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKTtwYWRkaW5nOi41cmVtO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW07LS10dy1zaGFkb3c6IDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gLjEpLCAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAuMSk7LS10dy1zaGFkb3ctY29sb3JlZDogMCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLCAwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnYtcG9wcGVyLS10aGVtZS1pbmZvLXRvb2x0aXAgLnYtcG9wcGVyX19hcnJvdy1pbm5lcnstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSl9LnYtcG9wcGVyLS10aGVtZS1pbmZvLXRvb2x0aXAgLnYtcG9wcGVyX19hcnJvdy1vdXRlcnstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfS5ob3Zlclw6YnV0dG9uLS1kZWZhdWx0OmhvdmVye2JvcmRlci13aWR0aDoxcHg7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSk7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LmhvdmVyXDpidXR0b24tLWRlZmF1bHQ6aG92ZXI6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0OSAyNTAgMjUxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpfS5ob3Zlclw6YnV0dG9uLS1kZWZhdWx0OmhvdmVyOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLW9wYWNpdHk6IDE7LS10dy1yaW5nLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItcHJpbWFyeS01MDApIC8gdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9LmhvdmVyXDpidXR0b24tLWRlZmF1bHQ6aG92ZXI6aG92ZXI6ZGlzYWJsZWR7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpfS5wbGFjZWhvbGRlclw6dGV4dC1ncmF5LTQwMDo6LW1vei1wbGFjZWhvbGRlcnstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0ucGxhY2Vob2xkZXJcOnRleHQtZ3JheS00MDA6OnBsYWNlaG9sZGVyey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS5ob3Zlclw6Ym9yZGVyLWdyYXktMzAwOmhvdmVyey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSl9LmhvdmVyXDpcIWJnLXdoaXRlOmhvdmVyey0tdHctYmctb3BhY2l0eTogMSAhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSkpIWltcG9ydGFudH0uaG92ZXJcOmJnLWdyYXktNDAwOmhvdmVyey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKX0uaG92ZXJcOmJnLWdyYXktNTA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0OSAyNTAgMjUxIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpfS5ob3Zlclw6YmctZ3JlZW4tMTAwOmhvdmVyey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMjUyIDIzMSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKX0uaG92ZXJcOmJnLXByaW1hcnktOTAwOmhvdmVyey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTkwMCkgLyB2YXIoLS10dy1iZy1vcGFjaXR5KSl9LmhvdmVyXDpiZy1yZWQtMTAwOmhvdmVyey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTQgMjI2IDIyNiAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKX0uaG92ZXJcOnRleHQtZ3JheS01MDA6aG92ZXJ7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDEwNyAxMTQgMTI4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LmhvdmVyXDp0ZXh0LWdyYXktNzAwOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYig1NSA2NSA4MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS5ob3Zlclw6dGV4dC1wcmltYXJ5LTgwMDpob3ZlcnstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IodmFyKC0tY29sb3ItcHJpbWFyeS04MDApIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LmhvdmVyXDpyaW5nLTE6aG92ZXJ7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7LS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygxcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApfS5ob3Zlclw6cmluZy1pbnNldDpob3ZlcnstLXR3LXJpbmctaW5zZXQ6IGluc2V0fS5ob3Zlclw6cmluZy1ncmF5LTMwMDpob3ZlcnstLXR3LXJpbmctb3BhY2l0eTogMTstLXR3LXJpbmctY29sb3I6IHJnYigyMDkgMjEzIDIxOSAvIHZhcigtLXR3LXJpbmctb3BhY2l0eSkpfS5mb2N1c1w6Ym9yZGVyLXByaW1hcnktNTAwOmZvY3Vzey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTUwMCkgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfS5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkIHRyYW5zcGFyZW50O291dGxpbmUtb2Zmc2V0OjJweH0uZm9jdXNcOnJpbmctMjpmb2N1c3stLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTstLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDJweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCl9LmZvY3VzXDpyaW5nLWluc2V0OmZvY3Vzey0tdHctcmluZy1pbnNldDogaW5zZXR9LmZvY3VzXDpyaW5nLXByaW1hcnktNTAwOmZvY3Vzey0tdHctcmluZy1vcGFjaXR5OiAxOy0tdHctcmluZy1jb2xvcjogcmdiKHZhcigtLWNvbG9yLXByaW1hcnktNTAwKSAvIHZhcigtLXR3LXJpbmctb3BhY2l0eSkpfS5mb2N1c1w6cmluZy1wcmltYXJ5LTYwMDpmb2N1c3stLXR3LXJpbmctb3BhY2l0eTogMTstLXR3LXJpbmctY29sb3I6IHJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTYwMCkgLyB2YXIoLS10dy1yaW5nLW9wYWNpdHkpKX0uZm9jdXNcOnJpbmctcHJpbWFyeS04MDA6Zm9jdXN7LS10dy1yaW5nLW9wYWNpdHk6IDE7LS10dy1yaW5nLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItcHJpbWFyeS04MDApIC8gdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9LmZvY3VzXDpyaW5nLXdoaXRlOmZvY3Vzey0tdHctcmluZy1vcGFjaXR5OiAxOy0tdHctcmluZy1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9LmZvY3VzXDpyaW5nLW9mZnNldC0xOmZvY3Vzey0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDFweH0uZm9jdXNcOnJpbmctb2Zmc2V0LTI6Zm9jdXN7LS10dy1yaW5nLW9mZnNldC13aWR0aDogMnB4fS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTpzb2xpZH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS0yOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHh9LmZvY3VzLXZpc2libGVcOm91dGxpbmUtb2Zmc2V0LTI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHh9LmZvY3VzLXZpc2libGVcOm91dGxpbmUtcHJpbWFyeS02MDA6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLWNvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTYwMCkgLyAxKX0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1yZWQtNjAwOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjojZGMyNjI2fS5lbmFibGVkXDpob3Zlclw6YmctZ3JheS01MDpob3ZlcjplbmFibGVkey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMjUwIDI1MSAvIHZhcigtLXR3LWJnLW9wYWNpdHkpKX0uZW5hYmxlZFw6aG92ZXJcOmJnLXByaW1hcnktNjAwXC83NTpob3ZlcjplbmFibGVke2JhY2tncm91bmQtY29sb3I6cmdiKHZhcigtLWNvbG9yLXByaW1hcnktNjAwKSAvIC43NSl9LmVuYWJsZWRcOmhvdmVyXDpiZy1yZWQtNjAwXC83NTpob3ZlcjplbmFibGVke2JhY2tncm91bmQtY29sb3I6I2RjMjYyNmJmfS5kaXNhYmxlZFw6Y3Vyc29yLW5vdC1hbGxvd2VkOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZH0uZGlzYWJsZWRcOm9wYWNpdHktNTA6ZGlzYWJsZWR7b3BhY2l0eTouNX0uZGlzYWJsZWRcOm9wYWNpdHktNzA6ZGlzYWJsZWR7b3BhY2l0eTouN30uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpiZy1wcmltYXJ5LTkwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IodmFyKC0tY29sb3ItcHJpbWFyeS05MDApIC8gdmFyKC0tdHctYmctb3BhY2l0eSkpfS5ncm91cDpob3ZlciAuZ3JvdXAtaG92ZXJcOmJnLW9wYWNpdHktNTB7LS10dy1iZy1vcGFjaXR5OiAuNX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDp0ZXh0LXByaW1hcnktNzAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTcwMCkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDp0ZXh0LXByaW1hcnktODAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYih2YXIoLS1jb2xvci1wcmltYXJ5LTgwMCkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpvcGFjaXR5LTEwMHtvcGFjaXR5OjF9QG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KXsuc21cOm15LTh7bWFyZ2luLXRvcDoycmVtO21hcmdpbi1ib3R0b206MnJlbX0uc21cOm1yLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtfS5zbVw6bXQtMHttYXJnaW4tdG9wOjB9LnNtXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5zbVw6aW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zbVw6ZmxleHtkaXNwbGF5OmZsZXh9LnNtXDpoaWRkZW57ZGlzcGxheTpub25lfS5zbVw6aC1zY3JlZW57aGVpZ2h0OjEwMHZofS5zbVw6dy0xXC8ye3dpZHRoOjUwJX0uc21cOnctYXV0b3t3aWR0aDphdXRvfS5zbVw6dy1mdWxse3dpZHRoOjEwMCV9LnNtXDptaW4tdy0we21pbi13aWR0aDowcHh9LnNtXDptYXgtdy1sZ3ttYXgtd2lkdGg6MzJyZW19LnNtXDptYXgtdy14bHttYXgtd2lkdGg6MzZyZW19LnNtXDp0cmFuc2xhdGUteC0wey0tdHctdHJhbnNsYXRlLXg6IDBweDt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uc21cOnRyYW5zbGF0ZS14LTJ7LS10dy10cmFuc2xhdGUteDogLjVyZW07dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnNtXDp0cmFuc2xhdGUteS0wey0tdHctdHJhbnNsYXRlLXk6IDBweDt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uc21cOnNjYWxlLTEwMHstLXR3LXNjYWxlLXg6IDE7LS10dy1zY2FsZS15OiAxO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5zbVw6c2NhbGUtOTV7LS10dy1zY2FsZS14OiAuOTU7LS10dy1zY2FsZS15OiAuOTU7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnNtXDpncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LnNtXDpmbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LnNtXDpmbGV4LXJvdy1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5zbVw6aXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc21cOml0ZW1zLWVuZHthbGlnbi1pdGVtczpmbGV4LWVuZH0uc21cOml0ZW1zLWNlbnRlcnthbGlnbi1pdGVtczpjZW50ZXJ9LnNtXDpqdXN0aWZ5LWVuZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnNtXDpzcGFjZS14LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6IDA7bWFyZ2luLXJpZ2h0OmNhbGMoLjVyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTttYXJnaW4tbGVmdDpjYWxjKC41cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpfS5zbVw6c3BhY2UteS0wPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYygwcHggKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKDBweCAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zbVw6cm91bmRlZC0yeGx7Ym9yZGVyLXJhZGl1czoxcmVtfS5zbVw6cC02e3BhZGRpbmc6MS41cmVtfS5zbVw6cHgtNntwYWRkaW5nLWxlZnQ6MS41cmVtO3BhZGRpbmctcmlnaHQ6MS41cmVtfS5zbVw6cGItNHtwYWRkaW5nLWJvdHRvbToxcmVtfS5zbVw6dGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdH0uc21cOmFsaWduLW1pZGRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnNtXDp0ZXh0LXNte2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnNtXDpsZWFkaW5nLTZ7bGluZS1oZWlnaHQ6MS41cmVtfX1AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpey5tZFw6Y29sLXNwYW4tMntncmlkLWNvbHVtbjpzcGFuIDIgLyBzcGFuIDJ9Lm1kXDptbC02e21hcmdpbi1sZWZ0OjEuNXJlbX0ubWRcOmZsZXh7ZGlzcGxheTpmbGV4fS5tZFw6aGlkZGVue2Rpc3BsYXk6bm9uZX0ubWRcOnctMVwvM3t3aWR0aDozMy4zMzMzMzMlfS5tZFw6dy0xXC80e3dpZHRoOjI1JX0ubWRcOnNocmluay0we2ZsZXgtc2hyaW5rOjB9Lm1kXDpncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9Lm1kXDpncmlkLWNvbHMtNHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsbWlubWF4KDAsMWZyKSl9Lm1kXDpmbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9Lm1kXDppdGVtcy1zdGFydHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5tZFw6aXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0ubWRcOmdhcC00e2dhcDoxcmVtfS5tZFw6c3BhY2UteC00Pjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteC1yZXZlcnNlOiAwO21hcmdpbi1yaWdodDpjYWxjKDFyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTttYXJnaW4tbGVmdDpjYWxjKDFyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSl9Lm1kXDpzcGFjZS15LTA+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKDBweCAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoMHB4ICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9Lm1kXDpzcGFjZS15LTQ+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKDFyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKDFyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0ubWRcOnB4LTh7cGFkZGluZy1sZWZ0OjJyZW07cGFkZGluZy1yaWdodDoycmVtfS5tZFw6cHktNntwYWRkaW5nLXRvcDoxLjVyZW07cGFkZGluZy1ib3R0b206MS41cmVtfS5tZFw6cHktOHtwYWRkaW5nLXRvcDoycmVtO3BhZGRpbmctYm90dG9tOjJyZW19Lm1kXDpwYi0we3BhZGRpbmctYm90dG9tOjB9Lm1kXDpwdC04e3BhZGRpbmctdG9wOjJyZW19fUBtZWRpYSBwcmludHsucHJpbnRcOmhpZGRlbntkaXNwbGF5Om5vbmV9LnByaW50XDpoLWF1dG97aGVpZ2h0OmF1dG99LnByaW50XDpvdmVyZmxvdy12aXNpYmxle292ZXJmbG93OnZpc2libGV9fUBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7QG1lZGlhIHByaW50ey5tZFw6cHJpbnRcOmhpZGRlbntkaXNwbGF5Om5vbmV9fX0uc2lnbmF0dXJlLXBhdGhbZGF0YS12LWI0YjBmOGZiXXtzdHJva2Utd2lkdGg6LjRweDtzdHJva2UtZGFzaGFycmF5OjQ1LjQ0O3N0cm9rZS1kYXNob2Zmc2V0OjQ1LjQ0O2FuaW1hdGlvbjpzaWduYXR1cmUtYW5pbWF0aW9uLWI0YjBmOGZiIDMuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7YW5pbWF0aW9uLWRlbGF5Oi41c31Aa2V5ZnJhbWVzIHNpZ25hdHVyZS1hbmltYXRpb24tYjRiMGY4ZmJ7MCV7c3Ryb2tlLWRhc2hvZmZzZXQ6NDUuNDR9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjB9dG97c3Ryb2tlLWRhc2hvZmZzZXQ6MH19Cg=="}},"time_used":24,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":24,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"magiclink.app/assets/LoginView-mnsUVYtn.js","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://magiclink.app/","date":"2026-07-27T07:49:21.240Z","timestamp":1785138561240,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"magiclink.app","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 24 Jul 2026 15:33:43 GMT","end":"Thu, 22 Oct 2026 15:33:42 GMT"},"fingerprint":{"sha1":"1A:58:07:31:51:B3:D6:84:CF:41:05:77:B4:8C:81:12:BA:C1:FD:EC","sha256":"4D:75:97:CC:DD:05:6D:BB:F6:32:82:48:AA:FB:FF:B7:B7:C1:95:D3:03:9F:31:F4:C3:24:88:0B:D1:1F:FA:FB"}}},"request":{"raw":"GET /assets/LoginView-mnsUVYtn.js HTTP/1.1\r\nHost: magiclink.app\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://magiclink.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 10824\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline; filename=\"LoginView-mnsUVYtn.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:49:21 GMT\r\netag: W/\"777fb0849dc77b1869928007532f7999\"\r\nlast-modified: Mon, 27 Jul 2026 04:48:56 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::c5dkb-1785138561245-b807551dfb13\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":1948,"size_decoded":1583,"mime_type":"application/javascript; charset=utf-8","magic":"Java source, ASCII text, with very long lines (1947)","md5":"777fb0849dc77b1869928007532f7999","sha1":"daa3f0ff42185424ce306adaf6e4dc293a017ef9","sha256":"ff3c38abcd60094dbd54958b91cbc8103cfa6bf878ef4ea4d415559cfbf01d23","sha512":"28ce2d850b667b466cc912105611e9b1cc0bbbb2942f9e876e6e284768a4945f2323d672ce9ce1c53e2c657f4f72a62f84baf768de8e7838f0a5d54fb48242ab","ssdeep":"","tlshash":"a541728c7075cefea0c780a874a91064b008eba9c131c8dcf2bd8d353fa6d129e54325","first_seen":"2026-07-27T04:49:29.612704Z","last_seen":"2026-07-27T11:38:36.392603Z","times_seen":5,"resource_available":true,"data":"aW1wb3J0e2QgYXMgYixKIGFzIFYsWiBhcyBqLHIgYXMgdSxhUSBhcyBrLFAgYXMgcCxheiBhcyBBLGFCIGFzIEIsRCBhcyBtLEcgYXMgZSxhbiBhcyBDLEsgYXMgbixMIGFzIHQsTSBhcyBJLGFrIGFzIGYsYWwgYXMgXyxWIGFzIE0sVSBhcyBOLGFnIGFzIFMsJCBhcyBxLGFSIGFzIGcsXyBhcyBELEggYXMgd31mcm9tIi4vaW5kZXgtQmtQZVZqVkguanMiO2ltcG9ydHtfIGFzIFV9ZnJvbSIuL2phY2staW4tNU94ZzFHT0MuanMiO2NvbnN0ICQ9e2NsYXNzOiJmbGV4IGgtc2NyZWVuIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciJ9LHo9e2NsYXNzOiJmbGV4IGgtZnVsbCB3LWZ1bGwgZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci1sIGJvcmRlci1yIGJvcmRlci1ncmF5LTIwMCBiZy13aGl0ZSBwLTYgc206bWF4LXcteGwifSxMPWUoImRpdiIse2NsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciJ9LFtlKCJpbWciLHtjbGFzczoiaC04IixzcmM6VX0pXSwtMSksUD17Y2xhc3M6Im10LTYgc3BhY2UteS00In0sUj17a2V5OjAsY2xhc3M6InJvdW5kZWQtbWQgYmctcmVkLTEwMCBweC00IHB5LTQgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXJlZC04MDAifSxUPXtjbGFzczoiZm9ybS1ncm91cCJ9LEU9e2ZvcjoidXNlcm5hbWUiLGNsYXNzOiJsYWJlbCJ9LEc9e2NsYXNzOiJmb3JtLWdyb3VwIn0sSD17Zm9yOiJwYXNzd29yZCIsY2xhc3M6ImxhYmVsIn0sWj1iKHtfX25hbWU6IkxvZ2luVmlldyIsc2V0dXAoSil7Y29uc3R7dDppfT1WKCksbD1qKCkseT1EKCksZD11KCExKSxjPXUoITEpLHI9bmV3IGsoe2VtYWlsOiIiLHBhc3N3b3JkOiIifSksW3ZdPXAudXNlSW5qZWN0KEEubmFtZSksW3hdPXAudXNlSW5qZWN0KEIubmFtZSksaD1hc3luYygpPT57ZC52YWx1ZT0hMDt0cnl7Y29uc3Qgbz1hd2FpdCB2LmxvZ2luKHIpLHM9YXdhaXQgeC5nZXQoby5wcm9wZXJ0eUlkKTtpZihvKXtsLnVzZXI9byxsLnByb3BlcnR5PXMsYXdhaXQgbC5pbml0aWFsaXplKCk7Y29uc3QgYT15LnF1ZXJ5LnJlZGlyZWN0O2E/YXdhaXQgZy5wdXNoKGEpOmF3YWl0IGcucHVzaCh7bmFtZToiYm9va2luZ3MifSl9ZWxzZSBjLnZhbHVlPSEwfWNhdGNoKG8pe2NvbnNvbGUuZXJyb3IobyksYy52YWx1ZT0hMH1kLnZhbHVlPSExfTtyZXR1cm4obyxzKT0+KHcoKSxtKCJkaXYiLCQsW2UoImRpdiIseixbTCxlKCJmb3JtIix7Y2xhc3M6InctZnVsbCIsb25TdWJtaXQ6c1syXXx8KHNbMl09QyhhPT5oKCksWyJwcmV2ZW50Il0pKX0sW2UoImRpdiIsUCxbYy52YWx1ZT8odygpLG0oImRpdiIsUixuKHQoaSkoImxvZ2luLmVycm9yIikpLDEpKTpJKCIiLCEwKSxlKCJkaXYiLFQsW2UoImxhYmVsIixFLG4odChpKSgibG9naW4uZW1haWwiKSksMSksZihlKCJpbnB1dCIse2lkOiJ1c2VybmFtZSIsIm9uVXBkYXRlOm1vZGVsVmFsdWUiOnNbMF18fChzWzBdPWE9PnQocikuZW1haWw9YSksdHlwZToidGV4dCIsY2xhc3M6ImlucHV0IixyZXF1aXJlZDoiIixhdXRvZm9jdXM6IiJ9LG51bGwsNTEyKSxbW18sdChyKS5lbWFpbF1dKV0pLGUoImRpdiIsRyxbZSgibGFiZWwiLEgsbih0KGkpKCJsb2dpbi5wYXNzd29yZCIpKSwxKSxmKGUoImlucHV0Iix7aWQ6InBhc3N3b3JkIiwib25VcGRhdGU6bW9kZWxWYWx1ZSI6c1sxXXx8KHNbMV09YT0+dChyKS5wYXNzd29yZD1hKSx0eXBlOiJwYXNzd29yZCIsY2xhc3M6ImlucHV0IixyZXF1aXJlZDoiIn0sbnVsbCw1MTIpLFtbXyx0KHIpLnBhc3N3b3JkXV0pXSksTShTLHtjb2xvcjoicHJpbWFyeSIsdHlwZToic3VibWl0Iixsb2FkaW5nOmQudmFsdWUsY2xhc3M6IiFsZWFkaW5nLTYgdy1mdWxsIn0se2RlZmF1bHQ6TigoKT0+W3Eobih0KGkpKCJsb2dpbi5sb2dpbiIpKSwxKV0pLF86MX0sOCxbImxvYWRpbmciXSldKV0sMzIpXSldKSl9fSk7ZXhwb3J0e1ogYXMgZGVmYXVsdH07Cg=="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"magiclink.app/assets/jack-in-5Oxg1GOC.js","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://magiclink.app/","date":"2026-07-27T07:49:21.241Z","timestamp":1785138561241,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"magiclink.app","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 24 Jul 2026 15:33:43 GMT","end":"Thu, 22 Oct 2026 15:33:42 GMT"},"fingerprint":{"sha1":"1A:58:07:31:51:B3:D6:84:CF:41:05:77:B4:8C:81:12:BA:C1:FD:EC","sha256":"4D:75:97:CC:DD:05:6D:BB:F6:32:82:48:AA:FB:FF:B7:B7:C1:95:D3:03:9F:31:F4:C3:24:88:0B:D1:1F:FA:FB"}}},"request":{"raw":"GET /assets/jack-in-5Oxg1GOC.js HTTP/1.1\r\nHost: magiclink.app\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://magiclink.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 10824\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline; filename=\"jack-in-5Oxg1GOC.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:49:21 GMT\r\netag: W/\"8a8b32c5b7b6f7b5cbcd275b69a15093\"\r\nlast-modified: Mon, 27 Jul 2026 04:48:56 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::st5c7-1785138561246-46253c7f17ff\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":2880,"size_decoded":1786,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (2879)","md5":"8a8b32c5b7b6f7b5cbcd275b69a15093","sha1":"559a4b4501018ac5efa92946de484e82f16393de","sha256":"04f329d07cb9bc96994e395cbc5a4557f7097e82e10c8270d3125fecdaad4698","sha512":"94a0adb29b6e8531918006cc931df3925dc36b0df12f0e89fefd3d7444081cdb0cfbdb21bd469986d760214c7ccfc4fcdf23cf1b8dcf1452383afe1ade9859aa","ssdeep":"","tlshash":"e25103ad15110dedca39cba34736391cc0372aadffba0d9976d631182d7548429e8c7d","first_seen":"2026-07-27T04:49:29.609142Z","last_seen":"2026-07-27T11:38:36.402113Z","times_seen":5,"resource_available":true,"data":"Y29uc3QgQz0iZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyUyMHdpZHRoPScyMDEnJTIwaGVpZ2h0PSc4MyclMjB2aWV3Qm94PScwJTIwMCUyMDIwMSUyMDgzJyUyMGZpbGw9J25vbmUnJTIweG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGglMjBkPSdNMTUwLjY0NSUyMDI5LjE2NDVMMTY1LjMxNyUyMDEzLjk3NDNIMTUwLjY0NUwxMzcuOTk2JTIwMjYuMzQ5MlYwLjg3NjcyNEgxMjUuNjE3VjQ5LjQ3MzJIMTM3Ljk5NlY0MC43NzE2TDE0MS42NTMlMjAzNy4wMzgxTDE1MS41NTklMjA0OS40NzMySDE2Ni41NDZMMTUwLjY0NSUyMDI5LjE3OTVWMjkuMTY0NVpNOTcuMDgzMSUyMDMxLjc5OUM5Ny4wODMxJTIwMjYuOTIxMyUyMDEwMS4wMjUlMjAyMi45NjE5JTIwMTA1Ljg4JTIwMjIuOTYxOUMxMDkuMjIyJTIwMjIuOTYxOSUyMDExMi4xJTIwMjQuODU4OCUyMDExMy41OTglMjAyNy42Mjg5TDEyMi4zNSUyMDIzLjE0MjZDMTIxLjEzNyUyMDIwLjA4NjUlMjAxMTkuMDY4JTIwMTcuNjkyOCUyMDExNi4xNjElMjAxNS45NzY2QzExMy4yNTQlMjAxNC4yNDUzJTIwMTA5Ljc5MiUyMDEzLjM4NzIlMjAxMDUuNzklMjAxMy4zODcyQzEwMS43ODklMjAxMy4zODcyJTIwOTguMzg2OSUyMDE0LjE3JTIwOTUuMjk5NyUyMDE1LjcwNTZDOTIuMjEyNCUyMDE3LjI1NjIlMjA4OS44MTQ2JTIwMTkuNDA5JTIwODguMDkxMSUyMDIyLjE5NDFDODYuMzY3NiUyMDI0Ljk2NDIlMjA4NS41MTM0JTIwMjguMTI1NyUyMDg1LjUxMzQlMjAzMS42NjM1Qzg1LjUxMzQlMjAzNS4yMDE0JTIwODYuMzY3NiUyMDM4LjM2MjklMjA4OC4wOTExJTIwNDEuMTYzQzg5LjgxNDYlMjA0My45NjMyJTIwOTIuMjEyNCUyMDQ2LjE0NjElMjA5NS4yOTk3JTIwNDcuNzExOEM5OC4zODY5JTIwNDkuMjc3NSUyMDEwMS44NzklMjA1MC4wNzU0JTIwMTA1Ljc5JTIwNTAuMDc1NEMxMDkuNzAyJTIwNTAuMDc1NCUyMDExMy4yMzklMjA0OS4yMTczJTIwMTE2LjE2MSUyMDQ3LjQ4NkMxMTkuMDY4JTIwNDUuNzU0NyUyMDEyMS4xMzclMjA0My4zNzYxJTIwMTIyLjM1JTIwNDAuMzJMMTEzLjY3MyUyMDM1Ljg2MzhDMTEyLjIwNSUyMDM4LjcwOTElMjAxMDkuMjgyJTIwNDAuNjY2MiUyMDEwNS44OCUyMDQwLjY2NjJDMTAxLjAyNSUyMDQwLjY2NjIlMjA5Ny4wODMxJTIwMzYuNzA2OSUyMDk3LjA4MzElMjAzMS44MjkxVjMxLjc5OVpNNjkuMjk3OSUyMDQ5LjQ1ODJIODEuMDkyNFYxMy45NzQzSDY4LjcxMzVWMTcuMDQ1NEM2Ni4zMTU2JTIwMTQuNjA2NiUyMDYzLjA0ODUlMjAxMy4zNzIxJTIwNTguODY3MyUyMDEzLjM3MjFDNTUuNjQ1MiUyMDEzLjM3MjElMjA1Mi43MjI4JTIwMTQuMTA5OCUyMDUwLjEwMDElMjAxNS42MDAyQzQ3LjQ3NzUlMjAxNy4wOTA2JTIwNDUuMzc5NCUyMDE5LjIxMzMlMjA0My44MzU3JTIwMjEuOTgzNEM0Mi4yOTIxJTIwMjQuNzUzNCUyMDQxLjUyNzglMjAyNy45NzUxJTIwNDEuNTI3OCUyMDMxLjY0ODVDNDEuNTI3OCUyMDM1LjMyMTglMjA0Mi4yOTIxJTIwMzguNTQzNSUyMDQzLjgzNTclMjA0MS4zNDM3QzQ1LjM3OTQlMjA0NC4xNDM5JTIwNDcuNDYyNSUyMDQ2LjI4MTYlMjA1MC4xMDAxJTIwNDcuNzg3MUM1Mi43MjI4JTIwNDkuMjkyNiUyMDU1LjY0NTIlMjA1MC4wNDUzJTIwNTguODY3MyUyMDUwLjA0NTNDNjMuNTEzMSUyMDUwLjA0NTMlMjA2Ni45OSUyMDQ4LjY3NTMlMjA2OS4yOTc5JTIwNDUuOTIwM1Y0OS40NTgyWk02OS40OTI4JTIwMzEuNzk5QzY5LjQ5MjglMjAzNi42NzY3JTIwNjUuNTUxMyUyMDQwLjYzNjElMjA2MC42OTU2JTIwNDAuNjM2MUM1NS44NCUyMDQwLjYzNjElMjA1MS44OTg1JTIwMzYuNjc2NyUyMDUxLjg5ODUlMjAzMS43OTlDNTEuODk4NSUyMDI2LjkyMTMlMjA1NS44NCUyMDIyLjk2MTklMjA2MC42OTU2JTIwMjIuOTYxOUM2Mi4wMjk0JTIwMjIuOTYxOSUyMDYzLjI4ODMlMjAyMy4yNzgxJTIwNjQuNDI3MyUyMDIzLjgyMDFDNjQuNjY3MSUyMDIzLjkyNTQlMjA2NC44OTE5JTIwMjQuMDYwOSUyMDY1LjExNjclMjAyNC4xOTY0QzY1LjI4MTUlMjAyNC4zMDE4JTIwNjUuNDc2NCUyMDI0LjM3NzElMjA2NS42MjYyJTIwMjQuNDgyNUM2NS44MjExJTIwMjQuNjE4JTIwNjYuMDAwOSUyMDI0Ljc5ODYlMjA2Ni4xOTU3JTIwMjQuOTQ5MkM2OC4xODg5JTIwMjYuNTc1MSUyMDY5LjQ5MjglMjAyOS4wMTM5JTIwNjkuNDkyOCUyMDMxLjc5OVYzMS43OTlaTTM1LjI2MzQlMjAzOS43MDI3TDQyLjUwMTklMjAzLjYxNjY4SDEzLjk1MjVMMTEuOTI5MyUyMDEzLjYyOEgyNy43MTAyTDIyLjQzNDklMjA0MC40MTAzQzIxLjYxMDYlMjA0NC41MjAyJTIwMTkuNDA3NiUyMDQ2LjU2NzclMjAxNS44NTU4JTIwNDYuNTY3N0MxMi44NTg1JTIwNDYuNTY3NyUyMDEwLjM1NTclMjA0NS4wMTclMjA4LjM2MjUxJTIwNDEuOTE1OEwwJTIwNDkuOTI0OUMzLjEzMjE5JTIwNTQuNTkxOCUyMDguMzQ3NTIlMjA1Ni45MjUzJTIwMTUuNjQ2JTIwNTYuOTI1M0MyMS4xNjElMjA1Ni45MjUzJTIwMjUuNTA3MiUyMDU1LjYwMDUlMjAyOC42ODQzJTIwNTIuOTM1OEMzMS44NjE1JTIwNTAuMjcxMSUyMDM0LjA0OTUlMjA0NS44NjAxJTIwMzUuMjYzNCUyMDM5LjcwMjdWMzkuNzAyN1onJTIwZmlsbD0nJTIzMUExNzFCJy8lM2UlM2NwYXRoJTIwZD0nTTEwOC44MzMlMjA1OS4xODM1TDEwNC4xNTclMjA3My42NTFMMTMyLjgyNiUyMDgzTDEzNy41MDIlMjA2OC41NDc1TDEwOC44MzMlMjA1OS4xODM1WiclMjBmaWxsPSclMjNGQ0VBMTknLyUzZSUzY3BhdGglMjBkPSdNMTk2LjMyNCUyMDQ2LjI4MTZMMjAxJTIwNjAuNzM0MUwxMzIuNzk2JTIwODNMMTI4LjEyJTIwNjguNTQ3NUwxOTYuMzI0JTIwNDYuMjgxNlonJTIwZmlsbD0nJTIzRkNFQTE5Jy8lM2UlM2Mvc3ZnJTNlIjtleHBvcnR7QyBhcyBffTsK"}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"rsms.me/inter/font-files/InterVariable.woff2?v=4.1","fqdn":"rsms.me","domain":"rsms.me","tld":"me"},"ip":{"addr":"172.67.197.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://magiclink.app/","date":"2026-07-27T07:49:21.292Z","timestamp":1785138561292,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"rsms.me","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 20 Jul 2026 21:14:51 GMT","end":"Sun, 18 Oct 2026 22:05:47 GMT"},"fingerprint":{"sha1":"95:E3:7B:A4:FE:13:E0:38:5E:57:29:77:38:12:2C:70:3D:D1:F1:0A","sha256":"0F:3B:AF:C5:B1:13:F8:9E:20:48:44:EC:D8:C4:63:7C:B3:6F:56:AF:65:14:AB:09:21:46:30:EF:1E:98:8F:CC"}}},"request":{"raw":"GET /inter/font-files/InterVariable.woff2?v=4.1 HTTP/1.1\r\nHost: rsms.me\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://magiclink.app\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://rsms.me/inter/inter.css\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\npriority: u=3,i=?0\r\nserver-timing: cfExtPri\r\nserver: cloudflare\r\ncontent-type: font/woff2\r\nx-origin-cache: HIT\r\nlast-modified: Sat, 16 Nov 2024 01:00:53 GMT\r\naccess-control-allow-origin: *\r\netag: \"6737eec5-55ff0\"\r\nexpires: Sun, 26 Jul 2026 01:53:04 GMT\r\ncache-control: max-age=2678400\r\nx-proxy-cache: MISS\r\nx-github-request-id: 18F0:2BC4A3:4554D1:495770:6A656628\r\naccept-ranges: bytes\r\ndate: Mon, 27 Jul 2026 07:49:21 GMT\r\nvia: 1.1 varnish\r\nage: 403\r\nx-served-by: cache-bma-essb1270067-BMA\r\nx-cache: HIT\r\nx-cache-hits: 2\r\nx-timer: S1785127737.616412,VS0,VE0\r\nvary: Accept-Encoding\r\nx-fastly-request-id: b9a891e40404e35f5ec300084dbee2f3d7ca5e84\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=b%2FP2JKCZ3jao32WSP45oBbzrfHOnk92ml6pHroxil8xGYk7RlomZI0SOOWdGxsYC9hud%2F753%2FNqtlfhFNlkbtVd%2BgWq6Oc6Ezqhhq6Avoshz2LyTgsR3AHVc\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a21a0c082f5d0b51-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 352240\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Fastly","description":"Fastly is a cloud computing services provider. Fastly's cloud platform provides a content delivery network, Internet security services, load balancing, and video \u0026 streaming services.","website":"https://www.fastly.com","common_platform_enumeration":"","icon":"Fastly.svg","categories":["CDN"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"GitHub Pages","description":"GitHub Pages is a static site hosting service.","website":"https://pages.github.com/","common_platform_enumeration":"","icon":"GitHub.svg","categories":["PaaS"]}],"data":{"size":352240,"size_decoded":353325,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 352240, version 4.66","md5":"2bf3d951bf9d6109437ea0874bbf12fb","sha1":"f55b18fdf5a4fbca23e23010fbe89df27d70d1ff","sha256":"693b77d4f32ee9b8bfc995589b5fad5e99adf2832738661f5402f9978429a8e3","sha512":"9c34339e338bc88488195216a834004c3cc2934896df8a5849c26801a88c7a4c4d84563d9cdae449d81bb379549f69f57c5fb9b199826adb8a88c3eb7d22bac1","ssdeep":"6144:NXxnNQ1mzp/C4K2K9y0deanlT3TPkHW644MVz66Z2YS78Eq/H493abRLF/VBoGuB:RxnNXpq4XF0tTPk2jzRkYS8/GabjC+a","tlshash":"fc742337370464501452c3aca8a70a57e6302de69fda07ecc7ae84e8899ca797f1f74d","first_seen":"2024-11-16T09:12:47.72962Z","last_seen":"2026-07-31T05:14:08.689915Z","times_seen":15086,"resource_available":false,"data":"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"}},"time_used":37,"timings":{"blocked":0,"dns":0,"connect":9,"send":0,"wait":18,"receive":10,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"magiclink.app/assets/index-BkPeVjVH.js","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://magiclink.app/","date":"2026-07-27T07:49:21.058Z","timestamp":1785138561058,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"magiclink.app","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 24 Jul 2026 15:33:43 GMT","end":"Thu, 22 Oct 2026 15:33:42 GMT"},"fingerprint":{"sha1":"1A:58:07:31:51:B3:D6:84:CF:41:05:77:B4:8C:81:12:BA:C1:FD:EC","sha256":"4D:75:97:CC:DD:05:6D:BB:F6:32:82:48:AA:FB:FF:B7:B7:C1:95:D3:03:9F:31:F4:C3:24:88:0B:D1:1F:FA:FB"}}},"request":{"raw":"GET /assets/index-BkPeVjVH.js HTTP/1.1\r\nHost: magiclink.app\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://magiclink.app/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 319460\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline; filename=\"index-BkPeVjVH.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:49:21 GMT\r\netag: W/\"8efda379a93e84b436a661de933b1ebf\"\r\nlast-modified: Thu, 23 Jul 2026 15:05:00 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::72pwk-1785138561063-1a736df98c37\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":663312,"size_decoded":201445,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (38691)","md5":"8efda379a93e84b436a661de933b1ebf","sha1":"4f77d2de30e6bd6f008d9742c760ab71ea30508f","sha256":"57bfe6e3a04ca2fa517cf584ef34fdb10777fb4fd4794091ff3e55cf5cf58e02","sha512":"30f8cfb269ed6fad63c1e55d66a2dde4169ec913fbb46ce740d1b7d3544bbbf6a41c61023bd7d6ddd03370378a32510676b007a1e9b9680acd88d6afec32c239","ssdeep":"12288:oG+9yflJ374TvcxmcG/XiiUarZkOpc7u5HsEi9:oG+QHr4Tv877arZkOpc7u5HsEi9","tlshash":"38e43cd97192b43547f605e4647f0002f23d2d6a644d84acf1ace9eb39a2c8a9277f7c","first_seen":"2026-07-27T04:49:29.603791Z","last_seen":"2026-07-27T11:38:36.40093Z","times_seen":5,"resource_available":true,"data":"Y29uc3QgX192aXRlX19maWxlRGVwcz1bImFzc2V0cy9NYWluVmlldy1CNlRIbzF6eS5qcyIsImFzc2V0cy9yb2xlLUJHOC1jXzdaLmpzIiwiYXNzZXRzL0FwaUtleXNWaWV3LUJOTzVXenFVLmpzIiwiYXNzZXRzL2xpc3QtOC1TVDdGN0UuanMiLCJhc3NldHMvQXBpS2V5RGV0YWlsVmlldy1ET1plV1FRVC5qcyIsImFzc2V0cy9kZXRhaWwtRElxRTBpOVEuanMiLCJhc3NldHMvQm9va2luZ3NWaWV3LTlmS0F3QzdHLmpzIiwiYXNzZXRzL1JvdXRlclRhYnMudnVlX3Z1ZV90eXBlX3NjcmlwdF9zZXR1cF90cnVlX2xhbmctQ2hfZHVCT2guanMiLCJhc3NldHMvQm9va2luZ0RldGFpbHNWaWV3LUJRdWF6Q1dVLmpzIiwiYXNzZXRzL1NldHRpbmdzLUJIc1ItaXI3LmpzIiwiYXNzZXRzL1NldHRpbmdzQWR2YW5jZWQtQlhJU2xIejAuanMiLCJhc3NldHMvZXJyb3ItRDk5RUcwLUIuanMiLCJhc3NldHMvU2V0dGluZ3NVc2Vycy1Ea3BjdTJIci5qcyIsImFzc2V0cy9Mb2dpblZpZXctbW5zVVZZdG4uanMiLCJhc3NldHMvamFjay1pbi01T3hnMUdPQy5qcyIsImFzc2V0cy9SZXF1ZXN0TGlua1ZpZXctQi01d0dpNXUuanMiXSxfX3ZpdGVfX21hcERlcHM9aT0+aS5tYXAoaT0+X192aXRlX19maWxlRGVwc1tpXSk7CnZhciBDMD1PYmplY3QuZGVmaW5lUHJvcGVydHk7dmFyIFAwPSh0LGUsbik9PmUgaW4gdD9DMCh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KTp0W2VdPW47dmFyIF89KHQsZSxuKT0+KFAwKHQsdHlwZW9mIGUhPSJzeW1ib2wiP2UrIiI6ZSxuKSxuKTsoZnVuY3Rpb24oKXtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKS5yZWxMaXN0O2lmKGUmJmUuc3VwcG9ydHMmJmUuc3VwcG9ydHMoIm1vZHVsZXByZWxvYWQiKSlyZXR1cm47Zm9yKGNvbnN0IGkgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9Im1vZHVsZXByZWxvYWQiXScpKXIoaSk7bmV3IE11dGF0aW9uT2JzZXJ2ZXIoaT0+e2Zvcihjb25zdCBzIG9mIGkpaWYocy50eXBlPT09ImNoaWxkTGlzdCIpZm9yKGNvbnN0IG8gb2Ygcy5hZGRlZE5vZGVzKW8udGFnTmFtZT09PSJMSU5LIiYmby5yZWw9PT0ibW9kdWxlcHJlbG9hZCImJnIobyl9KS5vYnNlcnZlKGRvY3VtZW50LHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pO2Z1bmN0aW9uIG4oaSl7Y29uc3Qgcz17fTtyZXR1cm4gaS5pbnRlZ3JpdHkmJihzLmludGVncml0eT1pLmludGVncml0eSksaS5yZWZlcnJlclBvbGljeSYmKHMucmVmZXJyZXJQb2xpY3k9aS5yZWZlcnJlclBvbGljeSksaS5jcm9zc09yaWdpbj09PSJ1c2UtY3JlZGVudGlhbHMiP3MuY3JlZGVudGlhbHM9ImluY2x1ZGUiOmkuY3Jvc3NPcmlnaW49PT0iYW5vbnltb3VzIj9zLmNyZWRlbnRpYWxzPSJvbWl0IjpzLmNyZWRlbnRpYWxzPSJzYW1lLW9yaWdpbiIsc31mdW5jdGlvbiByKGkpe2lmKGkuZXApcmV0dXJuO2kuZXA9ITA7Y29uc3Qgcz1uKGkpO2ZldGNoKGkuaHJlZixzKX19KSgpO2Z1bmN0aW9uIEFwKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkoZSxhcmd1bWVudHMpfX1jb25zdHt0b1N0cmluZzpJMH09T2JqZWN0LnByb3RvdHlwZSx7Z2V0UHJvdG90eXBlT2Y6RXV9PU9iamVjdCxKYT0odD0+ZT0+e2NvbnN0IG49STAuY2FsbChlKTtyZXR1cm4gdFtuXXx8KHRbbl09bi5zbGljZSg4LC0xKS50b0xvd2VyQ2FzZSgpKX0pKE9iamVjdC5jcmVhdGUobnVsbCkpLGxyPXQ9Pih0PXQudG9Mb3dlckNhc2UoKSxlPT5KYShlKT09PXQpLHFhPXQ9PmU9PnR5cGVvZiBlPT09dCx7aXNBcnJheTp2c309QXJyYXksdG89cWEoInVuZGVmaW5lZCIpO2Z1bmN0aW9uIE4wKHQpe3JldHVybiB0IT09bnVsbCYmIXRvKHQpJiZ0LmNvbnN0cnVjdG9yIT09bnVsbCYmIXRvKHQuY29uc3RydWN0b3IpJiZFbih0LmNvbnN0cnVjdG9yLmlzQnVmZmVyKSYmdC5jb25zdHJ1Y3Rvci5pc0J1ZmZlcih0KX1jb25zdCBPcD1scigiQXJyYXlCdWZmZXIiKTtmdW5jdGlvbiBSMCh0KXtsZXQgZTtyZXR1cm4gdHlwZW9mIEFycmF5QnVmZmVyPCJ1IiYmQXJyYXlCdWZmZXIuaXNWaWV3P2U9QXJyYXlCdWZmZXIuaXNWaWV3KHQpOmU9dCYmdC5idWZmZXImJk9wKHQuYnVmZmVyKSxlfWNvbnN0IEQwPXFhKCJzdHJpbmciKSxFbj1xYSgiZnVuY3Rpb24iKSxDcD1xYSgibnVtYmVyIiksWmE9dD0+dCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0IixNMD10PT50PT09ITB8fHQ9PT0hMSxtYT10PT57aWYoSmEodCkhPT0ib2JqZWN0IilyZXR1cm4hMTtjb25zdCBlPUV1KHQpO3JldHVybihlPT09bnVsbHx8ZT09PU9iamVjdC5wcm90b3R5cGV8fE9iamVjdC5nZXRQcm90b3R5cGVPZihlKT09PW51bGwpJiYhKFN5bWJvbC50b1N0cmluZ1RhZyBpbiB0KSYmIShTeW1ib2wuaXRlcmF0b3IgaW4gdCl9LEwwPWxyKCJEYXRlIiksRjA9bHIoIkZpbGUiKSwkMD1scigiQmxvYiIpLGowPWxyKCJGaWxlTGlzdCIpLEIwPXQ9PlphKHQpJiZFbih0LnBpcGUpLFUwPXQ9PntsZXQgZTtyZXR1cm4gdCYmKHR5cGVvZiBGb3JtRGF0YT09ImZ1bmN0aW9uIiYmdCBpbnN0YW5jZW9mIEZvcm1EYXRhfHxFbih0LmFwcGVuZCkmJigoZT1KYSh0KSk9PT0iZm9ybWRhdGEifHxlPT09Im9iamVjdCImJkVuKHQudG9TdHJpbmcpJiZ0LnRvU3RyaW5nKCk9PT0iW29iamVjdCBGb3JtRGF0YV0iKSl9LFYwPWxyKCJVUkxTZWFyY2hQYXJhbXMiKSxXMD10PT50LnRyaW0/dC50cmltKCk6dC5yZXBsYWNlKC9eW1xzXHVGRUZGXHhBMF0rfFtcc1x1RkVGRlx4QTBdKyQvZywiIik7ZnVuY3Rpb24gU28odCxlLHthbGxPd25LZXlzOm49ITF9PXt9KXtpZih0PT09bnVsbHx8dHlwZW9mIHQ+InUiKXJldHVybjtsZXQgcixpO2lmKHR5cGVvZiB0IT0ib2JqZWN0IiYmKHQ9W3RdKSx2cyh0KSlmb3Iocj0wLGk9dC5sZW5ndGg7cjxpO3IrKyllLmNhbGwobnVsbCx0W3JdLHIsdCk7ZWxzZXtjb25zdCBzPW4/T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCk6T2JqZWN0LmtleXModCksbz1zLmxlbmd0aDtsZXQgYTtmb3Iocj0wO3I8bztyKyspYT1zW3JdLGUuY2FsbChudWxsLHRbYV0sYSx0KX19ZnVuY3Rpb24gUHAodCxlKXtlPWUudG9Mb3dlckNhc2UoKTtjb25zdCBuPU9iamVjdC5rZXlzKHQpO2xldCByPW4ubGVuZ3RoLGk7Zm9yKDtyLS0gPjA7KWlmKGk9bltyXSxlPT09aS50b0xvd2VyQ2FzZSgpKXJldHVybiBpO3JldHVybiBudWxsfWNvbnN0IElwPXR5cGVvZiBnbG9iYWxUaGlzPCJ1Ij9nbG9iYWxUaGlzOnR5cGVvZiBzZWxmPCJ1Ij9zZWxmOnR5cGVvZiB3aW5kb3c8InUiP3dpbmRvdzpnbG9iYWwsTnA9dD0+IXRvKHQpJiZ0IT09SXA7ZnVuY3Rpb24gdmMoKXtjb25zdHtjYXNlbGVzczp0fT1OcCh0aGlzKSYmdGhpc3x8e30sZT17fSxuPShyLGkpPT57Y29uc3Qgcz10JiZQcChlLGkpfHxpO21hKGVbc10pJiZtYShyKT9lW3NdPXZjKGVbc10scik6bWEocik/ZVtzXT12Yyh7fSxyKTp2cyhyKT9lW3NdPXIuc2xpY2UoKTplW3NdPXJ9O2ZvcihsZXQgcj0wLGk9YXJndW1lbnRzLmxlbmd0aDtyPGk7cisrKWFyZ3VtZW50c1tyXSYmU28oYXJndW1lbnRzW3JdLG4pO3JldHVybiBlfWNvbnN0IEcwPSh0LGUsbix7YWxsT3duS2V5czpyfT17fSk9PihTbyhlLChpLHMpPT57biYmRW4oaSk/dFtzXT1BcChpLG4pOnRbc109aX0se2FsbE93bktleXM6cn0pLHQpLHowPXQ9Pih0LmNoYXJDb2RlQXQoMCk9PT02NTI3OSYmKHQ9dC5zbGljZSgxKSksdCksSDA9KHQsZSxuLHIpPT57dC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSxyKSx0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJzdXBlciIse3ZhbHVlOmUucHJvdG90eXBlfSksbiYmT2JqZWN0LmFzc2lnbih0LnByb3RvdHlwZSxuKX0sSjA9KHQsZSxuLHIpPT57bGV0IGkscyxvO2NvbnN0IGE9e307aWYoZT1lfHx7fSx0PT1udWxsKXJldHVybiBlO2Rve2ZvcihpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLHM9aS5sZW5ndGg7cy0tID4wOylvPWlbc10sKCFyfHxyKG8sdCxlKSkmJiFhW29dJiYoZVtvXT10W29dLGFbb109ITApO3Q9biE9PSExJiZFdSh0KX13aGlsZSh0JiYoIW58fG4odCxlKSkmJnQhPT1PYmplY3QucHJvdG90eXBlKTtyZXR1cm4gZX0scTA9KHQsZSxuKT0+e3Q9U3RyaW5nKHQpLChuPT09dm9pZCAwfHxuPnQubGVuZ3RoKSYmKG49dC5sZW5ndGgpLG4tPWUubGVuZ3RoO2NvbnN0IHI9dC5pbmRleE9mKGUsbik7cmV0dXJuIHIhPT0tMSYmcj09PW59LFowPXQ9PntpZighdClyZXR1cm4gbnVsbDtpZih2cyh0KSlyZXR1cm4gdDtsZXQgZT10Lmxlbmd0aDtpZighQ3AoZSkpcmV0dXJuIG51bGw7Y29uc3Qgbj1uZXcgQXJyYXkoZSk7Zm9yKDtlLS0gPjA7KW5bZV09dFtlXTtyZXR1cm4gbn0sSzA9KHQ9PmU9PnQmJmUgaW5zdGFuY2VvZiB0KSh0eXBlb2YgVWludDhBcnJheTwidSImJkV1KFVpbnQ4QXJyYXkpKSxZMD0odCxlKT0+e2NvbnN0IHI9KHQmJnRbU3ltYm9sLml0ZXJhdG9yXSkuY2FsbCh0KTtsZXQgaTtmb3IoOyhpPXIubmV4dCgpKSYmIWkuZG9uZTspe2NvbnN0IHM9aS52YWx1ZTtlLmNhbGwodCxzWzBdLHNbMV0pfX0sWDA9KHQsZSk9PntsZXQgbjtjb25zdCByPVtdO2Zvcig7KG49dC5leGVjKGUpKSE9PW51bGw7KXIucHVzaChuKTtyZXR1cm4gcn0sUTA9bHIoIkhUTUxGb3JtRWxlbWVudCIpLGViPXQ9PnQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bLV9cc10oW2EtelxkXSkoXHcqKS9nLGZ1bmN0aW9uKG4scixpKXtyZXR1cm4gci50b1VwcGVyQ2FzZSgpK2l9KSxoZj0oKHtoYXNPd25Qcm9wZXJ0eTp0fSk9PihlLG4pPT50LmNhbGwoZSxuKSkoT2JqZWN0LnByb3RvdHlwZSksdGI9bHIoIlJlZ0V4cCIpLFJwPSh0LGUpPT57Y29uc3Qgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0KSxyPXt9O1NvKG4sKGkscyk9PntsZXQgbzsobz1lKGkscyx0KSkhPT0hMSYmKHJbc109b3x8aSl9KSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0LHIpfSxuYj10PT57UnAodCwoZSxuKT0+e2lmKEVuKHQpJiZbImFyZ3VtZW50cyIsImNhbGxlciIsImNhbGxlZSJdLmluZGV4T2YobikhPT0tMSlyZXR1cm4hMTtjb25zdCByPXRbbl07aWYoRW4ocikpe2lmKGUuZW51bWVyYWJsZT0hMSwid3JpdGFibGUiaW4gZSl7ZS53cml0YWJsZT0hMTtyZXR1cm59ZS5zZXR8fChlLnNldD0oKT0+e3Rocm93IEVycm9yKCJDYW4gbm90IHJld3JpdGUgcmVhZC1vbmx5IG1ldGhvZCAnIituKyInIil9KX19KX0scmI9KHQsZSk9Pntjb25zdCBuPXt9LHI9aT0+e2kuZm9yRWFjaChzPT57bltzXT0hMH0pfTtyZXR1cm4gdnModCk/cih0KTpyKFN0cmluZyh0KS5zcGxpdChlKSksbn0saWI9KCk9Pnt9LHNiPSh0LGUpPT4odD0rdCxOdW1iZXIuaXNGaW5pdGUodCk/dDplKSxGbD0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLG1mPSIwMTIzNDU2Nzg5IixEcD17RElHSVQ6bWYsQUxQSEE6RmwsQUxQSEFfRElHSVQ6RmwrRmwudG9VcHBlckNhc2UoKSttZn0sb2I9KHQ9MTYsZT1EcC5BTFBIQV9ESUdJVCk9PntsZXQgbj0iIjtjb25zdHtsZW5ndGg6cn09ZTtmb3IoO3QtLTspbis9ZVtNYXRoLnJhbmRvbSgpKnJ8MF07cmV0dXJuIG59O2Z1bmN0aW9uIGFiKHQpe3JldHVybiEhKHQmJkVuKHQuYXBwZW5kKSYmdFtTeW1ib2wudG9TdHJpbmdUYWddPT09IkZvcm1EYXRhIiYmdFtTeW1ib2wuaXRlcmF0b3JdKX1jb25zdCBsYj10PT57Y29uc3QgZT1uZXcgQXJyYXkoMTApLG49KHIsaSk9PntpZihaYShyKSl7aWYoZS5pbmRleE9mKHIpPj0wKXJldHVybjtpZighKCJ0b0pTT04iaW4gcikpe2VbaV09cjtjb25zdCBzPXZzKHIpP1tdOnt9O3JldHVybiBTbyhyLChvLGEpPT57Y29uc3QgbD1uKG8saSsxKTshdG8obCkmJihzW2FdPWwpfSksZVtpXT12b2lkIDAsc319cmV0dXJuIHJ9O3JldHVybiBuKHQsMCl9LGNiPWxyKCJBc3luY0Z1bmN0aW9uIiksdWI9dD0+dCYmKFphKHQpfHxFbih0KSkmJkVuKHQudGhlbikmJkVuKHQuY2F0Y2gpLFk9e2lzQXJyYXk6dnMsaXNBcnJheUJ1ZmZlcjpPcCxpc0J1ZmZlcjpOMCxpc0Zvcm1EYXRhOlUwLGlzQXJyYXlCdWZmZXJWaWV3OlIwLGlzU3RyaW5nOkQwLGlzTnVtYmVyOkNwLGlzQm9vbGVhbjpNMCxpc09iamVjdDpaYSxpc1BsYWluT2JqZWN0Om1hLGlzVW5kZWZpbmVkOnRvLGlzRGF0ZTpMMCxpc0ZpbGU6RjAsaXNCbG9iOiQwLGlzUmVnRXhwOnRiLGlzRnVuY3Rpb246RW4saXNTdHJlYW06QjAsaXNVUkxTZWFyY2hQYXJhbXM6VjAsaXNUeXBlZEFycmF5OkswLGlzRmlsZUxpc3Q6ajAsZm9yRWFjaDpTbyxtZXJnZTp2YyxleHRlbmQ6RzAsdHJpbTpXMCxzdHJpcEJPTTp6MCxpbmhlcml0czpIMCx0b0ZsYXRPYmplY3Q6SjAsa2luZE9mOkphLGtpbmRPZlRlc3Q6bHIsZW5kc1dpdGg6cTAsdG9BcnJheTpaMCxmb3JFYWNoRW50cnk6WTAsbWF0Y2hBbGw6WDAsaXNIVE1MRm9ybTpRMCxoYXNPd25Qcm9wZXJ0eTpoZixoYXNPd25Qcm9wOmhmLHJlZHVjZURlc2NyaXB0b3JzOlJwLGZyZWV6ZU1ldGhvZHM6bmIsdG9PYmplY3RTZXQ6cmIsdG9DYW1lbENhc2U6ZWIsbm9vcDppYix0b0Zpbml0ZU51bWJlcjpzYixmaW5kS2V5OlBwLGdsb2JhbDpJcCxpc0NvbnRleHREZWZpbmVkOk5wLEFMUEhBQkVUOkRwLGdlbmVyYXRlU3RyaW5nOm9iLGlzU3BlY0NvbXBsaWFudEZvcm06YWIsdG9KU09OT2JqZWN0OmxiLGlzQXN5bmNGbjpjYixpc1RoZW5hYmxlOnVifTtmdW5jdGlvbiBZZSh0LGUsbixyLGkpe0Vycm9yLmNhbGwodGhpcyksRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2U/RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyx0aGlzLmNvbnN0cnVjdG9yKTp0aGlzLnN0YWNrPW5ldyBFcnJvcigpLnN0YWNrLHRoaXMubWVzc2FnZT10LHRoaXMubmFtZT0iQXhpb3NFcnJvciIsZSYmKHRoaXMuY29kZT1lKSxuJiYodGhpcy5jb25maWc9biksciYmKHRoaXMucmVxdWVzdD1yKSxpJiYodGhpcy5yZXNwb25zZT1pKX1ZLmluaGVyaXRzKFllLEVycm9yLHt0b0pTT046ZnVuY3Rpb24oKXtyZXR1cm57bWVzc2FnZTp0aGlzLm1lc3NhZ2UsbmFtZTp0aGlzLm5hbWUsZGVzY3JpcHRpb246dGhpcy5kZXNjcmlwdGlvbixudW1iZXI6dGhpcy5udW1iZXIsZmlsZU5hbWU6dGhpcy5maWxlTmFtZSxsaW5lTnVtYmVyOnRoaXMubGluZU51bWJlcixjb2x1bW5OdW1iZXI6dGhpcy5jb2x1bW5OdW1iZXIsc3RhY2s6dGhpcy5zdGFjayxjb25maWc6WS50b0pTT05PYmplY3QodGhpcy5jb25maWcpLGNvZGU6dGhpcy5jb2RlLHN0YXR1czp0aGlzLnJlc3BvbnNlJiZ0aGlzLnJlc3BvbnNlLnN0YXR1cz90aGlzLnJlc3BvbnNlLnN0YXR1czpudWxsfX19KTtjb25zdCBNcD1ZZS5wcm90b3R5cGUsTHA9e307WyJFUlJfQkFEX09QVElPTl9WQUxVRSIsIkVSUl9CQURfT1BUSU9OIiwiRUNPTk5BQk9SVEVEIiwiRVRJTUVET1VUIiwiRVJSX05FVFdPUksiLCJFUlJfRlJfVE9PX01BTllfUkVESVJFQ1RTIiwiRVJSX0RFUFJFQ0FURUQiLCJFUlJfQkFEX1JFU1BPTlNFIiwiRVJSX0JBRF9SRVFVRVNUIiwiRVJSX0NBTkNFTEVEIiwiRVJSX05PVF9TVVBQT1JUIiwiRVJSX0lOVkFMSURfVVJMIl0uZm9yRWFjaCh0PT57THBbdF09e3ZhbHVlOnR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoWWUsTHApO09iamVjdC5kZWZpbmVQcm9wZXJ0eShNcCwiaXNBeGlvc0Vycm9yIix7dmFsdWU6ITB9KTtZZS5mcm9tPSh0LGUsbixyLGkscyk9Pntjb25zdCBvPU9iamVjdC5jcmVhdGUoTXApO3JldHVybiBZLnRvRmxhdE9iamVjdCh0LG8sZnVuY3Rpb24obCl7cmV0dXJuIGwhPT1FcnJvci5wcm90b3R5cGV9LGE9PmEhPT0iaXNBeGlvc0Vycm9yIiksWWUuY2FsbChvLHQubWVzc2FnZSxlLG4scixpKSxvLmNhdXNlPXQsby5uYW1lPXQubmFtZSxzJiZPYmplY3QuYXNzaWduKG8scyksb307Y29uc3QgZGI9bnVsbDtmdW5jdGlvbiBfYyh0KXtyZXR1cm4gWS5pc1BsYWluT2JqZWN0KHQpfHxZLmlzQXJyYXkodCl9ZnVuY3Rpb24gRnAodCl7cmV0dXJuIFkuZW5kc1dpdGgodCwiW10iKT90LnNsaWNlKDAsLTIpOnR9ZnVuY3Rpb24gcGYodCxlLG4pe3JldHVybiB0P3QuY29uY2F0KGUpLm1hcChmdW5jdGlvbihpLHMpe3JldHVybiBpPUZwKGkpLCFuJiZzPyJbIitpKyJdIjppfSkuam9pbihuPyIuIjoiIik6ZX1mdW5jdGlvbiBmYih0KXtyZXR1cm4gWS5pc0FycmF5KHQpJiYhdC5zb21lKF9jKX1jb25zdCBoYj1ZLnRvRmxhdE9iamVjdChZLHt9LG51bGwsZnVuY3Rpb24oZSl7cmV0dXJuL15pc1tBLVpdLy50ZXN0KGUpfSk7ZnVuY3Rpb24gS2EodCxlLG4pe2lmKCFZLmlzT2JqZWN0KHQpKXRocm93IG5ldyBUeXBlRXJyb3IoInRhcmdldCBtdXN0IGJlIGFuIG9iamVjdCIpO2U9ZXx8bmV3IEZvcm1EYXRhLG49WS50b0ZsYXRPYmplY3Qobix7bWV0YVRva2VuczohMCxkb3RzOiExLGluZGV4ZXM6ITF9LCExLGZ1bmN0aW9uKHAsayl7cmV0dXJuIVkuaXNVbmRlZmluZWQoa1twXSl9KTtjb25zdCByPW4ubWV0YVRva2VucyxpPW4udmlzaXRvcnx8dSxzPW4uZG90cyxvPW4uaW5kZXhlcyxsPShuLkJsb2J8fHR5cGVvZiBCbG9iPCJ1IiYmQmxvYikmJlkuaXNTcGVjQ29tcGxpYW50Rm9ybShlKTtpZighWS5pc0Z1bmN0aW9uKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoInZpc2l0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uIik7ZnVuY3Rpb24gYyhtKXtpZihtPT09bnVsbClyZXR1cm4iIjtpZihZLmlzRGF0ZShtKSlyZXR1cm4gbS50b0lTT1N0cmluZygpO2lmKCFsJiZZLmlzQmxvYihtKSl0aHJvdyBuZXcgWWUoIkJsb2IgaXMgbm90IHN1cHBvcnRlZC4gVXNlIGEgQnVmZmVyIGluc3RlYWQuIik7cmV0dXJuIFkuaXNBcnJheUJ1ZmZlcihtKXx8WS5pc1R5cGVkQXJyYXkobSk/bCYmdHlwZW9mIEJsb2I9PSJmdW5jdGlvbiI/bmV3IEJsb2IoW21dKTpCdWZmZXIuZnJvbShtKTptfWZ1bmN0aW9uIHUobSxwLGspe2xldCB4PW07aWYobSYmIWsmJnR5cGVvZiBtPT0ib2JqZWN0Iil7aWYoWS5lbmRzV2l0aChwLCJ7fSIpKXA9cj9wOnAuc2xpY2UoMCwtMiksbT1KU09OLnN0cmluZ2lmeShtKTtlbHNlIGlmKFkuaXNBcnJheShtKSYmZmIobSl8fChZLmlzRmlsZUxpc3QobSl8fFkuZW5kc1dpdGgocCwiW10iKSkmJih4PVkudG9BcnJheShtKSkpcmV0dXJuIHA9RnAocCkseC5mb3JFYWNoKGZ1bmN0aW9uKGIsVCl7IShZLmlzVW5kZWZpbmVkKGIpfHxiPT09bnVsbCkmJmUuYXBwZW5kKG89PT0hMD9wZihbcF0sVCxzKTpvPT09bnVsbD9wOnArIltdIixjKGIpKX0pLCExfXJldHVybiBfYyhtKT8hMDooZS5hcHBlbmQocGYoayxwLHMpLGMobSkpLCExKX1jb25zdCBkPVtdLGY9T2JqZWN0LmFzc2lnbihoYix7ZGVmYXVsdFZpc2l0b3I6dSxjb252ZXJ0VmFsdWU6Yyxpc1Zpc2l0YWJsZTpfY30pO2Z1bmN0aW9uIGgobSxwKXtpZighWS5pc1VuZGVmaW5lZChtKSl7aWYoZC5pbmRleE9mKG0pIT09LTEpdGhyb3cgRXJyb3IoIkNpcmN1bGFyIHJlZmVyZW5jZSBkZXRlY3RlZCBpbiAiK3Auam9pbigiLiIpKTtkLnB1c2gobSksWS5mb3JFYWNoKG0sZnVuY3Rpb24oeCxDKXsoIShZLmlzVW5kZWZpbmVkKHgpfHx4PT09bnVsbCkmJmkuY2FsbChlLHgsWS5pc1N0cmluZyhDKT9DLnRyaW0oKTpDLHAsZikpPT09ITAmJmgoeCxwP3AuY29uY2F0KEMpOltDXSl9KSxkLnBvcCgpfX1pZighWS5pc09iamVjdCh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJkYXRhIG11c3QgYmUgYW4gb2JqZWN0Iik7cmV0dXJuIGgodCksZX1mdW5jdGlvbiBnZih0KXtjb25zdCBlPXsiISI6IiUyMSIsIiciOiIlMjciLCIoIjoiJTI4IiwiKSI6IiUyOSIsIn4iOiIlN0UiLCIlMjAiOiIrIiwiJTAwIjoiXDAifTtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHQpLnJlcGxhY2UoL1shJygpfl18JTIwfCUwMC9nLGZ1bmN0aW9uKHIpe3JldHVybiBlW3JdfSl9ZnVuY3Rpb24geHUodCxlKXt0aGlzLl9wYWlycz1bXSx0JiZLYSh0LHRoaXMsZSl9Y29uc3QgJHA9eHUucHJvdG90eXBlOyRwLmFwcGVuZD1mdW5jdGlvbihlLG4pe3RoaXMuX3BhaXJzLnB1c2goW2Usbl0pfTskcC50b1N0cmluZz1mdW5jdGlvbihlKXtjb25zdCBuPWU/ZnVuY3Rpb24ocil7cmV0dXJuIGUuY2FsbCh0aGlzLHIsZ2YpfTpnZjtyZXR1cm4gdGhpcy5fcGFpcnMubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBuKGlbMF0pKyI9IituKGlbMV0pfSwiIikuam9pbigiJiIpfTtmdW5jdGlvbiBtYih0KXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHQpLnJlcGxhY2UoLyUzQS9naSwiOiIpLnJlcGxhY2UoLyUyNC9nLCIkIikucmVwbGFjZSgvJTJDL2dpLCIsIikucmVwbGFjZSgvJTIwL2csIisiKS5yZXBsYWNlKC8lNUIvZ2ksIlsiKS5yZXBsYWNlKC8lNUQvZ2ksIl0iKX1mdW5jdGlvbiBqcCh0LGUsbil7aWYoIWUpcmV0dXJuIHQ7Y29uc3Qgcj1uJiZuLmVuY29kZXx8bWIsaT1uJiZuLnNlcmlhbGl6ZTtsZXQgcztpZihpP3M9aShlLG4pOnM9WS5pc1VSTFNlYXJjaFBhcmFtcyhlKT9lLnRvU3RyaW5nKCk6bmV3IHh1KGUsbikudG9TdHJpbmcocikscyl7Y29uc3Qgbz10LmluZGV4T2YoIiMiKTtvIT09LTEmJih0PXQuc2xpY2UoMCxvKSksdCs9KHQuaW5kZXhPZigiPyIpPT09LTE/Ij8iOiImIikrc31yZXR1cm4gdH1jbGFzcyB5Zntjb25zdHJ1Y3Rvcigpe3RoaXMuaGFuZGxlcnM9W119dXNlKGUsbixyKXtyZXR1cm4gdGhpcy5oYW5kbGVycy5wdXNoKHtmdWxmaWxsZWQ6ZSxyZWplY3RlZDpuLHN5bmNocm9ub3VzOnI/ci5zeW5jaHJvbm91czohMSxydW5XaGVuOnI/ci5ydW5XaGVuOm51bGx9KSx0aGlzLmhhbmRsZXJzLmxlbmd0aC0xfWVqZWN0KGUpe3RoaXMuaGFuZGxlcnNbZV0mJih0aGlzLmhhbmRsZXJzW2VdPW51bGwpfWNsZWFyKCl7dGhpcy5oYW5kbGVycyYmKHRoaXMuaGFuZGxlcnM9W10pfWZvckVhY2goZSl7WS5mb3JFYWNoKHRoaXMuaGFuZGxlcnMsZnVuY3Rpb24ocil7ciE9PW51bGwmJmUocil9KX19Y29uc3QgQnA9e3NpbGVudEpTT05QYXJzaW5nOiEwLGZvcmNlZEpTT05QYXJzaW5nOiEwLGNsYXJpZnlUaW1lb3V0RXJyb3I6ITF9LHBiPXR5cGVvZiBVUkxTZWFyY2hQYXJhbXM8InUiP1VSTFNlYXJjaFBhcmFtczp4dSxnYj10eXBlb2YgRm9ybURhdGE8InUiP0Zvcm1EYXRhOm51bGwseWI9dHlwZW9mIEJsb2I8InUiP0Jsb2I6bnVsbCx2Yj17aXNCcm93c2VyOiEwLGNsYXNzZXM6e1VSTFNlYXJjaFBhcmFtczpwYixGb3JtRGF0YTpnYixCbG9iOnlifSxwcm90b2NvbHM6WyJodHRwIiwiaHR0cHMiLCJmaWxlIiwiYmxvYiIsInVybCIsImRhdGEiXX0sVXA9dHlwZW9mIHdpbmRvdzwidSImJnR5cGVvZiBkb2N1bWVudDwidSIsX2I9KHQ9PlVwJiZbIlJlYWN0TmF0aXZlIiwiTmF0aXZlU2NyaXB0IiwiTlMiXS5pbmRleE9mKHQpPDApKHR5cGVvZiBuYXZpZ2F0b3I8InUiJiZuYXZpZ2F0b3IucHJvZHVjdCksYmI9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlPCJ1IiYmc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZ0eXBlb2Ygc2VsZi5pbXBvcnRTY3JpcHRzPT0iZnVuY3Rpb24iLHdiPU9iamVjdC5mcmVlemUoT2JqZWN0LmRlZmluZVByb3BlcnR5KHtfX3Byb3RvX186bnVsbCxoYXNCcm93c2VyRW52OlVwLGhhc1N0YW5kYXJkQnJvd3NlckVudjpfYixoYXNTdGFuZGFyZEJyb3dzZXJXZWJXb3JrZXJFbnY6YmJ9LFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSksWG49ey4uLndiLC4uLnZifTtmdW5jdGlvbiBrYih0LGUpe3JldHVybiBLYSh0LG5ldyBYbi5jbGFzc2VzLlVSTFNlYXJjaFBhcmFtcyxPYmplY3QuYXNzaWduKHt2aXNpdG9yOmZ1bmN0aW9uKG4scixpLHMpe3JldHVybiBYbi5pc05vZGUmJlkuaXNCdWZmZXIobik/KHRoaXMuYXBwZW5kKHIsbi50b1N0cmluZygiYmFzZTY0IikpLCExKTpzLmRlZmF1bHRWaXNpdG9yLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LGUpKX1mdW5jdGlvbiBTYih0KXtyZXR1cm4gWS5tYXRjaEFsbCgvXHcrfFxbKFx3KildL2csdCkubWFwKGU9PmVbMF09PT0iW10iPyIiOmVbMV18fGVbMF0pfWZ1bmN0aW9uIFRiKHQpe2NvbnN0IGU9e30sbj1PYmplY3Qua2V5cyh0KTtsZXQgcjtjb25zdCBpPW4ubGVuZ3RoO2xldCBzO2ZvcihyPTA7cjxpO3IrKylzPW5bcl0sZVtzXT10W3NdO3JldHVybiBlfWZ1bmN0aW9uIFZwKHQpe2Z1bmN0aW9uIGUobixyLGkscyl7bGV0IG89bltzKytdO2lmKG89PT0iX19wcm90b19fIilyZXR1cm4hMDtjb25zdCBhPU51bWJlci5pc0Zpbml0ZSgrbyksbD1zPj1uLmxlbmd0aDtyZXR1cm4gbz0hbyYmWS5pc0FycmF5KGkpP2kubGVuZ3RoOm8sbD8oWS5oYXNPd25Qcm9wKGksbyk/aVtvXT1baVtvXSxyXTppW29dPXIsIWEpOigoIWlbb118fCFZLmlzT2JqZWN0KGlbb10pKSYmKGlbb109W10pLGUobixyLGlbb10scykmJlkuaXNBcnJheShpW29dKSYmKGlbb109VGIoaVtvXSkpLCFhKX1pZihZLmlzRm9ybURhdGEodCkmJlkuaXNGdW5jdGlvbih0LmVudHJpZXMpKXtjb25zdCBuPXt9O3JldHVybiBZLmZvckVhY2hFbnRyeSh0LChyLGkpPT57ZShTYihyKSxpLG4sMCl9KSxufXJldHVybiBudWxsfWZ1bmN0aW9uIEViKHQsZSxuKXtpZihZLmlzU3RyaW5nKHQpKXRyeXtyZXR1cm4oZXx8SlNPTi5wYXJzZSkodCksWS50cmltKHQpfWNhdGNoKHIpe2lmKHIubmFtZSE9PSJTeW50YXhFcnJvciIpdGhyb3cgcn1yZXR1cm4obnx8SlNPTi5zdHJpbmdpZnkpKHQpfWNvbnN0IFRvPXt0cmFuc2l0aW9uYWw6QnAsYWRhcHRlcjpbInhociIsImh0dHAiXSx0cmFuc2Zvcm1SZXF1ZXN0OltmdW5jdGlvbihlLG4pe2NvbnN0IHI9bi5nZXRDb250ZW50VHlwZSgpfHwiIixpPXIuaW5kZXhPZigiYXBwbGljYXRpb24vanNvbiIpPi0xLHM9WS5pc09iamVjdChlKTtpZihzJiZZLmlzSFRNTEZvcm0oZSkmJihlPW5ldyBGb3JtRGF0YShlKSksWS5pc0Zvcm1EYXRhKGUpKXJldHVybiBpP0pTT04uc3RyaW5naWZ5KFZwKGUpKTplO2lmKFkuaXNBcnJheUJ1ZmZlcihlKXx8WS5pc0J1ZmZlcihlKXx8WS5pc1N0cmVhbShlKXx8WS5pc0ZpbGUoZSl8fFkuaXNCbG9iKGUpKXJldHVybiBlO2lmKFkuaXNBcnJheUJ1ZmZlclZpZXcoZSkpcmV0dXJuIGUuYnVmZmVyO2lmKFkuaXNVUkxTZWFyY2hQYXJhbXMoZSkpcmV0dXJuIG4uc2V0Q29udGVudFR5cGUoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04IiwhMSksZS50b1N0cmluZygpO2xldCBhO2lmKHMpe2lmKHIuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik+LTEpcmV0dXJuIGtiKGUsdGhpcy5mb3JtU2VyaWFsaXplcikudG9TdHJpbmcoKTtpZigoYT1ZLmlzRmlsZUxpc3QoZSkpfHxyLmluZGV4T2YoIm11bHRpcGFydC9mb3JtLWRhdGEiKT4tMSl7Y29uc3QgbD10aGlzLmVudiYmdGhpcy5lbnYuRm9ybURhdGE7cmV0dXJuIEthKGE/eyJmaWxlc1tdIjplfTplLGwmJm5ldyBsLHRoaXMuZm9ybVNlcmlhbGl6ZXIpfX1yZXR1cm4gc3x8aT8obi5zZXRDb250ZW50VHlwZSgiYXBwbGljYXRpb24vanNvbiIsITEpLEViKGUpKTplfV0sdHJhbnNmb3JtUmVzcG9uc2U6W2Z1bmN0aW9uKGUpe2NvbnN0IG49dGhpcy50cmFuc2l0aW9uYWx8fFRvLnRyYW5zaXRpb25hbCxyPW4mJm4uZm9yY2VkSlNPTlBhcnNpbmcsaT10aGlzLnJlc3BvbnNlVHlwZT09PSJqc29uIjtpZihlJiZZLmlzU3RyaW5nKGUpJiYociYmIXRoaXMucmVzcG9uc2VUeXBlfHxpKSl7Y29uc3Qgbz0hKG4mJm4uc2lsZW50SlNPTlBhcnNpbmcpJiZpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaChhKXtpZihvKXRocm93IGEubmFtZT09PSJTeW50YXhFcnJvciI/WWUuZnJvbShhLFllLkVSUl9CQURfUkVTUE9OU0UsdGhpcyxudWxsLHRoaXMucmVzcG9uc2UpOmF9fXJldHVybiBlfV0sdGltZW91dDowLHhzcmZDb29raWVOYW1lOiJYU1JGLVRPS0VOIix4c3JmSGVhZGVyTmFtZToiWC1YU1JGLVRPS0VOIixtYXhDb250ZW50TGVuZ3RoOi0xLG1heEJvZHlMZW5ndGg6LTEsZW52OntGb3JtRGF0YTpYbi5jbGFzc2VzLkZvcm1EYXRhLEJsb2I6WG4uY2xhc3Nlcy5CbG9ifSx2YWxpZGF0ZVN0YXR1czpmdW5jdGlvbihlKXtyZXR1cm4gZT49MjAwJiZlPDMwMH0saGVhZGVyczp7Y29tbW9uOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW4sICovKiIsIkNvbnRlbnQtVHlwZSI6dm9pZCAwfX19O1kuZm9yRWFjaChbImRlbGV0ZSIsImdldCIsImhlYWQiLCJwb3N0IiwicHV0IiwicGF0Y2giXSx0PT57VG8uaGVhZGVyc1t0XT17fX0pO2NvbnN0IHhiPVkudG9PYmplY3RTZXQoWyJhZ2UiLCJhdXRob3JpemF0aW9uIiwiY29udGVudC1sZW5ndGgiLCJjb250ZW50LXR5cGUiLCJldGFnIiwiZXhwaXJlcyIsImZyb20iLCJob3N0IiwiaWYtbW9kaWZpZWQtc2luY2UiLCJpZi11bm1vZGlmaWVkLXNpbmNlIiwibGFzdC1tb2RpZmllZCIsImxvY2F0aW9uIiwibWF4LWZvcndhcmRzIiwicHJveHktYXV0aG9yaXphdGlvbiIsInJlZmVyZXIiLCJyZXRyeS1hZnRlciIsInVzZXItYWdlbnQiXSksQWI9dD0+e2NvbnN0IGU9e307bGV0IG4scixpO3JldHVybiB0JiZ0LnNwbGl0KGAKYCkuZm9yRWFjaChmdW5jdGlvbihvKXtpPW8uaW5kZXhPZigiOiIpLG49by5zdWJzdHJpbmcoMCxpKS50cmltKCkudG9Mb3dlckNhc2UoKSxyPW8uc3Vic3RyaW5nKGkrMSkudHJpbSgpLCEoIW58fGVbbl0mJnhiW25dKSYmKG49PT0ic2V0LWNvb2tpZSI/ZVtuXT9lW25dLnB1c2gocik6ZVtuXT1bcl06ZVtuXT1lW25dP2Vbbl0rIiwgIityOnIpfSksZX0sdmY9U3ltYm9sKCJpbnRlcm5hbHMiKTtmdW5jdGlvbiB4cyh0KXtyZXR1cm4gdCYmU3RyaW5nKHQpLnRyaW0oKS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIHBhKHQpe3JldHVybiB0PT09ITF8fHQ9PW51bGw/dDpZLmlzQXJyYXkodCk/dC5tYXAocGEpOlN0cmluZyh0KX1mdW5jdGlvbiBPYih0KXtjb25zdCBlPU9iamVjdC5jcmVhdGUobnVsbCksbj0vKFteXHMsOz1dKylccyooPzo9XHMqKFteLDtdKykpPy9nO2xldCByO2Zvcig7cj1uLmV4ZWModCk7KWVbclsxXV09clsyXTtyZXR1cm4gZX1jb25zdCBDYj10PT4vXlstX2EtekEtWjAtOV5gfH4sISMkJSYnKisuXSskLy50ZXN0KHQudHJpbSgpKTtmdW5jdGlvbiAkbCh0LGUsbixyLGkpe2lmKFkuaXNGdW5jdGlvbihyKSlyZXR1cm4gci5jYWxsKHRoaXMsZSxuKTtpZihpJiYoZT1uKSwhIVkuaXNTdHJpbmcoZSkpe2lmKFkuaXNTdHJpbmcocikpcmV0dXJuIGUuaW5kZXhPZihyKSE9PS0xO2lmKFkuaXNSZWdFeHAocikpcmV0dXJuIHIudGVzdChlKX19ZnVuY3Rpb24gUGIodCl7cmV0dXJuIHQudHJpbSgpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvKFthLXpcZF0pKFx3KikvZywoZSxuLHIpPT5uLnRvVXBwZXJDYXNlKCkrcil9ZnVuY3Rpb24gSWIodCxlKXtjb25zdCBuPVkudG9DYW1lbENhc2UoIiAiK2UpO1siZ2V0Iiwic2V0IiwiaGFzIl0uZm9yRWFjaChyPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQscituLHt2YWx1ZTpmdW5jdGlvbihpLHMsbyl7cmV0dXJuIHRoaXNbcl0uY2FsbCh0aGlzLGUsaSxzLG8pfSxjb25maWd1cmFibGU6ITB9KX0pfWxldCB4bj1jbGFzc3tjb25zdHJ1Y3RvcihlKXtlJiZ0aGlzLnNldChlKX1zZXQoZSxuLHIpe2NvbnN0IGk9dGhpcztmdW5jdGlvbiBzKGEsbCxjKXtjb25zdCB1PXhzKGwpO2lmKCF1KXRocm93IG5ldyBFcnJvcigiaGVhZGVyIG5hbWUgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKTtjb25zdCBkPVkuZmluZEtleShpLHUpOyghZHx8aVtkXT09PXZvaWQgMHx8Yz09PSEwfHxjPT09dm9pZCAwJiZpW2RdIT09ITEpJiYoaVtkfHxsXT1wYShhKSl9Y29uc3Qgbz0oYSxsKT0+WS5mb3JFYWNoKGEsKGMsdSk9PnMoYyx1LGwpKTtyZXR1cm4gWS5pc1BsYWluT2JqZWN0KGUpfHxlIGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3Rvcj9vKGUsbik6WS5pc1N0cmluZyhlKSYmKGU9ZS50cmltKCkpJiYhQ2IoZSk/byhBYihlKSxuKTplIT1udWxsJiZzKG4sZSxyKSx0aGlzfWdldChlLG4pe2lmKGU9eHMoZSksZSl7Y29uc3Qgcj1ZLmZpbmRLZXkodGhpcyxlKTtpZihyKXtjb25zdCBpPXRoaXNbcl07aWYoIW4pcmV0dXJuIGk7aWYobj09PSEwKXJldHVybiBPYihpKTtpZihZLmlzRnVuY3Rpb24obikpcmV0dXJuIG4uY2FsbCh0aGlzLGkscik7aWYoWS5pc1JlZ0V4cChuKSlyZXR1cm4gbi5leGVjKGkpO3Rocm93IG5ldyBUeXBlRXJyb3IoInBhcnNlciBtdXN0IGJlIGJvb2xlYW58cmVnZXhwfGZ1bmN0aW9uIil9fX1oYXMoZSxuKXtpZihlPXhzKGUpLGUpe2NvbnN0IHI9WS5maW5kS2V5KHRoaXMsZSk7cmV0dXJuISEociYmdGhpc1tyXSE9PXZvaWQgMCYmKCFufHwkbCh0aGlzLHRoaXNbcl0scixuKSkpfXJldHVybiExfWRlbGV0ZShlLG4pe2NvbnN0IHI9dGhpcztsZXQgaT0hMTtmdW5jdGlvbiBzKG8pe2lmKG89eHMobyksbyl7Y29uc3QgYT1ZLmZpbmRLZXkocixvKTthJiYoIW58fCRsKHIsclthXSxhLG4pKSYmKGRlbGV0ZSByW2FdLGk9ITApfX1yZXR1cm4gWS5pc0FycmF5KGUpP2UuZm9yRWFjaChzKTpzKGUpLGl9Y2xlYXIoZSl7Y29uc3Qgbj1PYmplY3Qua2V5cyh0aGlzKTtsZXQgcj1uLmxlbmd0aCxpPSExO2Zvcig7ci0tOyl7Y29uc3Qgcz1uW3JdOyghZXx8JGwodGhpcyx0aGlzW3NdLHMsZSwhMCkpJiYoZGVsZXRlIHRoaXNbc10saT0hMCl9cmV0dXJuIGl9bm9ybWFsaXplKGUpe2NvbnN0IG49dGhpcyxyPXt9O3JldHVybiBZLmZvckVhY2godGhpcywoaSxzKT0+e2NvbnN0IG89WS5maW5kS2V5KHIscyk7aWYobyl7bltvXT1wYShpKSxkZWxldGUgbltzXTtyZXR1cm59Y29uc3QgYT1lP1BiKHMpOlN0cmluZyhzKS50cmltKCk7YSE9PXMmJmRlbGV0ZSBuW3NdLG5bYV09cGEoaSksclthXT0hMH0pLHRoaXN9Y29uY2F0KC4uLmUpe3JldHVybiB0aGlzLmNvbnN0cnVjdG9yLmNvbmNhdCh0aGlzLC4uLmUpfXRvSlNPTihlKXtjb25zdCBuPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIFkuZm9yRWFjaCh0aGlzLChyLGkpPT57ciE9bnVsbCYmciE9PSExJiYobltpXT1lJiZZLmlzQXJyYXkocik/ci5qb2luKCIsICIpOnIpfSksbn1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBPYmplY3QuZW50cmllcyh0aGlzLnRvSlNPTigpKVtTeW1ib2wuaXRlcmF0b3JdKCl9dG9TdHJpbmcoKXtyZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy50b0pTT04oKSkubWFwKChbZSxuXSk9PmUrIjogIituKS5qb2luKGAKYCl9Z2V0W1N5bWJvbC50b1N0cmluZ1RhZ10oKXtyZXR1cm4iQXhpb3NIZWFkZXJzIn1zdGF0aWMgZnJvbShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHRoaXM/ZTpuZXcgdGhpcyhlKX1zdGF0aWMgY29uY2F0KGUsLi4ubil7Y29uc3Qgcj1uZXcgdGhpcyhlKTtyZXR1cm4gbi5mb3JFYWNoKGk9PnIuc2V0KGkpKSxyfXN0YXRpYyBhY2Nlc3NvcihlKXtjb25zdCByPSh0aGlzW3ZmXT10aGlzW3ZmXT17YWNjZXNzb3JzOnt9fSkuYWNjZXNzb3JzLGk9dGhpcy5wcm90b3R5cGU7ZnVuY3Rpb24gcyhvKXtjb25zdCBhPXhzKG8pO3JbYV18fChJYihpLG8pLHJbYV09ITApfXJldHVybiBZLmlzQXJyYXkoZSk/ZS5mb3JFYWNoKHMpOnMoZSksdGhpc319O3huLmFjY2Vzc29yKFsiQ29udGVudC1UeXBlIiwiQ29udGVudC1MZW5ndGgiLCJBY2NlcHQiLCJBY2NlcHQtRW5jb2RpbmciLCJVc2VyLUFnZW50IiwiQXV0aG9yaXphdGlvbiJdKTtZLnJlZHVjZURlc2NyaXB0b3JzKHhuLnByb3RvdHlwZSwoe3ZhbHVlOnR9LGUpPT57bGV0IG49ZVswXS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSk7cmV0dXJue2dldDooKT0+dCxzZXQocil7dGhpc1tuXT1yfX19KTtZLmZyZWV6ZU1ldGhvZHMoeG4pO2Z1bmN0aW9uIGpsKHQsZSl7Y29uc3Qgbj10aGlzfHxUbyxyPWV8fG4saT14bi5mcm9tKHIuaGVhZGVycyk7bGV0IHM9ci5kYXRhO3JldHVybiBZLmZvckVhY2godCxmdW5jdGlvbihhKXtzPWEuY2FsbChuLHMsaS5ub3JtYWxpemUoKSxlP2Uuc3RhdHVzOnZvaWQgMCl9KSxpLm5vcm1hbGl6ZSgpLHN9ZnVuY3Rpb24gV3AodCl7cmV0dXJuISEodCYmdC5fX0NBTkNFTF9fKX1mdW5jdGlvbiBFbyh0LGUsbil7WWUuY2FsbCh0aGlzLHQ/PyJjYW5jZWxlZCIsWWUuRVJSX0NBTkNFTEVELGUsbiksdGhpcy5uYW1lPSJDYW5jZWxlZEVycm9yIn1ZLmluaGVyaXRzKEVvLFllLHtfX0NBTkNFTF9fOiEwfSk7ZnVuY3Rpb24gTmIodCxlLG4pe2NvbnN0IHI9bi5jb25maWcudmFsaWRhdGVTdGF0dXM7IW4uc3RhdHVzfHwhcnx8cihuLnN0YXR1cyk/dChuKTplKG5ldyBZZSgiUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSAiK24uc3RhdHVzLFtZZS5FUlJfQkFEX1JFUVVFU1QsWWUuRVJSX0JBRF9SRVNQT05TRV1bTWF0aC5mbG9vcihuLnN0YXR1cy8xMDApLTRdLG4uY29uZmlnLG4ucmVxdWVzdCxuKSl9Y29uc3QgUmI9WG4uaGFzU3RhbmRhcmRCcm93c2VyRW52P3t3cml0ZSh0LGUsbixyLGkscyl7Y29uc3Qgbz1bdCsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGUpXTtZLmlzTnVtYmVyKG4pJiZvLnB1c2goImV4cGlyZXM9IituZXcgRGF0ZShuKS50b0dNVFN0cmluZygpKSxZLmlzU3RyaW5nKHIpJiZvLnB1c2goInBhdGg9IityKSxZLmlzU3RyaW5nKGkpJiZvLnB1c2goImRvbWFpbj0iK2kpLHM9PT0hMCYmby5wdXNoKCJzZWN1cmUiKSxkb2N1bWVudC5jb29raWU9by5qb2luKCI7ICIpfSxyZWFkKHQpe2NvbnN0IGU9ZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoIihefDtcXHMqKSgiK3QrIik9KFteO10qKSIpKTtyZXR1cm4gZT9kZWNvZGVVUklDb21wb25lbnQoZVszXSk6bnVsbH0scmVtb3ZlKHQpe3RoaXMud3JpdGUodCwiIixEYXRlLm5vdygpLTg2NGU1KX19Ont3cml0ZSgpe30scmVhZCgpe3JldHVybiBudWxsfSxyZW1vdmUoKXt9fTtmdW5jdGlvbiBEYih0KXtyZXR1cm4vXihbYS16XVthLXpcZCtcLS5dKjopP1wvXC8vaS50ZXN0KHQpfWZ1bmN0aW9uIE1iKHQsZSl7cmV0dXJuIGU/dC5yZXBsYWNlKC9cLz9cLyQvLCIiKSsiLyIrZS5yZXBsYWNlKC9eXC8rLywiIik6dH1mdW5jdGlvbiBHcCh0LGUpe3JldHVybiB0JiYhRGIoZSk/TWIodCxlKTplfWNvbnN0IExiPVhuLmhhc1N0YW5kYXJkQnJvd3NlckVudj9mdW5jdGlvbigpe2NvbnN0IGU9Lyhtc2llfHRyaWRlbnQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtsZXQgcjtmdW5jdGlvbiBpKHMpe2xldCBvPXM7cmV0dXJuIGUmJihuLnNldEF0dHJpYnV0ZSgiaHJlZiIsbyksbz1uLmhyZWYpLG4uc2V0QXR0cmlidXRlKCJocmVmIixvKSx7aHJlZjpuLmhyZWYscHJvdG9jb2w6bi5wcm90b2NvbD9uLnByb3RvY29sLnJlcGxhY2UoLzokLywiIik6IiIsaG9zdDpuLmhvc3Qsc2VhcmNoOm4uc2VhcmNoP24uc2VhcmNoLnJlcGxhY2UoL15cPy8sIiIpOiIiLGhhc2g6bi5oYXNoP24uaGFzaC5yZXBsYWNlKC9eIy8sIiIpOiIiLGhvc3RuYW1lOm4uaG9zdG5hbWUscG9ydDpuLnBvcnQscGF0aG5hbWU6bi5wYXRobmFtZS5jaGFyQXQoMCk9PT0iLyI/bi5wYXRobmFtZToiLyIrbi5wYXRobmFtZX19cmV0dXJuIHI9aSh3aW5kb3cubG9jYXRpb24uaHJlZiksZnVuY3Rpb24obyl7Y29uc3QgYT1ZLmlzU3RyaW5nKG8pP2kobyk6bztyZXR1cm4gYS5wcm90b2NvbD09PXIucHJvdG9jb2wmJmEuaG9zdD09PXIuaG9zdH19KCk6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4hMH19KCk7ZnVuY3Rpb24gRmIodCl7Y29uc3QgZT0vXihbLStcd117MSwyNX0pKDo/XC9cL3w6KS8uZXhlYyh0KTtyZXR1cm4gZSYmZVsxXXx8IiJ9ZnVuY3Rpb24gJGIodCxlKXt0PXR8fDEwO2NvbnN0IG49bmV3IEFycmF5KHQpLHI9bmV3IEFycmF5KHQpO2xldCBpPTAscz0wLG87cmV0dXJuIGU9ZSE9PXZvaWQgMD9lOjFlMyxmdW5jdGlvbihsKXtjb25zdCBjPURhdGUubm93KCksdT1yW3NdO298fChvPWMpLG5baV09bCxyW2ldPWM7bGV0IGQ9cyxmPTA7Zm9yKDtkIT09aTspZis9bltkKytdLGQ9ZCV0O2lmKGk9KGkrMSkldCxpPT09cyYmKHM9KHMrMSkldCksYy1vPGUpcmV0dXJuO2NvbnN0IGg9dSYmYy11O3JldHVybiBoP01hdGgucm91bmQoZioxZTMvaCk6dm9pZCAwfX1mdW5jdGlvbiBfZih0LGUpe2xldCBuPTA7Y29uc3Qgcj0kYig1MCwyNTApO3JldHVybiBpPT57Y29uc3Qgcz1pLmxvYWRlZCxvPWkubGVuZ3RoQ29tcHV0YWJsZT9pLnRvdGFsOnZvaWQgMCxhPXMtbixsPXIoYSksYz1zPD1vO249cztjb25zdCB1PXtsb2FkZWQ6cyx0b3RhbDpvLHByb2dyZXNzOm8/cy9vOnZvaWQgMCxieXRlczphLHJhdGU6bHx8dm9pZCAwLGVzdGltYXRlZDpsJiZvJiZjPyhvLXMpL2w6dm9pZCAwLGV2ZW50Oml9O3VbZT8iZG93bmxvYWQiOiJ1cGxvYWQiXT0hMCx0KHUpfX1jb25zdCBqYj10eXBlb2YgWE1MSHR0cFJlcXVlc3Q8InUiLEJiPWpiJiZmdW5jdGlvbih0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXtsZXQgaT10LmRhdGE7Y29uc3Qgcz14bi5mcm9tKHQuaGVhZGVycykubm9ybWFsaXplKCk7bGV0e3Jlc3BvbnNlVHlwZTpvLHdpdGhYU1JGVG9rZW46YX09dCxsO2Z1bmN0aW9uIGMoKXt0LmNhbmNlbFRva2VuJiZ0LmNhbmNlbFRva2VuLnVuc3Vic2NyaWJlKGwpLHQuc2lnbmFsJiZ0LnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsbCl9bGV0IHU7aWYoWS5pc0Zvcm1EYXRhKGkpKXtpZihYbi5oYXNTdGFuZGFyZEJyb3dzZXJFbnZ8fFhuLmhhc1N0YW5kYXJkQnJvd3NlcldlYldvcmtlckVudilzLnNldENvbnRlbnRUeXBlKCExKTtlbHNlIGlmKCh1PXMuZ2V0Q29udGVudFR5cGUoKSkhPT0hMSl7Y29uc3RbcCwuLi5rXT11P3Uuc3BsaXQoIjsiKS5tYXAoeD0+eC50cmltKCkpLmZpbHRlcihCb29sZWFuKTpbXTtzLnNldENvbnRlbnRUeXBlKFtwfHwibXVsdGlwYXJ0L2Zvcm0tZGF0YSIsLi4ua10uam9pbigiOyAiKSl9fWxldCBkPW5ldyBYTUxIdHRwUmVxdWVzdDtpZih0LmF1dGgpe2NvbnN0IHA9dC5hdXRoLnVzZXJuYW1lfHwiIixrPXQuYXV0aC5wYXNzd29yZD91bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodC5hdXRoLnBhc3N3b3JkKSk6IiI7cy5zZXQoIkF1dGhvcml6YXRpb24iLCJCYXNpYyAiK2J0b2EocCsiOiIraykpfWNvbnN0IGY9R3AodC5iYXNlVVJMLHQudXJsKTtkLm9wZW4odC5tZXRob2QudG9VcHBlckNhc2UoKSxqcChmLHQucGFyYW1zLHQucGFyYW1zU2VyaWFsaXplciksITApLGQudGltZW91dD10LnRpbWVvdXQ7ZnVuY3Rpb24gaCgpe2lmKCFkKXJldHVybjtjb25zdCBwPXhuLmZyb20oImdldEFsbFJlc3BvbnNlSGVhZGVycyJpbiBkJiZkLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSx4PXtkYXRhOiFvfHxvPT09InRleHQifHxvPT09Impzb24iP2QucmVzcG9uc2VUZXh0OmQucmVzcG9uc2Usc3RhdHVzOmQuc3RhdHVzLHN0YXR1c1RleHQ6ZC5zdGF0dXNUZXh0LGhlYWRlcnM6cCxjb25maWc6dCxyZXF1ZXN0OmR9O05iKGZ1bmN0aW9uKGIpe24oYiksYygpfSxmdW5jdGlvbihiKXtyKGIpLGMoKX0seCksZD1udWxsfWlmKCJvbmxvYWRlbmQiaW4gZD9kLm9ubG9hZGVuZD1oOmQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7IWR8fGQucmVhZHlTdGF0ZSE9PTR8fGQuc3RhdHVzPT09MCYmIShkLnJlc3BvbnNlVVJMJiZkLnJlc3BvbnNlVVJMLmluZGV4T2YoImZpbGU6Iik9PT0wKXx8c2V0VGltZW91dChoKX0sZC5vbmFib3J0PWZ1bmN0aW9uKCl7ZCYmKHIobmV3IFllKCJSZXF1ZXN0IGFib3J0ZWQiLFllLkVDT05OQUJPUlRFRCx0LGQpKSxkPW51bGwpfSxkLm9uZXJyb3I9ZnVuY3Rpb24oKXtyKG5ldyBZZSgiTmV0d29yayBFcnJvciIsWWUuRVJSX05FVFdPUkssdCxkKSksZD1udWxsfSxkLm9udGltZW91dD1mdW5jdGlvbigpe2xldCBrPXQudGltZW91dD8idGltZW91dCBvZiAiK3QudGltZW91dCsibXMgZXhjZWVkZWQiOiJ0aW1lb3V0IGV4Y2VlZGVkIjtjb25zdCB4PXQudHJhbnNpdGlvbmFsfHxCcDt0LnRpbWVvdXRFcnJvck1lc3NhZ2UmJihrPXQudGltZW91dEVycm9yTWVzc2FnZSkscihuZXcgWWUoayx4LmNsYXJpZnlUaW1lb3V0RXJyb3I/WWUuRVRJTUVET1VUOlllLkVDT05OQUJPUlRFRCx0LGQpKSxkPW51bGx9LFhuLmhhc1N0YW5kYXJkQnJvd3NlckVudiYmKGEmJlkuaXNGdW5jdGlvbihhKSYmKGE9YSh0KSksYXx8YSE9PSExJiZMYihmKSkpe2NvbnN0IHA9dC54c3JmSGVhZGVyTmFtZSYmdC54c3JmQ29va2llTmFtZSYmUmIucmVhZCh0LnhzcmZDb29raWVOYW1lKTtwJiZzLnNldCh0LnhzcmZIZWFkZXJOYW1lLHApfWk9PT12b2lkIDAmJnMuc2V0Q29udGVudFR5cGUobnVsbCksInNldFJlcXVlc3RIZWFkZXIiaW4gZCYmWS5mb3JFYWNoKHMudG9KU09OKCksZnVuY3Rpb24oayx4KXtkLnNldFJlcXVlc3RIZWFkZXIoeCxrKX0pLFkuaXNVbmRlZmluZWQodC53aXRoQ3JlZGVudGlhbHMpfHwoZC53aXRoQ3JlZGVudGlhbHM9ISF0LndpdGhDcmVkZW50aWFscyksbyYmbyE9PSJqc29uIiYmKGQucmVzcG9uc2VUeXBlPXQucmVzcG9uc2VUeXBlKSx0eXBlb2YgdC5vbkRvd25sb2FkUHJvZ3Jlc3M9PSJmdW5jdGlvbiImJmQuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLF9mKHQub25Eb3dubG9hZFByb2dyZXNzLCEwKSksdHlwZW9mIHQub25VcGxvYWRQcm9ncmVzcz09ImZ1bmN0aW9uIiYmZC51cGxvYWQmJmQudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixfZih0Lm9uVXBsb2FkUHJvZ3Jlc3MpKSwodC5jYW5jZWxUb2tlbnx8dC5zaWduYWwpJiYobD1wPT57ZCYmKHIoIXB8fHAudHlwZT9uZXcgRW8obnVsbCx0LGQpOnApLGQuYWJvcnQoKSxkPW51bGwpfSx0LmNhbmNlbFRva2VuJiZ0LmNhbmNlbFRva2VuLnN1YnNjcmliZShsKSx0LnNpZ25hbCYmKHQuc2lnbmFsLmFib3J0ZWQ/bCgpOnQuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixsKSkpO2NvbnN0IG09RmIoZik7aWYobSYmWG4ucHJvdG9jb2xzLmluZGV4T2YobSk9PT0tMSl7cihuZXcgWWUoIlVuc3VwcG9ydGVkIHByb3RvY29sICIrbSsiOiIsWWUuRVJSX0JBRF9SRVFVRVNULHQpKTtyZXR1cm59ZC5zZW5kKGl8fG51bGwpfSl9LGJjPXtodHRwOmRiLHhocjpCYn07WS5mb3JFYWNoKGJjLCh0LGUpPT57aWYodCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJuYW1lIix7dmFsdWU6ZX0pfWNhdGNoe31PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiYWRhcHRlck5hbWUiLHt2YWx1ZTplfSl9fSk7Y29uc3QgYmY9dD0+YC0gJHt0fWAsVWI9dD0+WS5pc0Z1bmN0aW9uKHQpfHx0PT09bnVsbHx8dD09PSExLHpwPXtnZXRBZGFwdGVyOnQ9Pnt0PVkuaXNBcnJheSh0KT90Olt0XTtjb25zdHtsZW5ndGg6ZX09dDtsZXQgbixyO2NvbnN0IGk9e307Zm9yKGxldCBzPTA7czxlO3MrKyl7bj10W3NdO2xldCBvO2lmKHI9biwhVWIobikmJihyPWJjWyhvPVN0cmluZyhuKSkudG9Mb3dlckNhc2UoKV0scj09PXZvaWQgMCkpdGhyb3cgbmV3IFllKGBVbmtub3duIGFkYXB0ZXIgJyR7b30nYCk7aWYocilicmVhaztpW298fCIjIitzXT1yfWlmKCFyKXtjb25zdCBzPU9iamVjdC5lbnRyaWVzKGkpLm1hcCgoW2EsbF0pPT5gYWRhcHRlciAke2F9IGArKGw9PT0hMT8iaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgZW52aXJvbm1lbnQiOiJpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBidWlsZCIpKTtsZXQgbz1lP3MubGVuZ3RoPjE/YHNpbmNlIDoKYCtzLm1hcChiZikuam9pbihgCmApOiIgIitiZihzWzBdKToiYXMgbm8gYWRhcHRlciBzcGVjaWZpZWQiO3Rocm93IG5ldyBZZSgiVGhlcmUgaXMgbm8gc3VpdGFibGUgYWRhcHRlciB0byBkaXNwYXRjaCB0aGUgcmVxdWVzdCAiK28sIkVSUl9OT1RfU1VQUE9SVCIpfXJldHVybiByfSxhZGFwdGVyczpiY307ZnVuY3Rpb24gQmwodCl7aWYodC5jYW5jZWxUb2tlbiYmdC5jYW5jZWxUb2tlbi50aHJvd0lmUmVxdWVzdGVkKCksdC5zaWduYWwmJnQuc2lnbmFsLmFib3J0ZWQpdGhyb3cgbmV3IEVvKG51bGwsdCl9ZnVuY3Rpb24gd2YodCl7cmV0dXJuIEJsKHQpLHQuaGVhZGVycz14bi5mcm9tKHQuaGVhZGVycyksdC5kYXRhPWpsLmNhbGwodCx0LnRyYW5zZm9ybVJlcXVlc3QpLFsicG9zdCIsInB1dCIsInBhdGNoIl0uaW5kZXhPZih0Lm1ldGhvZCkhPT0tMSYmdC5oZWFkZXJzLnNldENvbnRlbnRUeXBlKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiLCExKSx6cC5nZXRBZGFwdGVyKHQuYWRhcHRlcnx8VG8uYWRhcHRlcikodCkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gQmwodCksci5kYXRhPWpsLmNhbGwodCx0LnRyYW5zZm9ybVJlc3BvbnNlLHIpLHIuaGVhZGVycz14bi5mcm9tKHIuaGVhZGVycykscn0sZnVuY3Rpb24ocil7cmV0dXJuIFdwKHIpfHwoQmwodCksciYmci5yZXNwb25zZSYmKHIucmVzcG9uc2UuZGF0YT1qbC5jYWxsKHQsdC50cmFuc2Zvcm1SZXNwb25zZSxyLnJlc3BvbnNlKSxyLnJlc3BvbnNlLmhlYWRlcnM9eG4uZnJvbShyLnJlc3BvbnNlLmhlYWRlcnMpKSksUHJvbWlzZS5yZWplY3Qocil9KX1jb25zdCBrZj10PT50IGluc3RhbmNlb2YgeG4/ey4uLnR9OnQ7ZnVuY3Rpb24gWGkodCxlKXtlPWV8fHt9O2NvbnN0IG49e307ZnVuY3Rpb24gcihjLHUsZCl7cmV0dXJuIFkuaXNQbGFpbk9iamVjdChjKSYmWS5pc1BsYWluT2JqZWN0KHUpP1kubWVyZ2UuY2FsbCh7Y2FzZWxlc3M6ZH0sYyx1KTpZLmlzUGxhaW5PYmplY3QodSk/WS5tZXJnZSh7fSx1KTpZLmlzQXJyYXkodSk/dS5zbGljZSgpOnV9ZnVuY3Rpb24gaShjLHUsZCl7aWYoWS5pc1VuZGVmaW5lZCh1KSl7aWYoIVkuaXNVbmRlZmluZWQoYykpcmV0dXJuIHIodm9pZCAwLGMsZCl9ZWxzZSByZXR1cm4gcihjLHUsZCl9ZnVuY3Rpb24gcyhjLHUpe2lmKCFZLmlzVW5kZWZpbmVkKHUpKXJldHVybiByKHZvaWQgMCx1KX1mdW5jdGlvbiBvKGMsdSl7aWYoWS5pc1VuZGVmaW5lZCh1KSl7aWYoIVkuaXNVbmRlZmluZWQoYykpcmV0dXJuIHIodm9pZCAwLGMpfWVsc2UgcmV0dXJuIHIodm9pZCAwLHUpfWZ1bmN0aW9uIGEoYyx1LGQpe2lmKGQgaW4gZSlyZXR1cm4gcihjLHUpO2lmKGQgaW4gdClyZXR1cm4gcih2b2lkIDAsYyl9Y29uc3QgbD17dXJsOnMsbWV0aG9kOnMsZGF0YTpzLGJhc2VVUkw6byx0cmFuc2Zvcm1SZXF1ZXN0Om8sdHJhbnNmb3JtUmVzcG9uc2U6byxwYXJhbXNTZXJpYWxpemVyOm8sdGltZW91dDpvLHRpbWVvdXRNZXNzYWdlOm8sd2l0aENyZWRlbnRpYWxzOm8sd2l0aFhTUkZUb2tlbjpvLGFkYXB0ZXI6byxyZXNwb25zZVR5cGU6byx4c3JmQ29va2llTmFtZTpvLHhzcmZIZWFkZXJOYW1lOm8sb25VcGxvYWRQcm9ncmVzczpvLG9uRG93bmxvYWRQcm9ncmVzczpvLGRlY29tcHJlc3M6byxtYXhDb250ZW50TGVuZ3RoOm8sbWF4Qm9keUxlbmd0aDpvLGJlZm9yZVJlZGlyZWN0Om8sdHJhbnNwb3J0Om8saHR0cEFnZW50Om8saHR0cHNBZ2VudDpvLGNhbmNlbFRva2VuOm8sc29ja2V0UGF0aDpvLHJlc3BvbnNlRW5jb2Rpbmc6byx2YWxpZGF0ZVN0YXR1czphLGhlYWRlcnM6KGMsdSk9Pmkoa2YoYyksa2YodSksITApfTtyZXR1cm4gWS5mb3JFYWNoKE9iamVjdC5rZXlzKE9iamVjdC5hc3NpZ24oe30sdCxlKSksZnVuY3Rpb24odSl7Y29uc3QgZD1sW3VdfHxpLGY9ZCh0W3VdLGVbdV0sdSk7WS5pc1VuZGVmaW5lZChmKSYmZCE9PWF8fChuW3VdPWYpfSksbn1jb25zdCBIcD0iMS42LjgiLEF1PXt9O1sib2JqZWN0IiwiYm9vbGVhbiIsIm51bWJlciIsImZ1bmN0aW9uIiwic3RyaW5nIiwic3ltYm9sIl0uZm9yRWFjaCgodCxlKT0+e0F1W3RdPWZ1bmN0aW9uKHIpe3JldHVybiB0eXBlb2Ygcj09PXR8fCJhIisoZTwxPyJuICI6IiAiKSt0fX0pO2NvbnN0IFNmPXt9O0F1LnRyYW5zaXRpb25hbD1mdW5jdGlvbihlLG4scil7ZnVuY3Rpb24gaShzLG8pe3JldHVybiJbQXhpb3MgdiIrSHArIl0gVHJhbnNpdGlvbmFsIG9wdGlvbiAnIitzKyInIitvKyhyPyIuICIrcjoiIil9cmV0dXJuKHMsbyxhKT0+e2lmKGU9PT0hMSl0aHJvdyBuZXcgWWUoaShvLCIgaGFzIGJlZW4gcmVtb3ZlZCIrKG4/IiBpbiAiK246IiIpKSxZZS5FUlJfREVQUkVDQVRFRCk7cmV0dXJuIG4mJiFTZltvXSYmKFNmW29dPSEwLGNvbnNvbGUud2FybihpKG8sIiBoYXMgYmVlbiBkZXByZWNhdGVkIHNpbmNlIHYiK24rIiBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZWFyIGZ1dHVyZSIpKSksZT9lKHMsbyxhKTohMH19O2Z1bmN0aW9uIFZiKHQsZSxuKXtpZih0eXBlb2YgdCE9Im9iamVjdCIpdGhyb3cgbmV3IFllKCJvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0IixZZS5FUlJfQkFEX09QVElPTl9WQUxVRSk7Y29uc3Qgcj1PYmplY3Qua2V5cyh0KTtsZXQgaT1yLmxlbmd0aDtmb3IoO2ktLSA+MDspe2NvbnN0IHM9cltpXSxvPWVbc107aWYobyl7Y29uc3QgYT10W3NdLGw9YT09PXZvaWQgMHx8byhhLHMsdCk7aWYobCE9PSEwKXRocm93IG5ldyBZZSgib3B0aW9uICIrcysiIG11c3QgYmUgIitsLFllLkVSUl9CQURfT1BUSU9OX1ZBTFVFKTtjb250aW51ZX1pZihuIT09ITApdGhyb3cgbmV3IFllKCJVbmtub3duIG9wdGlvbiAiK3MsWWUuRVJSX0JBRF9PUFRJT04pfX1jb25zdCB3Yz17YXNzZXJ0T3B0aW9uczpWYix2YWxpZGF0b3JzOkF1fSxrcj13Yy52YWxpZGF0b3JzO2xldCB5aT1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmRlZmF1bHRzPWUsdGhpcy5pbnRlcmNlcHRvcnM9e3JlcXVlc3Q6bmV3IHlmLHJlc3BvbnNlOm5ldyB5Zn19YXN5bmMgcmVxdWVzdChlLG4pe3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5fcmVxdWVzdChlLG4pfWNhdGNoKHIpe2lmKHIgaW5zdGFuY2VvZiBFcnJvcil7bGV0IGk7RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2U/RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoaT17fSk6aT1uZXcgRXJyb3I7Y29uc3Qgcz1pLnN0YWNrP2kuc3RhY2sucmVwbGFjZSgvXi4rXG4vLCIiKToiIjtyLnN0YWNrP3MmJiFTdHJpbmcoci5zdGFjaykuZW5kc1dpdGgocy5yZXBsYWNlKC9eLitcbi4rXG4vLCIiKSkmJihyLnN0YWNrKz1gCmArcyk6ci5zdGFjaz1zfXRocm93IHJ9fV9yZXF1ZXN0KGUsbil7dHlwZW9mIGU9PSJzdHJpbmciPyhuPW58fHt9LG4udXJsPWUpOm49ZXx8e30sbj1YaSh0aGlzLmRlZmF1bHRzLG4pO2NvbnN0e3RyYW5zaXRpb25hbDpyLHBhcmFtc1NlcmlhbGl6ZXI6aSxoZWFkZXJzOnN9PW47ciE9PXZvaWQgMCYmd2MuYXNzZXJ0T3B0aW9ucyhyLHtzaWxlbnRKU09OUGFyc2luZzprci50cmFuc2l0aW9uYWwoa3IuYm9vbGVhbiksZm9yY2VkSlNPTlBhcnNpbmc6a3IudHJhbnNpdGlvbmFsKGtyLmJvb2xlYW4pLGNsYXJpZnlUaW1lb3V0RXJyb3I6a3IudHJhbnNpdGlvbmFsKGtyLmJvb2xlYW4pfSwhMSksaSE9bnVsbCYmKFkuaXNGdW5jdGlvbihpKT9uLnBhcmFtc1NlcmlhbGl6ZXI9e3NlcmlhbGl6ZTppfTp3Yy5hc3NlcnRPcHRpb25zKGkse2VuY29kZTprci5mdW5jdGlvbixzZXJpYWxpemU6a3IuZnVuY3Rpb259LCEwKSksbi5tZXRob2Q9KG4ubWV0aG9kfHx0aGlzLmRlZmF1bHRzLm1ldGhvZHx8ImdldCIpLnRvTG93ZXJDYXNlKCk7bGV0IG89cyYmWS5tZXJnZShzLmNvbW1vbixzW24ubWV0aG9kXSk7cyYmWS5mb3JFYWNoKFsiZGVsZXRlIiwiZ2V0IiwiaGVhZCIsInBvc3QiLCJwdXQiLCJwYXRjaCIsImNvbW1vbiJdLG09PntkZWxldGUgc1ttXX0pLG4uaGVhZGVycz14bi5jb25jYXQobyxzKTtjb25zdCBhPVtdO2xldCBsPSEwO3RoaXMuaW50ZXJjZXB0b3JzLnJlcXVlc3QuZm9yRWFjaChmdW5jdGlvbihwKXt0eXBlb2YgcC5ydW5XaGVuPT0iZnVuY3Rpb24iJiZwLnJ1bldoZW4obik9PT0hMXx8KGw9bCYmcC5zeW5jaHJvbm91cyxhLnVuc2hpZnQocC5mdWxmaWxsZWQscC5yZWplY3RlZCkpfSk7Y29uc3QgYz1bXTt0aGlzLmludGVyY2VwdG9ycy5yZXNwb25zZS5mb3JFYWNoKGZ1bmN0aW9uKHApe2MucHVzaChwLmZ1bGZpbGxlZCxwLnJlamVjdGVkKX0pO2xldCB1LGQ9MCxmO2lmKCFsKXtjb25zdCBtPVt3Zi5iaW5kKHRoaXMpLHZvaWQgMF07Zm9yKG0udW5zaGlmdC5hcHBseShtLGEpLG0ucHVzaC5hcHBseShtLGMpLGY9bS5sZW5ndGgsdT1Qcm9taXNlLnJlc29sdmUobik7ZDxmOyl1PXUudGhlbihtW2QrK10sbVtkKytdKTtyZXR1cm4gdX1mPWEubGVuZ3RoO2xldCBoPW47Zm9yKGQ9MDtkPGY7KXtjb25zdCBtPWFbZCsrXSxwPWFbZCsrXTt0cnl7aD1tKGgpfWNhdGNoKGspe3AuY2FsbCh0aGlzLGspO2JyZWFrfX10cnl7dT13Zi5jYWxsKHRoaXMsaCl9Y2F0Y2gobSl7cmV0dXJuIFByb21pc2UucmVqZWN0KG0pfWZvcihkPTAsZj1jLmxlbmd0aDtkPGY7KXU9dS50aGVuKGNbZCsrXSxjW2QrK10pO3JldHVybiB1fWdldFVyaShlKXtlPVhpKHRoaXMuZGVmYXVsdHMsZSk7Y29uc3Qgbj1HcChlLmJhc2VVUkwsZS51cmwpO3JldHVybiBqcChuLGUucGFyYW1zLGUucGFyYW1zU2VyaWFsaXplcil9fTtZLmZvckVhY2goWyJkZWxldGUiLCJnZXQiLCJoZWFkIiwib3B0aW9ucyJdLGZ1bmN0aW9uKGUpe3lpLnByb3RvdHlwZVtlXT1mdW5jdGlvbihuLHIpe3JldHVybiB0aGlzLnJlcXVlc3QoWGkocnx8e30se21ldGhvZDplLHVybDpuLGRhdGE6KHJ8fHt9KS5kYXRhfSkpfX0pO1kuZm9yRWFjaChbInBvc3QiLCJwdXQiLCJwYXRjaCJdLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4ocil7cmV0dXJuIGZ1bmN0aW9uKHMsbyxhKXtyZXR1cm4gdGhpcy5yZXF1ZXN0KFhpKGF8fHt9LHttZXRob2Q6ZSxoZWFkZXJzOnI/eyJDb250ZW50LVR5cGUiOiJtdWx0aXBhcnQvZm9ybS1kYXRhIn06e30sdXJsOnMsZGF0YTpvfSkpfX15aS5wcm90b3R5cGVbZV09bigpLHlpLnByb3RvdHlwZVtlKyJGb3JtIl09bighMCl9KTtsZXQgV2I9Y2xhc3MgSnB7Y29uc3RydWN0b3IoZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhlY3V0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uLiIpO2xldCBuO3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZShmdW5jdGlvbihzKXtuPXN9KTtjb25zdCByPXRoaXM7dGhpcy5wcm9taXNlLnRoZW4oaT0+e2lmKCFyLl9saXN0ZW5lcnMpcmV0dXJuO2xldCBzPXIuX2xpc3RlbmVycy5sZW5ndGg7Zm9yKDtzLS0gPjA7KXIuX2xpc3RlbmVyc1tzXShpKTtyLl9saXN0ZW5lcnM9bnVsbH0pLHRoaXMucHJvbWlzZS50aGVuPWk9PntsZXQgcztjb25zdCBvPW5ldyBQcm9taXNlKGE9PntyLnN1YnNjcmliZShhKSxzPWF9KS50aGVuKGkpO3JldHVybiBvLmNhbmNlbD1mdW5jdGlvbigpe3IudW5zdWJzY3JpYmUocyl9LG99LGUoZnVuY3Rpb24ocyxvLGEpe3IucmVhc29ufHwoci5yZWFzb249bmV3IEVvKHMsbyxhKSxuKHIucmVhc29uKSl9KX10aHJvd0lmUmVxdWVzdGVkKCl7aWYodGhpcy5yZWFzb24pdGhyb3cgdGhpcy5yZWFzb259c3Vic2NyaWJlKGUpe2lmKHRoaXMucmVhc29uKXtlKHRoaXMucmVhc29uKTtyZXR1cm59dGhpcy5fbGlzdGVuZXJzP3RoaXMuX2xpc3RlbmVycy5wdXNoKGUpOnRoaXMuX2xpc3RlbmVycz1bZV19dW5zdWJzY3JpYmUoZSl7aWYoIXRoaXMuX2xpc3RlbmVycylyZXR1cm47Y29uc3Qgbj10aGlzLl9saXN0ZW5lcnMuaW5kZXhPZihlKTtuIT09LTEmJnRoaXMuX2xpc3RlbmVycy5zcGxpY2UobiwxKX1zdGF0aWMgc291cmNlKCl7bGV0IGU7cmV0dXJue3Rva2VuOm5ldyBKcChmdW5jdGlvbihpKXtlPWl9KSxjYW5jZWw6ZX19fTtmdW5jdGlvbiBHYih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHQuYXBwbHkobnVsbCxuKX19ZnVuY3Rpb24gemIodCl7cmV0dXJuIFkuaXNPYmplY3QodCkmJnQuaXNBeGlvc0Vycm9yPT09ITB9Y29uc3Qga2M9e0NvbnRpbnVlOjEwMCxTd2l0Y2hpbmdQcm90b2NvbHM6MTAxLFByb2Nlc3Npbmc6MTAyLEVhcmx5SGludHM6MTAzLE9rOjIwMCxDcmVhdGVkOjIwMSxBY2NlcHRlZDoyMDIsTm9uQXV0aG9yaXRhdGl2ZUluZm9ybWF0aW9uOjIwMyxOb0NvbnRlbnQ6MjA0LFJlc2V0Q29udGVudDoyMDUsUGFydGlhbENvbnRlbnQ6MjA2LE11bHRpU3RhdHVzOjIwNyxBbHJlYWR5UmVwb3J0ZWQ6MjA4LEltVXNlZDoyMjYsTXVsdGlwbGVDaG9pY2VzOjMwMCxNb3ZlZFBlcm1hbmVudGx5OjMwMSxGb3VuZDozMDIsU2VlT3RoZXI6MzAzLE5vdE1vZGlmaWVkOjMwNCxVc2VQcm94eTozMDUsVW51c2VkOjMwNixUZW1wb3JhcnlSZWRpcmVjdDozMDcsUGVybWFuZW50UmVkaXJlY3Q6MzA4LEJhZFJlcXVlc3Q6NDAwLFVuYXV0aG9yaXplZDo0MDEsUGF5bWVudFJlcXVpcmVkOjQwMixGb3JiaWRkZW46NDAzLE5vdEZvdW5kOjQwNCxNZXRob2ROb3RBbGxvd2VkOjQwNSxOb3RBY2NlcHRhYmxlOjQwNixQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWQ6NDA3LFJlcXVlc3RUaW1lb3V0OjQwOCxDb25mbGljdDo0MDksR29uZTo0MTAsTGVuZ3RoUmVxdWlyZWQ6NDExLFByZWNvbmRpdGlvbkZhaWxlZDo0MTIsUGF5bG9hZFRvb0xhcmdlOjQxMyxVcmlUb29Mb25nOjQxNCxVbnN1cHBvcnRlZE1lZGlhVHlwZTo0MTUsUmFuZ2VOb3RTYXRpc2ZpYWJsZTo0MTYsRXhwZWN0YXRpb25GYWlsZWQ6NDE3LEltQVRlYXBvdDo0MTgsTWlzZGlyZWN0ZWRSZXF1ZXN0OjQyMSxVbnByb2Nlc3NhYmxlRW50aXR5OjQyMixMb2NrZWQ6NDIzLEZhaWxlZERlcGVuZGVuY3k6NDI0LFRvb0Vhcmx5OjQyNSxVcGdyYWRlUmVxdWlyZWQ6NDI2LFByZWNvbmRpdGlvblJlcXVpcmVkOjQyOCxUb29NYW55UmVxdWVzdHM6NDI5LFJlcXVlc3RIZWFkZXJGaWVsZHNUb29MYXJnZTo0MzEsVW5hdmFpbGFibGVGb3JMZWdhbFJlYXNvbnM6NDUxLEludGVybmFsU2VydmVyRXJyb3I6NTAwLE5vdEltcGxlbWVudGVkOjUwMSxCYWRHYXRld2F5OjUwMixTZXJ2aWNlVW5hdmFpbGFibGU6NTAzLEdhdGV3YXlUaW1lb3V0OjUwNCxIdHRwVmVyc2lvbk5vdFN1cHBvcnRlZDo1MDUsVmFyaWFudEFsc29OZWdvdGlhdGVzOjUwNixJbnN1ZmZpY2llbnRTdG9yYWdlOjUwNyxMb29wRGV0ZWN0ZWQ6NTA4LE5vdEV4dGVuZGVkOjUxMCxOZXR3b3JrQXV0aGVudGljYXRpb25SZXF1aXJlZDo1MTF9O09iamVjdC5lbnRyaWVzKGtjKS5mb3JFYWNoKChbdCxlXSk9PntrY1tlXT10fSk7ZnVuY3Rpb24gcXAodCl7Y29uc3QgZT1uZXcgeWkodCksbj1BcCh5aS5wcm90b3R5cGUucmVxdWVzdCxlKTtyZXR1cm4gWS5leHRlbmQobix5aS5wcm90b3R5cGUsZSx7YWxsT3duS2V5czohMH0pLFkuZXh0ZW5kKG4sZSxudWxsLHthbGxPd25LZXlzOiEwfSksbi5jcmVhdGU9ZnVuY3Rpb24oaSl7cmV0dXJuIHFwKFhpKHQsaSkpfSxufWNvbnN0IEtlPXFwKFRvKTtLZS5BeGlvcz15aTtLZS5DYW5jZWxlZEVycm9yPUVvO0tlLkNhbmNlbFRva2VuPVdiO0tlLmlzQ2FuY2VsPVdwO0tlLlZFUlNJT049SHA7S2UudG9Gb3JtRGF0YT1LYTtLZS5BeGlvc0Vycm9yPVllO0tlLkNhbmNlbD1LZS5DYW5jZWxlZEVycm9yO0tlLmFsbD1mdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZSl9O0tlLnNwcmVhZD1HYjtLZS5pc0F4aW9zRXJyb3I9emI7S2UubWVyZ2VDb25maWc9WGk7S2UuQXhpb3NIZWFkZXJzPXhuO0tlLmZvcm1Ub0pTT049dD0+VnAoWS5pc0hUTUxGb3JtKHQpP25ldyBGb3JtRGF0YSh0KTp0KTtLZS5nZXRBZGFwdGVyPXpwLmdldEFkYXB0ZXI7S2UuSHR0cFN0YXR1c0NvZGU9a2M7S2UuZGVmYXVsdD1LZTtjb25zdHtBeGlvczpFRixBeGlvc0Vycm9yOnhGLENhbmNlbGVkRXJyb3I6QUYsaXNDYW5jZWw6T0YsQ2FuY2VsVG9rZW46Q0YsVkVSU0lPTjpQRixhbGw6SUYsQ2FuY2VsOk5GLGlzQXhpb3NFcnJvcjpSRixzcHJlYWQ6REYsdG9Gb3JtRGF0YTpNRixBeGlvc0hlYWRlcnM6TEYsSHR0cFN0YXR1c0NvZGU6RkYsZm9ybVRvSlNPTjokRixnZXRBZGFwdGVyOmpGLG1lcmdlQ29uZmlnOkJGfT1LZTtjbGFzcyBIYntjb25zdHJ1Y3RvcihlLG4pe18odGhpcywiaW5zdGFuY2UiKTtfKHRoaXMsImJhc2VVcmwiKTtfKHRoaXMsImpzb25QYXJzZVJldml2ZXIiKTt0aGlzLmluc3RhbmNlPW58fEtlLmNyZWF0ZSgpLHRoaXMuYmFzZVVybD1lPz8iIn1jcmVhdGUoZSxuKXtsZXQgcj10aGlzLmJhc2VVcmwrIi9hcGlfa2V5cyI7cj1yLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IHM9e2RhdGE6SlNPTi5zdHJpbmdpZnkoZSksbWV0aG9kOiJQT1NUIix1cmw6cixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46bn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChzKS5jYXRjaChvPT57aWYoYmUobykmJm8ucmVzcG9uc2UpcmV0dXJuIG8ucmVzcG9uc2U7dGhyb3cgb30pLnRoZW4obz0+dGhpcy5wcm9jZXNzQ3JlYXRlKG8pKX1wcm9jZXNzQ3JlYXRlKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1CaS5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWxpc3QoZSxuLHIsaSl7bGV0IHM9dGhpcy5iYXNlVXJsKyIvYXBpX2tleXM/IjtlIT1udWxsJiZlJiZlLmZvckVhY2goYT0+e3MrPSJleHBhbmQ9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYSkrIiYifSksbiE9bnVsbCYmKHMrPSJwYWdlTnVtYmVyPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK24pKyImIiksciE9bnVsbCYmKHMrPSJwYWdlU2l6ZT0iK2VuY29kZVVSSUNvbXBvbmVudCgiIityKSsiJiIpLHM9cy5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBvPXttZXRob2Q6IkdFVCIsdXJsOnMsaGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46aX07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChvKS5jYXRjaChhPT57aWYoYmUoYSkmJmEucmVzcG9uc2UpcmV0dXJuIGEucmVzcG9uc2U7dGhyb3cgYX0pLnRoZW4oYT0+dGhpcy5wcm9jZXNzTGlzdChhKSl9cHJvY2Vzc0xpc3QoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPU91LmZyb21KUyhvKSxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9Z2V0KGUsbixyKXtsZXQgaT10aGlzLmJhc2VVcmwrIi9hcGlfa2V5cy97aWR9PyI7aWYoZT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwYXJhbWV0ZXIgJ2lkJyBtdXN0IGJlIGRlZmluZWQuIik7aT1pLnJlcGxhY2UoIntpZH0iLGVuY29kZVVSSUNvbXBvbmVudCgiIitlKSksbiE9bnVsbCYmbiYmbi5mb3JFYWNoKG89PntpKz0iZXhwYW5kPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK28pKyImIn0pLGk9aS5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBzPXttZXRob2Q6IkdFVCIsdXJsOmksaGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46cn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChzKS5jYXRjaChvPT57aWYoYmUobykmJm8ucmVzcG9uc2UpcmV0dXJuIG8ucmVzcG9uc2U7dGhyb3cgb30pLnRoZW4obz0+dGhpcy5wcm9jZXNzR2V0KG8pKX1wcm9jZXNzR2V0KGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1CaS5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfXVwZGF0ZShlLG4scil7bGV0IGk9dGhpcy5iYXNlVXJsKyIvYXBpX2tleXMve2lkfSI7aWYoZT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwYXJhbWV0ZXIgJ2lkJyBtdXN0IGJlIGRlZmluZWQuIik7aT1pLnJlcGxhY2UoIntpZH0iLGVuY29kZVVSSUNvbXBvbmVudCgiIitlKSksaT1pLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IG89e2RhdGE6SlNPTi5zdHJpbmdpZnkobiksbWV0aG9kOiJQVVQiLHVybDppLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIixBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjpyfTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KG8pLmNhdGNoKGE9PntpZihiZShhKSYmYS5yZXNwb25zZSlyZXR1cm4gYS5yZXNwb25zZTt0aHJvdyBhfSkudGhlbihhPT50aGlzLnByb2Nlc3NVcGRhdGUoYSkpfXByb2Nlc3NVcGRhdGUoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPUJpLmZyb21KUyhvKSxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9ZGVsZXRlKGUsbil7bGV0IHI9dGhpcy5iYXNlVXJsKyIvYXBpX2tleXMve2lkfSI7aWYoZT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwYXJhbWV0ZXIgJ2lkJyBtdXN0IGJlIGRlZmluZWQuIik7cj1yLnJlcGxhY2UoIntpZH0iLGVuY29kZVVSSUNvbXBvbmVudCgiIitlKSkscj1yLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IGk9e21ldGhvZDoiREVMRVRFIix1cmw6cixoZWFkZXJzOnt9LGNhbmNlbFRva2VuOm59O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QoaSkuY2F0Y2gocz0+e2lmKGJlKHMpJiZzLnJlc3BvbnNlKXJldHVybiBzLnJlc3BvbnNlO3Rocm93IHN9KS50aGVuKHM9PnRoaXMucHJvY2Vzc0RlbGV0ZShzKSl9cHJvY2Vzc0RlbGV0ZShlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMClyZXR1cm4gZS5kYXRhLFByb21pc2UucmVzb2x2ZShudWxsKTtpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9fWNsYXNzIEpie2NvbnN0cnVjdG9yKGUsbil7Xyh0aGlzLCJpbnN0YW5jZSIpO18odGhpcywiYmFzZVVybCIpO18odGhpcywianNvblBhcnNlUmV2aXZlciIpO3RoaXMuaW5zdGFuY2U9bnx8S2UuY3JlYXRlKCksdGhpcy5iYXNlVXJsPWU/PyIifXN5bmNocm9uaXplKGUpe2xldCBuPXRoaXMuYmFzZVVybCsiL2Jvb2tpbmdzL3N5bmNocm9uaXplIjtuPW4ucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgcj17cmVzcG9uc2VUeXBlOiJibG9iIixtZXRob2Q6IlBPU1QiLHVybDpuLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIn0sY2FuY2VsVG9rZW46ZX07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChyKS5jYXRjaChpPT57aWYoYmUoaSkmJmkucmVzcG9uc2UpcmV0dXJuIGkucmVzcG9uc2U7dGhyb3cgaX0pLnRoZW4oaT0+dGhpcy5wcm9jZXNzU3luY2hyb25pemUoaSkpfXByb2Nlc3NTeW5jaHJvbml6ZShlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMHx8bj09PTIwNil7Y29uc3QgaT1lLmhlYWRlcnM/ZS5oZWFkZXJzWyJjb250ZW50LWRpc3Bvc2l0aW9uIl06dm9pZCAwO2xldCBzPWk/L2ZpbGVuYW1lXCo9KD86KFxcP1snIl0pKC4qPylcMXwoPzpbXlxzXSsnLio/Jyk/KFteO1xuXSopKS9nLmV4ZWMoaSk6dm9pZCAwLG89cyYmcy5sZW5ndGg+MT9zWzNdfHxzWzJdOnZvaWQgMDtyZXR1cm4gbz9vPWRlY29kZVVSSUNvbXBvbmVudChvKToocz1pPy9maWxlbmFtZT0iPyhbXiJdKj8pIj8oO3wkKS9nLmV4ZWMoaSk6dm9pZCAwLG89cyYmcy5sZW5ndGg+MT9zWzFdOnZvaWQgMCksUHJvbWlzZS5yZXNvbHZlKHtmaWxlTmFtZTpvLHN0YXR1czpuLGRhdGE6bmV3IEJsb2IoW2UuZGF0YV0se3R5cGU6ZS5oZWFkZXJzWyJjb250ZW50LXR5cGUiXX0pLGhlYWRlcnM6cn0pfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfXNlbmRMaW5rKGUsbixyLGkpe2xldCBzPXRoaXMuYmFzZVVybCsiL2Jvb2tpbmdzL3tib29raW5nSWR9L2xpbmtzL3tsaW5rSWR9L3NlbmQiO2lmKGU9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJUaGUgcGFyYW1ldGVyICdib29raW5nSWQnIG11c3QgYmUgZGVmaW5lZC4iKTtpZihzPXMucmVwbGFjZSgie2Jvb2tpbmdJZH0iLGVuY29kZVVSSUNvbXBvbmVudCgiIitlKSksbj09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwYXJhbWV0ZXIgJ2xpbmtJZCcgbXVzdCBiZSBkZWZpbmVkLiIpO3M9cy5yZXBsYWNlKCJ7bGlua0lkfSIsZW5jb2RlVVJJQ29tcG9uZW50KCIiK24pKSxzPXMucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgYT17ZGF0YTpKU09OLnN0cmluZ2lmeShyKSxyZXNwb25zZVR5cGU6ImJsb2IiLG1ldGhvZDoiUE9TVCIsdXJsOnMsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24iLEFjY2VwdDoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIn0sY2FuY2VsVG9rZW46aX07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChhKS5jYXRjaChsPT57aWYoYmUobCkmJmwucmVzcG9uc2UpcmV0dXJuIGwucmVzcG9uc2U7dGhyb3cgbH0pLnRoZW4obD0+dGhpcy5wcm9jZXNzU2VuZExpbmsobCkpfXByb2Nlc3NTZW5kTGluayhlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMHx8bj09PTIwNil7Y29uc3QgaT1lLmhlYWRlcnM/ZS5oZWFkZXJzWyJjb250ZW50LWRpc3Bvc2l0aW9uIl06dm9pZCAwO2xldCBzPWk/L2ZpbGVuYW1lXCo9KD86KFxcP1snIl0pKC4qPylcMXwoPzpbXlxzXSsnLio/Jyk/KFteO1xuXSopKS9nLmV4ZWMoaSk6dm9pZCAwLG89cyYmcy5sZW5ndGg+MT9zWzNdfHxzWzJdOnZvaWQgMDtyZXR1cm4gbz9vPWRlY29kZVVSSUNvbXBvbmVudChvKToocz1pPy9maWxlbmFtZT0iPyhbXiJdKj8pIj8oO3wkKS9nLmV4ZWMoaSk6dm9pZCAwLG89cyYmcy5sZW5ndGg+MT9zWzFdOnZvaWQgMCksUHJvbWlzZS5yZXNvbHZlKHtmaWxlTmFtZTpvLHN0YXR1czpuLGRhdGE6bmV3IEJsb2IoW2UuZGF0YV0se3R5cGU6ZS5oZWFkZXJzWyJjb250ZW50LXR5cGUiXX0pLGhlYWRlcnM6cn0pfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWxpc3QoZSxuLHIsaSxzLG8sYSl7bGV0IGw9dGhpcy5iYXNlVXJsKyIvYm9va2luZ3M/IjtlIT1udWxsJiYobCs9ImZyb209IitlbmNvZGVVUklDb21wb25lbnQoZT8iIitlLnRvSVNPU3RyaW5nKCk6IiIpKyImIiksbiE9bnVsbCYmKGwrPSJ0bz0iK2VuY29kZVVSSUNvbXBvbmVudChuPyIiK24udG9JU09TdHJpbmcoKToiIikrIiYiKSxyIT1udWxsJiYobCs9ImZpbHRlcj0iK2VuY29kZVVSSUNvbXBvbmVudCgiIityKSsiJiIpLGkhPW51bGwmJmkmJmkuZm9yRWFjaCh1PT57bCs9ImV4cGFuZD0iK2VuY29kZVVSSUNvbXBvbmVudCgiIit1KSsiJiJ9KSxzIT1udWxsJiYobCs9InBhZ2VOdW1iZXI9IitlbmNvZGVVUklDb21wb25lbnQoIiIrcykrIiYiKSxvIT1udWxsJiYobCs9InBhZ2VTaXplPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK28pKyImIiksbD1sLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IGM9e21ldGhvZDoiR0VUIix1cmw6bCxoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjphfTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KGMpLmNhdGNoKHU9PntpZihiZSh1KSYmdS5yZXNwb25zZSlyZXR1cm4gdS5yZXNwb25zZTt0aHJvdyB1fSkudGhlbih1PT50aGlzLnByb2Nlc3NMaXN0KHUpKX1wcm9jZXNzTGlzdChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9Q3UuZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1jcmVhdGUoZSxuKXtsZXQgcj10aGlzLmJhc2VVcmwrIi9ib29raW5ncyI7cj1yLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IHM9e2RhdGE6SlNPTi5zdHJpbmdpZnkoZSksbWV0aG9kOiJQT1NUIix1cmw6cixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46bn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChzKS5jYXRjaChvPT57aWYoYmUobykmJm8ucmVzcG9uc2UpcmV0dXJuIG8ucmVzcG9uc2U7dGhyb3cgb30pLnRoZW4obz0+dGhpcy5wcm9jZXNzQ3JlYXRlKG8pKX1wcm9jZXNzQ3JlYXRlKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1nci5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfXNlbmRNYWdpY0xpbmtJZkR1ZShlLG4pe2xldCByPXRoaXMuYmFzZVVybCsiL2Jvb2tpbmdzL3tib29raW5nSWR9L3NlbmQiO2lmKGU9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJUaGUgcGFyYW1ldGVyICdib29raW5nSWQnIG11c3QgYmUgZGVmaW5lZC4iKTtyPXIucmVwbGFjZSgie2Jvb2tpbmdJZH0iLGVuY29kZVVSSUNvbXBvbmVudCgiIitlKSkscj1yLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IGk9e3Jlc3BvbnNlVHlwZToiYmxvYiIsbWV0aG9kOiJQT1NUIix1cmw6cixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSJ9LGNhbmNlbFRva2VuOm59O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QoaSkuY2F0Y2gocz0+e2lmKGJlKHMpJiZzLnJlc3BvbnNlKXJldHVybiBzLnJlc3BvbnNlO3Rocm93IHN9KS50aGVuKHM9PnRoaXMucHJvY2Vzc1NlbmRNYWdpY0xpbmtJZkR1ZShzKSl9cHJvY2Vzc1NlbmRNYWdpY0xpbmtJZkR1ZShlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMHx8bj09PTIwNil7Y29uc3QgaT1lLmhlYWRlcnM/ZS5oZWFkZXJzWyJjb250ZW50LWRpc3Bvc2l0aW9uIl06dm9pZCAwO2xldCBzPWk/L2ZpbGVuYW1lXCo9KD86KFxcP1snIl0pKC4qPylcMXwoPzpbXlxzXSsnLio/Jyk/KFteO1xuXSopKS9nLmV4ZWMoaSk6dm9pZCAwLG89cyYmcy5sZW5ndGg+MT9zWzNdfHxzWzJdOnZvaWQgMDtyZXR1cm4gbz9vPWRlY29kZVVSSUNvbXBvbmVudChvKToocz1pPy9maWxlbmFtZT0iPyhbXiJdKj8pIj8oO3wkKS9nLmV4ZWMoaSk6dm9pZCAwLG89cyYmcy5sZW5ndGg+MT9zWzFdOnZvaWQgMCksUHJvbWlzZS5yZXNvbHZlKHtmaWxlTmFtZTpvLHN0YXR1czpuLGRhdGE6bmV3IEJsb2IoW2UuZGF0YV0se3R5cGU6ZS5oZWFkZXJzWyJjb250ZW50LXR5cGUiXX0pLGhlYWRlcnM6cn0pfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfXJlcXVlc3RMaW5rKGUsbil7bGV0IHI9dGhpcy5iYXNlVXJsKyIvYm9va2luZ3MvcmVxdWVzdF9saW5rIjtyPXIucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgcz17ZGF0YTpKU09OLnN0cmluZ2lmeShlKSxtZXRob2Q6IlBPU1QiLHVybDpyLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46bn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChzKS5jYXRjaChvPT57aWYoYmUobykmJm8ucmVzcG9uc2UpcmV0dXJuIG8ucmVzcG9uc2U7dGhyb3cgb30pLnRoZW4obz0+dGhpcy5wcm9jZXNzUmVxdWVzdExpbmsobykpfXByb2Nlc3NSZXF1ZXN0TGluayhlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMClyZXR1cm4gZS5kYXRhLFByb21pc2UucmVzb2x2ZShudWxsKTtpZihuPT09NDI5KXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1IdC5mcm9tSlMobyksaGUoIkEgc2VydmVyIHNpZGUgZXJyb3Igb2NjdXJyZWQuIixuLGkscixzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1nZXQoZSxuLHIpe2xldCBpPXRoaXMuYmFzZVVybCsiL2Jvb2tpbmdzL3tpZH0/IjtpZihlPT1udWxsKXRocm93IG5ldyBFcnJvcigiVGhlIHBhcmFtZXRlciAnaWQnIG11c3QgYmUgZGVmaW5lZC4iKTtpPWkucmVwbGFjZSgie2lkfSIsZW5jb2RlVVJJQ29tcG9uZW50KCIiK2UpKSxuIT1udWxsJiZuJiZuLmZvckVhY2gobz0+e2krPSJleHBhbmQ9IitlbmNvZGVVUklDb21wb25lbnQoIiIrbykrIiYifSksaT1pLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IHM9e21ldGhvZDoiR0VUIix1cmw6aSxoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjpyfTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KHMpLmNhdGNoKG89PntpZihiZShvKSYmby5yZXNwb25zZSlyZXR1cm4gby5yZXNwb25zZTt0aHJvdyBvfSkudGhlbihvPT50aGlzLnByb2Nlc3NHZXQobykpfXByb2Nlc3NHZXQoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPWdyLmZyb21KUyhvKSxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9dXBkYXRlKGUsbixyKXtsZXQgaT10aGlzLmJhc2VVcmwrIi9ib29raW5ncy97aWR9IjtpZihlPT1udWxsKXRocm93IG5ldyBFcnJvcigiVGhlIHBhcmFtZXRlciAnaWQnIG11c3QgYmUgZGVmaW5lZC4iKTtpPWkucmVwbGFjZSgie2lkfSIsZW5jb2RlVVJJQ29tcG9uZW50KCIiK2UpKSxpPWkucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgbz17ZGF0YTpKU09OLnN0cmluZ2lmeShuKSxtZXRob2Q6IlBVVCIsdXJsOmksaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24iLEFjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOnJ9O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QobykuY2F0Y2goYT0+e2lmKGJlKGEpJiZhLnJlc3BvbnNlKXJldHVybiBhLnJlc3BvbnNlO3Rocm93IGF9KS50aGVuKGE9PnRoaXMucHJvY2Vzc1VwZGF0ZShhKSl9cHJvY2Vzc1VwZGF0ZShlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9Z3IuZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1kZWxldGUoZSxuKXtsZXQgcj10aGlzLmJhc2VVcmwrIi9ib29raW5ncy97aWR9IjtpZihlPT1udWxsKXRocm93IG5ldyBFcnJvcigiVGhlIHBhcmFtZXRlciAnaWQnIG11c3QgYmUgZGVmaW5lZC4iKTtyPXIucmVwbGFjZSgie2lkfSIsZW5jb2RlVVJJQ29tcG9uZW50KCIiK2UpKSxyPXIucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgaT17bWV0aG9kOiJERUxFVEUiLHVybDpyLGhlYWRlcnM6e30sY2FuY2VsVG9rZW46bn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChpKS5jYXRjaChzPT57aWYoYmUocykmJnMucmVzcG9uc2UpcmV0dXJuIHMucmVzcG9uc2U7dGhyb3cgc30pLnRoZW4ocz0+dGhpcy5wcm9jZXNzRGVsZXRlKHMpKX1wcm9jZXNzRGVsZXRlKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXJldHVybiBlLmRhdGEsUHJvbWlzZS5yZXNvbHZlKG51bGwpO2lmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX19Y2xhc3MgWnB7Y29uc3RydWN0b3IoZSxuKXtfKHRoaXMsImluc3RhbmNlIik7Xyh0aGlzLCJiYXNlVXJsIik7Xyh0aGlzLCJqc29uUGFyc2VSZXZpdmVyIik7dGhpcy5pbnN0YW5jZT1ufHxLZS5jcmVhdGUoKSx0aGlzLmJhc2VVcmw9ZT8/IiJ9dXBsb2FkKGUsbil7bGV0IHI9dGhpcy5iYXNlVXJsKyIvZmlsZXMiO3I9ci5yZXBsYWNlKC9bPyZdJC8sIiIpO2NvbnN0IGk9bmV3IEZvcm1EYXRhO2UhPW51bGwmJmkuYXBwZW5kKCJmaWxlIixlLmRhdGEsZS5maWxlTmFtZT9lLmZpbGVOYW1lOiJmaWxlIik7bGV0IHM9e2RhdGE6aSxtZXRob2Q6IlBPU1QiLHVybDpyLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOm59O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QocykuY2F0Y2gobz0+e2lmKGJlKG8pJiZvLnJlc3BvbnNlKXJldHVybiBvLnJlc3BvbnNlO3Rocm93IG99KS50aGVuKG89PnRoaXMucHJvY2Vzc1VwbG9hZChvKSl9cHJvY2Vzc1VwbG9hZChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9U2kuZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1saXN0KGUsbixyLGkpe2xldCBzPXRoaXMuYmFzZVVybCsiL2ZpbGVzPyI7ZSE9bnVsbCYmZSYmZS5mb3JFYWNoKGE9PntzKz0iZXhwYW5kPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK2EpKyImIn0pLG4hPW51bGwmJihzKz0icGFnZU51bWJlcj0iK2VuY29kZVVSSUNvbXBvbmVudCgiIituKSsiJiIpLHIhPW51bGwmJihzKz0icGFnZVNpemU9IitlbmNvZGVVUklDb21wb25lbnQoIiIrcikrIiYiKSxzPXMucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgbz17bWV0aG9kOiJHRVQiLHVybDpzLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOml9O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QobykuY2F0Y2goYT0+e2lmKGJlKGEpJiZhLnJlc3BvbnNlKXJldHVybiBhLnJlc3BvbnNlO3Rocm93IGF9KS50aGVuKGE9PnRoaXMucHJvY2Vzc0xpc3QoYSkpfXByb2Nlc3NMaXN0KGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1EdS5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldERvd25sb2FkVXJsKGUsbil7bGV0IHI9dGhpcy5iYXNlVXJsKyIvZmlsZXMve2lkfS91cmwiO2lmKGU9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJUaGUgcGFyYW1ldGVyICdpZCcgbXVzdCBiZSBkZWZpbmVkLiIpO3I9ci5yZXBsYWNlKCJ7aWR9IixlbmNvZGVVUklDb21wb25lbnQoIiIrZSkpLHI9ci5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBpPXttZXRob2Q6IkdFVCIsdXJsOnIsaGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46bn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChpKS5jYXRjaChzPT57aWYoYmUocykmJnMucmVzcG9uc2UpcmV0dXJuIHMucmVzcG9uc2U7dGhyb3cgc30pLnRoZW4ocz0+dGhpcy5wcm9jZXNzR2V0RG93bmxvYWRVcmwocykpfXByb2Nlc3NHZXREb3dubG9hZFVybChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9byE9PXZvaWQgMD9vOm51bGwsUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldENvbnRlbnQoZSxuKXtsZXQgcj10aGlzLmJhc2VVcmwrIi9maWxlcy97aWR9L2NvbnRlbnQiO2lmKGU9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJUaGUgcGFyYW1ldGVyICdpZCcgbXVzdCBiZSBkZWZpbmVkLiIpO3I9ci5yZXBsYWNlKCJ7aWR9IixlbmNvZGVVUklDb21wb25lbnQoIiIrZSkpLHI9ci5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBpPXtyZXNwb25zZVR5cGU6ImJsb2IiLG1ldGhvZDoiR0VUIix1cmw6cixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSJ9LGNhbmNlbFRva2VuOm59O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QoaSkuY2F0Y2gocz0+e2lmKGJlKHMpJiZzLnJlc3BvbnNlKXJldHVybiBzLnJlc3BvbnNlO3Rocm93IHN9KS50aGVuKHM9PnRoaXMucHJvY2Vzc0dldENvbnRlbnQocykpfXByb2Nlc3NHZXRDb250ZW50KGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwfHxuPT09MjA2KXtjb25zdCBpPWUuaGVhZGVycz9lLmhlYWRlcnNbImNvbnRlbnQtZGlzcG9zaXRpb24iXTp2b2lkIDA7bGV0IHM9aT8vZmlsZW5hbWVcKj0oPzooXFw/WyciXSkoLio/KVwxfCg/OlteXHNdKycuKj8nKT8oW147XG5dKikpL2cuZXhlYyhpKTp2b2lkIDAsbz1zJiZzLmxlbmd0aD4xP3NbM118fHNbMl06dm9pZCAwO3JldHVybiBvP289ZGVjb2RlVVJJQ29tcG9uZW50KG8pOihzPWk/L2ZpbGVuYW1lPSI/KFteIl0qPykiPyg7fCQpL2cuZXhlYyhpKTp2b2lkIDAsbz1zJiZzLmxlbmd0aD4xP3NbMV06dm9pZCAwKSxQcm9taXNlLnJlc29sdmUoe2ZpbGVOYW1lOm8sc3RhdHVzOm4sZGF0YTpuZXcgQmxvYihbZS5kYXRhXSx7dHlwZTplLmhlYWRlcnNbImNvbnRlbnQtdHlwZSJdfSksaGVhZGVyczpyfSl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9Z2V0KGUsbixyKXtsZXQgaT10aGlzLmJhc2VVcmwrIi9maWxlcy97aWR9PyI7aWYoZT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwYXJhbWV0ZXIgJ2lkJyBtdXN0IGJlIGRlZmluZWQuIik7aT1pLnJlcGxhY2UoIntpZH0iLGVuY29kZVVSSUNvbXBvbmVudCgiIitlKSksbiE9bnVsbCYmbiYmbi5mb3JFYWNoKG89PntpKz0iZXhwYW5kPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK28pKyImIn0pLGk9aS5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBzPXttZXRob2Q6IkdFVCIsdXJsOmksaGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46cn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChzKS5jYXRjaChvPT57aWYoYmUobykmJm8ucmVzcG9uc2UpcmV0dXJuIG8ucmVzcG9uc2U7dGhyb3cgb30pLnRoZW4obz0+dGhpcy5wcm9jZXNzR2V0KG8pKX1wcm9jZXNzR2V0KGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1TaS5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWRlbGV0ZShlLG4pe2xldCByPXRoaXMuYmFzZVVybCsiL2ZpbGVzL3tpZH0iO2lmKGU9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJUaGUgcGFyYW1ldGVyICdpZCcgbXVzdCBiZSBkZWZpbmVkLiIpO3I9ci5yZXBsYWNlKCJ7aWR9IixlbmNvZGVVUklDb21wb25lbnQoIiIrZSkpLHI9ci5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBpPXttZXRob2Q6IkRFTEVURSIsdXJsOnIsaGVhZGVyczp7fSxjYW5jZWxUb2tlbjpufTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KGkpLmNhdGNoKHM9PntpZihiZShzKSYmcy5yZXNwb25zZSlyZXR1cm4gcy5yZXNwb25zZTt0aHJvdyBzfSkudGhlbihzPT50aGlzLnByb2Nlc3NEZWxldGUocykpfXByb2Nlc3NEZWxldGUoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApcmV0dXJuIGUuZGF0YSxQcm9taXNlLnJlc29sdmUobnVsbCk7aWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfX1jbGFzcyBLcHtjb25zdHJ1Y3RvcihlLG4pe18odGhpcywiaW5zdGFuY2UiKTtfKHRoaXMsImJhc2VVcmwiKTtfKHRoaXMsImpzb25QYXJzZVJldml2ZXIiKTt0aGlzLmluc3RhbmNlPW58fEtlLmNyZWF0ZSgpLHRoaXMuYmFzZVVybD1lPz8iIn1hbmFseXplKGUsbil7bGV0IHI9dGhpcy5iYXNlVXJsKyIvaWRzL2FuYWx5emUiO3I9ci5yZXBsYWNlKC9bPyZdJC8sIiIpO2NvbnN0IGk9bmV3IEZvcm1EYXRhO2UhPW51bGwmJmkuYXBwZW5kKCJmaWxlIixlLmRhdGEsZS5maWxlTmFtZT9lLmZpbGVOYW1lOiJmaWxlIik7bGV0IHM9e2RhdGE6aSxtZXRob2Q6IlBPU1QiLHVybDpyLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOm59O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QocykuY2F0Y2gobz0+e2lmKGJlKG8pJiZvLnJlc3BvbnNlKXJldHVybiBvLnJlc3BvbnNlO3Rocm93IG99KS50aGVuKG89PnRoaXMucHJvY2Vzc0FuYWx5emUobykpfXByb2Nlc3NBbmFseXplKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1NdS5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobj09PTQwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9SHQuZnJvbUpTKG8pLGhlKCJBIHNlcnZlciBzaWRlIGVycm9yIG9jY3VycmVkLiIsbixpLHIscyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9fWNsYXNzIFlhe2NvbnN0cnVjdG9yKGUsbil7Xyh0aGlzLCJpbnN0YW5jZSIpO18odGhpcywiYmFzZVVybCIpO18odGhpcywianNvblBhcnNlUmV2aXZlciIpO3RoaXMuaW5zdGFuY2U9bnx8S2UuY3JlYXRlKCksdGhpcy5iYXNlVXJsPWU/PyIifWdldFByb3BlcnR5KGUpe2xldCBuPXRoaXMuYmFzZVVybCsiL3BvcnRhbC9wcm9wZXJ0eSI7bj1uLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IHI9e21ldGhvZDoiR0VUIix1cmw6bixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjplfTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KHIpLmNhdGNoKGk9PntpZihiZShpKSYmaS5yZXNwb25zZSlyZXR1cm4gaS5yZXNwb25zZTt0aHJvdyBpfSkudGhlbihpPT50aGlzLnByb2Nlc3NHZXRQcm9wZXJ0eShpKSl9cHJvY2Vzc0dldFByb3BlcnR5KGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1Rbi5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldEJvb2tpbmcoZSl7bGV0IG49dGhpcy5iYXNlVXJsKyIvcG9ydGFsL2Jvb2tpbmciO249bi5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCByPXttZXRob2Q6IkdFVCIsdXJsOm4saGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46ZX07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChyKS5jYXRjaChpPT57aWYoYmUoaSkmJmkucmVzcG9uc2UpcmV0dXJuIGkucmVzcG9uc2U7dGhyb3cgaX0pLnRoZW4oaT0+dGhpcy5wcm9jZXNzR2V0Qm9va2luZyhpKSl9cHJvY2Vzc0dldEJvb2tpbmcoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPWdyLmZyb21KUyhvKSxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9Z2V0Qm9va2luZ01ldGFkYXRhKGUpe2xldCBuPXRoaXMuYmFzZVVybCsiL3BvcnRhbC9ib29raW5nX21ldGFkYXRhIjtuPW4ucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgcj17bWV0aG9kOiJHRVQiLHVybDpuLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOmV9O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QocikuY2F0Y2goaT0+e2lmKGJlKGkpJiZpLnJlc3BvbnNlKXJldHVybiBpLnJlc3BvbnNlO3Rocm93IGl9KS50aGVuKGk9PnRoaXMucHJvY2Vzc0dldEJvb2tpbmdNZXRhZGF0YShpKSl9cHJvY2Vzc0dldEJvb2tpbmdNZXRhZGF0YShlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9JHUuZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX11cGRhdGVTaWduYXR1cmUoZSxuKXtsZXQgcj10aGlzLmJhc2VVcmwrIi9wb3J0YWwvc2lnbmF0dXJlIjtyPXIucmVwbGFjZSgvWz8mXSQvLCIiKTtjb25zdCBpPW5ldyBGb3JtRGF0YTtlIT1udWxsJiZpLmFwcGVuZCgic2lnbmF0dXJlIixlLmRhdGEsZS5maWxlTmFtZT9lLmZpbGVOYW1lOiJzaWduYXR1cmUiKTtsZXQgcz17ZGF0YTppLG1ldGhvZDoiUEFUQ0giLHVybDpyLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOm59O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QocykuY2F0Y2gobz0+e2lmKGJlKG8pJiZvLnJlc3BvbnNlKXJldHVybiBvLnJlc3BvbnNlO3Rocm93IG99KS50aGVuKG89PnRoaXMucHJvY2Vzc1VwZGF0ZVNpZ25hdHVyZShvKSl9cHJvY2Vzc1VwZGF0ZVNpZ25hdHVyZShlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9Z3IuZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1kZWxldGVTaWduYXR1cmUoZSl7bGV0IG49dGhpcy5iYXNlVXJsKyIvcG9ydGFsL3NpZ25hdHVyZSI7bj1uLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IHI9e21ldGhvZDoiREVMRVRFIix1cmw6bixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjplfTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KHIpLmNhdGNoKGk9PntpZihiZShpKSYmaS5yZXNwb25zZSlyZXR1cm4gaS5yZXNwb25zZTt0aHJvdyBpfSkudGhlbihpPT50aGlzLnByb2Nlc3NEZWxldGVTaWduYXR1cmUoaSkpfXByb2Nlc3NEZWxldGVTaWduYXR1cmUoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPWdyLmZyb21KUyhvKSxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9Z2V0R2VuZXJhbFNldHRpbmdzKGUpe2xldCBuPXRoaXMuYmFzZVVybCsiL3BvcnRhbC9zZXR0aW5ncy9nZW5lcmFsIjtuPW4ucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgcj17bWV0aG9kOiJHRVQiLHVybDpuLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOmV9O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QocikuY2F0Y2goaT0+e2lmKGJlKGkpJiZpLnJlc3BvbnNlKXJldHVybiBpLnJlc3BvbnNlO3Rocm93IGl9KS50aGVuKGk9PnRoaXMucHJvY2Vzc0dldEdlbmVyYWxTZXR0aW5ncyhpKSl9cHJvY2Vzc0dldEdlbmVyYWxTZXR0aW5ncyhlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9VWkuZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX11cGRhdGVHdWVzdChlLG4scil7bGV0IGk9dGhpcy5iYXNlVXJsKyIvcG9ydGFsL2d1ZXN0cy97Z3Vlc3RJZH0iO2lmKGU9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJUaGUgcGFyYW1ldGVyICdndWVzdElkJyBtdXN0IGJlIGRlZmluZWQuIik7aT1pLnJlcGxhY2UoIntndWVzdElkfSIsZW5jb2RlVVJJQ29tcG9uZW50KCIiK2UpKSxpPWkucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgbz17ZGF0YTpKU09OLnN0cmluZ2lmeShuKSxtZXRob2Q6IlBBVENIIix1cmw6aSxoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46cn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChvKS5jYXRjaChhPT57aWYoYmUoYSkmJmEucmVzcG9uc2UpcmV0dXJuIGEucmVzcG9uc2U7dGhyb3cgYX0pLnRoZW4oYT0+dGhpcy5wcm9jZXNzVXBkYXRlR3Vlc3QoYSkpfXByb2Nlc3NVcGRhdGVHdWVzdChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9eG8uZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1jcmVhdGVDb250YWN0RmlsZShlLG4scil7bGV0IGk9dGhpcy5iYXNlVXJsKyIvcG9ydGFsL2NvbnRhY3RzL3tjb250YWN0SWR9L2ZpbGVzIjtpZihlPT1udWxsKXRocm93IG5ldyBFcnJvcigiVGhlIHBhcmFtZXRlciAnY29udGFjdElkJyBtdXN0IGJlIGRlZmluZWQuIik7aT1pLnJlcGxhY2UoIntjb250YWN0SWR9IixlbmNvZGVVUklDb21wb25lbnQoIiIrZSkpLGk9aS5yZXBsYWNlKC9bPyZdJC8sIiIpO2NvbnN0IHM9bmV3IEZvcm1EYXRhO24hPW51bGwmJnMuYXBwZW5kKCJmaWxlIixuLmRhdGEsbi5maWxlTmFtZT9uLmZpbGVOYW1lOiJmaWxlIik7bGV0IG89e2RhdGE6cyxtZXRob2Q6IlBPU1QiLHVybDppLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOnJ9O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QobykuY2F0Y2goYT0+e2lmKGJlKGEpJiZhLnJlc3BvbnNlKXJldHVybiBhLnJlc3BvbnNlO3Rocm93IGF9KS50aGVuKGE9PnRoaXMucHJvY2Vzc0NyZWF0ZUNvbnRhY3RGaWxlKGEpKX1wcm9jZXNzQ3JlYXRlQ29udGFjdEZpbGUoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPVNpLmZyb21KUyhvKSxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9ZGVsZXRlQ29udGFjdEZpbGUoZSxuLHIpe2xldCBpPXRoaXMuYmFzZVVybCsiL3BvcnRhbC9jb250YWN0cy97Y29udGFjdElkfS9maWxlcy97ZmlsZUlkfSI7aWYoZT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwYXJhbWV0ZXIgJ2NvbnRhY3RJZCcgbXVzdCBiZSBkZWZpbmVkLiIpO2lmKGk9aS5yZXBsYWNlKCJ7Y29udGFjdElkfSIsZW5jb2RlVVJJQ29tcG9uZW50KCIiK2UpKSxuPT1udWxsKXRocm93IG5ldyBFcnJvcigiVGhlIHBhcmFtZXRlciAnZmlsZUlkJyBtdXN0IGJlIGRlZmluZWQuIik7aT1pLnJlcGxhY2UoIntmaWxlSWR9IixlbmNvZGVVUklDb21wb25lbnQoIiIrbikpLGk9aS5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBzPXttZXRob2Q6IlBPU1QiLHVybDppLGhlYWRlcnM6e30sY2FuY2VsVG9rZW46cn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChzKS5jYXRjaChvPT57aWYoYmUobykmJm8ucmVzcG9uc2UpcmV0dXJuIG8ucmVzcG9uc2U7dGhyb3cgb30pLnRoZW4obz0+dGhpcy5wcm9jZXNzRGVsZXRlQ29udGFjdEZpbGUobykpfXByb2Nlc3NEZWxldGVDb250YWN0RmlsZShlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMClyZXR1cm4gZS5kYXRhLFByb21pc2UucmVzb2x2ZShudWxsKTtpZihuPT09NDAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1IdC5mcm9tSlMobyksaGUoIkEgc2VydmVyIHNpZGUgZXJyb3Igb2NjdXJyZWQuIixuLGkscixzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1nZXRBY2Nlc3NQb2ludHMoZSl7bGV0IG49dGhpcy5iYXNlVXJsKyIvcG9ydGFsL2FjY2Vzc19wb2ludHMiO249bi5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCByPXttZXRob2Q6IkdFVCIsdXJsOm4saGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46ZX07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChyKS5jYXRjaChpPT57aWYoYmUoaSkmJmkucmVzcG9uc2UpcmV0dXJuIGkucmVzcG9uc2U7dGhyb3cgaX0pLnRoZW4oaT0+dGhpcy5wcm9jZXNzR2V0QWNjZXNzUG9pbnRzKGkpKX1wcm9jZXNzR2V0QWNjZXNzUG9pbnRzKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtpZihBcnJheS5pc0FycmF5KG8pKXtzPVtdO2ZvcihsZXQgYSBvZiBvKXMucHVzaChVdS5mcm9tSlMoYSkpfWVsc2Ugcz1udWxsO3JldHVybiBQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9dW5sb2NrQWNjZXNzUG9pbnQoZSxuKXtsZXQgcj10aGlzLmJhc2VVcmwrIi9wb3J0YWwvYWNjZXNzX3BvaW50cy97YWNjZXNzUG9pbnRJZH0vdW5sb2NrIjtpZihlPT1udWxsKXRocm93IG5ldyBFcnJvcigiVGhlIHBhcmFtZXRlciAnYWNjZXNzUG9pbnRJZCcgbXVzdCBiZSBkZWZpbmVkLiIpO3I9ci5yZXBsYWNlKCJ7YWNjZXNzUG9pbnRJZH0iLGVuY29kZVVSSUNvbXBvbmVudCgiIitlKSkscj1yLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IGk9e21ldGhvZDoiUE9TVCIsdXJsOnIsaGVhZGVyczp7fSxjYW5jZWxUb2tlbjpufTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KGkpLmNhdGNoKHM9PntpZihiZShzKSYmcy5yZXNwb25zZSlyZXR1cm4gcy5yZXNwb25zZTt0aHJvdyBzfSkudGhlbihzPT50aGlzLnByb2Nlc3NVbmxvY2tBY2Nlc3NQb2ludChzKSl9cHJvY2Vzc1VubG9ja0FjY2Vzc1BvaW50KGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXJldHVybiBlLmRhdGEsUHJvbWlzZS5yZXNvbHZlKG51bGwpO2lmKG49PT00MDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPUh0LmZyb21KUyhvKSxoZSgiQSBzZXJ2ZXIgc2lkZSBlcnJvciBvY2N1cnJlZC4iLG4saSxyLHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldEZvbGlvU3VtbWFyeShlKXtsZXQgbj10aGlzLmJhc2VVcmwrIi9wb3J0YWwvZm9saW9fc3VtbWFyeSI7bj1uLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IHI9e21ldGhvZDoiUE9TVCIsdXJsOm4saGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46ZX07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChyKS5jYXRjaChpPT57aWYoYmUoaSkmJmkucmVzcG9uc2UpcmV0dXJuIGkucmVzcG9uc2U7dGhyb3cgaX0pLnRoZW4oaT0+dGhpcy5wcm9jZXNzR2V0Rm9saW9TdW1tYXJ5KGkpKX1wcm9jZXNzR2V0Rm9saW9TdW1tYXJ5KGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1WdS5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobj09PTQwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9SHQuZnJvbUpTKG8pLGhlKCJBIHNlcnZlciBzaWRlIGVycm9yIG9jY3VycmVkLiIsbixpLHIscyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9Z2V0Q2hhcmdlcyhlKXtsZXQgbj10aGlzLmJhc2VVcmwrIi9wb3J0YWwvY2hhcmdlcyI7bj1uLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IHI9e21ldGhvZDoiR0VUIix1cmw6bixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjplfTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KHIpLmNhdGNoKGk9PntpZihiZShpKSYmaS5yZXNwb25zZSlyZXR1cm4gaS5yZXNwb25zZTt0aHJvdyBpfSkudGhlbihpPT50aGlzLnByb2Nlc3NHZXRDaGFyZ2VzKGkpKX1wcm9jZXNzR2V0Q2hhcmdlcyhlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7aWYoQXJyYXkuaXNBcnJheShvKSl7cz1bXTtmb3IobGV0IGEgb2YgbylzLnB1c2goWGEuZnJvbUpTKGEpKX1lbHNlIHM9bnVsbDtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobj09PTQwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9SHQuZnJvbUpTKG8pLGhlKCJBIHNlcnZlciBzaWRlIGVycm9yIG9jY3VycmVkLiIsbixpLHIscyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9Z2V0SW52b2ljZXMoZSl7bGV0IG49dGhpcy5iYXNlVXJsKyIvcG9ydGFsL2ludm9pY2VzIjtuPW4ucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgcj17bWV0aG9kOiJHRVQiLHVybDpuLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOmV9O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QocikuY2F0Y2goaT0+e2lmKGJlKGkpJiZpLnJlc3BvbnNlKXJldHVybiBpLnJlc3BvbnNlO3Rocm93IGl9KS50aGVuKGk9PnRoaXMucHJvY2Vzc0dldEludm9pY2VzKGkpKX1wcm9jZXNzR2V0SW52b2ljZXMoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO2lmKEFycmF5LmlzQXJyYXkobykpe3M9W107Zm9yKGxldCBhIG9mIG8pcy5wdXNoKFRhLmZyb21KUyhhKSl9ZWxzZSBzPW51bGw7cmV0dXJuIFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG49PT00MDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPUh0LmZyb21KUyhvKSxoZSgiQSBzZXJ2ZXIgc2lkZSBlcnJvciBvY2N1cnJlZC4iLG4saSxyLHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfXVwZGF0ZUludm9pY2UoZSxuLHIpe2xldCBpPXRoaXMuYmFzZVVybCsiL3BvcnRhbC9pbnZvaWNlcy97aW52b2ljZUlkfSI7aWYoZT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwYXJhbWV0ZXIgJ2ludm9pY2VJZCcgbXVzdCBiZSBkZWZpbmVkLiIpO2k9aS5yZXBsYWNlKCJ7aW52b2ljZUlkfSIsZW5jb2RlVVJJQ29tcG9uZW50KCIiK2UpKSxpPWkucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgbz17ZGF0YTpKU09OLnN0cmluZ2lmeShuKSxtZXRob2Q6IlBBVENIIix1cmw6aSxoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46cn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChvKS5jYXRjaChhPT57aWYoYmUoYSkmJmEucmVzcG9uc2UpcmV0dXJuIGEucmVzcG9uc2U7dGhyb3cgYX0pLnRoZW4oYT0+dGhpcy5wcm9jZXNzVXBkYXRlSW52b2ljZShhKSl9cHJvY2Vzc1VwZGF0ZUludm9pY2UoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPVRhLmZyb21KUyhvKSxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuPT09NDAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1IdC5mcm9tSlMobyksaGUoIkEgc2VydmVyIHNpZGUgZXJyb3Igb2NjdXJyZWQuIixuLGkscixzKX1lbHNlIGlmKG49PT00MDQpe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPUh0LmZyb21KUyhvKSxoZSgiQSBzZXJ2ZXIgc2lkZSBlcnJvciBvY2N1cnJlZC4iLG4saSxyLHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldEZpbGVDb250ZW50KGUsbil7bGV0IHI9dGhpcy5iYXNlVXJsKyIvcG9ydGFsL2ZpbGVzL3tmaWxlSWR9L2NvbnRlbnQiO2lmKGU9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJUaGUgcGFyYW1ldGVyICdmaWxlSWQnIG11c3QgYmUgZGVmaW5lZC4iKTtyPXIucmVwbGFjZSgie2ZpbGVJZH0iLGVuY29kZVVSSUNvbXBvbmVudCgiIitlKSkscj1yLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IGk9e3Jlc3BvbnNlVHlwZToiYmxvYiIsbWV0aG9kOiJHRVQiLHVybDpyLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIn0sY2FuY2VsVG9rZW46bn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChpKS5jYXRjaChzPT57aWYoYmUocykmJnMucmVzcG9uc2UpcmV0dXJuIHMucmVzcG9uc2U7dGhyb3cgc30pLnRoZW4ocz0+dGhpcy5wcm9jZXNzR2V0RmlsZUNvbnRlbnQocykpfXByb2Nlc3NHZXRGaWxlQ29udGVudChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMHx8bj09PTIwNil7Y29uc3QgaT1lLmhlYWRlcnM/ZS5oZWFkZXJzWyJjb250ZW50LWRpc3Bvc2l0aW9uIl06dm9pZCAwO2xldCBzPWk/L2ZpbGVuYW1lXCo9KD86KFxcP1snIl0pKC4qPylcMXwoPzpbXlxzXSsnLio/Jyk/KFteO1xuXSopKS9nLmV4ZWMoaSk6dm9pZCAwLG89cyYmcy5sZW5ndGg+MT9zWzNdfHxzWzJdOnZvaWQgMDtyZXR1cm4gbz9vPWRlY29kZVVSSUNvbXBvbmVudChvKToocz1pPy9maWxlbmFtZT0iPyhbXiJdKj8pIj8oO3wkKS9nLmV4ZWMoaSk6dm9pZCAwLG89cyYmcy5sZW5ndGg+MT9zWzFdOnZvaWQgMCksUHJvbWlzZS5yZXNvbHZlKHtmaWxlTmFtZTpvLHN0YXR1czpuLGRhdGE6bmV3IEJsb2IoW2UuZGF0YV0se3R5cGU6ZS5oZWFkZXJzWyJjb250ZW50LXR5cGUiXX0pLGhlYWRlcnM6cn0pfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldFBtc0ZpbGVDb250ZW50KGUsbil7bGV0IHI9dGhpcy5iYXNlVXJsKyIvcG9ydGFsL2ZpbGVzL3Btcy97ZmlsZUlkfS9jb250ZW50IjtpZihlPT1udWxsKXRocm93IG5ldyBFcnJvcigiVGhlIHBhcmFtZXRlciAnZmlsZUlkJyBtdXN0IGJlIGRlZmluZWQuIik7cj1yLnJlcGxhY2UoIntmaWxlSWR9IixlbmNvZGVVUklDb21wb25lbnQoIiIrZSkpLHI9ci5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBpPXtyZXNwb25zZVR5cGU6ImJsb2IiLG1ldGhvZDoiR0VUIix1cmw6cixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSJ9LGNhbmNlbFRva2VuOm59O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QoaSkuY2F0Y2gocz0+e2lmKGJlKHMpJiZzLnJlc3BvbnNlKXJldHVybiBzLnJlc3BvbnNlO3Rocm93IHN9KS50aGVuKHM9PnRoaXMucHJvY2Vzc0dldFBtc0ZpbGVDb250ZW50KHMpKX1wcm9jZXNzR2V0UG1zRmlsZUNvbnRlbnQoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDB8fG49PT0yMDYpe2NvbnN0IGk9ZS5oZWFkZXJzP2UuaGVhZGVyc1siY29udGVudC1kaXNwb3NpdGlvbiJdOnZvaWQgMDtsZXQgcz1pPy9maWxlbmFtZVwqPSg/OihcXD9bJyJdKSguKj8pXDF8KD86W15cc10rJy4qPycpPyhbXjtcbl0qKSkvZy5leGVjKGkpOnZvaWQgMCxvPXMmJnMubGVuZ3RoPjE/c1szXXx8c1syXTp2b2lkIDA7cmV0dXJuIG8/bz1kZWNvZGVVUklDb21wb25lbnQobyk6KHM9aT8vZmlsZW5hbWU9Ij8oW14iXSo/KSI/KDt8JCkvZy5leGVjKGkpOnZvaWQgMCxvPXMmJnMubGVuZ3RoPjE/c1sxXTp2b2lkIDApLFByb21pc2UucmVzb2x2ZSh7ZmlsZU5hbWU6byxzdGF0dXM6bixkYXRhOm5ldyBCbG9iKFtlLmRhdGFdLHt0eXBlOmUuaGVhZGVyc1siY29udGVudC10eXBlIl19KSxoZWFkZXJzOnJ9KX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1nZXRQbXNGaWxlRG93bmxvYWRVcmwoZSxuKXtsZXQgcj10aGlzLmJhc2VVcmwrIi9wb3J0YWwvZmlsZXMvcG1zL3tmaWxlSWR9L3VybCI7aWYoZT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwYXJhbWV0ZXIgJ2ZpbGVJZCcgbXVzdCBiZSBkZWZpbmVkLiIpO3I9ci5yZXBsYWNlKCJ7ZmlsZUlkfSIsZW5jb2RlVVJJQ29tcG9uZW50KCIiK2UpKSxyPXIucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgaT17bWV0aG9kOiJHRVQiLHVybDpyLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOm59O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QoaSkuY2F0Y2gocz0+e2lmKGJlKHMpJiZzLnJlc3BvbnNlKXJldHVybiBzLnJlc3BvbnNlO3Rocm93IHN9KS50aGVuKHM9PnRoaXMucHJvY2Vzc0dldFBtc0ZpbGVEb3dubG9hZFVybChzKSl9cHJvY2Vzc0dldFBtc0ZpbGVEb3dubG9hZFVybChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9byE9PXZvaWQgMD9vOm51bGwsUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWNyZWF0ZUNoZWNrb3V0U2Vzc2lvbihlKXtsZXQgbj10aGlzLmJhc2VVcmwrIi9wb3J0YWwvY2hlY2tvdXRfc2Vzc2lvbiI7bj1uLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IHI9e21ldGhvZDoiUE9TVCIsdXJsOm4saGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46ZX07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChyKS5jYXRjaChpPT57aWYoYmUoaSkmJmkucmVzcG9uc2UpcmV0dXJuIGkucmVzcG9uc2U7dGhyb3cgaX0pLnRoZW4oaT0+dGhpcy5wcm9jZXNzQ3JlYXRlQ2hlY2tvdXRTZXNzaW9uKGkpKX1wcm9jZXNzQ3JlYXRlQ2hlY2tvdXRTZXNzaW9uKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1vIT09dm9pZCAwP286bnVsbCxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuPT09NDAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1IdC5mcm9tSlMobyksaGUoIkEgc2VydmVyIHNpZGUgZXJyb3Igb2NjdXJyZWQuIixuLGkscixzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1wcm9jZXNzUGF5bWVudChlKXtsZXQgbj10aGlzLmJhc2VVcmwrIi9wb3J0YWwvcGF5bWVudHMiO249bi5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCByPXttZXRob2Q6IlBPU1QiLHVybDpuLGhlYWRlcnM6e30sY2FuY2VsVG9rZW46ZX07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChyKS5jYXRjaChpPT57aWYoYmUoaSkmJmkucmVzcG9uc2UpcmV0dXJuIGkucmVzcG9uc2U7dGhyb3cgaX0pLnRoZW4oaT0+dGhpcy5wcm9jZXNzUHJvY2Vzc1BheW1lbnQoaSkpfXByb2Nlc3NQcm9jZXNzUGF5bWVudChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMClyZXR1cm4gZS5kYXRhLFByb21pc2UucmVzb2x2ZShudWxsKTtpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9cHJlQ2hlY2tJbihlKXtsZXQgbj10aGlzLmJhc2VVcmwrIi9wb3J0YWwvcHJlX2NoZWNrX2luIjtuPW4ucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgcj17bWV0aG9kOiJQT1NUIix1cmw6bixoZWFkZXJzOnt9LGNhbmNlbFRva2VuOmV9O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QocikuY2F0Y2goaT0+e2lmKGJlKGkpJiZpLnJlc3BvbnNlKXJldHVybiBpLnJlc3BvbnNlO3Rocm93IGl9KS50aGVuKGk9PnRoaXMucHJvY2Vzc1ByZUNoZWNrSW4oaSkpfXByb2Nlc3NQcmVDaGVja0luKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXJldHVybiBlLmRhdGEsUHJvbWlzZS5yZXNvbHZlKG51bGwpO2lmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1jaGVja0luKGUpe2xldCBuPXRoaXMuYmFzZVVybCsiL3BvcnRhbC9jaGVja19pbiI7bj1uLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IHI9e3Jlc3BvbnNlVHlwZToiYmxvYiIsbWV0aG9kOiJQT1NUIix1cmw6bixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSJ9LGNhbmNlbFRva2VuOmV9O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QocikuY2F0Y2goaT0+e2lmKGJlKGkpJiZpLnJlc3BvbnNlKXJldHVybiBpLnJlc3BvbnNlO3Rocm93IGl9KS50aGVuKGk9PnRoaXMucHJvY2Vzc0NoZWNrSW4oaSkpfXByb2Nlc3NDaGVja0luKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwfHxuPT09MjA2KXtjb25zdCBpPWUuaGVhZGVycz9lLmhlYWRlcnNbImNvbnRlbnQtZGlzcG9zaXRpb24iXTp2b2lkIDA7bGV0IHM9aT8vZmlsZW5hbWVcKj0oPzooXFw/WyciXSkoLio/KVwxfCg/OlteXHNdKycuKj8nKT8oW147XG5dKikpL2cuZXhlYyhpKTp2b2lkIDAsbz1zJiZzLmxlbmd0aD4xP3NbM118fHNbMl06dm9pZCAwO3JldHVybiBvP289ZGVjb2RlVVJJQ29tcG9uZW50KG8pOihzPWk/L2ZpbGVuYW1lPSI/KFteIl0qPykiPyg7fCQpL2cuZXhlYyhpKTp2b2lkIDAsbz1zJiZzLmxlbmd0aD4xP3NbMV06dm9pZCAwKSxQcm9taXNlLnJlc29sdmUoe2ZpbGVOYW1lOm8sc3RhdHVzOm4sZGF0YTpuZXcgQmxvYihbZS5kYXRhXSx7dHlwZTplLmhlYWRlcnNbImNvbnRlbnQtdHlwZSJdfSksaGVhZGVyczpyfSl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9fWNsYXNzIFlwe2NvbnN0cnVjdG9yKGUsbil7Xyh0aGlzLCJpbnN0YW5jZSIpO18odGhpcywiYmFzZVVybCIpO18odGhpcywianNvblBhcnNlUmV2aXZlciIpO3RoaXMuaW5zdGFuY2U9bnx8S2UuY3JlYXRlKCksdGhpcy5iYXNlVXJsPWU/PyIifWdldEN1cnJlbnQoZSl7bGV0IG49dGhpcy5iYXNlVXJsKyIvcHJvcGVydGllcy9jdXJyZW50IjtuPW4ucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgcj17bWV0aG9kOiJHRVQiLHVybDpuLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOmV9O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QocikuY2F0Y2goaT0+e2lmKGJlKGkpJiZpLnJlc3BvbnNlKXJldHVybiBpLnJlc3BvbnNlO3Rocm93IGl9KS50aGVuKGk9PnRoaXMucHJvY2Vzc0dldEN1cnJlbnQoaSkpfXByb2Nlc3NHZXRDdXJyZW50KGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1Rbi5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWNyZWF0ZShlLG4pe2xldCByPXRoaXMuYmFzZVVybCsiL3Byb3BlcnRpZXMiO3I9ci5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBzPXtkYXRhOkpTT04uc3RyaW5naWZ5KGUpLG1ldGhvZDoiUE9TVCIsdXJsOnIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24iLEFjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOm59O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QocykuY2F0Y2gobz0+e2lmKGJlKG8pJiZvLnJlc3BvbnNlKXJldHVybiBvLnJlc3BvbnNlO3Rocm93IG99KS50aGVuKG89PnRoaXMucHJvY2Vzc0NyZWF0ZShvKSl9cHJvY2Vzc0NyZWF0ZShlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9UW4uZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1saXN0KGUsbixyLGkpe2xldCBzPXRoaXMuYmFzZVVybCsiL3Byb3BlcnRpZXM/IjtlIT1udWxsJiZlJiZlLmZvckVhY2goYT0+e3MrPSJleHBhbmQ9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYSkrIiYifSksbiE9bnVsbCYmKHMrPSJwYWdlTnVtYmVyPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK24pKyImIiksciE9bnVsbCYmKHMrPSJwYWdlU2l6ZT0iK2VuY29kZVVSSUNvbXBvbmVudCgiIityKSsiJiIpLHM9cy5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBvPXttZXRob2Q6IkdFVCIsdXJsOnMsaGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46aX07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChvKS5jYXRjaChhPT57aWYoYmUoYSkmJmEucmVzcG9uc2UpcmV0dXJuIGEucmVzcG9uc2U7dGhyb3cgYX0pLnRoZW4oYT0+dGhpcy5wcm9jZXNzTGlzdChhKSl9cHJvY2Vzc0xpc3QoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPUh1LmZyb21KUyhvKSxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9dXBkYXRlKGUsbixyKXtsZXQgaT10aGlzLmJhc2VVcmwrIi9wcm9wZXJ0aWVzL3tpZH0iO2lmKGU9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJUaGUgcGFyYW1ldGVyICdpZCcgbXVzdCBiZSBkZWZpbmVkLiIpO2k9aS5yZXBsYWNlKCJ7aWR9IixlbmNvZGVVUklDb21wb25lbnQoIiIrZSkpLGk9aS5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBvPXtkYXRhOkpTT04uc3RyaW5naWZ5KG4pLG1ldGhvZDoiUFVUIix1cmw6aSxoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46cn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChvKS5jYXRjaChhPT57aWYoYmUoYSkmJmEucmVzcG9uc2UpcmV0dXJuIGEucmVzcG9uc2U7dGhyb3cgYX0pLnRoZW4oYT0+dGhpcy5wcm9jZXNzVXBkYXRlKGEpKX1wcm9jZXNzVXBkYXRlKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1Rbi5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldChlLG4scil7bGV0IGk9dGhpcy5iYXNlVXJsKyIvcHJvcGVydGllcy97aWR9PyI7aWYoZT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwYXJhbWV0ZXIgJ2lkJyBtdXN0IGJlIGRlZmluZWQuIik7aT1pLnJlcGxhY2UoIntpZH0iLGVuY29kZVVSSUNvbXBvbmVudCgiIitlKSksbiE9bnVsbCYmbiYmbi5mb3JFYWNoKG89PntpKz0iZXhwYW5kPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK28pKyImIn0pLGk9aS5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBzPXttZXRob2Q6IkdFVCIsdXJsOmksaGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46cn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChzKS5jYXRjaChvPT57aWYoYmUobykmJm8ucmVzcG9uc2UpcmV0dXJuIG8ucmVzcG9uc2U7dGhyb3cgb30pLnRoZW4obz0+dGhpcy5wcm9jZXNzR2V0KG8pKX1wcm9jZXNzR2V0KGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1Rbi5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfX1jbGFzcyBxYntjb25zdHJ1Y3RvcihlLG4pe18odGhpcywiaW5zdGFuY2UiKTtfKHRoaXMsImJhc2VVcmwiKTtfKHRoaXMsImpzb25QYXJzZVJldml2ZXIiKTt0aGlzLmluc3RhbmNlPW58fEtlLmNyZWF0ZSgpLHRoaXMuYmFzZVVybD1lPz8iIn1zZWFyY2goZSxuLHIsaSl7bGV0IHM9dGhpcy5iYXNlVXJsKyIvc2VhcmNoPyI7ZSE9bnVsbCYmKHMrPSJxdWVyeT0iK2VuY29kZVVSSUNvbXBvbmVudCgiIitlKSsiJiIpLG4hPW51bGwmJihzKz0icGFnZU51bWJlcj0iK2VuY29kZVVSSUNvbXBvbmVudCgiIituKSsiJiIpLHIhPW51bGwmJihzKz0icGFnZVNpemU9IitlbmNvZGVVUklDb21wb25lbnQoIiIrcikrIiYiKSxzPXMucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgbz17bWV0aG9kOiJHRVQiLHVybDpzLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOml9O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QobykuY2F0Y2goYT0+e2lmKGJlKGEpJiZhLnJlc3BvbnNlKXJldHVybiBhLnJlc3BvbnNlO3Rocm93IGF9KS50aGVuKGE9PnRoaXMucHJvY2Vzc1NlYXJjaChhKSl9cHJvY2Vzc1NlYXJjaChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7aWYoQXJyYXkuaXNBcnJheShvKSl7cz1bXTtmb3IobGV0IGEgb2YgbylzLnB1c2goYSl9ZWxzZSBzPW51bGw7cmV0dXJuIFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX19Y2xhc3MgU2N7Y29uc3RydWN0b3IoZSxuKXtfKHRoaXMsImluc3RhbmNlIik7Xyh0aGlzLCJiYXNlVXJsIik7Xyh0aGlzLCJqc29uUGFyc2VSZXZpdmVyIik7dGhpcy5pbnN0YW5jZT1ufHxLZS5jcmVhdGUoKSx0aGlzLmJhc2VVcmw9ZT8/IiJ9bG9naW4oZSxuKXtsZXQgcj10aGlzLmJhc2VVcmwrIi9zZXNzaW9uL2xvZ2luIjtyPXIucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgcz17ZGF0YTpKU09OLnN0cmluZ2lmeShlKSxtZXRob2Q6IlBPU1QiLHVybDpyLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIixBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjpufTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KHMpLmNhdGNoKG89PntpZihiZShvKSYmby5yZXNwb25zZSlyZXR1cm4gby5yZXNwb25zZTt0aHJvdyBvfSkudGhlbihvPT50aGlzLnByb2Nlc3NMb2dpbihvKSl9cHJvY2Vzc0xvZ2luKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1WaS5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWxvZ291dChlKXtsZXQgbj10aGlzLmJhc2VVcmwrIi9zZXNzaW9uL2xvZ291dCI7bj1uLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IHI9e21ldGhvZDoiUE9TVCIsdXJsOm4saGVhZGVyczp7fSxjYW5jZWxUb2tlbjplfTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KHIpLmNhdGNoKGk9PntpZihiZShpKSYmaS5yZXNwb25zZSlyZXR1cm4gaS5yZXNwb25zZTt0aHJvdyBpfSkudGhlbihpPT50aGlzLnByb2Nlc3NMb2dvdXQoaSkpfXByb2Nlc3NMb2dvdXQoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApcmV0dXJuIGUuZGF0YSxQcm9taXNlLnJlc29sdmUobnVsbCk7aWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldChlKXtsZXQgbj10aGlzLmJhc2VVcmwrIi9zZXNzaW9uIjtuPW4ucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgcj17bWV0aG9kOiJHRVQiLHVybDpuLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9LGNhbmNlbFRva2VuOmV9O3JldHVybiB0aGlzLmluc3RhbmNlLnJlcXVlc3QocikuY2F0Y2goaT0+e2lmKGJlKGkpJiZpLnJlc3BvbnNlKXJldHVybiBpLnJlc3BvbnNlO3Rocm93IGl9KS50aGVuKGk9PnRoaXMucHJvY2Vzc0dldChpKSl9cHJvY2Vzc0dldChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9VmkuZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1zd2l0Y2hQcm9wZXJ0eShlLG4pe2xldCByPXRoaXMuYmFzZVVybCsiL3Nlc3Npb24vc3dpdGNoX3Byb3BlcnR5PyI7aWYoZT09PW51bGwpdGhyb3cgbmV3IEVycm9yKCJUaGUgcGFyYW1ldGVyICdwcm9wZXJ0eUlkJyBjYW5ub3QgYmUgbnVsbC4iKTtlIT09dm9pZCAwJiYocis9InByb3BlcnR5SWQ9IitlbmNvZGVVUklDb21wb25lbnQoIiIrZSkrIiYiKSxyPXIucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgaT17bWV0aG9kOiJQT1NUIix1cmw6cixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjpufTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KGkpLmNhdGNoKHM9PntpZihiZShzKSYmcy5yZXNwb25zZSlyZXR1cm4gcy5yZXNwb25zZTt0aHJvdyBzfSkudGhlbihzPT50aGlzLnByb2Nlc3NTd2l0Y2hQcm9wZXJ0eShzKSl9cHJvY2Vzc1N3aXRjaFByb3BlcnR5KGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1WaS5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfXVwZGF0ZVBhc3N3b3JkKGUsbil7bGV0IHI9dGhpcy5iYXNlVXJsKyIvc2Vzc2lvbi91cGRhdGVfcGFzc3dvcmQiO3I9ci5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBzPXtkYXRhOkpTT04uc3RyaW5naWZ5KGUpLG1ldGhvZDoiUE9TVCIsdXJsOnIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjpufTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KHMpLmNhdGNoKG89PntpZihiZShvKSYmby5yZXNwb25zZSlyZXR1cm4gby5yZXNwb25zZTt0aHJvdyBvfSkudGhlbihvPT50aGlzLnByb2Nlc3NVcGRhdGVQYXNzd29yZChvKSl9cHJvY2Vzc1VwZGF0ZVBhc3N3b3JkKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXJldHVybiBlLmRhdGEsUHJvbWlzZS5yZXNvbHZlKG51bGwpO2lmKG49PT00MDQpe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPUh0LmZyb21KUyhvKSxoZSgiQSBzZXJ2ZXIgc2lkZSBlcnJvciBvY2N1cnJlZC4iLG4saSxyLHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfX1jbGFzcyBaYntjb25zdHJ1Y3RvcihlLG4pe18odGhpcywiaW5zdGFuY2UiKTtfKHRoaXMsImJhc2VVcmwiKTtfKHRoaXMsImpzb25QYXJzZVJldml2ZXIiKTt0aGlzLmluc3RhbmNlPW58fEtlLmNyZWF0ZSgpLHRoaXMuYmFzZVVybD1lPz8iIn1nZXRHZW5lcmFsKGUpe2xldCBuPXRoaXMuYmFzZVVybCsiL3NldHRpbmdzL2dlbmVyYWwiO249bi5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCByPXttZXRob2Q6IkdFVCIsdXJsOm4saGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46ZX07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChyKS5jYXRjaChpPT57aWYoYmUoaSkmJmkucmVzcG9uc2UpcmV0dXJuIGkucmVzcG9uc2U7dGhyb3cgaX0pLnRoZW4oaT0+dGhpcy5wcm9jZXNzR2V0R2VuZXJhbChpKSl9cHJvY2Vzc0dldEdlbmVyYWwoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPVVpLmZyb21KUyhvKSxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9c2V0R2VuZXJhbChlLG4pe2xldCByPXRoaXMuYmFzZVVybCsiL3NldHRpbmdzL2dlbmVyYWwiO3I9ci5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBzPXtkYXRhOkpTT04uc3RyaW5naWZ5KGUpLG1ldGhvZDoiUEFUQ0giLHVybDpyLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIixBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjpufTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KHMpLmNhdGNoKG89PntpZihiZShvKSYmby5yZXNwb25zZSlyZXR1cm4gby5yZXNwb25zZTt0aHJvdyBvfSkudGhlbihvPT50aGlzLnByb2Nlc3NTZXRHZW5lcmFsKG8pKX1wcm9jZXNzU2V0R2VuZXJhbChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9VWkuZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1zZXRHdWVzdEZvcm0oZSxuKXtsZXQgcj10aGlzLmJhc2VVcmwrIi9zZXR0aW5ncy9ndWVzdC1mb3JtIjtyPXIucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgcz17ZGF0YTpKU09OLnN0cmluZ2lmeShlKSxtZXRob2Q6IlBBVENIIix1cmw6cixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46bn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChzKS5jYXRjaChvPT57aWYoYmUobykmJm8ucmVzcG9uc2UpcmV0dXJuIG8ucmVzcG9uc2U7dGhyb3cgb30pLnRoZW4obz0+dGhpcy5wcm9jZXNzU2V0R3Vlc3RGb3JtKG8pKX1wcm9jZXNzU2V0R3Vlc3RGb3JtKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1VaS5mcm9tSlMobyksUHJvbWlzZS5yZXNvbHZlKHMpfWVsc2UgaWYobiE9PTIwMCYmbiE9PTIwNCl7Y29uc3QgaT1lLmRhdGE7cmV0dXJuIGhlKCJBbiB1bmV4cGVjdGVkIHNlcnZlciBlcnJvciBvY2N1cnJlZC4iLG4saSxyKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpfWNyZWF0ZShlLG4pe2xldCByPXRoaXMuYmFzZVVybCsiL3NldHRpbmdzIjtyPXIucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgcz17ZGF0YTpKU09OLnN0cmluZ2lmeShlKSxtZXRob2Q6IlBPU1QiLHVybDpyLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIixBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjpufTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KHMpLmNhdGNoKG89PntpZihiZShvKSYmby5yZXNwb25zZSlyZXR1cm4gby5yZXNwb25zZTt0aHJvdyBvfSkudGhlbihvPT50aGlzLnByb2Nlc3NDcmVhdGUobykpfXByb2Nlc3NDcmVhdGUoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPW5vLmZyb21KUyhvKSxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9bGlzdChlLG4scixpKXtsZXQgcz10aGlzLmJhc2VVcmwrIi9zZXR0aW5ncz8iO2UhPW51bGwmJmUmJmUuZm9yRWFjaChhPT57cys9ImV4cGFuZD0iK2VuY29kZVVSSUNvbXBvbmVudCgiIithKSsiJiJ9KSxuIT1udWxsJiYocys9InBhZ2VOdW1iZXI9IitlbmNvZGVVUklDb21wb25lbnQoIiIrbikrIiYiKSxyIT1udWxsJiYocys9InBhZ2VTaXplPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK3IpKyImIikscz1zLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IG89e21ldGhvZDoiR0VUIix1cmw6cyxoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjppfTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KG8pLmNhdGNoKGE9PntpZihiZShhKSYmYS5yZXNwb25zZSlyZXR1cm4gYS5yZXNwb25zZTt0aHJvdyBhfSkudGhlbihhPT50aGlzLnByb2Nlc3NMaXN0KGEpKX1wcm9jZXNzTGlzdChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9SnUuZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX11cGRhdGUoZSxuLHIpe2xldCBpPXRoaXMuYmFzZVVybCsiL3NldHRpbmdzL3tpZH0iO2lmKGU9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJUaGUgcGFyYW1ldGVyICdpZCcgbXVzdCBiZSBkZWZpbmVkLiIpO2k9aS5yZXBsYWNlKCJ7aWR9IixlbmNvZGVVUklDb21wb25lbnQoIiIrZSkpLGk9aS5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBvPXtkYXRhOkpTT04uc3RyaW5naWZ5KG4pLG1ldGhvZDoiUEFUQ0giLHVybDppLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIixBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjpyfTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KG8pLmNhdGNoKGE9PntpZihiZShhKSYmYS5yZXNwb25zZSlyZXR1cm4gYS5yZXNwb25zZTt0aHJvdyBhfSkudGhlbihhPT50aGlzLnByb2Nlc3NVcGRhdGUoYSkpfXByb2Nlc3NVcGRhdGUoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApe2NvbnN0IGk9ZS5kYXRhO2xldCBzPW51bGwsbz1pO3JldHVybiBzPW5vLmZyb21KUyhvKSxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuPT09NDA0KXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1IdC5mcm9tSlMobyksaGUoIkEgc2VydmVyIHNpZGUgZXJyb3Igb2NjdXJyZWQuIixuLGkscixzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1kZWxldGUoZSxuKXtsZXQgcj10aGlzLmJhc2VVcmwrIi9zZXR0aW5ncy97aWR9IjtpZihlPT1udWxsKXRocm93IG5ldyBFcnJvcigiVGhlIHBhcmFtZXRlciAnaWQnIG11c3QgYmUgZGVmaW5lZC4iKTtyPXIucmVwbGFjZSgie2lkfSIsZW5jb2RlVVJJQ29tcG9uZW50KCIiK2UpKSxyPXIucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgaT17bWV0aG9kOiJERUxFVEUiLHVybDpyLGhlYWRlcnM6e30sY2FuY2VsVG9rZW46bn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChpKS5jYXRjaChzPT57aWYoYmUocykmJnMucmVzcG9uc2UpcmV0dXJuIHMucmVzcG9uc2U7dGhyb3cgc30pLnRoZW4ocz0+dGhpcy5wcm9jZXNzRGVsZXRlKHMpKX1wcm9jZXNzRGVsZXRlKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXJldHVybiBlLmRhdGEsUHJvbWlzZS5yZXNvbHZlKG51bGwpO2lmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX19Y2xhc3MgS2J7Y29uc3RydWN0b3IoZSxuKXtfKHRoaXMsImluc3RhbmNlIik7Xyh0aGlzLCJiYXNlVXJsIik7Xyh0aGlzLCJqc29uUGFyc2VSZXZpdmVyIik7dGhpcy5pbnN0YW5jZT1ufHxLZS5jcmVhdGUoKSx0aGlzLmJhc2VVcmw9ZT8/IiJ9Y3JlYXRlKGUsbil7bGV0IHI9dGhpcy5iYXNlVXJsKyIvdXNlcnMiO3I9ci5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCBzPXtkYXRhOkpTT04uc3RyaW5naWZ5KGUpLG1ldGhvZDoiUE9TVCIsdXJsOnIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjpufTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KHMpLmNhdGNoKG89PntpZihiZShvKSYmby5yZXNwb25zZSlyZXR1cm4gby5yZXNwb25zZTt0aHJvdyBvfSkudGhlbihvPT50aGlzLnByb2Nlc3NDcmVhdGUobykpfXByb2Nlc3NDcmVhdGUoZSl7Y29uc3Qgbj1lLnN0YXR1cztsZXQgcj17fTtpZihlLmhlYWRlcnMmJnR5cGVvZiBlLmhlYWRlcnM9PSJvYmplY3QiKWZvcihsZXQgaSBpbiBlLmhlYWRlcnMpZS5oZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiYocltpXT1lLmhlYWRlcnNbaV0pO2lmKG49PT0yMDApcmV0dXJuIGUuZGF0YSxQcm9taXNlLnJlc29sdmUobnVsbCk7aWYobj09PTQwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9SHQuZnJvbUpTKG8pLGhlKCJBIHNlcnZlciBzaWRlIGVycm9yIG9jY3VycmVkLiIsbixpLHIscyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9bGlzdChlLG4scixpKXtsZXQgcz10aGlzLmJhc2VVcmwrIi91c2Vycz8iO2UhPW51bGwmJmUmJmUuZm9yRWFjaChhPT57cys9ImV4cGFuZD0iK2VuY29kZVVSSUNvbXBvbmVudCgiIithKSsiJiJ9KSxuIT1udWxsJiYocys9InBhZ2VOdW1iZXI9IitlbmNvZGVVUklDb21wb25lbnQoIiIrbikrIiYiKSxyIT1udWxsJiYocys9InBhZ2VTaXplPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK3IpKyImIikscz1zLnJlcGxhY2UoL1s/Jl0kLywiIik7bGV0IG89e21ldGhvZDoiR0VUIix1cmw6cyxoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24ifSxjYW5jZWxUb2tlbjppfTtyZXR1cm4gdGhpcy5pbnN0YW5jZS5yZXF1ZXN0KG8pLmNhdGNoKGE9PntpZihiZShhKSYmYS5yZXNwb25zZSlyZXR1cm4gYS5yZXNwb25zZTt0aHJvdyBhfSkudGhlbihhPT50aGlzLnByb2Nlc3NMaXN0KGEpKX1wcm9jZXNzTGlzdChlKXtjb25zdCBuPWUuc3RhdHVzO2xldCByPXt9O2lmKGUuaGVhZGVycyYmdHlwZW9mIGUuaGVhZGVycz09Im9iamVjdCIpZm9yKGxldCBpIGluIGUuaGVhZGVycyllLmhlYWRlcnMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPWUuaGVhZGVyc1tpXSk7aWYobj09PTIwMCl7Y29uc3QgaT1lLmRhdGE7bGV0IHM9bnVsbCxvPWk7cmV0dXJuIHM9cXUuZnJvbUpTKG8pLFByb21pc2UucmVzb2x2ZShzKX1lbHNlIGlmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1kZWxldGUoZSxuKXtsZXQgcj10aGlzLmJhc2VVcmwrIi91c2Vycy97aWR9IjtpZihlPT1udWxsKXRocm93IG5ldyBFcnJvcigiVGhlIHBhcmFtZXRlciAnaWQnIG11c3QgYmUgZGVmaW5lZC4iKTtyPXIucmVwbGFjZSgie2lkfSIsZW5jb2RlVVJJQ29tcG9uZW50KCIiK2UpKSxyPXIucmVwbGFjZSgvWz8mXSQvLCIiKTtsZXQgaT17bWV0aG9kOiJERUxFVEUiLHVybDpyLGhlYWRlcnM6e30sY2FuY2VsVG9rZW46bn07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChpKS5jYXRjaChzPT57aWYoYmUocykmJnMucmVzcG9uc2UpcmV0dXJuIHMucmVzcG9uc2U7dGhyb3cgc30pLnRoZW4ocz0+dGhpcy5wcm9jZXNzRGVsZXRlKHMpKX1wcm9jZXNzRGVsZXRlKGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXJldHVybiBlLmRhdGEsUHJvbWlzZS5yZXNvbHZlKG51bGwpO2lmKG4hPT0yMDAmJm4hPT0yMDQpe2NvbnN0IGk9ZS5kYXRhO3JldHVybiBoZSgiQW4gdW5leHBlY3RlZCBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuIixuLGkscil9cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX19Y2xhc3MgWWJ7Y29uc3RydWN0b3IoZSxuKXtfKHRoaXMsImluc3RhbmNlIik7Xyh0aGlzLCJiYXNlVXJsIik7Xyh0aGlzLCJqc29uUGFyc2VSZXZpdmVyIik7dGhpcy5pbnN0YW5jZT1ufHxLZS5jcmVhdGUoKSx0aGlzLmJhc2VVcmw9ZT8/IiJ9Z2V0KGUpe2xldCBuPXRoaXMuYmFzZVVybCsiL3ZlcnNpb24iO249bi5yZXBsYWNlKC9bPyZdJC8sIiIpO2xldCByPXttZXRob2Q6IkdFVCIsdXJsOm4saGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0sY2FuY2VsVG9rZW46ZX07cmV0dXJuIHRoaXMuaW5zdGFuY2UucmVxdWVzdChyKS5jYXRjaChpPT57aWYoYmUoaSkmJmkucmVzcG9uc2UpcmV0dXJuIGkucmVzcG9uc2U7dGhyb3cgaX0pLnRoZW4oaT0+dGhpcy5wcm9jZXNzR2V0KGkpKX1wcm9jZXNzR2V0KGUpe2NvbnN0IG49ZS5zdGF0dXM7bGV0IHI9e307aWYoZS5oZWFkZXJzJiZ0eXBlb2YgZS5oZWFkZXJzPT0ib2JqZWN0Iilmb3IobGV0IGkgaW4gZS5oZWFkZXJzKWUuaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09ZS5oZWFkZXJzW2ldKTtpZihuPT09MjAwKXtjb25zdCBpPWUuZGF0YTtsZXQgcz1udWxsLG89aTtyZXR1cm4gcz1vIT09dm9pZCAwP286bnVsbCxQcm9taXNlLnJlc29sdmUocyl9ZWxzZSBpZihuIT09MjAwJiZuIT09MjA0KXtjb25zdCBpPWUuZGF0YTtyZXR1cm4gaGUoIkFuIHVuZXhwZWN0ZWQgc2VydmVyIGVycm9yIG9jY3VycmVkLiIsbixpLHIpfXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9fWNsYXNzIHFue2NvbnN0cnVjdG9yKGUpe18odGhpcywiaWQiKTtfKHRoaXMsImNyZWF0ZWRBdCIpO18odGhpcywidXBkYXRlZEF0Iik7Xyh0aGlzLCJkZWxldGVkQXQiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7ZSYmKHRoaXMuaWQ9ZS5pZCx0aGlzLmNyZWF0ZWRBdD1lLmNyZWF0ZWRBdD9uZXcgRGF0ZShlLmNyZWF0ZWRBdC50b1N0cmluZygpKTp2b2lkIDAsdGhpcy51cGRhdGVkQXQ9ZS51cGRhdGVkQXQ/bmV3IERhdGUoZS51cGRhdGVkQXQudG9TdHJpbmcoKSk6dm9pZCAwLHRoaXMuZGVsZXRlZEF0PWUuZGVsZXRlZEF0P25ldyBEYXRlKGUuZGVsZXRlZEF0LnRvU3RyaW5nKCkpOnZvaWQgMCl9c3RhdGljIGZyb21KUyhlKXt0aHJvdyBuZXcgRXJyb3IoIlRoZSBhYnN0cmFjdCBjbGFzcyAnUmVjb3JkJyBjYW5ub3QgYmUgaW5zdGFudGlhdGVkLiIpfXRvSlNPTihlKXtyZXR1cm4gZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLmlkPXRoaXMuaWQsZS5jcmVhdGVkQXQ9dGhpcy5jcmVhdGVkQXQ/dGhpcy5jcmVhdGVkQXQudG9JU09TdHJpbmcoKTp2b2lkIDAsZS51cGRhdGVkQXQ9dGhpcy51cGRhdGVkQXQ/dGhpcy51cGRhdGVkQXQudG9JU09TdHJpbmcoKTp2b2lkIDAsZS5kZWxldGVkQXQ9dGhpcy5kZWxldGVkQXQ/dGhpcy5kZWxldGVkQXQudG9JU09TdHJpbmcoKTp2b2lkIDAsZX19Y2xhc3MgQmkgZXh0ZW5kcyBxbntjb25zdHJ1Y3RvcihuKXtzdXBlcihuKTtfKHRoaXMsIm5hbWUiKTtfKHRoaXMsInNlY3JldCIpO18odGhpcywicm9sZUlkIik7Xyh0aGlzLCJvYmplY3QiKX1pbml0KG4pe3N1cGVyLmluaXQobiksbiYmKHRoaXMubmFtZT1uLm5hbWUsdGhpcy5zZWNyZXQ9bi5zZWNyZXQsdGhpcy5yb2xlSWQ9bi5yb2xlSWQsdGhpcy5vYmplY3Q9bi5vYmplY3QpfXN0YXRpYyBmcm9tSlMobil7bj10eXBlb2Ygbj09Im9iamVjdCI/bjp7fTtsZXQgcj1uZXcgQmk7cmV0dXJuIHIuaW5pdChuKSxyfXRvSlNPTihuKXtyZXR1cm4gbj10eXBlb2Ygbj09Im9iamVjdCI/bjp7fSxuLm5hbWU9dGhpcy5uYW1lLG4uc2VjcmV0PXRoaXMuc2VjcmV0LG4ucm9sZUlkPXRoaXMucm9sZUlkLG4ub2JqZWN0PXRoaXMub2JqZWN0LHN1cGVyLnRvSlNPTihuKSxufX1jbGFzcyBPdXtjb25zdHJ1Y3RvcihlKXtfKHRoaXMsInBhZ2VOdW1iZXIiKTtfKHRoaXMsInBhZ2VTaXplIik7Xyh0aGlzLCJjb3VudCIpO18odGhpcywiZGF0YSIpO18odGhpcywidG90YWxQYWdlcyIpO18odGhpcywiaGFzUHJldmlvdXNQYWdlIik7Xyh0aGlzLCJoYXNOZXh0UGFnZSIpO2lmKGUpZm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRoaXNbbl09ZVtuXSl9aW5pdChlKXtpZihlKXtpZih0aGlzLnBhZ2VOdW1iZXI9ZS5wYWdlTnVtYmVyLHRoaXMucGFnZVNpemU9ZS5wYWdlU2l6ZSx0aGlzLmNvdW50PWUuY291bnQsQXJyYXkuaXNBcnJheShlLmRhdGEpKXt0aGlzLmRhdGE9W107Zm9yKGxldCBuIG9mIGUuZGF0YSl0aGlzLmRhdGEucHVzaChCaS5mcm9tSlMobikpfXRoaXMudG90YWxQYWdlcz1lLnRvdGFsUGFnZXMsdGhpcy5oYXNQcmV2aW91c1BhZ2U9ZS5oYXNQcmV2aW91c1BhZ2UsdGhpcy5oYXNOZXh0UGFnZT1lLmhhc05leHRQYWdlfX1zdGF0aWMgZnJvbUpTKGUpe2U9dHlwZW9mIGU9PSJvYmplY3QiP2U6e307bGV0IG49bmV3IE91O3JldHVybiBuLmluaXQoZSksbn10b0pTT04oZSl7aWYoZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLnBhZ2VOdW1iZXI9dGhpcy5wYWdlTnVtYmVyLGUucGFnZVNpemU9dGhpcy5wYWdlU2l6ZSxlLmNvdW50PXRoaXMuY291bnQsQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEpKXtlLmRhdGE9W107Zm9yKGxldCBuIG9mIHRoaXMuZGF0YSllLmRhdGEucHVzaChuLnRvSlNPTigpKX1yZXR1cm4gZS50b3RhbFBhZ2VzPXRoaXMudG90YWxQYWdlcyxlLmhhc1ByZXZpb3VzUGFnZT10aGlzLmhhc1ByZXZpb3VzUGFnZSxlLmhhc05leHRQYWdlPXRoaXMuaGFzTmV4dFBhZ2UsZX19Y2xhc3MgQ3V7Y29uc3RydWN0b3IoZSl7Xyh0aGlzLCJwYWdlTnVtYmVyIik7Xyh0aGlzLCJwYWdlU2l6ZSIpO18odGhpcywiY291bnQiKTtfKHRoaXMsImRhdGEiKTtfKHRoaXMsInRvdGFsUGFnZXMiKTtfKHRoaXMsImhhc1ByZXZpb3VzUGFnZSIpO18odGhpcywiaGFzTmV4dFBhZ2UiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7aWYoZSl7aWYodGhpcy5wYWdlTnVtYmVyPWUucGFnZU51bWJlcix0aGlzLnBhZ2VTaXplPWUucGFnZVNpemUsdGhpcy5jb3VudD1lLmNvdW50LEFycmF5LmlzQXJyYXkoZS5kYXRhKSl7dGhpcy5kYXRhPVtdO2ZvcihsZXQgbiBvZiBlLmRhdGEpdGhpcy5kYXRhLnB1c2goZ3IuZnJvbUpTKG4pKX10aGlzLnRvdGFsUGFnZXM9ZS50b3RhbFBhZ2VzLHRoaXMuaGFzUHJldmlvdXNQYWdlPWUuaGFzUHJldmlvdXNQYWdlLHRoaXMuaGFzTmV4dFBhZ2U9ZS5oYXNOZXh0UGFnZX19c3RhdGljIGZyb21KUyhlKXtlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9O2xldCBuPW5ldyBDdTtyZXR1cm4gbi5pbml0KGUpLG59dG9KU09OKGUpe2lmKGU9dHlwZW9mIGU9PSJvYmplY3QiP2U6e30sZS5wYWdlTnVtYmVyPXRoaXMucGFnZU51bWJlcixlLnBhZ2VTaXplPXRoaXMucGFnZVNpemUsZS5jb3VudD10aGlzLmNvdW50LEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSl7ZS5kYXRhPVtdO2ZvcihsZXQgbiBvZiB0aGlzLmRhdGEpZS5kYXRhLnB1c2gobi50b0pTT04oKSl9cmV0dXJuIGUudG90YWxQYWdlcz10aGlzLnRvdGFsUGFnZXMsZS5oYXNQcmV2aW91c1BhZ2U9dGhpcy5oYXNQcmV2aW91c1BhZ2UsZS5oYXNOZXh0UGFnZT10aGlzLmhhc05leHRQYWdlLGV9fWNsYXNzIGdyIGV4dGVuZHMgcW57Y29uc3RydWN0b3Iobil7c3VwZXIobik7Xyh0aGlzLCJleHRlcm5hbElkIik7Xyh0aGlzLCJjb2RlIik7Xyh0aGlzLCJzdGF0dXMiKTtfKHRoaXMsInByZUNoZWNrSW5Db21wbGV0ZWQiKTtfKHRoaXMsIm9jY3VwYW5jeSIpO18odGhpcywic291cmNlIik7Xyh0aGlzLCJzZWN1cml0eUNvZGUiKTtfKHRoaXMsImNoZWNrSW4iKTtfKHRoaXMsImNoZWNrT3V0Iik7Xyh0aGlzLCJudW1iZXJPZk5pZ2h0cyIpO18odGhpcywicm9vbUlkIik7Xyh0aGlzLCJyb29tIik7Xyh0aGlzLCJzaWduYXR1cmUiKTtfKHRoaXMsImxpbmsiKTtfKHRoaXMsImd1ZXN0cyIpO18odGhpcywib2JqZWN0Iil9aW5pdChuKXtpZihzdXBlci5pbml0KG4pLG4pe2lmKHRoaXMuZXh0ZXJuYWxJZD1uLmV4dGVybmFsSWQsdGhpcy5jb2RlPW4uY29kZSx0aGlzLnN0YXR1cz1uLnN0YXR1cyx0aGlzLnByZUNoZWNrSW5Db21wbGV0ZWQ9bi5wcmVDaGVja0luQ29tcGxldGVkLHRoaXMub2NjdXBhbmN5PW4ub2NjdXBhbmN5LHRoaXMuc291cmNlPW4uc291cmNlLHRoaXMuc2VjdXJpdHlDb2RlPW4uc2VjdXJpdHlDb2RlLHRoaXMuY2hlY2tJbj1uLmNoZWNrSW4/bmV3IERhdGUobi5jaGVja0luLnRvU3RyaW5nKCkpOnZvaWQgMCx0aGlzLmNoZWNrT3V0PW4uY2hlY2tPdXQ/bmV3IERhdGUobi5jaGVja091dC50b1N0cmluZygpKTp2b2lkIDAsdGhpcy5udW1iZXJPZk5pZ2h0cz1uLm51bWJlck9mTmlnaHRzLHRoaXMucm9vbUlkPW4ucm9vbUlkLHRoaXMucm9vbT1uLnJvb20/UHUuZnJvbUpTKG4ucm9vbSk6dm9pZCAwLHRoaXMuc2lnbmF0dXJlPW4uc2lnbmF0dXJlP1NpLmZyb21KUyhuLnNpZ25hdHVyZSk6dm9pZCAwLHRoaXMubGluaz1uLmxpbms/TnUuZnJvbUpTKG4ubGluayk6dm9pZCAwLEFycmF5LmlzQXJyYXkobi5ndWVzdHMpKXt0aGlzLmd1ZXN0cz1bXTtmb3IobGV0IHIgb2Ygbi5ndWVzdHMpdGhpcy5ndWVzdHMucHVzaCh4by5mcm9tSlMocikpfXRoaXMub2JqZWN0PW4ub2JqZWN0fX1zdGF0aWMgZnJvbUpTKG4pe249dHlwZW9mIG49PSJvYmplY3QiP246e307bGV0IHI9bmV3IGdyO3JldHVybiByLmluaXQobikscn10b0pTT04obil7aWYobj10eXBlb2Ygbj09Im9iamVjdCI/bjp7fSxuLmV4dGVybmFsSWQ9dGhpcy5leHRlcm5hbElkLG4uY29kZT10aGlzLmNvZGUsbi5zdGF0dXM9dGhpcy5zdGF0dXMsbi5wcmVDaGVja0luQ29tcGxldGVkPXRoaXMucHJlQ2hlY2tJbkNvbXBsZXRlZCxuLm9jY3VwYW5jeT10aGlzLm9jY3VwYW5jeSxuLnNvdXJjZT10aGlzLnNvdXJjZSxuLnNlY3VyaXR5Q29kZT10aGlzLnNlY3VyaXR5Q29kZSxuLmNoZWNrSW49dGhpcy5jaGVja0luP3RoaXMuY2hlY2tJbi50b0lTT1N0cmluZygpOnZvaWQgMCxuLmNoZWNrT3V0PXRoaXMuY2hlY2tPdXQ/dGhpcy5jaGVja091dC50b0lTT1N0cmluZygpOnZvaWQgMCxuLm51bWJlck9mTmlnaHRzPXRoaXMubnVtYmVyT2ZOaWdodHMsbi5yb29tSWQ9dGhpcy5yb29tSWQsbi5yb29tPXRoaXMucm9vbT90aGlzLnJvb20udG9KU09OKCk6dm9pZCAwLG4uc2lnbmF0dXJlPXRoaXMuc2lnbmF0dXJlP3RoaXMuc2lnbmF0dXJlLnRvSlNPTigpOnZvaWQgMCxuLmxpbms9dGhpcy5saW5rP3RoaXMubGluay50b0pTT04oKTp2b2lkIDAsQXJyYXkuaXNBcnJheSh0aGlzLmd1ZXN0cykpe24uZ3Vlc3RzPVtdO2ZvcihsZXQgciBvZiB0aGlzLmd1ZXN0cyluLmd1ZXN0cy5wdXNoKHIudG9KU09OKCkpfXJldHVybiBuLm9iamVjdD10aGlzLm9iamVjdCxzdXBlci50b0pTT04obiksbn19Y2xhc3MgUHUgZXh0ZW5kcyBxbntjb25zdHJ1Y3RvcihuKXtzdXBlcihuKTtfKHRoaXMsIm51bWJlciIpO18odGhpcywicm9vbVR5cGVJZCIpO18odGhpcywicm9vbVR5cGUiKTtfKHRoaXMsIm9iamVjdCIpfWluaXQobil7c3VwZXIuaW5pdChuKSxuJiYodGhpcy5udW1iZXI9bi5udW1iZXIsdGhpcy5yb29tVHlwZUlkPW4ucm9vbVR5cGVJZCx0aGlzLnJvb21UeXBlPW4ucm9vbVR5cGU/SXUuZnJvbUpTKG4ucm9vbVR5cGUpOnZvaWQgMCx0aGlzLm9iamVjdD1uLm9iamVjdCl9c3RhdGljIGZyb21KUyhuKXtuPXR5cGVvZiBuPT0ib2JqZWN0Ij9uOnt9O2xldCByPW5ldyBQdTtyZXR1cm4gci5pbml0KG4pLHJ9dG9KU09OKG4pe3JldHVybiBuPXR5cGVvZiBuPT0ib2JqZWN0Ij9uOnt9LG4ubnVtYmVyPXRoaXMubnVtYmVyLG4ucm9vbVR5cGVJZD10aGlzLnJvb21UeXBlSWQsbi5yb29tVHlwZT10aGlzLnJvb21UeXBlP3RoaXMucm9vbVR5cGUudG9KU09OKCk6dm9pZCAwLG4ub2JqZWN0PXRoaXMub2JqZWN0LHN1cGVyLnRvSlNPTihuKSxufX1jbGFzcyBJdSBleHRlbmRzIHFue2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pO18odGhpcywibmFtZSIpO18odGhpcywiY29kZSIpO18odGhpcywiY2FwYWNpdHkiKTtfKHRoaXMsIm9iamVjdCIpfWluaXQobil7c3VwZXIuaW5pdChuKSxuJiYodGhpcy5uYW1lPW4ubmFtZSx0aGlzLmNvZGU9bi5jb2RlLHRoaXMuY2FwYWNpdHk9bi5jYXBhY2l0eSx0aGlzLm9iamVjdD1uLm9iamVjdCl9c3RhdGljIGZyb21KUyhuKXtuPXR5cGVvZiBuPT0ib2JqZWN0Ij9uOnt9O2xldCByPW5ldyBJdTtyZXR1cm4gci5pbml0KG4pLHJ9dG9KU09OKG4pe3JldHVybiBuPXR5cGVvZiBuPT0ib2JqZWN0Ij9uOnt9LG4ubmFtZT10aGlzLm5hbWUsbi5jb2RlPXRoaXMuY29kZSxuLmNhcGFjaXR5PXRoaXMuY2FwYWNpdHksbi5vYmplY3Q9dGhpcy5vYmplY3Qsc3VwZXIudG9KU09OKG4pLG59fWxldCBTaT1jbGFzcyBYcCBleHRlbmRzIHFue2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pO18odGhpcywibmFtZSIpO18odGhpcywicHVycG9zZSIpO18odGhpcywidHlwZSIpO18odGhpcywib2JqZWN0Iil9aW5pdChuKXtzdXBlci5pbml0KG4pLG4mJih0aGlzLm5hbWU9bi5uYW1lLHRoaXMucHVycG9zZT1uLnB1cnBvc2UsdGhpcy50eXBlPW4udHlwZSx0aGlzLm9iamVjdD1uLm9iamVjdCl9c3RhdGljIGZyb21KUyhuKXtuPXR5cGVvZiBuPT0ib2JqZWN0Ij9uOnt9O2xldCByPW5ldyBYcDtyZXR1cm4gci5pbml0KG4pLHJ9dG9KU09OKG4pe3JldHVybiBuPXR5cGVvZiBuPT0ib2JqZWN0Ij9uOnt9LG4ubmFtZT10aGlzLm5hbWUsbi5wdXJwb3NlPXRoaXMucHVycG9zZSxuLnR5cGU9dGhpcy50eXBlLG4ub2JqZWN0PXRoaXMub2JqZWN0LHN1cGVyLnRvSlNPTihuKSxufX07Y2xhc3MgTnUgZXh0ZW5kcyBxbntjb25zdHJ1Y3RvcihuKXtzdXBlcihuKTtfKHRoaXMsIm9iamVjdCIpfWluaXQobil7c3VwZXIuaW5pdChuKSxuJiYodGhpcy5vYmplY3Q9bi5vYmplY3QpfXN0YXRpYyBmcm9tSlMobil7bj10eXBlb2Ygbj09Im9iamVjdCI/bjp7fTtsZXQgcj1uZXcgTnU7cmV0dXJuIHIuaW5pdChuKSxyfXRvSlNPTihuKXtyZXR1cm4gbj10eXBlb2Ygbj09Im9iamVjdCI/bjp7fSxuLm9iamVjdD10aGlzLm9iamVjdCxzdXBlci50b0pTT04obiksbn19Y2xhc3MgeG8gZXh0ZW5kcyBxbntjb25zdHJ1Y3RvcihuKXtzdXBlcihuKTtfKHRoaXMsInR5cGUiKTtfKHRoaXMsImdlbmRlciIpO18odGhpcywibmFtZSIpO18odGhpcywibGFuZ3VhZ2UiKTtfKHRoaXMsIm5hdGlvbmFsaXR5Iik7Xyh0aGlzLCJkYXRlT2ZCaXJ0aCIpO18odGhpcywiY29tbXVuaWNhdGlvbiIpO18odGhpcywiYWRkcmVzcyIpO18odGhpcywiY29tcGFueSIpO18odGhpcywiZmlsZXMiKTtfKHRoaXMsIm9iamVjdCIpfWluaXQobil7aWYoc3VwZXIuaW5pdChuKSxuKXtpZih0aGlzLnR5cGU9bi50eXBlLHRoaXMuZ2VuZGVyPW4uZ2VuZGVyLHRoaXMubmFtZT1uLm5hbWUsdGhpcy5sYW5ndWFnZT1uLmxhbmd1YWdlLHRoaXMubmF0aW9uYWxpdHk9bi5uYXRpb25hbGl0eSx0aGlzLmRhdGVPZkJpcnRoPW4uZGF0ZU9mQmlydGg/bmV3IERhdGUobi5kYXRlT2ZCaXJ0aC50b1N0cmluZygpKTp2b2lkIDAsdGhpcy5jb21tdW5pY2F0aW9uPW4uY29tbXVuaWNhdGlvbj9fcy5mcm9tSlMobi5jb21tdW5pY2F0aW9uKTp2b2lkIDAsdGhpcy5hZGRyZXNzPW4uYWRkcmVzcz9Kci5mcm9tSlMobi5hZGRyZXNzKTp2b2lkIDAsdGhpcy5jb21wYW55PW4uY29tcGFueT9Bby5mcm9tSlMobi5jb21wYW55KTp2b2lkIDAsQXJyYXkuaXNBcnJheShuLmZpbGVzKSl7dGhpcy5maWxlcz1bXTtmb3IobGV0IHIgb2Ygbi5maWxlcyl0aGlzLmZpbGVzLnB1c2goU2kuZnJvbUpTKHIpKX10aGlzLm9iamVjdD1uLm9iamVjdH19c3RhdGljIGZyb21KUyhuKXtuPXR5cGVvZiBuPT0ib2JqZWN0Ij9uOnt9O2xldCByPW5ldyB4bztyZXR1cm4gci5pbml0KG4pLHJ9dG9KU09OKG4pe2lmKG49dHlwZW9mIG49PSJvYmplY3QiP246e30sbi50eXBlPXRoaXMudHlwZSxuLmdlbmRlcj10aGlzLmdlbmRlcixuLm5hbWU9dGhpcy5uYW1lLG4ubGFuZ3VhZ2U9dGhpcy5sYW5ndWFnZSxuLm5hdGlvbmFsaXR5PXRoaXMubmF0aW9uYWxpdHksbi5kYXRlT2ZCaXJ0aD10aGlzLmRhdGVPZkJpcnRoP3RoaXMuZGF0ZU9mQmlydGgudG9JU09TdHJpbmcoKTp2b2lkIDAsbi5jb21tdW5pY2F0aW9uPXRoaXMuY29tbXVuaWNhdGlvbj90aGlzLmNvbW11bmljYXRpb24udG9KU09OKCk6dm9pZCAwLG4uYWRkcmVzcz10aGlzLmFkZHJlc3M/dGhpcy5hZGRyZXNzLnRvSlNPTigpOnZvaWQgMCxuLmNvbXBhbnk9dGhpcy5jb21wYW55P3RoaXMuY29tcGFueS50b0pTT04oKTp2b2lkIDAsQXJyYXkuaXNBcnJheSh0aGlzLmZpbGVzKSl7bi5maWxlcz1bXTtmb3IobGV0IHIgb2YgdGhpcy5maWxlcyluLmZpbGVzLnB1c2goci50b0pTT04oKSl9cmV0dXJuIG4ub2JqZWN0PXRoaXMub2JqZWN0LHN1cGVyLnRvSlNPTihuKSxufX1jbGFzcyBfc3tjb25zdHJ1Y3RvcihlKXtfKHRoaXMsImVtYWlsIik7Xyh0aGlzLCJpbnZvaWNlRW1haWwiKTtfKHRoaXMsInBob25lIik7Xyh0aGlzLCJ3ZWJzaXRlIik7aWYoZSlmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodGhpc1tuXT1lW25dKX1pbml0KGUpe2UmJih0aGlzLmVtYWlsPWUuZW1haWwsdGhpcy5pbnZvaWNlRW1haWw9ZS5pbnZvaWNlRW1haWwsdGhpcy5waG9uZT1lLnBob25lLHRoaXMud2Vic2l0ZT1lLndlYnNpdGUpfXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcgX3M7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtyZXR1cm4gZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLmVtYWlsPXRoaXMuZW1haWwsZS5pbnZvaWNlRW1haWw9dGhpcy5pbnZvaWNlRW1haWwsZS5waG9uZT10aGlzLnBob25lLGUud2Vic2l0ZT10aGlzLndlYnNpdGUsZX19Y2xhc3MgSnJ7Y29uc3RydWN0b3IoZSl7Xyh0aGlzLCJsaW5lMSIpO18odGhpcywibGluZTIiKTtfKHRoaXMsInBvc3RhbENvZGUiKTtfKHRoaXMsImNpdHkiKTtfKHRoaXMsInN0YXRlIik7Xyh0aGlzLCJjb3VudHJ5Iik7aWYoZSlmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodGhpc1tuXT1lW25dKX1pbml0KGUpe2UmJih0aGlzLmxpbmUxPWUubGluZTEsdGhpcy5saW5lMj1lLmxpbmUyLHRoaXMucG9zdGFsQ29kZT1lLnBvc3RhbENvZGUsdGhpcy5jaXR5PWUuY2l0eSx0aGlzLnN0YXRlPWUuc3RhdGUsdGhpcy5jb3VudHJ5PWUuY291bnRyeSl9c3RhdGljIGZyb21KUyhlKXtlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9O2xldCBuPW5ldyBKcjtyZXR1cm4gbi5pbml0KGUpLG59dG9KU09OKGUpe3JldHVybiBlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGUubGluZTE9dGhpcy5saW5lMSxlLmxpbmUyPXRoaXMubGluZTIsZS5wb3N0YWxDb2RlPXRoaXMucG9zdGFsQ29kZSxlLmNpdHk9dGhpcy5jaXR5LGUuc3RhdGU9dGhpcy5zdGF0ZSxlLmNvdW50cnk9dGhpcy5jb3VudHJ5LGV9fWNsYXNzIEFve2NvbnN0cnVjdG9yKGUpe18odGhpcywibmFtZSIpO18odGhpcywibWFuYWdpbmdEaXJlY3RvciIpO18odGhpcywidmF0TnVtYmVyIik7Xyh0aGlzLCJ0YXhOdW1iZXIiKTtfKHRoaXMsInJlZ2lzdHJhdGlvbk51bWJlciIpO2lmKGUpZm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRoaXNbbl09ZVtuXSl9aW5pdChlKXtlJiYodGhpcy5uYW1lPWUubmFtZSx0aGlzLm1hbmFnaW5nRGlyZWN0b3I9ZS5tYW5hZ2luZ0RpcmVjdG9yLHRoaXMudmF0TnVtYmVyPWUudmF0TnVtYmVyLHRoaXMudGF4TnVtYmVyPWUudGF4TnVtYmVyLHRoaXMucmVnaXN0cmF0aW9uTnVtYmVyPWUucmVnaXN0cmF0aW9uTnVtYmVyKX1zdGF0aWMgZnJvbUpTKGUpe2U9dHlwZW9mIGU9PSJvYmplY3QiP2U6e307bGV0IG49bmV3IEFvO3JldHVybiBuLmluaXQoZSksbn10b0pTT04oZSl7cmV0dXJuIGU9dHlwZW9mIGU9PSJvYmplY3QiP2U6e30sZS5uYW1lPXRoaXMubmFtZSxlLm1hbmFnaW5nRGlyZWN0b3I9dGhpcy5tYW5hZ2luZ0RpcmVjdG9yLGUudmF0TnVtYmVyPXRoaXMudmF0TnVtYmVyLGUudGF4TnVtYmVyPXRoaXMudGF4TnVtYmVyLGUucmVnaXN0cmF0aW9uTnVtYmVyPXRoaXMucmVnaXN0cmF0aW9uTnVtYmVyLGV9fWNsYXNzIEh0e2NvbnN0cnVjdG9yKGUpe18odGhpcywidHlwZSIpO18odGhpcywidGl0bGUiKTtfKHRoaXMsInN0YXR1cyIpO18odGhpcywiZGV0YWlsIik7Xyh0aGlzLCJpbnN0YW5jZSIpO2lmKGUpZm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRoaXNbbl09ZVtuXSl9aW5pdChlKXtpZihlKXtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodGhpc1tuXT1lW25dKTt0aGlzLnR5cGU9ZS50eXBlLHRoaXMudGl0bGU9ZS50aXRsZSx0aGlzLnN0YXR1cz1lLnN0YXR1cyx0aGlzLmRldGFpbD1lLmRldGFpbCx0aGlzLmluc3RhbmNlPWUuaW5zdGFuY2V9fXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcgSHQ7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9O2Zvcih2YXIgbiBpbiB0aGlzKXRoaXMuaGFzT3duUHJvcGVydHkobikmJihlW25dPXRoaXNbbl0pO3JldHVybiBlLnR5cGU9dGhpcy50eXBlLGUudGl0bGU9dGhpcy50aXRsZSxlLnN0YXR1cz10aGlzLnN0YXR1cyxlLmRldGFpbD10aGlzLmRldGFpbCxlLmluc3RhbmNlPXRoaXMuaW5zdGFuY2UsZX19Y2xhc3MgUXB7Y29uc3RydWN0b3IoZSl7Xyh0aGlzLCJjb2RlIik7Xyh0aGlzLCJuYW1lIik7Xyh0aGlzLCJlbWFpbCIpO2lmKGUpZm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRoaXNbbl09ZVtuXSl9aW5pdChlKXtlJiYodGhpcy5jb2RlPWUuY29kZSx0aGlzLm5hbWU9ZS5uYW1lLHRoaXMuZW1haWw9ZS5lbWFpbCl9c3RhdGljIGZyb21KUyhlKXtlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9O2xldCBuPW5ldyBRcDtyZXR1cm4gbi5pbml0KGUpLG59dG9KU09OKGUpe3JldHVybiBlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGUuY29kZT10aGlzLmNvZGUsZS5uYW1lPXRoaXMubmFtZSxlLmVtYWlsPXRoaXMuZW1haWwsZX19Y2xhc3MgUnUgZXh0ZW5kcyBxbntjb25zdHJ1Y3RvcihuKXtzdXBlcihuKTtfKHRoaXMsImVtYWlsIik7Xyh0aGlzLCJuYW1lIik7Xyh0aGlzLCJsYW5ndWFnZSIpO18odGhpcywib2JqZWN0Iil9aW5pdChuKXtzdXBlci5pbml0KG4pLG4mJih0aGlzLmVtYWlsPW4uZW1haWwsdGhpcy5uYW1lPW4ubmFtZSx0aGlzLmxhbmd1YWdlPW4ubGFuZ3VhZ2UsdGhpcy5vYmplY3Q9bi5vYmplY3QpfXN0YXRpYyBmcm9tSlMobil7bj10eXBlb2Ygbj09Im9iamVjdCI/bjp7fTtsZXQgcj1uZXcgUnU7cmV0dXJuIHIuaW5pdChuKSxyfXRvSlNPTihuKXtyZXR1cm4gbj10eXBlb2Ygbj09Im9iamVjdCI/bjp7fSxuLmVtYWlsPXRoaXMuZW1haWwsbi5uYW1lPXRoaXMubmFtZSxuLmxhbmd1YWdlPXRoaXMubGFuZ3VhZ2Usbi5vYmplY3Q9dGhpcy5vYmplY3Qsc3VwZXIudG9KU09OKG4pLG59fWNsYXNzIER1e2NvbnN0cnVjdG9yKGUpe18odGhpcywicGFnZU51bWJlciIpO18odGhpcywicGFnZVNpemUiKTtfKHRoaXMsImNvdW50Iik7Xyh0aGlzLCJkYXRhIik7Xyh0aGlzLCJ0b3RhbFBhZ2VzIik7Xyh0aGlzLCJoYXNQcmV2aW91c1BhZ2UiKTtfKHRoaXMsImhhc05leHRQYWdlIik7aWYoZSlmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodGhpc1tuXT1lW25dKX1pbml0KGUpe2lmKGUpe2lmKHRoaXMucGFnZU51bWJlcj1lLnBhZ2VOdW1iZXIsdGhpcy5wYWdlU2l6ZT1lLnBhZ2VTaXplLHRoaXMuY291bnQ9ZS5jb3VudCxBcnJheS5pc0FycmF5KGUuZGF0YSkpe3RoaXMuZGF0YT1bXTtmb3IobGV0IG4gb2YgZS5kYXRhKXRoaXMuZGF0YS5wdXNoKFNpLmZyb21KUyhuKSl9dGhpcy50b3RhbFBhZ2VzPWUudG90YWxQYWdlcyx0aGlzLmhhc1ByZXZpb3VzUGFnZT1lLmhhc1ByZXZpb3VzUGFnZSx0aGlzLmhhc05leHRQYWdlPWUuaGFzTmV4dFBhZ2V9fXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcgRHU7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtpZihlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGUucGFnZU51bWJlcj10aGlzLnBhZ2VOdW1iZXIsZS5wYWdlU2l6ZT10aGlzLnBhZ2VTaXplLGUuY291bnQ9dGhpcy5jb3VudCxBcnJheS5pc0FycmF5KHRoaXMuZGF0YSkpe2UuZGF0YT1bXTtmb3IobGV0IG4gb2YgdGhpcy5kYXRhKWUuZGF0YS5wdXNoKG4udG9KU09OKCkpfXJldHVybiBlLnRvdGFsUGFnZXM9dGhpcy50b3RhbFBhZ2VzLGUuaGFzUHJldmlvdXNQYWdlPXRoaXMuaGFzUHJldmlvdXNQYWdlLGUuaGFzTmV4dFBhZ2U9dGhpcy5oYXNOZXh0UGFnZSxlfX1jbGFzcyBNdXtjb25zdHJ1Y3RvcihlKXtfKHRoaXMsInR5cGUiKTtfKHRoaXMsImRvY3VtZW50TnVtYmVyIik7Xyh0aGlzLCJmaXJzdE5hbWUiKTtfKHRoaXMsIm1pZGRsZU5hbWUiKTtfKHRoaXMsImxhc3ROYW1lIik7Xyh0aGlzLCJkYXRlT2ZCaXJ0aCIpO18odGhpcywiZGF0ZU9mSXNzdWUiKTtfKHRoaXMsImV4cGlyYXRpb25EYXRlIik7Xyh0aGlzLCJhZGRyZXNzIik7Xyh0aGlzLCJjaXR5Iik7Xyh0aGlzLCJwb3N0YWxDb2RlIik7Xyh0aGlzLCJzdGF0ZSIpO2lmKGUpZm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRoaXNbbl09ZVtuXSl9aW5pdChlKXtlJiYodGhpcy50eXBlPWUudHlwZSx0aGlzLmRvY3VtZW50TnVtYmVyPWUuZG9jdW1lbnROdW1iZXIsdGhpcy5maXJzdE5hbWU9ZS5maXJzdE5hbWUsdGhpcy5taWRkbGVOYW1lPWUubWlkZGxlTmFtZSx0aGlzLmxhc3ROYW1lPWUubGFzdE5hbWUsdGhpcy5kYXRlT2ZCaXJ0aD1lLmRhdGVPZkJpcnRoP25ldyBEYXRlKGUuZGF0ZU9mQmlydGgudG9TdHJpbmcoKSk6dm9pZCAwLHRoaXMuZGF0ZU9mSXNzdWU9ZS5kYXRlT2ZJc3N1ZT9uZXcgRGF0ZShlLmRhdGVPZklzc3VlLnRvU3RyaW5nKCkpOnZvaWQgMCx0aGlzLmV4cGlyYXRpb25EYXRlPWUuZXhwaXJhdGlvbkRhdGU/bmV3IERhdGUoZS5leHBpcmF0aW9uRGF0ZS50b1N0cmluZygpKTp2b2lkIDAsdGhpcy5hZGRyZXNzPWUuYWRkcmVzcyx0aGlzLmNpdHk9ZS5jaXR5LHRoaXMucG9zdGFsQ29kZT1lLnBvc3RhbENvZGUsdGhpcy5zdGF0ZT1lLnN0YXRlKX1zdGF0aWMgZnJvbUpTKGUpe2U9dHlwZW9mIGU9PSJvYmplY3QiP2U6e307bGV0IG49bmV3IE11O3JldHVybiBuLmluaXQoZSksbn10b0pTT04oZSl7cmV0dXJuIGU9dHlwZW9mIGU9PSJvYmplY3QiP2U6e30sZS50eXBlPXRoaXMudHlwZSxlLmRvY3VtZW50TnVtYmVyPXRoaXMuZG9jdW1lbnROdW1iZXIsZS5maXJzdE5hbWU9dGhpcy5maXJzdE5hbWUsZS5taWRkbGVOYW1lPXRoaXMubWlkZGxlTmFtZSxlLmxhc3ROYW1lPXRoaXMubGFzdE5hbWUsZS5kYXRlT2ZCaXJ0aD10aGlzLmRhdGVPZkJpcnRoP3RoaXMuZGF0ZU9mQmlydGgudG9JU09TdHJpbmcoKTp2b2lkIDAsZS5kYXRlT2ZJc3N1ZT10aGlzLmRhdGVPZklzc3VlP3RoaXMuZGF0ZU9mSXNzdWUudG9JU09TdHJpbmcoKTp2b2lkIDAsZS5leHBpcmF0aW9uRGF0ZT10aGlzLmV4cGlyYXRpb25EYXRlP3RoaXMuZXhwaXJhdGlvbkRhdGUudG9JU09TdHJpbmcoKTp2b2lkIDAsZS5hZGRyZXNzPXRoaXMuYWRkcmVzcyxlLmNpdHk9dGhpcy5jaXR5LGUucG9zdGFsQ29kZT10aGlzLnBvc3RhbENvZGUsZS5zdGF0ZT10aGlzLnN0YXRlLGV9fWNsYXNzIFFuIGV4dGVuZHMgcW57Y29uc3RydWN0b3Iobil7c3VwZXIobik7Xyh0aGlzLCJuYW1lIik7Xyh0aGlzLCJzbHVnIik7Xyh0aGlzLCJ0aW1lWm9uZSIpO18odGhpcywiY3VycmVuY3kiKTtfKHRoaXMsImNoZWNrSW5UaW1lIik7Xyh0aGlzLCJjaGVja091dFRpbWUiKTtfKHRoaXMsImNvbW11bmljYXRpb24iKTtfKHRoaXMsImFkZHJlc3MiKTtfKHRoaXMsImJhbmsiKTtfKHRoaXMsImNvbXBhbnkiKTtfKHRoaXMsImJyYW5kaW5nIik7Xyh0aGlzLCJvYmplY3QiKX1pbml0KG4pe3N1cGVyLmluaXQobiksbiYmKHRoaXMubmFtZT1uLm5hbWUsdGhpcy5zbHVnPW4uc2x1Zyx0aGlzLnRpbWVab25lPW4udGltZVpvbmUsdGhpcy5jdXJyZW5jeT1uLmN1cnJlbmN5LHRoaXMuY2hlY2tJblRpbWU9bi5jaGVja0luVGltZSx0aGlzLmNoZWNrT3V0VGltZT1uLmNoZWNrT3V0VGltZSx0aGlzLmNvbW11bmljYXRpb249bi5jb21tdW5pY2F0aW9uP19zLmZyb21KUyhuLmNvbW11bmljYXRpb24pOnZvaWQgMCx0aGlzLmFkZHJlc3M9bi5hZGRyZXNzP0pyLmZyb21KUyhuLmFkZHJlc3MpOnZvaWQgMCx0aGlzLmJhbms9bi5iYW5rP0x1LmZyb21KUyhuLmJhbmspOnZvaWQgMCx0aGlzLmNvbXBhbnk9bi5jb21wYW55P0FvLmZyb21KUyhuLmNvbXBhbnkpOnZvaWQgMCx0aGlzLmJyYW5kaW5nPW4uYnJhbmRpbmc/RnUuZnJvbUpTKG4uYnJhbmRpbmcpOnZvaWQgMCx0aGlzLm9iamVjdD1uLm9iamVjdCl9c3RhdGljIGZyb21KUyhuKXtuPXR5cGVvZiBuPT0ib2JqZWN0Ij9uOnt9O2xldCByPW5ldyBRbjtyZXR1cm4gci5pbml0KG4pLHJ9dG9KU09OKG4pe3JldHVybiBuPXR5cGVvZiBuPT0ib2JqZWN0Ij9uOnt9LG4ubmFtZT10aGlzLm5hbWUsbi5zbHVnPXRoaXMuc2x1ZyxuLnRpbWVab25lPXRoaXMudGltZVpvbmUsbi5jdXJyZW5jeT10aGlzLmN1cnJlbmN5LG4uY2hlY2tJblRpbWU9dGhpcy5jaGVja0luVGltZSxuLmNoZWNrT3V0VGltZT10aGlzLmNoZWNrT3V0VGltZSxuLmNvbW11bmljYXRpb249dGhpcy5jb21tdW5pY2F0aW9uP3RoaXMuY29tbXVuaWNhdGlvbi50b0pTT04oKTp2b2lkIDAsbi5hZGRyZXNzPXRoaXMuYWRkcmVzcz90aGlzLmFkZHJlc3MudG9KU09OKCk6dm9pZCAwLG4uYmFuaz10aGlzLmJhbms/dGhpcy5iYW5rLnRvSlNPTigpOnZvaWQgMCxuLmNvbXBhbnk9dGhpcy5jb21wYW55P3RoaXMuY29tcGFueS50b0pTT04oKTp2b2lkIDAsbi5icmFuZGluZz10aGlzLmJyYW5kaW5nP3RoaXMuYnJhbmRpbmcudG9KU09OKCk6dm9pZCAwLG4ub2JqZWN0PXRoaXMub2JqZWN0LHN1cGVyLnRvSlNPTihuKSxufX1jbGFzcyBMdXtjb25zdHJ1Y3RvcihlKXtfKHRoaXMsIm5hbWUiKTtfKHRoaXMsImliYW4iKTtfKHRoaXMsImJpYyIpO2lmKGUpZm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRoaXNbbl09ZVtuXSl9aW5pdChlKXtlJiYodGhpcy5uYW1lPWUubmFtZSx0aGlzLmliYW49ZS5pYmFuLHRoaXMuYmljPWUuYmljKX1zdGF0aWMgZnJvbUpTKGUpe2U9dHlwZW9mIGU9PSJvYmplY3QiP2U6e307bGV0IG49bmV3IEx1O3JldHVybiBuLmluaXQoZSksbn10b0pTT04oZSl7cmV0dXJuIGU9dHlwZW9mIGU9PSJvYmplY3QiP2U6e30sZS5uYW1lPXRoaXMubmFtZSxlLmliYW49dGhpcy5pYmFuLGUuYmljPXRoaXMuYmljLGV9fWNsYXNzIEZ1e2NvbnN0cnVjdG9yKGUpe18odGhpcywibG9nbyIpO18odGhpcywibG9nb0lkIik7Xyh0aGlzLCJwcmltYXJ5Q29sb3IiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7ZSYmKHRoaXMubG9nbz1lLmxvZ28/U2kuZnJvbUpTKGUubG9nbyk6dm9pZCAwLHRoaXMubG9nb0lkPWUubG9nb0lkLHRoaXMucHJpbWFyeUNvbG9yPWUucHJpbWFyeUNvbG9yKX1zdGF0aWMgZnJvbUpTKGUpe2U9dHlwZW9mIGU9PSJvYmplY3QiP2U6e307bGV0IG49bmV3IEZ1O3JldHVybiBuLmluaXQoZSksbn10b0pTT04oZSl7cmV0dXJuIGU9dHlwZW9mIGU9PSJvYmplY3QiP2U6e30sZS5sb2dvPXRoaXMubG9nbz90aGlzLmxvZ28udG9KU09OKCk6dm9pZCAwLGUubG9nb0lkPXRoaXMubG9nb0lkLGUucHJpbWFyeUNvbG9yPXRoaXMucHJpbWFyeUNvbG9yLGV9fWNsYXNzICR1e2NvbnN0cnVjdG9yKGUpe18odGhpcywiaGFzQWNjZXNzVG9rZW4iKTtfKHRoaXMsImhhc0ludm9pY2VzIik7Xyh0aGlzLCJwcmVDaGVja0luQ29tcGxldGVkIik7Xyh0aGlzLCJpc1JlYWR5Rm9yQ2hlY2tJbiIpO18odGhpcywic3RhdHVzIik7Xyh0aGlzLCJncm9zc0Ftb3VudCIpO18odGhpcywicGFpZEFtb3VudCIpO18odGhpcywiZHVlQW1vdW50Iik7aWYoZSlmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodGhpc1tuXT1lW25dKX1pbml0KGUpe2UmJih0aGlzLmhhc0FjY2Vzc1Rva2VuPWUuaGFzQWNjZXNzVG9rZW4sdGhpcy5oYXNJbnZvaWNlcz1lLmhhc0ludm9pY2VzLHRoaXMucHJlQ2hlY2tJbkNvbXBsZXRlZD1lLnByZUNoZWNrSW5Db21wbGV0ZWQsdGhpcy5pc1JlYWR5Rm9yQ2hlY2tJbj1lLmlzUmVhZHlGb3JDaGVja0luLHRoaXMuc3RhdHVzPWUuc3RhdHVzLHRoaXMuZ3Jvc3NBbW91bnQ9ZS5ncm9zc0Ftb3VudCx0aGlzLnBhaWRBbW91bnQ9ZS5wYWlkQW1vdW50LHRoaXMuZHVlQW1vdW50PWUuZHVlQW1vdW50KX1zdGF0aWMgZnJvbUpTKGUpe2U9dHlwZW9mIGU9PSJvYmplY3QiP2U6e307bGV0IG49bmV3ICR1O3JldHVybiBuLmluaXQoZSksbn10b0pTT04oZSl7cmV0dXJuIGU9dHlwZW9mIGU9PSJvYmplY3QiP2U6e30sZS5oYXNBY2Nlc3NUb2tlbj10aGlzLmhhc0FjY2Vzc1Rva2VuLGUuaGFzSW52b2ljZXM9dGhpcy5oYXNJbnZvaWNlcyxlLnByZUNoZWNrSW5Db21wbGV0ZWQ9dGhpcy5wcmVDaGVja0luQ29tcGxldGVkLGUuaXNSZWFkeUZvckNoZWNrSW49dGhpcy5pc1JlYWR5Rm9yQ2hlY2tJbixlLnN0YXR1cz10aGlzLnN0YXR1cyxlLmdyb3NzQW1vdW50PXRoaXMuZ3Jvc3NBbW91bnQsZS5wYWlkQW1vdW50PXRoaXMucGFpZEFtb3VudCxlLmR1ZUFtb3VudD10aGlzLmR1ZUFtb3VudCxlfX1jbGFzcyBVaXtjb25zdHJ1Y3RvcihlKXtfKHRoaXMsImZlYXR1cmVQcmVDaGVja0luIik7Xyh0aGlzLCJmZWF0dXJlUGF5bWVudCIpO18odGhpcywiZmVhdHVyZUNoZWNrSW5KYWNrIik7Xyh0aGlzLCJmZWF0dXJlU2tpcERvY3VtZW50Rm9yR2VybWFucyIpO18odGhpcywiZmVhdHVyZUtleWNhcmREb2IiKTtfKHRoaXMsImhhc0FjY2Vzc0NvbnRyb2wiKTtfKHRoaXMsInByb3BlcnR5SW5mb1VybCIpO18odGhpcywibGlua0VtYWlsU3ViamVjdCIpO18odGhpcywibGlua0VtYWlsQm9keSIpO18odGhpcywiZ3Vlc3RGb3JtIik7aWYoZSlmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodGhpc1tuXT1lW25dKX1pbml0KGUpe2UmJih0aGlzLmZlYXR1cmVQcmVDaGVja0luPWUuZmVhdHVyZVByZUNoZWNrSW4sdGhpcy5mZWF0dXJlUGF5bWVudD1lLmZlYXR1cmVQYXltZW50LHRoaXMuZmVhdHVyZUNoZWNrSW5KYWNrPWUuZmVhdHVyZUNoZWNrSW5KYWNrLHRoaXMuZmVhdHVyZVNraXBEb2N1bWVudEZvckdlcm1hbnM9ZS5mZWF0dXJlU2tpcERvY3VtZW50Rm9yR2VybWFucyx0aGlzLmZlYXR1cmVLZXljYXJkRG9iPWUuZmVhdHVyZUtleWNhcmREb2IsdGhpcy5oYXNBY2Nlc3NDb250cm9sPWUuaGFzQWNjZXNzQ29udHJvbCx0aGlzLnByb3BlcnR5SW5mb1VybD1lLnByb3BlcnR5SW5mb1VybCx0aGlzLmxpbmtFbWFpbFN1YmplY3Q9ZS5saW5rRW1haWxTdWJqZWN0LHRoaXMubGlua0VtYWlsQm9keT1lLmxpbmtFbWFpbEJvZHksdGhpcy5ndWVzdEZvcm09ZS5ndWVzdEZvcm0/anUuZnJvbUpTKGUuZ3Vlc3RGb3JtKTp2b2lkIDApfXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcgVWk7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtyZXR1cm4gZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLmZlYXR1cmVQcmVDaGVja0luPXRoaXMuZmVhdHVyZVByZUNoZWNrSW4sZS5mZWF0dXJlUGF5bWVudD10aGlzLmZlYXR1cmVQYXltZW50LGUuZmVhdHVyZUNoZWNrSW5KYWNrPXRoaXMuZmVhdHVyZUNoZWNrSW5KYWNrLGUuZmVhdHVyZVNraXBEb2N1bWVudEZvckdlcm1hbnM9dGhpcy5mZWF0dXJlU2tpcERvY3VtZW50Rm9yR2VybWFucyxlLmZlYXR1cmVLZXljYXJkRG9iPXRoaXMuZmVhdHVyZUtleWNhcmREb2IsZS5oYXNBY2Nlc3NDb250cm9sPXRoaXMuaGFzQWNjZXNzQ29udHJvbCxlLnByb3BlcnR5SW5mb1VybD10aGlzLnByb3BlcnR5SW5mb1VybCxlLmxpbmtFbWFpbFN1YmplY3Q9dGhpcy5saW5rRW1haWxTdWJqZWN0LGUubGlua0VtYWlsQm9keT10aGlzLmxpbmtFbWFpbEJvZHksZS5ndWVzdEZvcm09dGhpcy5ndWVzdEZvcm0/dGhpcy5ndWVzdEZvcm0udG9KU09OKCk6dm9pZCAwLGV9fWNsYXNzIGp1e2NvbnN0cnVjdG9yKGUpe18odGhpcywiY29sbGVjdEFkZGl0aW9uYWxHdWVzdHMiKTtfKHRoaXMsIm5hbWUiKTtfKHRoaXMsImVtYWlsIik7Xyh0aGlzLCJwaG9uZSIpO18odGhpcywiZGF0ZU9mQmlydGgiKTtfKHRoaXMsImxpbmUxIik7Xyh0aGlzLCJwb3N0YWxDb2RlIik7Xyh0aGlzLCJjaXR5Iik7Xyh0aGlzLCJjb3VudHJ5Iik7Xyh0aGlzLCJuYXRpb25hbGl0eSIpO18odGhpcywiZG9jdW1lbnRzIik7aWYoZSlmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodGhpc1tuXT1lW25dKX1pbml0KGUpe2UmJih0aGlzLmNvbGxlY3RBZGRpdGlvbmFsR3Vlc3RzPWUuY29sbGVjdEFkZGl0aW9uYWxHdWVzdHMsdGhpcy5uYW1lPWUubmFtZT9nbi5mcm9tSlMoZS5uYW1lKTp2b2lkIDAsdGhpcy5lbWFpbD1lLmVtYWlsP2duLmZyb21KUyhlLmVtYWlsKTp2b2lkIDAsdGhpcy5waG9uZT1lLnBob25lP2duLmZyb21KUyhlLnBob25lKTp2b2lkIDAsdGhpcy5kYXRlT2ZCaXJ0aD1lLmRhdGVPZkJpcnRoP2duLmZyb21KUyhlLmRhdGVPZkJpcnRoKTp2b2lkIDAsdGhpcy5saW5lMT1lLmxpbmUxP2duLmZyb21KUyhlLmxpbmUxKTp2b2lkIDAsdGhpcy5wb3N0YWxDb2RlPWUucG9zdGFsQ29kZT9nbi5mcm9tSlMoZS5wb3N0YWxDb2RlKTp2b2lkIDAsdGhpcy5jaXR5PWUuY2l0eT9nbi5mcm9tSlMoZS5jaXR5KTp2b2lkIDAsdGhpcy5jb3VudHJ5PWUuY291bnRyeT9nbi5mcm9tSlMoZS5jb3VudHJ5KTp2b2lkIDAsdGhpcy5uYXRpb25hbGl0eT1lLm5hdGlvbmFsaXR5P2duLmZyb21KUyhlLm5hdGlvbmFsaXR5KTp2b2lkIDAsdGhpcy5kb2N1bWVudHM9ZS5kb2N1bWVudHM/Z24uZnJvbUpTKGUuZG9jdW1lbnRzKTp2b2lkIDApfXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcganU7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtyZXR1cm4gZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLmNvbGxlY3RBZGRpdGlvbmFsR3Vlc3RzPXRoaXMuY29sbGVjdEFkZGl0aW9uYWxHdWVzdHMsZS5uYW1lPXRoaXMubmFtZT90aGlzLm5hbWUudG9KU09OKCk6dm9pZCAwLGUuZW1haWw9dGhpcy5lbWFpbD90aGlzLmVtYWlsLnRvSlNPTigpOnZvaWQgMCxlLnBob25lPXRoaXMucGhvbmU/dGhpcy5waG9uZS50b0pTT04oKTp2b2lkIDAsZS5kYXRlT2ZCaXJ0aD10aGlzLmRhdGVPZkJpcnRoP3RoaXMuZGF0ZU9mQmlydGgudG9KU09OKCk6dm9pZCAwLGUubGluZTE9dGhpcy5saW5lMT90aGlzLmxpbmUxLnRvSlNPTigpOnZvaWQgMCxlLnBvc3RhbENvZGU9dGhpcy5wb3N0YWxDb2RlP3RoaXMucG9zdGFsQ29kZS50b0pTT04oKTp2b2lkIDAsZS5jaXR5PXRoaXMuY2l0eT90aGlzLmNpdHkudG9KU09OKCk6dm9pZCAwLGUuY291bnRyeT10aGlzLmNvdW50cnk/dGhpcy5jb3VudHJ5LnRvSlNPTigpOnZvaWQgMCxlLm5hdGlvbmFsaXR5PXRoaXMubmF0aW9uYWxpdHk/dGhpcy5uYXRpb25hbGl0eS50b0pTT04oKTp2b2lkIDAsZS5kb2N1bWVudHM9dGhpcy5kb2N1bWVudHM/dGhpcy5kb2N1bWVudHMudG9KU09OKCk6dm9pZCAwLGV9fWNsYXNzIGdue2NvbnN0cnVjdG9yKGUpe18odGhpcywibWFpblNob3ciKTtfKHRoaXMsIm1haW5SZXF1aXJlZCIpO18odGhpcywiYWRkaXRpb25hbFNob3ciKTtfKHRoaXMsImFkZGl0aW9uYWxSZXF1aXJlZCIpO2lmKGUpZm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRoaXNbbl09ZVtuXSl9aW5pdChlKXtlJiYodGhpcy5tYWluU2hvdz1lLm1haW5TaG93LHRoaXMubWFpblJlcXVpcmVkPWUubWFpblJlcXVpcmVkLHRoaXMuYWRkaXRpb25hbFNob3c9ZS5hZGRpdGlvbmFsU2hvdyx0aGlzLmFkZGl0aW9uYWxSZXF1aXJlZD1lLmFkZGl0aW9uYWxSZXF1aXJlZCl9c3RhdGljIGZyb21KUyhlKXtlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9O2xldCBuPW5ldyBnbjtyZXR1cm4gbi5pbml0KGUpLG59dG9KU09OKGUpe3JldHVybiBlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGUubWFpblNob3c9dGhpcy5tYWluU2hvdyxlLm1haW5SZXF1aXJlZD10aGlzLm1haW5SZXF1aXJlZCxlLmFkZGl0aW9uYWxTaG93PXRoaXMuYWRkaXRpb25hbFNob3csZS5hZGRpdGlvbmFsUmVxdWlyZWQ9dGhpcy5hZGRpdGlvbmFsUmVxdWlyZWQsZX19Y2xhc3MgQnV7Y29uc3RydWN0b3IoZSl7Xyh0aGlzLCJ0eXBlIik7Xyh0aGlzLCJnZW5kZXIiKTtfKHRoaXMsIm5hbWUiKTtfKHRoaXMsImxhbmd1YWdlIik7Xyh0aGlzLCJuYXRpb25hbGl0eSIpO18odGhpcywiZGF0ZU9mQmlydGgiKTtfKHRoaXMsImNvbW11bmljYXRpb24iKTtfKHRoaXMsImFkZHJlc3MiKTtfKHRoaXMsImNvbXBhbnkiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7ZSYmKHRoaXMudHlwZT1lLnR5cGUsdGhpcy5nZW5kZXI9ZS5nZW5kZXIsdGhpcy5uYW1lPWUubmFtZSx0aGlzLmxhbmd1YWdlPWUubGFuZ3VhZ2UsdGhpcy5uYXRpb25hbGl0eT1lLm5hdGlvbmFsaXR5LHRoaXMuZGF0ZU9mQmlydGg9ZS5kYXRlT2ZCaXJ0aD9uZXcgRGF0ZShlLmRhdGVPZkJpcnRoLnRvU3RyaW5nKCkpOnZvaWQgMCx0aGlzLmNvbW11bmljYXRpb249ZS5jb21tdW5pY2F0aW9uP19zLmZyb21KUyhlLmNvbW11bmljYXRpb24pOnZvaWQgMCx0aGlzLmFkZHJlc3M9ZS5hZGRyZXNzP0pyLmZyb21KUyhlLmFkZHJlc3MpOnZvaWQgMCx0aGlzLmNvbXBhbnk9ZS5jb21wYW55P0FvLmZyb21KUyhlLmNvbXBhbnkpOnZvaWQgMCl9c3RhdGljIGZyb21KUyhlKXtlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9O2xldCBuPW5ldyBCdTtyZXR1cm4gbi5pbml0KGUpLG59dG9KU09OKGUpe3JldHVybiBlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGUudHlwZT10aGlzLnR5cGUsZS5nZW5kZXI9dGhpcy5nZW5kZXIsZS5uYW1lPXRoaXMubmFtZSxlLmxhbmd1YWdlPXRoaXMubGFuZ3VhZ2UsZS5uYXRpb25hbGl0eT10aGlzLm5hdGlvbmFsaXR5LGUuZGF0ZU9mQmlydGg9dGhpcy5kYXRlT2ZCaXJ0aD90aGlzLmRhdGVPZkJpcnRoLnRvSVNPU3RyaW5nKCk6dm9pZCAwLGUuY29tbXVuaWNhdGlvbj10aGlzLmNvbW11bmljYXRpb24/dGhpcy5jb21tdW5pY2F0aW9uLnRvSlNPTigpOnZvaWQgMCxlLmFkZHJlc3M9dGhpcy5hZGRyZXNzP3RoaXMuYWRkcmVzcy50b0pTT04oKTp2b2lkIDAsZS5jb21wYW55PXRoaXMuY29tcGFueT90aGlzLmNvbXBhbnkudG9KU09OKCk6dm9pZCAwLGV9fWNsYXNzIFV1e2NvbnN0cnVjdG9yKGUpe18odGhpcywiaWQiKTtfKHRoaXMsIm5hbWUiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7ZSYmKHRoaXMuaWQ9ZS5pZCx0aGlzLm5hbWU9ZS5uYW1lKX1zdGF0aWMgZnJvbUpTKGUpe2U9dHlwZW9mIGU9PSJvYmplY3QiP2U6e307bGV0IG49bmV3IFV1O3JldHVybiBuLmluaXQoZSksbn10b0pTT04oZSl7cmV0dXJuIGU9dHlwZW9mIGU9PSJvYmplY3QiP2U6e30sZS5pZD10aGlzLmlkLGUubmFtZT10aGlzLm5hbWUsZX19Y2xhc3MgVnV7Y29uc3RydWN0b3IoZSl7Xyh0aGlzLCJncm9zc0Ftb3VudCIpO18odGhpcywicGFpZEFtb3VudCIpO18odGhpcywiZHVlQW1vdW50Iik7Xyh0aGlzLCJmb2xpb3MiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7aWYoZSYmKHRoaXMuZ3Jvc3NBbW91bnQ9ZS5ncm9zc0Ftb3VudCx0aGlzLnBhaWRBbW91bnQ9ZS5wYWlkQW1vdW50LHRoaXMuZHVlQW1vdW50PWUuZHVlQW1vdW50LEFycmF5LmlzQXJyYXkoZS5mb2xpb3MpKSl7dGhpcy5mb2xpb3M9W107Zm9yKGxldCBuIG9mIGUuZm9saW9zKXRoaXMuZm9saW9zLnB1c2goV3UuZnJvbUpTKG4pKX19c3RhdGljIGZyb21KUyhlKXtlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9O2xldCBuPW5ldyBWdTtyZXR1cm4gbi5pbml0KGUpLG59dG9KU09OKGUpe2lmKGU9dHlwZW9mIGU9PSJvYmplY3QiP2U6e30sZS5ncm9zc0Ftb3VudD10aGlzLmdyb3NzQW1vdW50LGUucGFpZEFtb3VudD10aGlzLnBhaWRBbW91bnQsZS5kdWVBbW91bnQ9dGhpcy5kdWVBbW91bnQsQXJyYXkuaXNBcnJheSh0aGlzLmZvbGlvcykpe2UuZm9saW9zPVtdO2ZvcihsZXQgbiBvZiB0aGlzLmZvbGlvcyllLmZvbGlvcy5wdXNoKG4udG9KU09OKCkpfXJldHVybiBlfX1jbGFzcyBXdXtjb25zdHJ1Y3RvcihlKXtfKHRoaXMsImV4dGVybmFsSWQiKTtfKHRoaXMsImdyb3NzQW1vdW50Iik7Xyh0aGlzLCJwYWlkQW1vdW50Iik7Xyh0aGlzLCJkdWVBbW91bnQiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7ZSYmKHRoaXMuZXh0ZXJuYWxJZD1lLmV4dGVybmFsSWQsdGhpcy5ncm9zc0Ftb3VudD1lLmdyb3NzQW1vdW50LHRoaXMucGFpZEFtb3VudD1lLnBhaWRBbW91bnQsdGhpcy5kdWVBbW91bnQ9ZS5kdWVBbW91bnQpfXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcgV3U7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtyZXR1cm4gZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLmV4dGVybmFsSWQ9dGhpcy5leHRlcm5hbElkLGUuZ3Jvc3NBbW91bnQ9dGhpcy5ncm9zc0Ftb3VudCxlLnBhaWRBbW91bnQ9dGhpcy5wYWlkQW1vdW50LGUuZHVlQW1vdW50PXRoaXMuZHVlQW1vdW50LGV9fWNsYXNzIFhhe2NvbnN0cnVjdG9yKGUpe18odGhpcywiaXRlbUlkIik7Xyh0aGlzLCJpZCIpO18odGhpcywicXVhbnRpdHkiKTtfKHRoaXMsInRleHQiKTtfKHRoaXMsIm5ldEFtb3VudCIpO18odGhpcywidGF4QW1vdW50Iik7Xyh0aGlzLCJ0YXhQZXJjZW50YWdlIik7Xyh0aGlzLCJncm9zc0Ftb3VudCIpO18odGhpcywiZGVmYXVsdCIpO18odGhpcywiYm9va2VkT24iKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7ZSYmKHRoaXMuaXRlbUlkPWUuaXRlbUlkLHRoaXMuaWQ9ZS5pZCx0aGlzLnF1YW50aXR5PWUucXVhbnRpdHksdGhpcy50ZXh0PWUudGV4dCx0aGlzLm5ldEFtb3VudD1lLm5ldEFtb3VudCx0aGlzLnRheEFtb3VudD1lLnRheEFtb3VudCx0aGlzLnRheFBlcmNlbnRhZ2U9ZS50YXhQZXJjZW50YWdlLHRoaXMuZ3Jvc3NBbW91bnQ9ZS5ncm9zc0Ftb3VudCx0aGlzLmRlZmF1bHQ9ZS5kZWZhdWx0LHRoaXMuYm9va2VkT249ZS5ib29rZWRPbj9uZXcgRGF0ZShlLmJvb2tlZE9uLnRvU3RyaW5nKCkpOnZvaWQgMCl9c3RhdGljIGZyb21KUyhlKXtlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9O2xldCBuPW5ldyBYYTtyZXR1cm4gbi5pbml0KGUpLG59dG9KU09OKGUpe3JldHVybiBlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGUuaXRlbUlkPXRoaXMuaXRlbUlkLGUuaWQ9dGhpcy5pZCxlLnF1YW50aXR5PXRoaXMucXVhbnRpdHksZS50ZXh0PXRoaXMudGV4dCxlLm5ldEFtb3VudD10aGlzLm5ldEFtb3VudCxlLnRheEFtb3VudD10aGlzLnRheEFtb3VudCxlLnRheFBlcmNlbnRhZ2U9dGhpcy50YXhQZXJjZW50YWdlLGUuZ3Jvc3NBbW91bnQ9dGhpcy5ncm9zc0Ftb3VudCxlLmRlZmF1bHQ9dGhpcy5kZWZhdWx0LGUuYm9va2VkT249dGhpcy5ib29rZWRPbj90aGlzLmJvb2tlZE9uLnRvSVNPU3RyaW5nKCk6dm9pZCAwLGV9fWNsYXNzIFRhe2NvbnN0cnVjdG9yKGUpe18odGhpcywiaWQiKTtfKHRoaXMsImZvbGlvSWQiKTtfKHRoaXMsImZpbGVJZCIpO18odGhpcywiZmlsZU5hbWUiKTtfKHRoaXMsIm51bWJlciIpO18odGhpcywic3RhdHVzIik7Xyh0aGlzLCJ0b3RhbEFtb3VudCIpO18odGhpcywiZHVlQW1vdW50Iik7Xyh0aGlzLCJjdXN0b21lcklkIik7Xyh0aGlzLCJiaWxsaW5nQWRkcmVzcyIpO18odGhpcywiYWRkaXRpb25hbFRleHQiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7ZSYmKHRoaXMuaWQ9ZS5pZCx0aGlzLmZvbGlvSWQ9ZS5mb2xpb0lkLHRoaXMuZmlsZUlkPWUuZmlsZUlkLHRoaXMuZmlsZU5hbWU9ZS5maWxlTmFtZSx0aGlzLm51bWJlcj1lLm51bWJlcix0aGlzLnN0YXR1cz1lLnN0YXR1cyx0aGlzLnRvdGFsQW1vdW50PWUudG90YWxBbW91bnQsdGhpcy5kdWVBbW91bnQ9ZS5kdWVBbW91bnQsdGhpcy5jdXN0b21lcklkPWUuY3VzdG9tZXJJZCx0aGlzLmJpbGxpbmdBZGRyZXNzPWUuYmlsbGluZ0FkZHJlc3M/R3UuZnJvbUpTKGUuYmlsbGluZ0FkZHJlc3MpOnZvaWQgMCx0aGlzLmFkZGl0aW9uYWxUZXh0PWUuYWRkaXRpb25hbFRleHQpfXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcgVGE7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtyZXR1cm4gZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLmlkPXRoaXMuaWQsZS5mb2xpb0lkPXRoaXMuZm9saW9JZCxlLmZpbGVJZD10aGlzLmZpbGVJZCxlLmZpbGVOYW1lPXRoaXMuZmlsZU5hbWUsZS5udW1iZXI9dGhpcy5udW1iZXIsZS5zdGF0dXM9dGhpcy5zdGF0dXMsZS50b3RhbEFtb3VudD10aGlzLnRvdGFsQW1vdW50LGUuZHVlQW1vdW50PXRoaXMuZHVlQW1vdW50LGUuY3VzdG9tZXJJZD10aGlzLmN1c3RvbWVySWQsZS5iaWxsaW5nQWRkcmVzcz10aGlzLmJpbGxpbmdBZGRyZXNzP3RoaXMuYmlsbGluZ0FkZHJlc3MudG9KU09OKCk6dm9pZCAwLGUuYWRkaXRpb25hbFRleHQ9dGhpcy5hZGRpdGlvbmFsVGV4dCxlfX1jbGFzcyBHdXtjb25zdHJ1Y3RvcihlKXtfKHRoaXMsImxpbmUxIik7Xyh0aGlzLCJsaW5lMiIpO18odGhpcywicG9zdGFsQ29kZSIpO18odGhpcywiY2l0eSIpO18odGhpcywic3RhdGUiKTtfKHRoaXMsImNvdW50cnkiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7ZSYmKHRoaXMubGluZTE9ZS5saW5lMSx0aGlzLmxpbmUyPWUubGluZTIsdGhpcy5wb3N0YWxDb2RlPWUucG9zdGFsQ29kZSx0aGlzLmNpdHk9ZS5jaXR5LHRoaXMuc3RhdGU9ZS5zdGF0ZSx0aGlzLmNvdW50cnk9ZS5jb3VudHJ5KX1zdGF0aWMgZnJvbUpTKGUpe2U9dHlwZW9mIGU9PSJvYmplY3QiP2U6e307bGV0IG49bmV3IEd1O3JldHVybiBuLmluaXQoZSksbn10b0pTT04oZSl7cmV0dXJuIGU9dHlwZW9mIGU9PSJvYmplY3QiP2U6e30sZS5saW5lMT10aGlzLmxpbmUxLGUubGluZTI9dGhpcy5saW5lMixlLnBvc3RhbENvZGU9dGhpcy5wb3N0YWxDb2RlLGUuY2l0eT10aGlzLmNpdHksZS5zdGF0ZT10aGlzLnN0YXRlLGUuY291bnRyeT10aGlzLmNvdW50cnksZX19Y2xhc3MgenV7Y29uc3RydWN0b3IoZSl7Xyh0aGlzLCJmb2xpb0lkIik7Xyh0aGlzLCJjdXN0b21lcklkIik7Xyh0aGlzLCJiaWxsaW5nQWRkcmVzcyIpO18odGhpcywiYWRkaXRpb25hbFRleHQiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7ZSYmKHRoaXMuZm9saW9JZD1lLmZvbGlvSWQsdGhpcy5jdXN0b21lcklkPWUuY3VzdG9tZXJJZCx0aGlzLmJpbGxpbmdBZGRyZXNzPWUuYmlsbGluZ0FkZHJlc3M/SnIuZnJvbUpTKGUuYmlsbGluZ0FkZHJlc3MpOnZvaWQgMCx0aGlzLmFkZGl0aW9uYWxUZXh0PWUuYWRkaXRpb25hbFRleHQpfXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcgenU7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtyZXR1cm4gZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLmZvbGlvSWQ9dGhpcy5mb2xpb0lkLGUuY3VzdG9tZXJJZD10aGlzLmN1c3RvbWVySWQsZS5iaWxsaW5nQWRkcmVzcz10aGlzLmJpbGxpbmdBZGRyZXNzP3RoaXMuYmlsbGluZ0FkZHJlc3MudG9KU09OKCk6dm9pZCAwLGUuYWRkaXRpb25hbFRleHQ9dGhpcy5hZGRpdGlvbmFsVGV4dCxlfX1jbGFzcyBIdXtjb25zdHJ1Y3RvcihlKXtfKHRoaXMsInBhZ2VOdW1iZXIiKTtfKHRoaXMsInBhZ2VTaXplIik7Xyh0aGlzLCJjb3VudCIpO18odGhpcywiZGF0YSIpO18odGhpcywidG90YWxQYWdlcyIpO18odGhpcywiaGFzUHJldmlvdXNQYWdlIik7Xyh0aGlzLCJoYXNOZXh0UGFnZSIpO2lmKGUpZm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRoaXNbbl09ZVtuXSl9aW5pdChlKXtpZihlKXtpZih0aGlzLnBhZ2VOdW1iZXI9ZS5wYWdlTnVtYmVyLHRoaXMucGFnZVNpemU9ZS5wYWdlU2l6ZSx0aGlzLmNvdW50PWUuY291bnQsQXJyYXkuaXNBcnJheShlLmRhdGEpKXt0aGlzLmRhdGE9W107Zm9yKGxldCBuIG9mIGUuZGF0YSl0aGlzLmRhdGEucHVzaChRbi5mcm9tSlMobikpfXRoaXMudG90YWxQYWdlcz1lLnRvdGFsUGFnZXMsdGhpcy5oYXNQcmV2aW91c1BhZ2U9ZS5oYXNQcmV2aW91c1BhZ2UsdGhpcy5oYXNOZXh0UGFnZT1lLmhhc05leHRQYWdlfX1zdGF0aWMgZnJvbUpTKGUpe2U9dHlwZW9mIGU9PSJvYmplY3QiP2U6e307bGV0IG49bmV3IEh1O3JldHVybiBuLmluaXQoZSksbn10b0pTT04oZSl7aWYoZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLnBhZ2VOdW1iZXI9dGhpcy5wYWdlTnVtYmVyLGUucGFnZVNpemU9dGhpcy5wYWdlU2l6ZSxlLmNvdW50PXRoaXMuY291bnQsQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEpKXtlLmRhdGE9W107Zm9yKGxldCBuIG9mIHRoaXMuZGF0YSllLmRhdGEucHVzaChuLnRvSlNPTigpKX1yZXR1cm4gZS50b3RhbFBhZ2VzPXRoaXMudG90YWxQYWdlcyxlLmhhc1ByZXZpb3VzUGFnZT10aGlzLmhhc1ByZXZpb3VzUGFnZSxlLmhhc05leHRQYWdlPXRoaXMuaGFzTmV4dFBhZ2UsZX19Y2xhc3MgVml7Y29uc3RydWN0b3IoZSl7Xyh0aGlzLCJpc0FwaUtleSIpO18odGhpcywic3ViamVjdElkIik7Xyh0aGlzLCJwcm9wZXJ0eUlkIik7Xyh0aGlzLCJlbWFpbCIpO18odGhpcywibmFtZSIpO18odGhpcywiYXZhdGFyVXJsIik7Xyh0aGlzLCJsYW5ndWFnZSIpO18odGhpcywicm9sZSIpO2lmKGUpZm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRoaXNbbl09ZVtuXSl9aW5pdChlKXtlJiYodGhpcy5pc0FwaUtleT1lLmlzQXBpS2V5LHRoaXMuc3ViamVjdElkPWUuc3ViamVjdElkLHRoaXMucHJvcGVydHlJZD1lLnByb3BlcnR5SWQsdGhpcy5lbWFpbD1lLmVtYWlsLHRoaXMubmFtZT1lLm5hbWUsdGhpcy5hdmF0YXJVcmw9ZS5hdmF0YXJVcmwsdGhpcy5sYW5ndWFnZT1lLmxhbmd1YWdlLHRoaXMucm9sZT1lLnJvbGUpfXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcgVmk7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtyZXR1cm4gZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLmlzQXBpS2V5PXRoaXMuaXNBcGlLZXksZS5zdWJqZWN0SWQ9dGhpcy5zdWJqZWN0SWQsZS5wcm9wZXJ0eUlkPXRoaXMucHJvcGVydHlJZCxlLmVtYWlsPXRoaXMuZW1haWwsZS5uYW1lPXRoaXMubmFtZSxlLmF2YXRhclVybD10aGlzLmF2YXRhclVybCxlLmxhbmd1YWdlPXRoaXMubGFuZ3VhZ2UsZS5yb2xlPXRoaXMucm9sZSxlfX1jbGFzcyBlZ3tjb25zdHJ1Y3RvcihlKXtfKHRoaXMsImVtYWlsIik7Xyh0aGlzLCJwYXNzd29yZCIpO2lmKGUpZm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRoaXNbbl09ZVtuXSl9aW5pdChlKXtlJiYodGhpcy5lbWFpbD1lLmVtYWlsLHRoaXMucGFzc3dvcmQ9ZS5wYXNzd29yZCl9c3RhdGljIGZyb21KUyhlKXtlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9O2xldCBuPW5ldyBlZztyZXR1cm4gbi5pbml0KGUpLG59dG9KU09OKGUpe3JldHVybiBlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGUuZW1haWw9dGhpcy5lbWFpbCxlLnBhc3N3b3JkPXRoaXMucGFzc3dvcmQsZX19Y2xhc3MgdGd7Y29uc3RydWN0b3IoZSl7Xyh0aGlzLCJjdXJyZW50UGFzc3dvcmQiKTtfKHRoaXMsIm5ld1Bhc3N3b3JkIik7aWYoZSlmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodGhpc1tuXT1lW25dKX1pbml0KGUpe2UmJih0aGlzLmN1cnJlbnRQYXNzd29yZD1lLmN1cnJlbnRQYXNzd29yZCx0aGlzLm5ld1Bhc3N3b3JkPWUubmV3UGFzc3dvcmQpfXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcgdGc7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtyZXR1cm4gZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLmN1cnJlbnRQYXNzd29yZD10aGlzLmN1cnJlbnRQYXNzd29yZCxlLm5ld1Bhc3N3b3JkPXRoaXMubmV3UGFzc3dvcmQsZX19Y2xhc3Mgbm8gZXh0ZW5kcyBxbntjb25zdHJ1Y3RvcihuKXtzdXBlcihuKTtfKHRoaXMsImtleSIpO18odGhpcywidmFsdWUiKTtfKHRoaXMsInNlY3JldCIpO18odGhpcywib2JqZWN0Iil9aW5pdChuKXtzdXBlci5pbml0KG4pLG4mJih0aGlzLmtleT1uLmtleSx0aGlzLnZhbHVlPW4udmFsdWUsdGhpcy5zZWNyZXQ9bi5zZWNyZXQsdGhpcy5vYmplY3Q9bi5vYmplY3QpfXN0YXRpYyBmcm9tSlMobil7bj10eXBlb2Ygbj09Im9iamVjdCI/bjp7fTtsZXQgcj1uZXcgbm87cmV0dXJuIHIuaW5pdChuKSxyfXRvSlNPTihuKXtyZXR1cm4gbj10eXBlb2Ygbj09Im9iamVjdCI/bjp7fSxuLmtleT10aGlzLmtleSxuLnZhbHVlPXRoaXMudmFsdWUsbi5zZWNyZXQ9dGhpcy5zZWNyZXQsbi5vYmplY3Q9dGhpcy5vYmplY3Qsc3VwZXIudG9KU09OKG4pLG59fWNsYXNzIG5ne2NvbnN0cnVjdG9yKGUpe18odGhpcywia2V5Iik7Xyh0aGlzLCJ2YWx1ZSIpO18odGhpcywic2VjcmV0Iik7aWYoZSlmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodGhpc1tuXT1lW25dKX1pbml0KGUpe2UmJih0aGlzLmtleT1lLmtleSx0aGlzLnZhbHVlPWUudmFsdWUsdGhpcy5zZWNyZXQ9ZS5zZWNyZXQpfXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcgbmc7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtyZXR1cm4gZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLmtleT10aGlzLmtleSxlLnZhbHVlPXRoaXMudmFsdWUsZS5zZWNyZXQ9dGhpcy5zZWNyZXQsZX19Y2xhc3Mgcmd7Y29uc3RydWN0b3IoZSl7Xyh0aGlzLCJrZXkiKTtfKHRoaXMsInZhbHVlIik7Xyh0aGlzLCJzZWNyZXQiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7ZSYmKHRoaXMua2V5PWUua2V5LHRoaXMudmFsdWU9ZS52YWx1ZSx0aGlzLnNlY3JldD1lLnNlY3JldCl9c3RhdGljIGZyb21KUyhlKXtlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9O2xldCBuPW5ldyByZztyZXR1cm4gbi5pbml0KGUpLG59dG9KU09OKGUpe3JldHVybiBlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGUua2V5PXRoaXMua2V5LGUudmFsdWU9dGhpcy52YWx1ZSxlLnNlY3JldD10aGlzLnNlY3JldCxlfX1jbGFzcyBKdXtjb25zdHJ1Y3RvcihlKXtfKHRoaXMsInBhZ2VOdW1iZXIiKTtfKHRoaXMsInBhZ2VTaXplIik7Xyh0aGlzLCJjb3VudCIpO18odGhpcywiZGF0YSIpO18odGhpcywidG90YWxQYWdlcyIpO18odGhpcywiaGFzUHJldmlvdXNQYWdlIik7Xyh0aGlzLCJoYXNOZXh0UGFnZSIpO2lmKGUpZm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRoaXNbbl09ZVtuXSl9aW5pdChlKXtpZihlKXtpZih0aGlzLnBhZ2VOdW1iZXI9ZS5wYWdlTnVtYmVyLHRoaXMucGFnZVNpemU9ZS5wYWdlU2l6ZSx0aGlzLmNvdW50PWUuY291bnQsQXJyYXkuaXNBcnJheShlLmRhdGEpKXt0aGlzLmRhdGE9W107Zm9yKGxldCBuIG9mIGUuZGF0YSl0aGlzLmRhdGEucHVzaChuby5mcm9tSlMobikpfXRoaXMudG90YWxQYWdlcz1lLnRvdGFsUGFnZXMsdGhpcy5oYXNQcmV2aW91c1BhZ2U9ZS5oYXNQcmV2aW91c1BhZ2UsdGhpcy5oYXNOZXh0UGFnZT1lLmhhc05leHRQYWdlfX1zdGF0aWMgZnJvbUpTKGUpe2U9dHlwZW9mIGU9PSJvYmplY3QiP2U6e307bGV0IG49bmV3IEp1O3JldHVybiBuLmluaXQoZSksbn10b0pTT04oZSl7aWYoZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLnBhZ2VOdW1iZXI9dGhpcy5wYWdlTnVtYmVyLGUucGFnZVNpemU9dGhpcy5wYWdlU2l6ZSxlLmNvdW50PXRoaXMuY291bnQsQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEpKXtlLmRhdGE9W107Zm9yKGxldCBuIG9mIHRoaXMuZGF0YSllLmRhdGEucHVzaChuLnRvSlNPTigpKX1yZXR1cm4gZS50b3RhbFBhZ2VzPXRoaXMudG90YWxQYWdlcyxlLmhhc1ByZXZpb3VzUGFnZT10aGlzLmhhc1ByZXZpb3VzUGFnZSxlLmhhc05leHRQYWdlPXRoaXMuaGFzTmV4dFBhZ2UsZX19Y2xhc3MgaWd7Y29uc3RydWN0b3IoZSl7Xyh0aGlzLCJlbWFpbCIpO18odGhpcywicm9sZUlkIik7aWYoZSlmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodGhpc1tuXT1lW25dKX1pbml0KGUpe2UmJih0aGlzLmVtYWlsPWUuZW1haWwsdGhpcy5yb2xlSWQ9ZS5yb2xlSWQpfXN0YXRpYyBmcm9tSlMoZSl7ZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fTtsZXQgbj1uZXcgaWc7cmV0dXJuIG4uaW5pdChlKSxufXRvSlNPTihlKXtyZXR1cm4gZT10eXBlb2YgZT09Im9iamVjdCI/ZTp7fSxlLmVtYWlsPXRoaXMuZW1haWwsZS5yb2xlSWQ9dGhpcy5yb2xlSWQsZX19Y2xhc3MgcXV7Y29uc3RydWN0b3IoZSl7Xyh0aGlzLCJwYWdlTnVtYmVyIik7Xyh0aGlzLCJwYWdlU2l6ZSIpO18odGhpcywiY291bnQiKTtfKHRoaXMsImRhdGEiKTtfKHRoaXMsInRvdGFsUGFnZXMiKTtfKHRoaXMsImhhc1ByZXZpb3VzUGFnZSIpO18odGhpcywiaGFzTmV4dFBhZ2UiKTtpZihlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0aGlzW25dPWVbbl0pfWluaXQoZSl7aWYoZSl7aWYodGhpcy5wYWdlTnVtYmVyPWUucGFnZU51bWJlcix0aGlzLnBhZ2VTaXplPWUucGFnZVNpemUsdGhpcy5jb3VudD1lLmNvdW50LEFycmF5LmlzQXJyYXkoZS5kYXRhKSl7dGhpcy5kYXRhPVtdO2ZvcihsZXQgbiBvZiBlLmRhdGEpdGhpcy5kYXRhLnB1c2goWnUuZnJvbUpTKG4pKX10aGlzLnRvdGFsUGFnZXM9ZS50b3RhbFBhZ2VzLHRoaXMuaGFzUHJldmlvdXNQYWdlPWUuaGFzUHJldmlvdXNQYWdlLHRoaXMuaGFzTmV4dFBhZ2U9ZS5oYXNOZXh0UGFnZX19c3RhdGljIGZyb21KUyhlKXtlPXR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9O2xldCBuPW5ldyBxdTtyZXR1cm4gbi5pbml0KGUpLG59dG9KU09OKGUpe2lmKGU9dHlwZW9mIGU9PSJvYmplY3QiP2U6e30sZS5wYWdlTnVtYmVyPXRoaXMucGFnZU51bWJlcixlLnBhZ2VTaXplPXRoaXMucGFnZVNpemUsZS5jb3VudD10aGlzLmNvdW50LEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSl7ZS5kYXRhPVtdO2ZvcihsZXQgbiBvZiB0aGlzLmRhdGEpZS5kYXRhLnB1c2gobi50b0pTT04oKSl9cmV0dXJuIGUudG90YWxQYWdlcz10aGlzLnRvdGFsUGFnZXMsZS5oYXNQcmV2aW91c1BhZ2U9dGhpcy5oYXNQcmV2aW91c1BhZ2UsZS5oYXNOZXh0UGFnZT10aGlzLmhhc05leHRQYWdlLGV9fWNsYXNzIFp1IGV4dGVuZHMgcW57Y29uc3RydWN0b3Iobil7c3VwZXIobik7Xyh0aGlzLCJ1c2VySWQiKTtfKHRoaXMsInVzZXIiKTtfKHRoaXMsInJvbGVJZCIpO18odGhpcywib2JqZWN0Iil9aW5pdChuKXtzdXBlci5pbml0KG4pLG4mJih0aGlzLnVzZXJJZD1uLnVzZXJJZCx0aGlzLnVzZXI9bi51c2VyP1J1LmZyb21KUyhuLnVzZXIpOnZvaWQgMCx0aGlzLnJvbGVJZD1uLnJvbGVJZCx0aGlzLm9iamVjdD1uLm9iamVjdCl9c3RhdGljIGZyb21KUyhuKXtuPXR5cGVvZiBuPT0ib2JqZWN0Ij9uOnt9O2xldCByPW5ldyBadTtyZXR1cm4gci5pbml0KG4pLHJ9dG9KU09OKG4pe3JldHVybiBuPXR5cGVvZiBuPT0ib2JqZWN0Ij9uOnt9LG4udXNlcklkPXRoaXMudXNlcklkLG4udXNlcj10aGlzLnVzZXI/dGhpcy51c2VyLnRvSlNPTigpOnZvaWQgMCxuLnJvbGVJZD10aGlzLnJvbGVJZCxuLm9iamVjdD10aGlzLm9iamVjdCxzdXBlci50b0pTT04obiksbn19Y2xhc3MgWGIgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihuLHIsaSxzLG8pe3N1cGVyKCk7Xyh0aGlzLCJtZXNzYWdlIik7Xyh0aGlzLCJzdGF0dXMiKTtfKHRoaXMsInJlc3BvbnNlIik7Xyh0aGlzLCJoZWFkZXJzIik7Xyh0aGlzLCJyZXN1bHQiKTtfKHRoaXMsImlzQXBpRXhjZXB0aW9uIiwhMCk7dGhpcy5tZXNzYWdlPW4sdGhpcy5zdGF0dXM9cix0aGlzLnJlc3BvbnNlPWksdGhpcy5oZWFkZXJzPXMsdGhpcy5yZXN1bHQ9b31zdGF0aWMgaXNBcGlFeGNlcHRpb24obil7cmV0dXJuIG4uaXNBcGlFeGNlcHRpb249PT0hMH19ZnVuY3Rpb24gaGUodCxlLG4scixpKXt0aHJvdyBpPz9uZXcgWGIodCxlLG4scixudWxsKX1mdW5jdGlvbiBiZSh0KXtyZXR1cm4gdCYmdC5pc0F4aW9zRXJyb3I9PT0hMH0vKioKKiBAdnVlL3NoYXJlZCB2My40LjI2CiogKGMpIDIwMTgtcHJlc2VudCBZdXhpIChFdmFuKSBZb3UgYW5kIFZ1ZSBjb250cmlidXRvcnMKKiBAbGljZW5zZSBNSVQKKiovLyohICNfX05PX1NJREVfRUZGRUNUU19fICovZnVuY3Rpb24gc2codCxlKXtjb25zdCBuPW5ldyBTZXQodC5zcGxpdCgiLCIpKTtyZXR1cm4gcj0+bi5oYXMocil9Y29uc3QgbHQ9e30sV2k9W10sYm49KCk9Pnt9LFFiPSgpPT4hMSxLdT10PT50LmNoYXJDb2RlQXQoMCk9PT0xMTEmJnQuY2hhckNvZGVBdCgxKT09PTExMCYmKHQuY2hhckNvZGVBdCgyKT4xMjJ8fHQuY2hhckNvZGVBdCgyKTw5Nyksb2c9dD0+dC5zdGFydHNXaXRoKCJvblVwZGF0ZToiKSxWdD1PYmplY3QuYXNzaWduLFl1PSh0LGUpPT57Y29uc3Qgbj10LmluZGV4T2YoZSk7bj4tMSYmdC5zcGxpY2UobiwxKX0sZXc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxldD0odCxlKT0+ZXcuY2FsbCh0LGUpLFBlPUFycmF5LmlzQXJyYXksR2k9dD0+T28odCk9PT0iW29iamVjdCBNYXBdIixhZz10PT5Pbyh0KT09PSJbb2JqZWN0IFNldF0iLHR3PXQ9Pk9vKHQpPT09IltvYmplY3QgUmVnRXhwXSIsQmU9dD0+dHlwZW9mIHQ9PSJmdW5jdGlvbiIsT3Q9dD0+dHlwZW9mIHQ9PSJzdHJpbmciLEFpPXQ9PnR5cGVvZiB0PT0ic3ltYm9sIixtdD10PT50IT09bnVsbCYmdHlwZW9mIHQ9PSJvYmplY3QiLFh1PXQ9PihtdCh0KXx8QmUodCkpJiZCZSh0LnRoZW4pJiZCZSh0LmNhdGNoKSxsZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLE9vPXQ9PmxnLmNhbGwodCksbnc9dD0+T28odCkuc2xpY2UoOCwtMSksY2c9dD0+T28odCk9PT0iW29iamVjdCBPYmplY3RdIixRdT10PT5PdCh0KSYmdCE9PSJOYU4iJiZ0WzBdIT09Ii0iJiYiIitwYXJzZUludCh0LDEwKT09PXQsVXM9c2coIixrZXkscmVmLHJlZl9mb3IscmVmX2tleSxvblZub2RlQmVmb3JlTW91bnQsb25Wbm9kZU1vdW50ZWQsb25Wbm9kZUJlZm9yZVVwZGF0ZSxvblZub2RlVXBkYXRlZCxvblZub2RlQmVmb3JlVW5tb3VudCxvblZub2RlVW5tb3VudGVkIiksUWE9dD0+e2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gbj0+ZVtuXXx8KGVbbl09dChuKSl9LHJ3PS8tKFx3KS9nLEduPVFhKHQ9PnQucmVwbGFjZShydywoZSxuKT0+bj9uLnRvVXBwZXJDYXNlKCk6IiIpKSxpdz0vXEIoW0EtWl0pL2csQ289UWEodD0+dC5yZXBsYWNlKGl3LCItJDEiKS50b0xvd2VyQ2FzZSgpKSxlZD1RYSh0PT50LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSkpLFVsPVFhKHQ9PnQ/YG9uJHtlZCh0KX1gOiIiKSxpcj0odCxlKT0+IU9iamVjdC5pcyh0LGUpLFZzPSh0LGUpPT57Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXShlKX0sdWc9KHQsZSxuLHI9ITEpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsd3JpdGFibGU6cix2YWx1ZTpufSl9LHN3PXQ9Pntjb25zdCBlPXBhcnNlRmxvYXQodCk7cmV0dXJuIGlzTmFOKGUpP3Q6ZX0sb3c9dD0+e2NvbnN0IGU9T3QodCk/TnVtYmVyKHQpOk5hTjtyZXR1cm4gaXNOYU4oZSk/dDplfTtsZXQgVGY7Y29uc3QgZGc9KCk9PlRmfHwoVGY9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGY8InUiP3NlbGY6dHlwZW9mIHdpbmRvdzwidSI/d2luZG93OnR5cGVvZiBnbG9iYWw8InUiP2dsb2JhbDp7fSk7ZnVuY3Rpb24gdGQodCl7aWYoUGUodCkpe2NvbnN0IGU9e307Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2NvbnN0IHI9dFtuXSxpPU90KHIpP3V3KHIpOnRkKHIpO2lmKGkpZm9yKGNvbnN0IHMgaW4gaSllW3NdPWlbc119cmV0dXJuIGV9ZWxzZSBpZihPdCh0KXx8bXQodCkpcmV0dXJuIHR9Y29uc3QgYXc9LzsoPyFbXihdKlwpKS9nLGx3PS86KFteXSspLyxjdz0vXC9cKlteXSo/XCpcLy9nO2Z1bmN0aW9uIHV3KHQpe2NvbnN0IGU9e307cmV0dXJuIHQucmVwbGFjZShjdywiIikuc3BsaXQoYXcpLmZvckVhY2gobj0+e2lmKG4pe2NvbnN0IHI9bi5zcGxpdChsdyk7ci5sZW5ndGg+MSYmKGVbclswXS50cmltKCldPXJbMV0udHJpbSgpKX19KSxlfWZ1bmN0aW9uIERlKHQpe2xldCBlPSIiO2lmKE90KHQpKWU9dDtlbHNlIGlmKFBlKHQpKWZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPURlKHRbbl0pO3ImJihlKz1yKyIgIil9ZWxzZSBpZihtdCh0KSlmb3IoY29uc3QgbiBpbiB0KXRbbl0mJihlKz1uKyIgIik7cmV0dXJuIGUudHJpbSgpfWNvbnN0IEs9dD0+T3QodCk/dDp0PT1udWxsPyIiOlBlKHQpfHxtdCh0KSYmKHQudG9TdHJpbmc9PT1sZ3x8IUJlKHQudG9TdHJpbmcpKT9KU09OLnN0cmluZ2lmeSh0LGZnLDIpOlN0cmluZyh0KSxmZz0odCxlKT0+ZSYmZS5fX3ZfaXNSZWY/ZmcodCxlLnZhbHVlKTpHaShlKT97W2BNYXAoJHtlLnNpemV9KWBdOlsuLi5lLmVudHJpZXMoKV0ucmVkdWNlKChuLFtyLGldLHMpPT4obltWbChyLHMpKyIgPT4iXT1pLG4pLHt9KX06YWcoZSk/e1tgU2V0KCR7ZS5zaXplfSlgXTpbLi4uZS52YWx1ZXMoKV0ubWFwKG49PlZsKG4pKX06QWkoZSk/VmwoZSk6bXQoZSkmJiFQZShlKSYmIWNnKGUpP1N0cmluZyhlKTplLFZsPSh0LGU9IiIpPT57dmFyIG47cmV0dXJuIEFpKHQpP2BTeW1ib2woJHsobj10LmRlc2NyaXB0aW9uKSE9bnVsbD9uOmV9KWA6dH07LyoqCiogQHZ1ZS9yZWFjdGl2aXR5IHYzLjQuMjYKKiAoYykgMjAxOC1wcmVzZW50IFl1eGkgKEV2YW4pIFlvdSBhbmQgVnVlIGNvbnRyaWJ1dG9ycwoqIEBsaWNlbnNlIE1JVAoqKi9sZXQgdW47Y2xhc3MgaGd7Y29uc3RydWN0b3IoZT0hMSl7dGhpcy5kZXRhY2hlZD1lLHRoaXMuX2FjdGl2ZT0hMCx0aGlzLmVmZmVjdHM9W10sdGhpcy5jbGVhbnVwcz1bXSx0aGlzLnBhcmVudD11biwhZSYmdW4mJih0aGlzLmluZGV4PSh1bi5zY29wZXN8fCh1bi5zY29wZXM9W10pKS5wdXNoKHRoaXMpLTEpfWdldCBhY3RpdmUoKXtyZXR1cm4gdGhpcy5fYWN0aXZlfXJ1bihlKXtpZih0aGlzLl9hY3RpdmUpe2NvbnN0IG49dW47dHJ5e3JldHVybiB1bj10aGlzLGUoKX1maW5hbGx5e3VuPW59fX1vbigpe3VuPXRoaXN9b2ZmKCl7dW49dGhpcy5wYXJlbnR9c3RvcChlKXtpZih0aGlzLl9hY3RpdmUpe2xldCBuLHI7Zm9yKG49MCxyPXRoaXMuZWZmZWN0cy5sZW5ndGg7bjxyO24rKyl0aGlzLmVmZmVjdHNbbl0uc3RvcCgpO2ZvcihuPTAscj10aGlzLmNsZWFudXBzLmxlbmd0aDtuPHI7bisrKXRoaXMuY2xlYW51cHNbbl0oKTtpZih0aGlzLnNjb3Blcylmb3Iobj0wLHI9dGhpcy5zY29wZXMubGVuZ3RoO248cjtuKyspdGhpcy5zY29wZXNbbl0uc3RvcCghMCk7aWYoIXRoaXMuZGV0YWNoZWQmJnRoaXMucGFyZW50JiYhZSl7Y29uc3QgaT10aGlzLnBhcmVudC5zY29wZXMucG9wKCk7aSYmaSE9PXRoaXMmJih0aGlzLnBhcmVudC5zY29wZXNbdGhpcy5pbmRleF09aSxpLmluZGV4PXRoaXMuaW5kZXgpfXRoaXMucGFyZW50PXZvaWQgMCx0aGlzLl9hY3RpdmU9ITF9fX1mdW5jdGlvbiBuZCh0KXtyZXR1cm4gbmV3IGhnKHQpfWZ1bmN0aW9uIGR3KHQsZT11bil7ZSYmZS5hY3RpdmUmJmUuZWZmZWN0cy5wdXNoKHQpfWZ1bmN0aW9uIHJkKCl7cmV0dXJuIHVufWZ1bmN0aW9uIG1nKHQpe3VuJiZ1bi5jbGVhbnVwcy5wdXNoKHQpfWxldCB2aTtjbGFzcyBpZHtjb25zdHJ1Y3RvcihlLG4scixpKXt0aGlzLmZuPWUsdGhpcy50cmlnZ2VyPW4sdGhpcy5zY2hlZHVsZXI9cix0aGlzLmFjdGl2ZT0hMCx0aGlzLmRlcHM9W10sdGhpcy5fZGlydHlMZXZlbD00LHRoaXMuX3RyYWNrSWQ9MCx0aGlzLl9ydW5uaW5ncz0wLHRoaXMuX3Nob3VsZFNjaGVkdWxlPSExLHRoaXMuX2RlcHNMZW5ndGg9MCxkdyh0aGlzLGkpfWdldCBkaXJ0eSgpe2lmKHRoaXMuX2RpcnR5TGV2ZWw9PT0yfHx0aGlzLl9kaXJ0eUxldmVsPT09Myl7dGhpcy5fZGlydHlMZXZlbD0xLHFyKCk7Zm9yKGxldCBlPTA7ZTx0aGlzLl9kZXBzTGVuZ3RoO2UrKyl7Y29uc3Qgbj10aGlzLmRlcHNbZV07aWYobi5jb21wdXRlZCYmKGZ3KG4uY29tcHV0ZWQpLHRoaXMuX2RpcnR5TGV2ZWw+PTQpKWJyZWFrfXRoaXMuX2RpcnR5TGV2ZWw9PT0xJiYodGhpcy5fZGlydHlMZXZlbD0wKSxacigpfXJldHVybiB0aGlzLl9kaXJ0eUxldmVsPj00fXNldCBkaXJ0eShlKXt0aGlzLl9kaXJ0eUxldmVsPWU/NDowfXJ1bigpe2lmKHRoaXMuX2RpcnR5TGV2ZWw9MCwhdGhpcy5hY3RpdmUpcmV0dXJuIHRoaXMuZm4oKTtsZXQgZT1XcixuPXZpO3RyeXtyZXR1cm4gV3I9ITAsdmk9dGhpcyx0aGlzLl9ydW5uaW5ncysrLEVmKHRoaXMpLHRoaXMuZm4oKX1maW5hbGx5e3hmKHRoaXMpLHRoaXMuX3J1bm5pbmdzLS0sdmk9bixXcj1lfX1zdG9wKCl7dGhpcy5hY3RpdmUmJihFZih0aGlzKSx4Zih0aGlzKSx0aGlzLm9uU3RvcCYmdGhpcy5vblN0b3AoKSx0aGlzLmFjdGl2ZT0hMSl9fWZ1bmN0aW9uIGZ3KHQpe3JldHVybiB0LnZhbHVlfWZ1bmN0aW9uIEVmKHQpe3QuX3RyYWNrSWQrKyx0Ll9kZXBzTGVuZ3RoPTB9ZnVuY3Rpb24geGYodCl7aWYodC5kZXBzLmxlbmd0aD50Ll9kZXBzTGVuZ3RoKXtmb3IobGV0IGU9dC5fZGVwc0xlbmd0aDtlPHQuZGVwcy5sZW5ndGg7ZSsrKXBnKHQuZGVwc1tlXSx0KTt0LmRlcHMubGVuZ3RoPXQuX2RlcHNMZW5ndGh9fWZ1bmN0aW9uIHBnKHQsZSl7Y29uc3Qgbj10LmdldChlKTtuIT09dm9pZCAwJiZlLl90cmFja0lkIT09biYmKHQuZGVsZXRlKGUpLHQuc2l6ZT09PTAmJnQuY2xlYW51cCgpKX1sZXQgV3I9ITAsVGM9MDtjb25zdCBnZz1bXTtmdW5jdGlvbiBxcigpe2dnLnB1c2goV3IpLFdyPSExfWZ1bmN0aW9uIFpyKCl7Y29uc3QgdD1nZy5wb3AoKTtXcj10PT09dm9pZCAwPyEwOnR9ZnVuY3Rpb24gc2QoKXtUYysrfWZ1bmN0aW9uIG9kKCl7Zm9yKFRjLS07IVRjJiZFYy5sZW5ndGg7KUVjLnNoaWZ0KCkoKX1mdW5jdGlvbiB5Zyh0LGUsbil7aWYoZS5nZXQodCkhPT10Ll90cmFja0lkKXtlLnNldCh0LHQuX3RyYWNrSWQpO2NvbnN0IHI9dC5kZXBzW3QuX2RlcHNMZW5ndGhdO3IhPT1lPyhyJiZwZyhyLHQpLHQuZGVwc1t0Ll9kZXBzTGVuZ3RoKytdPWUpOnQuX2RlcHNMZW5ndGgrK319Y29uc3QgRWM9W107ZnVuY3Rpb24gdmcodCxlLG4pe3NkKCk7Zm9yKGNvbnN0IHIgb2YgdC5rZXlzKCkpe2xldCBpO3IuX2RpcnR5TGV2ZWw8ZSYmKGk/PyhpPXQuZ2V0KHIpPT09ci5fdHJhY2tJZCkpJiYoci5fc2hvdWxkU2NoZWR1bGV8fChyLl9zaG91bGRTY2hlZHVsZT1yLl9kaXJ0eUxldmVsPT09MCksci5fZGlydHlMZXZlbD1lKSxyLl9zaG91bGRTY2hlZHVsZSYmKGk/PyhpPXQuZ2V0KHIpPT09ci5fdHJhY2tJZCkpJiYoci50cmlnZ2VyKCksKCFyLl9ydW5uaW5nc3x8ci5hbGxvd1JlY3Vyc2UpJiZyLl9kaXJ0eUxldmVsIT09MiYmKHIuX3Nob3VsZFNjaGVkdWxlPSExLHIuc2NoZWR1bGVyJiZFYy5wdXNoKHIuc2NoZWR1bGVyKSkpfW9kKCl9Y29uc3QgX2c9KHQsZSk9Pntjb25zdCBuPW5ldyBNYXA7cmV0dXJuIG4uY2xlYW51cD10LG4uY29tcHV0ZWQ9ZSxufSxFYT1uZXcgV2Vha01hcCxfaT1TeW1ib2woIiIpLHhjPVN5bWJvbCgiIik7ZnVuY3Rpb24gb24odCxlLG4pe2lmKFdyJiZ2aSl7bGV0IHI9RWEuZ2V0KHQpO3J8fEVhLnNldCh0LHI9bmV3IE1hcCk7bGV0IGk9ci5nZXQobik7aXx8ci5zZXQobixpPV9nKCgpPT5yLmRlbGV0ZShuKSkpLHlnKHZpLGkpfX1mdW5jdGlvbiB5cih0LGUsbixyLGkscyl7Y29uc3Qgbz1FYS5nZXQodCk7aWYoIW8pcmV0dXJuO2xldCBhPVtdO2lmKGU9PT0iY2xlYXIiKWE9Wy4uLm8udmFsdWVzKCldO2Vsc2UgaWYobj09PSJsZW5ndGgiJiZQZSh0KSl7Y29uc3QgbD1OdW1iZXIocik7by5mb3JFYWNoKChjLHUpPT57KHU9PT0ibGVuZ3RoInx8IUFpKHUpJiZ1Pj1sKSYmYS5wdXNoKGMpfSl9ZWxzZSBzd2l0Y2gobiE9PXZvaWQgMCYmYS5wdXNoKG8uZ2V0KG4pKSxlKXtjYXNlImFkZCI6UGUodCk/UXUobikmJmEucHVzaChvLmdldCgibGVuZ3RoIikpOihhLnB1c2goby5nZXQoX2kpKSxHaSh0KSYmYS5wdXNoKG8uZ2V0KHhjKSkpO2JyZWFrO2Nhc2UiZGVsZXRlIjpQZSh0KXx8KGEucHVzaChvLmdldChfaSkpLEdpKHQpJiZhLnB1c2goby5nZXQoeGMpKSk7YnJlYWs7Y2FzZSJzZXQiOkdpKHQpJiZhLnB1c2goby5nZXQoX2kpKTticmVha31zZCgpO2Zvcihjb25zdCBsIG9mIGEpbCYmdmcobCw0KTtvZCgpfWZ1bmN0aW9uIGh3KHQsZSl7Y29uc3Qgbj1FYS5nZXQodCk7cmV0dXJuIG4mJm4uZ2V0KGUpfWNvbnN0IG13PXNnKCJfX3Byb3RvX18sX192X2lzUmVmLF9faXNWdWUiKSxiZz1uZXcgU2V0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKFN5bWJvbCkuZmlsdGVyKHQ9PnQhPT0iYXJndW1lbnRzIiYmdCE9PSJjYWxsZXIiKS5tYXAodD0+U3ltYm9sW3RdKS5maWx0ZXIoQWkpKSxBZj1wdygpO2Z1bmN0aW9uIHB3KCl7Y29uc3QgdD17fTtyZXR1cm5bImluY2x1ZGVzIiwiaW5kZXhPZiIsImxhc3RJbmRleE9mIl0uZm9yRWFjaChlPT57dFtlXT1mdW5jdGlvbiguLi5uKXtjb25zdCByPVhlKHRoaXMpO2ZvcihsZXQgcz0wLG89dGhpcy5sZW5ndGg7czxvO3MrKylvbihyLCJnZXQiLHMrIiIpO2NvbnN0IGk9cltlXSguLi5uKTtyZXR1cm4gaT09PS0xfHxpPT09ITE/cltlXSguLi5uLm1hcChYZSkpOml9fSksWyJwdXNoIiwicG9wIiwic2hpZnQiLCJ1bnNoaWZ0Iiwic3BsaWNlIl0uZm9yRWFjaChlPT57dFtlXT1mdW5jdGlvbiguLi5uKXtxcigpLHNkKCk7Y29uc3Qgcj1YZSh0aGlzKVtlXS5hcHBseSh0aGlzLG4pO3JldHVybiBvZCgpLFpyKCkscn19KSx0fWZ1bmN0aW9uIGd3KHQpe0FpKHQpfHwodD1TdHJpbmcodCkpO2NvbnN0IGU9WGUodGhpcyk7cmV0dXJuIG9uKGUsImhhcyIsdCksZS5oYXNPd25Qcm9wZXJ0eSh0KX1jbGFzcyB3Z3tjb25zdHJ1Y3RvcihlPSExLG49ITEpe3RoaXMuX2lzUmVhZG9ubHk9ZSx0aGlzLl9pc1NoYWxsb3c9bn1nZXQoZSxuLHIpe2NvbnN0IGk9dGhpcy5faXNSZWFkb25seSxzPXRoaXMuX2lzU2hhbGxvdztpZihuPT09Il9fdl9pc1JlYWN0aXZlIilyZXR1cm4haTtpZihuPT09Il9fdl9pc1JlYWRvbmx5IilyZXR1cm4gaTtpZihuPT09Il9fdl9pc1NoYWxsb3ciKXJldHVybiBzO2lmKG49PT0iX192X3JhdyIpcmV0dXJuIHI9PT0oaT9zP0N3OkVnOnM/VGc6U2cpLmdldChlKXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHIpP2U6dm9pZCAwO2NvbnN0IG89UGUoZSk7aWYoIWkpe2lmKG8mJmV0KEFmLG4pKXJldHVybiBSZWZsZWN0LmdldChBZixuLHIpO2lmKG49PT0iaGFzT3duUHJvcGVydHkiKXJldHVybiBnd31jb25zdCBhPVJlZmxlY3QuZ2V0KGUsbixyKTtyZXR1cm4oQWkobik/YmcuaGFzKG4pOm13KG4pKXx8KGl8fG9uKGUsImdldCIsbikscyk/YTpFdChhKT9vJiZRdShuKT9hOmEudmFsdWU6bXQoYSk/aT9jZChhKTpPaShhKTphfX1jbGFzcyBrZyBleHRlbmRzIHdne2NvbnN0cnVjdG9yKGU9ITEpe3N1cGVyKCExLGUpfXNldChlLG4scixpKXtsZXQgcz1lW25dO2lmKCF0aGlzLl9pc1NoYWxsb3cpe2NvbnN0IGw9cm8ocyk7aWYoIXhhKHIpJiYhcm8ocikmJihzPVhlKHMpLHI9WGUocikpLCFQZShlKSYmRXQocykmJiFFdChyKSlyZXR1cm4gbD8hMToocy52YWx1ZT1yLCEwKX1jb25zdCBvPVBlKGUpJiZRdShuKT9OdW1iZXIobik8ZS5sZW5ndGg6ZXQoZSxuKSxhPVJlZmxlY3Quc2V0KGUsbixyLGkpO3JldHVybiBlPT09WGUoaSkmJihvP2lyKHIscykmJnlyKGUsInNldCIsbixyKTp5cihlLCJhZGQiLG4scikpLGF9ZGVsZXRlUHJvcGVydHkoZSxuKXtjb25zdCByPWV0KGUsbik7ZVtuXTtjb25zdCBpPVJlZmxlY3QuZGVsZXRlUHJvcGVydHkoZSxuKTtyZXR1cm4gaSYmciYmeXIoZSwiZGVsZXRlIixuLHZvaWQgMCksaX1oYXMoZSxuKXtjb25zdCByPVJlZmxlY3QuaGFzKGUsbik7cmV0dXJuKCFBaShuKXx8IWJnLmhhcyhuKSkmJm9uKGUsImhhcyIsbikscn1vd25LZXlzKGUpe3JldHVybiBvbihlLCJpdGVyYXRlIixQZShlKT8ibGVuZ3RoIjpfaSksUmVmbGVjdC5vd25LZXlzKGUpfX1jbGFzcyB5dyBleHRlbmRzIHdne2NvbnN0cnVjdG9yKGU9ITEpe3N1cGVyKCEwLGUpfXNldChlLG4pe3JldHVybiEwfWRlbGV0ZVByb3BlcnR5KGUsbil7cmV0dXJuITB9fWNvbnN0IHZ3PW5ldyBrZyxfdz1uZXcgeXcsYnc9bmV3IGtnKCEwKTtjb25zdCBhZD10PT50LGVsPXQ9PlJlZmxlY3QuZ2V0UHJvdG90eXBlT2YodCk7ZnVuY3Rpb24gSG8odCxlLG49ITEscj0hMSl7dD10Ll9fdl9yYXc7Y29uc3QgaT1YZSh0KSxzPVhlKGUpO258fChpcihlLHMpJiZvbihpLCJnZXQiLGUpLG9uKGksImdldCIscykpO2NvbnN0e2hhczpvfT1lbChpKSxhPXI/YWQ6bj9mZDppbztpZihvLmNhbGwoaSxlKSlyZXR1cm4gYSh0LmdldChlKSk7aWYoby5jYWxsKGkscykpcmV0dXJuIGEodC5nZXQocykpO3QhPT1pJiZ0LmdldChlKX1mdW5jdGlvbiBKbyh0LGU9ITEpe2NvbnN0IG49dGhpcy5fX3ZfcmF3LHI9WGUobiksaT1YZSh0KTtyZXR1cm4gZXx8KGlyKHQsaSkmJm9uKHIsImhhcyIsdCksb24ociwiaGFzIixpKSksdD09PWk/bi5oYXModCk6bi5oYXModCl8fG4uaGFzKGkpfWZ1bmN0aW9uIHFvKHQsZT0hMSl7cmV0dXJuIHQ9dC5fX3ZfcmF3LCFlJiZvbihYZSh0KSwiaXRlcmF0ZSIsX2kpLFJlZmxlY3QuZ2V0KHQsInNpemUiLHQpfWZ1bmN0aW9uIE9mKHQpe3Q9WGUodCk7Y29uc3QgZT1YZSh0aGlzKTtyZXR1cm4gZWwoZSkuaGFzLmNhbGwoZSx0KXx8KGUuYWRkKHQpLHlyKGUsImFkZCIsdCx0KSksdGhpc31mdW5jdGlvbiBDZih0LGUpe2U9WGUoZSk7Y29uc3Qgbj1YZSh0aGlzKSx7aGFzOnIsZ2V0Oml9PWVsKG4pO2xldCBzPXIuY2FsbChuLHQpO3N8fCh0PVhlKHQpLHM9ci5jYWxsKG4sdCkpO2NvbnN0IG89aS5jYWxsKG4sdCk7cmV0dXJuIG4uc2V0KHQsZSkscz9pcihlLG8pJiZ5cihuLCJzZXQiLHQsZSk6eXIobiwiYWRkIix0LGUpLHRoaXN9ZnVuY3Rpb24gUGYodCl7Y29uc3QgZT1YZSh0aGlzKSx7aGFzOm4sZ2V0OnJ9PWVsKGUpO2xldCBpPW4uY2FsbChlLHQpO2l8fCh0PVhlKHQpLGk9bi5jYWxsKGUsdCkpLHImJnIuY2FsbChlLHQpO2NvbnN0IHM9ZS5kZWxldGUodCk7cmV0dXJuIGkmJnlyKGUsImRlbGV0ZSIsdCx2b2lkIDApLHN9ZnVuY3Rpb24gSWYoKXtjb25zdCB0PVhlKHRoaXMpLGU9dC5zaXplIT09MCxuPXQuY2xlYXIoKTtyZXR1cm4gZSYmeXIodCwiY2xlYXIiLHZvaWQgMCx2b2lkIDApLG59ZnVuY3Rpb24gWm8odCxlKXtyZXR1cm4gZnVuY3Rpb24ocixpKXtjb25zdCBzPXRoaXMsbz1zLl9fdl9yYXcsYT1YZShvKSxsPWU/YWQ6dD9mZDppbztyZXR1cm4hdCYmb24oYSwiaXRlcmF0ZSIsX2kpLG8uZm9yRWFjaCgoYyx1KT0+ci5jYWxsKGksbChjKSxsKHUpLHMpKX19ZnVuY3Rpb24gS28odCxlLG4pe3JldHVybiBmdW5jdGlvbiguLi5yKXtjb25zdCBpPXRoaXMuX192X3JhdyxzPVhlKGkpLG89R2kocyksYT10PT09ImVudHJpZXMifHx0PT09U3ltYm9sLml0ZXJhdG9yJiZvLGw9dD09PSJrZXlzIiYmbyxjPWlbdF0oLi4uciksdT1uP2FkOmU/ZmQ6aW87cmV0dXJuIWUmJm9uKHMsIml0ZXJhdGUiLGw/eGM6X2kpLHtuZXh0KCl7Y29uc3R7dmFsdWU6ZCxkb25lOmZ9PWMubmV4dCgpO3JldHVybiBmP3t2YWx1ZTpkLGRvbmU6Zn06e3ZhbHVlOmE/W3UoZFswXSksdShkWzFdKV06dShkKSxkb25lOmZ9fSxbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfX19fWZ1bmN0aW9uIFNyKHQpe3JldHVybiBmdW5jdGlvbiguLi5lKXtyZXR1cm4gdD09PSJkZWxldGUiPyExOnQ9PT0iY2xlYXIiP3ZvaWQgMDp0aGlzfX1mdW5jdGlvbiB3dygpe2NvbnN0IHQ9e2dldChzKXtyZXR1cm4gSG8odGhpcyxzKX0sZ2V0IHNpemUoKXtyZXR1cm4gcW8odGhpcyl9LGhhczpKbyxhZGQ6T2Ysc2V0OkNmLGRlbGV0ZTpQZixjbGVhcjpJZixmb3JFYWNoOlpvKCExLCExKX0sZT17Z2V0KHMpe3JldHVybiBIbyh0aGlzLHMsITEsITApfSxnZXQgc2l6ZSgpe3JldHVybiBxbyh0aGlzKX0saGFzOkpvLGFkZDpPZixzZXQ6Q2YsZGVsZXRlOlBmLGNsZWFyOklmLGZvckVhY2g6Wm8oITEsITApfSxuPXtnZXQocyl7cmV0dXJuIEhvKHRoaXMscywhMCl9LGdldCBzaXplKCl7cmV0dXJuIHFvKHRoaXMsITApfSxoYXMocyl7cmV0dXJuIEpvLmNhbGwodGhpcyxzLCEwKX0sYWRkOlNyKCJhZGQiKSxzZXQ6U3IoInNldCIpLGRlbGV0ZTpTcigiZGVsZXRlIiksY2xlYXI6U3IoImNsZWFyIiksZm9yRWFjaDpabyghMCwhMSl9LHI9e2dldChzKXtyZXR1cm4gSG8odGhpcyxzLCEwLCEwKX0sZ2V0IHNpemUoKXtyZXR1cm4gcW8odGhpcywhMCl9LGhhcyhzKXtyZXR1cm4gSm8uY2FsbCh0aGlzLHMsITApfSxhZGQ6U3IoImFkZCIpLHNldDpTcigic2V0IiksZGVsZXRlOlNyKCJkZWxldGUiKSxjbGVhcjpTcigiY2xlYXIiKSxmb3JFYWNoOlpvKCEwLCEwKX07cmV0dXJuWyJrZXlzIiwidmFsdWVzIiwiZW50cmllcyIsU3ltYm9sLml0ZXJhdG9yXS5mb3JFYWNoKHM9Pnt0W3NdPUtvKHMsITEsITEpLG5bc109S28ocywhMCwhMSksZVtzXT1LbyhzLCExLCEwKSxyW3NdPUtvKHMsITAsITApfSksW3QsbixlLHJdfWNvbnN0W2t3LFN3LFR3LEV3XT13dygpO2Z1bmN0aW9uIGxkKHQsZSl7Y29uc3Qgbj1lP3Q/RXc6VHc6dD9TdzprdztyZXR1cm4ocixpLHMpPT5pPT09Il9fdl9pc1JlYWN0aXZlIj8hdDppPT09Il9fdl9pc1JlYWRvbmx5Ij90Omk9PT0iX192X3JhdyI/cjpSZWZsZWN0LmdldChldChuLGkpJiZpIGluIHI/bjpyLGkscyl9Y29uc3QgeHc9e2dldDpsZCghMSwhMSl9LEF3PXtnZXQ6bGQoITEsITApfSxPdz17Z2V0OmxkKCEwLCExKX07Y29uc3QgU2c9bmV3IFdlYWtNYXAsVGc9bmV3IFdlYWtNYXAsRWc9bmV3IFdlYWtNYXAsQ3c9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gUHcodCl7c3dpdGNoKHQpe2Nhc2UiT2JqZWN0IjpjYXNlIkFycmF5IjpyZXR1cm4gMTtjYXNlIk1hcCI6Y2FzZSJTZXQiOmNhc2UiV2Vha01hcCI6Y2FzZSJXZWFrU2V0IjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBJdyh0KXtyZXR1cm4gdC5fX3Zfc2tpcHx8IU9iamVjdC5pc0V4dGVuc2libGUodCk/MDpQdyhudyh0KSl9ZnVuY3Rpb24gT2kodCl7cmV0dXJuIHJvKHQpP3Q6dWQodCwhMSx2dyx4dyxTZyl9ZnVuY3Rpb24geGcodCl7cmV0dXJuIHVkKHQsITEsYncsQXcsVGcpfWZ1bmN0aW9uIGNkKHQpe3JldHVybiB1ZCh0LCEwLF93LE93LEVnKX1mdW5jdGlvbiB1ZCh0LGUsbixyLGkpe2lmKCFtdCh0KXx8dC5fX3ZfcmF3JiYhKGUmJnQuX192X2lzUmVhY3RpdmUpKXJldHVybiB0O2NvbnN0IHM9aS5nZXQodCk7aWYocylyZXR1cm4gcztjb25zdCBvPUl3KHQpO2lmKG89PT0wKXJldHVybiB0O2NvbnN0IGE9bmV3IFByb3h5KHQsbz09PTI/cjpuKTtyZXR1cm4gaS5zZXQodCxhKSxhfWZ1bmN0aW9uIGJpKHQpe3JldHVybiBybyh0KT9iaSh0Ll9fdl9yYXcpOiEhKHQmJnQuX192X2lzUmVhY3RpdmUpfWZ1bmN0aW9uIHJvKHQpe3JldHVybiEhKHQmJnQuX192X2lzUmVhZG9ubHkpfWZ1bmN0aW9uIHhhKHQpe3JldHVybiEhKHQmJnQuX192X2lzU2hhbGxvdyl9ZnVuY3Rpb24gQWcodCl7cmV0dXJuIHQ/ISF0Ll9fdl9yYXc6ITF9ZnVuY3Rpb24gWGUodCl7Y29uc3QgZT10JiZ0Ll9fdl9yYXc7cmV0dXJuIGU/WGUoZSk6dH1mdW5jdGlvbiBkZCh0KXtyZXR1cm4gT2JqZWN0LmlzRXh0ZW5zaWJsZSh0KSYmdWcodCwiX192X3NraXAiLCEwKSx0fWNvbnN0IGlvPXQ9Pm10KHQpP09pKHQpOnQsZmQ9dD0+bXQodCk/Y2QodCk6dDtjbGFzcyBPZ3tjb25zdHJ1Y3RvcihlLG4scixpKXt0aGlzLmdldHRlcj1lLHRoaXMuX3NldHRlcj1uLHRoaXMuZGVwPXZvaWQgMCx0aGlzLl9fdl9pc1JlZj0hMCx0aGlzLl9fdl9pc1JlYWRvbmx5PSExLHRoaXMuZWZmZWN0PW5ldyBpZCgoKT0+ZSh0aGlzLl92YWx1ZSksKCk9PldzKHRoaXMsdGhpcy5lZmZlY3QuX2RpcnR5TGV2ZWw9PT0yPzI6MykpLHRoaXMuZWZmZWN0LmNvbXB1dGVkPXRoaXMsdGhpcy5lZmZlY3QuYWN0aXZlPXRoaXMuX2NhY2hlYWJsZT0haSx0aGlzLl9fdl9pc1JlYWRvbmx5PXJ9Z2V0IHZhbHVlKCl7Y29uc3QgZT1YZSh0aGlzKTtyZXR1cm4oIWUuX2NhY2hlYWJsZXx8ZS5lZmZlY3QuZGlydHkpJiZpcihlLl92YWx1ZSxlLl92YWx1ZT1lLmVmZmVjdC5ydW4oKSkmJldzKGUsNCksaGQoZSksZS5lZmZlY3QuX2RpcnR5TGV2ZWw+PTImJldzKGUsMiksZS5fdmFsdWV9c2V0IHZhbHVlKGUpe3RoaXMuX3NldHRlcihlKX1nZXQgX2RpcnR5KCl7cmV0dXJuIHRoaXMuZWZmZWN0LmRpcnR5fXNldCBfZGlydHkoZSl7dGhpcy5lZmZlY3QuZGlydHk9ZX19ZnVuY3Rpb24gTncodCxlLG49ITEpe2xldCByLGk7Y29uc3Qgcz1CZSh0KTtyZXR1cm4gcz8ocj10LGk9Ym4pOihyPXQuZ2V0LGk9dC5zZXQpLG5ldyBPZyhyLGksc3x8IWksbil9ZnVuY3Rpb24gaGQodCl7dmFyIGU7V3ImJnZpJiYodD1YZSh0KSx5Zyh2aSwoZT10LmRlcCkhPW51bGw/ZTp0LmRlcD1fZygoKT0+dC5kZXA9dm9pZCAwLHQgaW5zdGFuY2VvZiBPZz90OnZvaWQgMCkpKX1mdW5jdGlvbiBXcyh0LGU9NCxuKXt0PVhlKHQpO2NvbnN0IHI9dC5kZXA7ciYmdmcocixlKX1mdW5jdGlvbiBFdCh0KXtyZXR1cm4hISh0JiZ0Ll9fdl9pc1JlZj09PSEwKX1mdW5jdGlvbiBzZSh0KXtyZXR1cm4gQ2codCwhMSl9ZnVuY3Rpb24gUG8odCl7cmV0dXJuIENnKHQsITApfWZ1bmN0aW9uIENnKHQsZSl7cmV0dXJuIEV0KHQpP3Q6bmV3IFJ3KHQsZSl9Y2xhc3MgUnd7Y29uc3RydWN0b3IoZSxuKXt0aGlzLl9fdl9pc1NoYWxsb3c9bix0aGlzLmRlcD12b2lkIDAsdGhpcy5fX3ZfaXNSZWY9ITAsdGhpcy5fcmF3VmFsdWU9bj9lOlhlKGUpLHRoaXMuX3ZhbHVlPW4/ZTppbyhlKX1nZXQgdmFsdWUoKXtyZXR1cm4gaGQodGhpcyksdGhpcy5fdmFsdWV9c2V0IHZhbHVlKGUpe2NvbnN0IG49dGhpcy5fX3ZfaXNTaGFsbG93fHx4YShlKXx8cm8oZSk7ZT1uP2U6WGUoZSksaXIoZSx0aGlzLl9yYXdWYWx1ZSkmJih0aGlzLl9yYXdWYWx1ZT1lLHRoaXMuX3ZhbHVlPW4/ZTppbyhlKSxXcyh0aGlzLDQpKX19ZnVuY3Rpb24gUyh0KXtyZXR1cm4gRXQodCk/dC52YWx1ZTp0fWNvbnN0IER3PXtnZXQ6KHQsZSxuKT0+UyhSZWZsZWN0LmdldCh0LGUsbikpLHNldDoodCxlLG4scik9Pntjb25zdCBpPXRbZV07cmV0dXJuIEV0KGkpJiYhRXQobik/KGkudmFsdWU9biwhMCk6UmVmbGVjdC5zZXQodCxlLG4scil9fTtmdW5jdGlvbiBQZyh0KXtyZXR1cm4gYmkodCk/dDpuZXcgUHJveHkodCxEdyl9Y2xhc3MgTXd7Y29uc3RydWN0b3IoZSl7dGhpcy5kZXA9dm9pZCAwLHRoaXMuX192X2lzUmVmPSEwO2NvbnN0e2dldDpuLHNldDpyfT1lKCgpPT5oZCh0aGlzKSwoKT0+V3ModGhpcykpO3RoaXMuX2dldD1uLHRoaXMuX3NldD1yfWdldCB2YWx1ZSgpe3JldHVybiB0aGlzLl9nZXQoKX1zZXQgdmFsdWUoZSl7dGhpcy5fc2V0KGUpfX1mdW5jdGlvbiBMdyh0KXtyZXR1cm4gbmV3IE13KHQpfWZ1bmN0aW9uIEZ3KHQpe2NvbnN0IGU9UGUodCk/bmV3IEFycmF5KHQubGVuZ3RoKTp7fTtmb3IoY29uc3QgbiBpbiB0KWVbbl09ancodCxuKTtyZXR1cm4gZX1jbGFzcyAkd3tjb25zdHJ1Y3RvcihlLG4scil7dGhpcy5fb2JqZWN0PWUsdGhpcy5fa2V5PW4sdGhpcy5fZGVmYXVsdFZhbHVlPXIsdGhpcy5fX3ZfaXNSZWY9ITB9Z2V0IHZhbHVlKCl7Y29uc3QgZT10aGlzLl9vYmplY3RbdGhpcy5fa2V5XTtyZXR1cm4gZT09PXZvaWQgMD90aGlzLl9kZWZhdWx0VmFsdWU6ZX1zZXQgdmFsdWUoZSl7dGhpcy5fb2JqZWN0W3RoaXMuX2tleV09ZX1nZXQgZGVwKCl7cmV0dXJuIGh3KFhlKHRoaXMuX29iamVjdCksdGhpcy5fa2V5KX19ZnVuY3Rpb24gancodCxlLG4pe2NvbnN0IHI9dFtlXTtyZXR1cm4gRXQocik/cjpuZXcgJHcodCxlLG4pfS8qKgoqIEB2dWUvcnVudGltZS1jb3JlIHYzLjQuMjYKKiAoYykgMjAxOC1wcmVzZW50IFl1eGkgKEV2YW4pIFlvdSBhbmQgVnVlIGNvbnRyaWJ1dG9ycwoqIEBsaWNlbnNlIE1JVAoqKi9mdW5jdGlvbiBHcih0LGUsbixyKXt0cnl7cmV0dXJuIHI/dCguLi5yKTp0KCl9Y2F0Y2goaSl7SW8oaSxlLG4pfX1mdW5jdGlvbiBBbih0LGUsbixyKXtpZihCZSh0KSl7Y29uc3QgaT1Hcih0LGUsbixyKTtyZXR1cm4gaSYmWHUoaSkmJmkuY2F0Y2gocz0+e0lvKHMsZSxuKX0pLGl9aWYoUGUodCkpe2NvbnN0IGk9W107Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspaS5wdXNoKEFuKHRbc10sZSxuLHIpKTtyZXR1cm4gaX19ZnVuY3Rpb24gSW8odCxlLG4scj0hMCl7Y29uc3QgaT1lP2Uudm5vZGU6bnVsbDtpZihlKXtsZXQgcz1lLnBhcmVudDtjb25zdCBvPWUucHJveHksYT1gaHR0cHM6Ly92dWVqcy5vcmcvZXJyb3ItcmVmZXJlbmNlLyNydW50aW1lLSR7bn1gO2Zvcig7czspe2NvbnN0IGM9cy5lYztpZihjKXtmb3IobGV0IHU9MDt1PGMubGVuZ3RoO3UrKylpZihjW3VdKHQsbyxhKT09PSExKXJldHVybn1zPXMucGFyZW50fWNvbnN0IGw9ZS5hcHBDb250ZXh0LmNvbmZpZy5lcnJvckhhbmRsZXI7aWYobCl7cXIoKSxHcihsLG51bGwsMTAsW3QsbyxhXSksWnIoKTtyZXR1cm59fUJ3KHQsbixpLHIpfWZ1bmN0aW9uIEJ3KHQsZSxuLHI9ITApe2NvbnNvbGUuZXJyb3IodCl9bGV0IHNvPSExLEFjPSExO2NvbnN0IGp0PVtdO2xldCBLbj0wO2NvbnN0IHppPVtdO2xldCBJcj1udWxsLGZpPTA7Y29uc3QgSWc9UHJvbWlzZS5yZXNvbHZlKCk7bGV0IG1kPW51bGw7ZnVuY3Rpb24gbm4odCl7Y29uc3QgZT1tZHx8SWc7cmV0dXJuIHQ/ZS50aGVuKHRoaXM/dC5iaW5kKHRoaXMpOnQpOmV9ZnVuY3Rpb24gVXcodCl7bGV0IGU9S24rMSxuPWp0Lmxlbmd0aDtmb3IoO2U8bjspe2NvbnN0IHI9ZStuPj4+MSxpPWp0W3JdLHM9b28oaSk7czx0fHxzPT09dCYmaS5wcmU/ZT1yKzE6bj1yfXJldHVybiBlfWZ1bmN0aW9uIHBkKHQpeyghanQubGVuZ3RofHwhanQuaW5jbHVkZXModCxzbyYmdC5hbGxvd1JlY3Vyc2U/S24rMTpLbikpJiYodC5pZD09bnVsbD9qdC5wdXNoKHQpOmp0LnNwbGljZShVdyh0LmlkKSwwLHQpLE5nKCkpfWZ1bmN0aW9uIE5nKCl7IXNvJiYhQWMmJihBYz0hMCxtZD1JZy50aGVuKERnKSl9ZnVuY3Rpb24gVncodCl7Y29uc3QgZT1qdC5pbmRleE9mKHQpO2U+S24mJmp0LnNwbGljZShlLDEpfWZ1bmN0aW9uIE9jKHQpe1BlKHQpP3ppLnB1c2goLi4udCk6KCFJcnx8IUlyLmluY2x1ZGVzKHQsdC5hbGxvd1JlY3Vyc2U/ZmkrMTpmaSkpJiZ6aS5wdXNoKHQpLE5nKCl9ZnVuY3Rpb24gTmYodCxlLG49c28/S24rMTowKXtmb3IoO248anQubGVuZ3RoO24rKyl7Y29uc3Qgcj1qdFtuXTtpZihyJiZyLnByZSl7aWYodCYmci5pZCE9PXQudWlkKWNvbnRpbnVlO2p0LnNwbGljZShuLDEpLG4tLSxyKCl9fX1mdW5jdGlvbiBSZyh0KXtpZih6aS5sZW5ndGgpe2NvbnN0IGU9Wy4uLm5ldyBTZXQoemkpXS5zb3J0KChuLHIpPT5vbyhuKS1vbyhyKSk7aWYoemkubGVuZ3RoPTAsSXIpe0lyLnB1c2goLi4uZSk7cmV0dXJufWZvcihJcj1lLGZpPTA7Zmk8SXIubGVuZ3RoO2ZpKyspSXJbZmldKCk7SXI9bnVsbCxmaT0wfX1jb25zdCBvbz10PT50LmlkPT1udWxsPzEvMDp0LmlkLFd3PSh0LGUpPT57Y29uc3Qgbj1vbyh0KS1vbyhlKTtpZihuPT09MCl7aWYodC5wcmUmJiFlLnByZSlyZXR1cm4tMTtpZihlLnByZSYmIXQucHJlKXJldHVybiAxfXJldHVybiBufTtmdW5jdGlvbiBEZyh0KXtBYz0hMSxzbz0hMCxqdC5zb3J0KFd3KTt0cnl7Zm9yKEtuPTA7S248anQubGVuZ3RoO0tuKyspe2NvbnN0IGU9anRbS25dO2UmJmUuYWN0aXZlIT09ITEmJkdyKGUsbnVsbCwxNCl9fWZpbmFsbHl7S249MCxqdC5sZW5ndGg9MCxSZygpLHNvPSExLG1kPW51bGwsKGp0Lmxlbmd0aHx8emkubGVuZ3RoKSYmRGcoKX19ZnVuY3Rpb24gR3codCxlLC4uLm4pe2lmKHQuaXNVbm1vdW50ZWQpcmV0dXJuO2NvbnN0IHI9dC52bm9kZS5wcm9wc3x8bHQ7bGV0IGk9bjtjb25zdCBzPWUuc3RhcnRzV2l0aCgidXBkYXRlOiIpLG89cyYmZS5zbGljZSg3KTtpZihvJiZvIGluIHIpe2NvbnN0IHU9YCR7bz09PSJtb2RlbFZhbHVlIj8ibW9kZWwiOm99TW9kaWZpZXJzYCx7bnVtYmVyOmQsdHJpbTpmfT1yW3VdfHxsdDtmJiYoaT1uLm1hcChoPT5PdChoKT9oLnRyaW0oKTpoKSksZCYmKGk9bi5tYXAoc3cpKX1sZXQgYSxsPXJbYT1VbChlKV18fHJbYT1VbChHbihlKSldOyFsJiZzJiYobD1yW2E9VWwoQ28oZSkpXSksbCYmQW4obCx0LDYsaSk7Y29uc3QgYz1yW2ErIk9uY2UiXTtpZihjKXtpZighdC5lbWl0dGVkKXQuZW1pdHRlZD17fTtlbHNlIGlmKHQuZW1pdHRlZFthXSlyZXR1cm47dC5lbWl0dGVkW2FdPSEwLEFuKGMsdCw2LGkpfX1mdW5jdGlvbiBNZyh0LGUsbj0hMSl7Y29uc3Qgcj1lLmVtaXRzQ2FjaGUsaT1yLmdldCh0KTtpZihpIT09dm9pZCAwKXJldHVybiBpO2NvbnN0IHM9dC5lbWl0cztsZXQgbz17fSxhPSExO2lmKCFCZSh0KSl7Y29uc3QgbD1jPT57Y29uc3QgdT1NZyhjLGUsITApO3UmJihhPSEwLFZ0KG8sdSkpfTshbiYmZS5taXhpbnMubGVuZ3RoJiZlLm1peGlucy5mb3JFYWNoKGwpLHQuZXh0ZW5kcyYmbCh0LmV4dGVuZHMpLHQubWl4aW5zJiZ0Lm1peGlucy5mb3JFYWNoKGwpfXJldHVybiFzJiYhYT8obXQodCkmJnIuc2V0KHQsbnVsbCksbnVsbCk6KFBlKHMpP3MuZm9yRWFjaChsPT5vW2xdPW51bGwpOlZ0KG8scyksbXQodCkmJnIuc2V0KHQsbyksbyl9ZnVuY3Rpb24gdGwodCxlKXtyZXR1cm4hdHx8IUt1KGUpPyExOihlPWUuc2xpY2UoMikucmVwbGFjZSgvT25jZSQvLCIiKSxldCh0LGVbMF0udG9Mb3dlckNhc2UoKStlLnNsaWNlKDEpKXx8ZXQodCxDbyhlKSl8fGV0KHQsZSkpfWxldCBUdD1udWxsLG5sPW51bGw7ZnVuY3Rpb24gQWEodCl7Y29uc3QgZT1UdDtyZXR1cm4gVHQ9dCxubD10JiZ0LnR5cGUuX19zY29wZUlkfHxudWxsLGV9ZnVuY3Rpb24gencodCl7bmw9dH1mdW5jdGlvbiBIdygpe25sPW51bGx9ZnVuY3Rpb24gbmUodCxlPVR0LG4pe2lmKCFlfHx0Ll9uKXJldHVybiB0O2NvbnN0IHI9KC4uLmkpPT57ci5fZCYmSmYoLTEpO2NvbnN0IHM9QWEoZSk7bGV0IG87dHJ5e289dCguLi5pKX1maW5hbGx5e0FhKHMpLHIuX2QmJkpmKDEpfXJldHVybiBvfTtyZXR1cm4gci5fbj0hMCxyLl9jPSEwLHIuX2Q9ITAscn1mdW5jdGlvbiBSZih0KXtjb25zdHt0eXBlOmUsdm5vZGU6bixwcm94eTpyLHdpdGhQcm94eTppLHByb3BzT3B0aW9uczpbc10sc2xvdHM6byxhdHRyczphLGVtaXQ6bCxyZW5kZXI6YyxyZW5kZXJDYWNoZTp1LHByb3BzOmQsZGF0YTpmLHNldHVwU3RhdGU6aCxjdHg6bSxpbmhlcml0QXR0cnM6cH09dCxrPUFhKHQpO2xldCB4LEM7dHJ5e2lmKG4uc2hhcGVGbGFnJjQpe2NvbnN0IFQ9aXx8cixFPVQ7eD1qbihjLmNhbGwoRSxULHUsZCxoLGYsbSkpLEM9YX1lbHNle2NvbnN0IFQ9ZTt4PWpuKFQubGVuZ3RoPjE/VChkLHthdHRyczphLHNsb3RzOm8sZW1pdDpsfSk6VChkLG51bGwpKSxDPWUucHJvcHM/YTpxdyhhKX19Y2F0Y2goVCl7SHMubGVuZ3RoPTAsSW8oVCx0LDEpLHg9ZWUoSnQpfWxldCBiPXg7aWYoQyYmcCE9PSExKXtjb25zdCBUPU9iamVjdC5rZXlzKEMpLHtzaGFwZUZsYWc6RX09YjtULmxlbmd0aCYmRSY3JiYocyYmVC5zb21lKG9nKSYmKEM9WncoQyxzKSksYj1zcihiLEMsITEsITApKX1yZXR1cm4gbi5kaXJzJiYoYj1zcihiLG51bGwsITEsITApLGIuZGlycz1iLmRpcnM/Yi5kaXJzLmNvbmNhdChuLmRpcnMpOm4uZGlycyksbi50cmFuc2l0aW9uJiYoYi50cmFuc2l0aW9uPW4udHJhbnNpdGlvbikseD1iLEFhKGspLHh9ZnVuY3Rpb24gSncodCxlPSEwKXtsZXQgbjtmb3IobGV0IHI9MDtyPHQubGVuZ3RoO3IrKyl7Y29uc3QgaT10W3JdO2lmKG5zKGkpKXtpZihpLnR5cGUhPT1KdHx8aS5jaGlsZHJlbj09PSJ2LWlmIil7aWYobilyZXR1cm47bj1pfX1lbHNlIHJldHVybn1yZXR1cm4gbn1jb25zdCBxdz10PT57bGV0IGU7Zm9yKGNvbnN0IG4gaW4gdCkobj09PSJjbGFzcyJ8fG49PT0ic3R5bGUifHxLdShuKSkmJigoZXx8KGU9e30pKVtuXT10W25dKTtyZXR1cm4gZX0sWnc9KHQsZSk9Pntjb25zdCBuPXt9O2Zvcihjb25zdCByIGluIHQpKCFvZyhyKXx8IShyLnNsaWNlKDkpaW4gZSkpJiYobltyXT10W3JdKTtyZXR1cm4gbn07ZnVuY3Rpb24gS3codCxlLG4pe2NvbnN0e3Byb3BzOnIsY2hpbGRyZW46aSxjb21wb25lbnQ6c309dCx7cHJvcHM6byxjaGlsZHJlbjphLHBhdGNoRmxhZzpsfT1lLGM9cy5lbWl0c09wdGlvbnM7aWYoZS5kaXJzfHxlLnRyYW5zaXRpb24pcmV0dXJuITA7aWYobiYmbD49MCl7aWYobCYxMDI0KXJldHVybiEwO2lmKGwmMTYpcmV0dXJuIHI/RGYocixvLGMpOiEhbztpZihsJjgpe2NvbnN0IHU9ZS5keW5hbWljUHJvcHM7Zm9yKGxldCBkPTA7ZDx1Lmxlbmd0aDtkKyspe2NvbnN0IGY9dVtkXTtpZihvW2ZdIT09cltmXSYmIXRsKGMsZikpcmV0dXJuITB9fX1lbHNlIHJldHVybihpfHxhKSYmKCFhfHwhYS4kc3RhYmxlKT8hMDpyPT09bz8hMTpyP28/RGYocixvLGMpOiEwOiEhbztyZXR1cm4hMX1mdW5jdGlvbiBEZih0LGUsbil7Y29uc3Qgcj1PYmplY3Qua2V5cyhlKTtpZihyLmxlbmd0aCE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm4hMDtmb3IobGV0IGk9MDtpPHIubGVuZ3RoO2krKyl7Y29uc3Qgcz1yW2ldO2lmKGVbc10hPT10W3NdJiYhdGwobixzKSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBnZCh7dm5vZGU6dCxwYXJlbnQ6ZX0sbil7Zm9yKDtlOyl7Y29uc3Qgcj1lLnN1YlRyZWU7aWYoci5zdXNwZW5zZSYmci5zdXNwZW5zZS5hY3RpdmVCcmFuY2g9PT10JiYoci5lbD10LmVsKSxyPT09dCkodD1lLnZub2RlKS5lbD1uLGU9ZS5wYXJlbnQ7ZWxzZSBicmVha319Y29uc3QgTGc9ImNvbXBvbmVudHMiO2Z1bmN0aW9uIHJsKHQsZSl7cmV0dXJuIGpnKExnLHQsITAsZSl8fHR9Y29uc3QgRmc9U3ltYm9sLmZvcigidi1uZGMiKTtmdW5jdGlvbiAkZyh0KXtyZXR1cm4gT3QodCk/amcoTGcsdCwhMSl8fHQ6dHx8Rmd9ZnVuY3Rpb24gamcodCxlLG49ITAscj0hMSl7Y29uc3QgaT1UdHx8TnQ7aWYoaSl7Y29uc3Qgcz1pLnR5cGU7e2NvbnN0IGE9amMocywhMSk7aWYoYSYmKGE9PT1lfHxhPT09R24oZSl8fGE9PT1lZChHbihlKSkpKXJldHVybiBzfWNvbnN0IG89TWYoaVt0XXx8c1t0XSxlKXx8TWYoaS5hcHBDb250ZXh0W3RdLGUpO3JldHVybiFvJiZyP3M6b319ZnVuY3Rpb24gTWYodCxlKXtyZXR1cm4gdCYmKHRbZV18fHRbR24oZSldfHx0W2VkKEduKGUpKV0pfWNvbnN0IEJnPXQ9PnQuX19pc1N1c3BlbnNlO2xldCBDYz0wO2NvbnN0IFl3PXtuYW1lOiJTdXNwZW5zZSIsX19pc1N1c3BlbnNlOiEwLHByb2Nlc3ModCxlLG4scixpLHMsbyxhLGwsYyl7aWYodD09bnVsbClRdyhlLG4scixpLHMsbyxhLGwsYyk7ZWxzZXtpZihzJiZzLmRlcHM+MCYmIXQuc3VzcGVuc2UuaXNJbkZhbGxiYWNrKXtlLnN1c3BlbnNlPXQuc3VzcGVuc2UsZS5zdXNwZW5zZS52bm9kZT1lLGUuZWw9dC5lbDtyZXR1cm59ZWsodCxlLG4scixpLG8sYSxsLGMpfX0saHlkcmF0ZTp0ayxjcmVhdGU6eWQsbm9ybWFsaXplOm5rfSxYdz1ZdztmdW5jdGlvbiBhbyh0LGUpe2NvbnN0IG49dC5wcm9wcyYmdC5wcm9wc1tlXTtCZShuKSYmbigpfWZ1bmN0aW9uIFF3KHQsZSxuLHIsaSxzLG8sYSxsKXtjb25zdHtwOmMsbzp7Y3JlYXRlRWxlbWVudDp1fX09bCxkPXUoImRpdiIpLGY9dC5zdXNwZW5zZT15ZCh0LGkscixlLGQsbixzLG8sYSxsKTtjKG51bGwsZi5wZW5kaW5nQnJhbmNoPXQuc3NDb250ZW50LGQsbnVsbCxyLGYscyxvKSxmLmRlcHM+MD8oYW8odCwib25QZW5kaW5nIiksYW8odCwib25GYWxsYmFjayIpLGMobnVsbCx0LnNzRmFsbGJhY2ssZSxuLHIsbnVsbCxzLG8pLEhpKGYsdC5zc0ZhbGxiYWNrKSk6Zi5yZXNvbHZlKCExLCEwKX1mdW5jdGlvbiBlayh0LGUsbixyLGkscyxvLGEse3A6bCx1bTpjLG86e2NyZWF0ZUVsZW1lbnQ6dX19KXtjb25zdCBkPWUuc3VzcGVuc2U9dC5zdXNwZW5zZTtkLnZub2RlPWUsZS5lbD10LmVsO2NvbnN0IGY9ZS5zc0NvbnRlbnQsaD1lLnNzRmFsbGJhY2sse2FjdGl2ZUJyYW5jaDptLHBlbmRpbmdCcmFuY2g6cCxpc0luRmFsbGJhY2s6ayxpc0h5ZHJhdGluZzp4fT1kO2lmKHApZC5wZW5kaW5nQnJhbmNoPWYsVW4oZixwKT8obChwLGYsZC5oaWRkZW5Db250YWluZXIsbnVsbCxpLGQscyxvLGEpLGQuZGVwczw9MD9kLnJlc29sdmUoKTprJiYoeHx8KGwobSxoLG4scixpLG51bGwscyxvLGEpLEhpKGQsaCkpKSk6KGQucGVuZGluZ0lkPUNjKysseD8oZC5pc0h5ZHJhdGluZz0hMSxkLmFjdGl2ZUJyYW5jaD1wKTpjKHAsaSxkKSxkLmRlcHM9MCxkLmVmZmVjdHMubGVuZ3RoPTAsZC5oaWRkZW5Db250YWluZXI9dSgiZGl2Iiksaz8obChudWxsLGYsZC5oaWRkZW5Db250YWluZXIsbnVsbCxpLGQscyxvLGEpLGQuZGVwczw9MD9kLnJlc29sdmUoKToobChtLGgsbixyLGksbnVsbCxzLG8sYSksSGkoZCxoKSkpOm0mJlVuKGYsbSk/KGwobSxmLG4scixpLGQscyxvLGEpLGQucmVzb2x2ZSghMCkpOihsKG51bGwsZixkLmhpZGRlbkNvbnRhaW5lcixudWxsLGksZCxzLG8sYSksZC5kZXBzPD0wJiZkLnJlc29sdmUoKSkpO2Vsc2UgaWYobSYmVW4oZixtKSlsKG0sZixuLHIsaSxkLHMsbyxhKSxIaShkLGYpO2Vsc2UgaWYoYW8oZSwib25QZW5kaW5nIiksZC5wZW5kaW5nQnJhbmNoPWYsZi5zaGFwZUZsYWcmNTEyP2QucGVuZGluZ0lkPWYuY29tcG9uZW50LnN1c3BlbnNlSWQ6ZC5wZW5kaW5nSWQ9Q2MrKyxsKG51bGwsZixkLmhpZGRlbkNvbnRhaW5lcixudWxsLGksZCxzLG8sYSksZC5kZXBzPD0wKWQucmVzb2x2ZSgpO2Vsc2V7Y29uc3R7dGltZW91dDpDLHBlbmRpbmdJZDpifT1kO0M+MD9zZXRUaW1lb3V0KCgpPT57ZC5wZW5kaW5nSWQ9PT1iJiZkLmZhbGxiYWNrKGgpfSxDKTpDPT09MCYmZC5mYWxsYmFjayhoKX19ZnVuY3Rpb24geWQodCxlLG4scixpLHMsbyxhLGwsYyx1PSExKXtjb25zdHtwOmQsbTpmLHVtOmgsbjptLG86e3BhcmVudE5vZGU6cCxyZW1vdmU6a319PWM7bGV0IHg7Y29uc3QgQz1payh0KTtDJiZlJiZlLnBlbmRpbmdCcmFuY2gmJih4PWUucGVuZGluZ0lkLGUuZGVwcysrKTtjb25zdCBiPXQucHJvcHM/b3codC5wcm9wcy50aW1lb3V0KTp2b2lkIDAsVD1zLEU9e3Zub2RlOnQscGFyZW50OmUscGFyZW50Q29tcG9uZW50Om4sbmFtZXNwYWNlOm8sY29udGFpbmVyOnIsaGlkZGVuQ29udGFpbmVyOmksZGVwczowLHBlbmRpbmdJZDpDYysrLHRpbWVvdXQ6dHlwZW9mIGI9PSJudW1iZXIiP2I6LTEsYWN0aXZlQnJhbmNoOm51bGwscGVuZGluZ0JyYW5jaDpudWxsLGlzSW5GYWxsYmFjazohdSxpc0h5ZHJhdGluZzp1LGlzVW5tb3VudGVkOiExLGVmZmVjdHM6W10scmVzb2x2ZSh3PSExLFI9ITEpe2NvbnN0e3Zub2RlOkQsYWN0aXZlQnJhbmNoOkkscGVuZGluZ0JyYW5jaDpCLHBlbmRpbmdJZDpMLGVmZmVjdHM6aixwYXJlbnRDb21wb25lbnQ6cmUsY29udGFpbmVyOnhlfT1FO2xldCBUZT0hMTtFLmlzSHlkcmF0aW5nP0UuaXNIeWRyYXRpbmc9ITE6d3x8KFRlPUkmJkIudHJhbnNpdGlvbiYmQi50cmFuc2l0aW9uLm1vZGU9PT0ib3V0LWluIixUZSYmKEkudHJhbnNpdGlvbi5hZnRlckxlYXZlPSgpPT57TD09PUUucGVuZGluZ0lkJiYoZihCLHhlLHM9PT1UP20oSSk6cywwKSxPYyhqKSl9KSxJJiYocChJLmVsKSE9PUUuaGlkZGVuQ29udGFpbmVyJiYocz1tKEkpKSxoKEkscmUsRSwhMCkpLFRlfHxmKEIseGUscywwKSksSGkoRSxCKSxFLnBlbmRpbmdCcmFuY2g9bnVsbCxFLmlzSW5GYWxsYmFjaz0hMTtsZXQgbGU9RS5wYXJlbnQseWU9ITE7Zm9yKDtsZTspe2lmKGxlLnBlbmRpbmdCcmFuY2gpe2xlLmVmZmVjdHMucHVzaCguLi5qKSx5ZT0hMDticmVha31sZT1sZS5wYXJlbnR9IXllJiYhVGUmJk9jKGopLEUuZWZmZWN0cz1bXSxDJiZlJiZlLnBlbmRpbmdCcmFuY2gmJng9PT1lLnBlbmRpbmdJZCYmKGUuZGVwcy0tLGUuZGVwcz09PTAmJiFSJiZlLnJlc29sdmUoKSksYW8oRCwib25SZXNvbHZlIil9LGZhbGxiYWNrKHcpe2lmKCFFLnBlbmRpbmdCcmFuY2gpcmV0dXJuO2NvbnN0e3Zub2RlOlIsYWN0aXZlQnJhbmNoOkQscGFyZW50Q29tcG9uZW50OkksY29udGFpbmVyOkIsbmFtZXNwYWNlOkx9PUU7YW8oUiwib25GYWxsYmFjayIpO2NvbnN0IGo9bShEKSxyZT0oKT0+e0UuaXNJbkZhbGxiYWNrJiYoZChudWxsLHcsQixqLEksbnVsbCxMLGEsbCksSGkoRSx3KSl9LHhlPXcudHJhbnNpdGlvbiYmdy50cmFuc2l0aW9uLm1vZGU9PT0ib3V0LWluIjt4ZSYmKEQudHJhbnNpdGlvbi5hZnRlckxlYXZlPXJlKSxFLmlzSW5GYWxsYmFjaz0hMCxoKEQsSSxudWxsLCEwKSx4ZXx8cmUoKX0sbW92ZSh3LFIsRCl7RS5hY3RpdmVCcmFuY2gmJmYoRS5hY3RpdmVCcmFuY2gsdyxSLEQpLEUuY29udGFpbmVyPXd9LG5leHQoKXtyZXR1cm4gRS5hY3RpdmVCcmFuY2gmJm0oRS5hY3RpdmVCcmFuY2gpfSxyZWdpc3RlckRlcCh3LFIpe2NvbnN0IEQ9ISFFLnBlbmRpbmdCcmFuY2g7RCYmRS5kZXBzKys7Y29uc3QgST13LnZub2RlLmVsO3cuYXN5bmNEZXAuY2F0Y2goQj0+e0lvKEIsdywwKX0pLnRoZW4oQj0+e2lmKHcuaXNVbm1vdW50ZWR8fEUuaXNVbm1vdW50ZWR8fEUucGVuZGluZ0lkIT09dy5zdXNwZW5zZUlkKXJldHVybjt3LmFzeW5jUmVzb2x2ZWQ9ITA7Y29uc3R7dm5vZGU6TH09dzskYyh3LEIpLEkmJihMLmVsPUkpO2NvbnN0IGo9IUkmJncuc3ViVHJlZS5lbDtSKHcsTCxwKEl8fHcuc3ViVHJlZS5lbCksST9udWxsOm0ody5zdWJUcmVlKSxFLG8sbCksaiYmayhqKSxnZCh3LEwuZWwpLEQmJi0tRS5kZXBzPT09MCYmRS5yZXNvbHZlKCl9KX0sdW5tb3VudCh3LFIpe0UuaXNVbm1vdW50ZWQ9ITAsRS5hY3RpdmVCcmFuY2gmJmgoRS5hY3RpdmVCcmFuY2gsbix3LFIpLEUucGVuZGluZ0JyYW5jaCYmaChFLnBlbmRpbmdCcmFuY2gsbix3LFIpfX07cmV0dXJuIEV9ZnVuY3Rpb24gdGsodCxlLG4scixpLHMsbyxhLGwpe2NvbnN0IGM9ZS5zdXNwZW5zZT15ZChlLHIsbix0LnBhcmVudE5vZGUsZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksbnVsbCxpLHMsbyxhLCEwKSx1PWwodCxjLnBlbmRpbmdCcmFuY2g9ZS5zc0NvbnRlbnQsbixjLHMsbyk7cmV0dXJuIGMuZGVwcz09PTAmJmMucmVzb2x2ZSghMSwhMCksdX1mdW5jdGlvbiBuayh0KXtjb25zdHtzaGFwZUZsYWc6ZSxjaGlsZHJlbjpufT10LHI9ZSYzMjt0LnNzQ29udGVudD1MZihyP24uZGVmYXVsdDpuKSx0LnNzRmFsbGJhY2s9cj9MZihuLmZhbGxiYWNrKTplZShKdCl9ZnVuY3Rpb24gTGYodCl7bGV0IGU7aWYoQmUodCkpe2NvbnN0IG49dHMmJnQuX2M7biYmKHQuX2Q9ITEsVSgpKSx0PXQoKSxuJiYodC5fZD0hMCxlPXduLGx5KCkpfXJldHVybiBQZSh0KSYmKHQ9SncodCkpLHQ9am4odCksZSYmIXQuZHluYW1pY0NoaWxkcmVuJiYodC5keW5hbWljQ2hpbGRyZW49ZS5maWx0ZXIobj0+biE9PXQpKSx0fWZ1bmN0aW9uIHJrKHQsZSl7ZSYmZS5wZW5kaW5nQnJhbmNoP1BlKHQpP2UuZWZmZWN0cy5wdXNoKC4uLnQpOmUuZWZmZWN0cy5wdXNoKHQpOk9jKHQpfWZ1bmN0aW9uIEhpKHQsZSl7dC5hY3RpdmVCcmFuY2g9ZTtjb25zdHt2bm9kZTpuLHBhcmVudENvbXBvbmVudDpyfT10O2xldCBpPWUuZWw7Zm9yKDshaSYmZS5jb21wb25lbnQ7KWU9ZS5jb21wb25lbnQuc3ViVHJlZSxpPWUuZWw7bi5lbD1pLHImJnIuc3ViVHJlZT09PW4mJihyLnZub2RlLmVsPWksZ2QocixpKSl9ZnVuY3Rpb24gaWsodCl7Y29uc3QgZT10LnByb3BzJiZ0LnByb3BzLnN1c3BlbnNpYmxlO3JldHVybiBlIT1udWxsJiZlIT09ITF9Y29uc3Qgc2s9U3ltYm9sLmZvcigidi1zY3giKSxvaz0oKT0+dXQoc2spO2Z1bmN0aW9uIEt0KHQsZSl7cmV0dXJuIGlsKHQsbnVsbCxlKX1mdW5jdGlvbiBhayh0LGUpe3JldHVybiBpbCh0LG51bGwse2ZsdXNoOiJzeW5jIn0pfWNvbnN0IFlvPXt9O2Z1bmN0aW9uIGd0KHQsZSxuKXtyZXR1cm4gaWwodCxlLG4pfWZ1bmN0aW9uIGlsKHQsZSx7aW1tZWRpYXRlOm4sZGVlcDpyLGZsdXNoOmksb25jZTpzLG9uVHJhY2s6byxvblRyaWdnZXI6YX09bHQpe2lmKGUmJnMpe2NvbnN0IHc9ZTtlPSguLi5SKT0+e3coLi4uUiksRSgpfX1jb25zdCBsPU50LGM9dz0+cj09PSEwP3c6bWkodyxyPT09ITE/MTp2b2lkIDApO2xldCB1LGQ9ITEsZj0hMTtpZihFdCh0KT8odT0oKT0+dC52YWx1ZSxkPXhhKHQpKTpiaSh0KT8odT0oKT0+Yyh0KSxkPSEwKTpQZSh0KT8oZj0hMCxkPXQuc29tZSh3PT5iaSh3KXx8eGEodykpLHU9KCk9PnQubWFwKHc9PntpZihFdCh3KSlyZXR1cm4gdy52YWx1ZTtpZihiaSh3KSlyZXR1cm4gYyh3KTtpZihCZSh3KSlyZXR1cm4gR3IodyxsLDIpfSkpOkJlKHQpP2U/dT0oKT0+R3IodCxsLDIpOnU9KCk9PihoJiZoKCksQW4odCxsLDMsW21dKSk6dT1ibixlJiZyKXtjb25zdCB3PXU7dT0oKT0+bWkodygpKX1sZXQgaCxtPXc9PntoPWIub25TdG9wPSgpPT57R3IodyxsLDQpLGg9Yi5vblN0b3A9dm9pZCAwfX0scDtpZihhbClpZihtPWJuLGU/biYmQW4oZSxsLDMsW3UoKSxmP1tdOnZvaWQgMCxtXSk6dSgpLGk9PT0ic3luYyIpe2NvbnN0IHc9b2soKTtwPXcuX193YXRjaGVySGFuZGxlc3x8KHcuX193YXRjaGVySGFuZGxlcz1bXSl9ZWxzZSByZXR1cm4gYm47bGV0IGs9Zj9uZXcgQXJyYXkodC5sZW5ndGgpLmZpbGwoWW8pOllvO2NvbnN0IHg9KCk9PntpZighKCFiLmFjdGl2ZXx8IWIuZGlydHkpKWlmKGUpe2NvbnN0IHc9Yi5ydW4oKTsocnx8ZHx8KGY/dy5zb21lKChSLEQpPT5pcihSLGtbRF0pKTppcih3LGspKSkmJihoJiZoKCksQW4oZSxsLDMsW3csaz09PVlvP3ZvaWQgMDpmJiZrWzBdPT09WW8/W106ayxtXSksaz13KX1lbHNlIGIucnVuKCl9O3guYWxsb3dSZWN1cnNlPSEhZTtsZXQgQztpPT09InN5bmMiP0M9eDppPT09InBvc3QiP0M9KCk9Pk10KHgsbCYmbC5zdXNwZW5zZSk6KHgucHJlPSEwLGwmJih4LmlkPWwudWlkKSxDPSgpPT5wZCh4KSk7Y29uc3QgYj1uZXcgaWQodSxibixDKSxUPXJkKCksRT0oKT0+e2Iuc3RvcCgpLFQmJll1KFQuZWZmZWN0cyxiKX07cmV0dXJuIGU/bj94KCk6az1iLnJ1bigpOmk9PT0icG9zdCI/TXQoYi5ydW4uYmluZChiKSxsJiZsLnN1c3BlbnNlKTpiLnJ1bigpLHAmJnAucHVzaChFKSxFfWZ1bmN0aW9uIGxrKHQsZSxuKXtjb25zdCByPXRoaXMucHJveHksaT1PdCh0KT90LmluY2x1ZGVzKCIuIik/VWcocix0KTooKT0+clt0XTp0LmJpbmQocixyKTtsZXQgcztCZShlKT9zPWU6KHM9ZS5oYW5kbGVyLG49ZSk7Y29uc3Qgbz1UaSh0aGlzKSxhPWlsKGkscy5iaW5kKHIpLG4pO3JldHVybiBvKCksYX1mdW5jdGlvbiBVZyh0LGUpe2NvbnN0IG49ZS5zcGxpdCgiLiIpO3JldHVybigpPT57bGV0IHI9dDtmb3IobGV0IGk9MDtpPG4ubGVuZ3RoJiZyO2krKylyPXJbbltpXV07cmV0dXJuIHJ9fWZ1bmN0aW9uIG1pKHQsZT0xLzAsbil7aWYoZTw9MHx8IW10KHQpfHx0Ll9fdl9za2lwfHwobj1ufHxuZXcgU2V0LG4uaGFzKHQpKSlyZXR1cm4gdDtpZihuLmFkZCh0KSxlLS0sRXQodCkpbWkodC52YWx1ZSxlLG4pO2Vsc2UgaWYoUGUodCkpZm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspbWkodFtyXSxlLG4pO2Vsc2UgaWYoYWcodCl8fEdpKHQpKXQuZm9yRWFjaChyPT57bWkocixlLG4pfSk7ZWxzZSBpZihjZyh0KSlmb3IoY29uc3QgciBpbiB0KW1pKHRbcl0sZSxuKTtyZXR1cm4gdH1mdW5jdGlvbiAkdCh0LGUpe2lmKFR0PT09bnVsbClyZXR1cm4gdDtjb25zdCBuPWxsKFR0KXx8VHQucHJveHkscj10LmRpcnN8fCh0LmRpcnM9W10pO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXRbcyxvLGEsbD1sdF09ZVtpXTtzJiYoQmUocykmJihzPXttb3VudGVkOnMsdXBkYXRlZDpzfSkscy5kZWVwJiZtaShvKSxyLnB1c2goe2RpcjpzLGluc3RhbmNlOm4sdmFsdWU6byxvbGRWYWx1ZTp2b2lkIDAsYXJnOmEsbW9kaWZpZXJzOmx9KSl9cmV0dXJuIHR9ZnVuY3Rpb24gcmkodCxlLG4scil7Y29uc3QgaT10LmRpcnMscz1lJiZlLmRpcnM7Zm9yKGxldCBvPTA7bzxpLmxlbmd0aDtvKyspe2NvbnN0IGE9aVtvXTtzJiYoYS5vbGRWYWx1ZT1zW29dLnZhbHVlKTtsZXQgbD1hLmRpcltyXTtsJiYocXIoKSxBbihsLG4sOCxbdC5lbCxhLHQsZV0pLFpyKCkpfX1jb25zdCBOcj1TeW1ib2woIl9sZWF2ZUNiIiksWG89U3ltYm9sKCJfZW50ZXJDYiIpO2Z1bmN0aW9uIFZnKCl7Y29uc3QgdD17aXNNb3VudGVkOiExLGlzTGVhdmluZzohMSxpc1VubW91bnRpbmc6ITEsbGVhdmluZ1ZOb2RlczpuZXcgTWFwfTtyZXR1cm4geXQoKCk9Pnt0LmlzTW91bnRlZD0hMH0pLGJkKCgpPT57dC5pc1VubW91bnRpbmc9ITB9KSx0fWNvbnN0IG1uPVtGdW5jdGlvbixBcnJheV0sV2c9e21vZGU6U3RyaW5nLGFwcGVhcjpCb29sZWFuLHBlcnNpc3RlZDpCb29sZWFuLG9uQmVmb3JlRW50ZXI6bW4sb25FbnRlcjptbixvbkFmdGVyRW50ZXI6bW4sb25FbnRlckNhbmNlbGxlZDptbixvbkJlZm9yZUxlYXZlOm1uLG9uTGVhdmU6bW4sb25BZnRlckxlYXZlOm1uLG9uTGVhdmVDYW5jZWxsZWQ6bW4sb25CZWZvcmVBcHBlYXI6bW4sb25BcHBlYXI6bW4sb25BZnRlckFwcGVhcjptbixvbkFwcGVhckNhbmNlbGxlZDptbn0sY2s9e25hbWU6IkJhc2VUcmFuc2l0aW9uIixwcm9wczpXZyxzZXR1cCh0LHtzbG90czplfSl7Y29uc3Qgbj1DbigpLHI9VmcoKTtyZXR1cm4oKT0+e2NvbnN0IGk9ZS5kZWZhdWx0JiZ2ZChlLmRlZmF1bHQoKSwhMCk7aWYoIWl8fCFpLmxlbmd0aClyZXR1cm47bGV0IHM9aVswXTtpZihpLmxlbmd0aD4xKXtmb3IoY29uc3QgZiBvZiBpKWlmKGYudHlwZSE9PUp0KXtzPWY7YnJlYWt9fWNvbnN0IG89WGUodCkse21vZGU6YX09bztpZihyLmlzTGVhdmluZylyZXR1cm4gV2wocyk7Y29uc3QgbD1GZihzKTtpZighbClyZXR1cm4gV2wocyk7Y29uc3QgYz1sbyhsLG8scixuKTtRaShsLGMpO2NvbnN0IHU9bi5zdWJUcmVlLGQ9dSYmRmYodSk7aWYoZCYmZC50eXBlIT09SnQmJiFVbihsLGQpKXtjb25zdCBmPWxvKGQsbyxyLG4pO2lmKFFpKGQsZiksYT09PSJvdXQtaW4iJiZsLnR5cGUhPT1KdClyZXR1cm4gci5pc0xlYXZpbmc9ITAsZi5hZnRlckxlYXZlPSgpPT57ci5pc0xlYXZpbmc9ITEsbi51cGRhdGUuYWN0aXZlIT09ITEmJihuLmVmZmVjdC5kaXJ0eT0hMCxuLnVwZGF0ZSgpKX0sV2wocyk7YT09PSJpbi1vdXQiJiZsLnR5cGUhPT1KdCYmKGYuZGVsYXlMZWF2ZT0oaCxtLHApPT57Y29uc3Qgaz1HZyhyLGQpO2tbU3RyaW5nKGQua2V5KV09ZCxoW05yXT0oKT0+e20oKSxoW05yXT12b2lkIDAsZGVsZXRlIGMuZGVsYXllZExlYXZlfSxjLmRlbGF5ZWRMZWF2ZT1wfSl9cmV0dXJuIHN9fX0sdWs9Y2s7ZnVuY3Rpb24gR2codCxlKXtjb25zdHtsZWF2aW5nVk5vZGVzOm59PXQ7bGV0IHI9bi5nZXQoZS50eXBlKTtyZXR1cm4gcnx8KHI9T2JqZWN0LmNyZWF0ZShudWxsKSxuLnNldChlLnR5cGUscikpLHJ9ZnVuY3Rpb24gbG8odCxlLG4scil7Y29uc3R7YXBwZWFyOmksbW9kZTpzLHBlcnNpc3RlZDpvPSExLG9uQmVmb3JlRW50ZXI6YSxvbkVudGVyOmwsb25BZnRlckVudGVyOmMsb25FbnRlckNhbmNlbGxlZDp1LG9uQmVmb3JlTGVhdmU6ZCxvbkxlYXZlOmYsb25BZnRlckxlYXZlOmgsb25MZWF2ZUNhbmNlbGxlZDptLG9uQmVmb3JlQXBwZWFyOnAsb25BcHBlYXI6ayxvbkFmdGVyQXBwZWFyOngsb25BcHBlYXJDYW5jZWxsZWQ6Q309ZSxiPVN0cmluZyh0LmtleSksVD1HZyhuLHQpLEU9KEQsSSk9PntEJiZBbihELHIsOSxJKX0sdz0oRCxJKT0+e2NvbnN0IEI9SVsxXTtFKEQsSSksUGUoRCk/RC5ldmVyeShMPT5MLmxlbmd0aDw9MSkmJkIoKTpELmxlbmd0aDw9MSYmQigpfSxSPXttb2RlOnMscGVyc2lzdGVkOm8sYmVmb3JlRW50ZXIoRCl7bGV0IEk9YTtpZighbi5pc01vdW50ZWQpaWYoaSlJPXB8fGE7ZWxzZSByZXR1cm47RFtOcl0mJkRbTnJdKCEwKTtjb25zdCBCPVRbYl07QiYmVW4odCxCKSYmQi5lbFtOcl0mJkIuZWxbTnJdKCksRShJLFtEXSl9LGVudGVyKEQpe2xldCBJPWwsQj1jLEw9dTtpZighbi5pc01vdW50ZWQpaWYoaSlJPWt8fGwsQj14fHxjLEw9Q3x8dTtlbHNlIHJldHVybjtsZXQgaj0hMTtjb25zdCByZT1EW1hvXT14ZT0+e2p8fChqPSEwLHhlP0UoTCxbRF0pOkUoQixbRF0pLFIuZGVsYXllZExlYXZlJiZSLmRlbGF5ZWRMZWF2ZSgpLERbWG9dPXZvaWQgMCl9O0k/dyhJLFtELHJlXSk6cmUoKX0sbGVhdmUoRCxJKXtjb25zdCBCPVN0cmluZyh0LmtleSk7aWYoRFtYb10mJkRbWG9dKCEwKSxuLmlzVW5tb3VudGluZylyZXR1cm4gSSgpO0UoZCxbRF0pO2xldCBMPSExO2NvbnN0IGo9RFtOcl09cmU9PntMfHwoTD0hMCxJKCkscmU/RShtLFtEXSk6RShoLFtEXSksRFtOcl09dm9pZCAwLFRbQl09PT10JiZkZWxldGUgVFtCXSl9O1RbQl09dCxmP3coZixbRCxqXSk6aigpfSxjbG9uZShEKXtyZXR1cm4gbG8oRCxlLG4scil9fTtyZXR1cm4gUn1mdW5jdGlvbiBXbCh0KXtpZihzbCh0KSlyZXR1cm4gdD1zcih0KSx0LmNoaWxkcmVuPW51bGwsdH1mdW5jdGlvbiBGZih0KXtpZighc2wodCkpcmV0dXJuIHQ7Y29uc3R7c2hhcGVGbGFnOmUsY2hpbGRyZW46bn09dDtpZihuKXtpZihlJjE2KXJldHVybiBuWzBdO2lmKGUmMzImJkJlKG4uZGVmYXVsdCkpcmV0dXJuIG4uZGVmYXVsdCgpfX1mdW5jdGlvbiBRaSh0LGUpe3Quc2hhcGVGbGFnJjYmJnQuY29tcG9uZW50P1FpKHQuY29tcG9uZW50LnN1YlRyZWUsZSk6dC5zaGFwZUZsYWcmMTI4Pyh0LnNzQ29udGVudC50cmFuc2l0aW9uPWUuY2xvbmUodC5zc0NvbnRlbnQpLHQuc3NGYWxsYmFjay50cmFuc2l0aW9uPWUuY2xvbmUodC5zc0ZhbGxiYWNrKSk6dC50cmFuc2l0aW9uPWV9ZnVuY3Rpb24gdmQodCxlPSExLG4pe2xldCByPVtdLGk9MDtmb3IobGV0IHM9MDtzPHQubGVuZ3RoO3MrKyl7bGV0IG89dFtzXTtjb25zdCBhPW49PW51bGw/by5rZXk6U3RyaW5nKG4pK1N0cmluZyhvLmtleSE9bnVsbD9vLmtleTpzKTtvLnR5cGU9PT1xZT8oby5wYXRjaEZsYWcmMTI4JiZpKysscj1yLmNvbmNhdCh2ZChvLmNoaWxkcmVuLGUsYSkpKTooZXx8by50eXBlIT09SnQpJiZyLnB1c2goYSE9bnVsbD9zcihvLHtrZXk6YX0pOm8pfWlmKGk+MSlmb3IobGV0IHM9MDtzPHIubGVuZ3RoO3MrKylyW3NdLnBhdGNoRmxhZz0tMjtyZXR1cm4gcn0vKiEgI19fTk9fU0lERV9FRkZFQ1RTX18gKi9mdW5jdGlvbiBOZSh0LGUpe3JldHVybiBCZSh0KT9WdCh7bmFtZTp0Lm5hbWV9LGUse3NldHVwOnR9KTp0fWNvbnN0IEppPXQ9PiEhdC50eXBlLl9fYXN5bmNMb2FkZXIsc2w9dD0+dC50eXBlLl9faXNLZWVwQWxpdmUsZGs9e25hbWU6IktlZXBBbGl2ZSIsX19pc0tlZXBBbGl2ZTohMCxwcm9wczp7aW5jbHVkZTpbU3RyaW5nLFJlZ0V4cCxBcnJheV0sZXhjbHVkZTpbU3RyaW5nLFJlZ0V4cCxBcnJheV0sbWF4OltTdHJpbmcsTnVtYmVyXX0sc2V0dXAodCx7c2xvdHM6ZX0pe2NvbnN0IG49Q24oKSxyPW4uY3R4O2lmKCFyLnJlbmRlcmVyKXJldHVybigpPT57Y29uc3QgQz1lLmRlZmF1bHQmJmUuZGVmYXVsdCgpO3JldHVybiBDJiZDLmxlbmd0aD09PTE/Q1swXTpDfTtjb25zdCBpPW5ldyBNYXAscz1uZXcgU2V0O2xldCBvPW51bGw7Y29uc3QgYT1uLnN1c3BlbnNlLHtyZW5kZXJlcjp7cDpsLG06Yyx1bTp1LG86e2NyZWF0ZUVsZW1lbnQ6ZH19fT1yLGY9ZCgiZGl2Iik7ci5hY3RpdmF0ZT0oQyxiLFQsRSx3KT0+e2NvbnN0IFI9Qy5jb21wb25lbnQ7YyhDLGIsVCwwLGEpLGwoUi52bm9kZSxDLGIsVCxSLGEsRSxDLnNsb3RTY29wZUlkcyx3KSxNdCgoKT0+e1IuaXNEZWFjdGl2YXRlZD0hMSxSLmEmJlZzKFIuYSk7Y29uc3QgRD1DLnByb3BzJiZDLnByb3BzLm9uVm5vZGVNb3VudGVkO0QmJnluKEQsUi5wYXJlbnQsQyl9LGEpfSxyLmRlYWN0aXZhdGU9Qz0+e2NvbnN0IGI9Qy5jb21wb25lbnQ7YyhDLGYsbnVsbCwxLGEpLE10KCgpPT57Yi5kYSYmVnMoYi5kYSk7Y29uc3QgVD1DLnByb3BzJiZDLnByb3BzLm9uVm5vZGVVbm1vdW50ZWQ7VCYmeW4oVCxiLnBhcmVudCxDKSxiLmlzRGVhY3RpdmF0ZWQ9ITB9LGEpfTtmdW5jdGlvbiBoKEMpe0dsKEMpLHUoQyxuLGEsITApfWZ1bmN0aW9uIG0oQyl7aS5mb3JFYWNoKChiLFQpPT57Y29uc3QgRT1qYyhiLnR5cGUpO0UmJighQ3x8IUMoRSkpJiZwKFQpfSl9ZnVuY3Rpb24gcChDKXtjb25zdCBiPWkuZ2V0KEMpOyFvfHwhVW4oYixvKT9oKGIpOm8mJkdsKG8pLGkuZGVsZXRlKEMpLHMuZGVsZXRlKEMpfWd0KCgpPT5bdC5pbmNsdWRlLHQuZXhjbHVkZV0sKFtDLGJdKT0+e0MmJm0oVD0+THMoQyxUKSksYiYmbShUPT4hTHMoYixUKSl9LHtmbHVzaDoicG9zdCIsZGVlcDohMH0pO2xldCBrPW51bGw7Y29uc3QgeD0oKT0+e2shPW51bGwmJmkuc2V0KGssemwobi5zdWJUcmVlKSl9O3JldHVybiB5dCh4KSxfZCh4KSxiZCgoKT0+e2kuZm9yRWFjaChDPT57Y29uc3R7c3ViVHJlZTpiLHN1c3BlbnNlOlR9PW4sRT16bChiKTtpZihDLnR5cGU9PT1FLnR5cGUmJkMua2V5PT09RS5rZXkpe0dsKEUpO2NvbnN0IHc9RS5jb21wb25lbnQuZGE7dyYmTXQodyxUKTtyZXR1cm59aChDKX0pfSksKCk9PntpZihrPW51bGwsIWUuZGVmYXVsdClyZXR1cm4gbnVsbDtjb25zdCBDPWUuZGVmYXVsdCgpLGI9Q1swXTtpZihDLmxlbmd0aD4xKXJldHVybiBvPW51bGwsQztpZighbnMoYil8fCEoYi5zaGFwZUZsYWcmNCkmJiEoYi5zaGFwZUZsYWcmMTI4KSlyZXR1cm4gbz1udWxsLGI7bGV0IFQ9emwoYik7Y29uc3QgRT1ULnR5cGUsdz1qYyhKaShUKT9ULnR5cGUuX19hc3luY1Jlc29sdmVkfHx7fTpFKSx7aW5jbHVkZTpSLGV4Y2x1ZGU6RCxtYXg6SX09dDtpZihSJiYoIXd8fCFMcyhSLHcpKXx8RCYmdyYmTHMoRCx3KSlyZXR1cm4gbz1ULGI7Y29uc3QgQj1ULmtleT09bnVsbD9FOlQua2V5LEw9aS5nZXQoQik7cmV0dXJuIFQuZWwmJihUPXNyKFQpLGIuc2hhcGVGbGFnJjEyOCYmKGIuc3NDb250ZW50PVQpKSxrPUIsTD8oVC5lbD1MLmVsLFQuY29tcG9uZW50PUwuY29tcG9uZW50LFQudHJhbnNpdGlvbiYmUWkoVCxULnRyYW5zaXRpb24pLFQuc2hhcGVGbGFnfD01MTIscy5kZWxldGUoQikscy5hZGQoQikpOihzLmFkZChCKSxJJiZzLnNpemU+cGFyc2VJbnQoSSwxMCkmJnAocy52YWx1ZXMoKS5uZXh0KCkudmFsdWUpKSxULnNoYXBlRmxhZ3w9MjU2LG89VCxCZyhiLnR5cGUpP2I6VH19fSxmaz1kaztmdW5jdGlvbiBMcyh0LGUpe3JldHVybiBQZSh0KT90LnNvbWUobj0+THMobixlKSk6T3QodCk/dC5zcGxpdCgiLCIpLmluY2x1ZGVzKGUpOnR3KHQpP3QudGVzdChlKTohMX1mdW5jdGlvbiBoayh0LGUpe3pnKHQsImEiLGUpfWZ1bmN0aW9uIG1rKHQsZSl7emcodCwiZGEiLGUpfWZ1bmN0aW9uIHpnKHQsZSxuPU50KXtjb25zdCByPXQuX193ZGN8fCh0Ll9fd2RjPSgpPT57bGV0IGk9bjtmb3IoO2k7KXtpZihpLmlzRGVhY3RpdmF0ZWQpcmV0dXJuO2k9aS5wYXJlbnR9cmV0dXJuIHQoKX0pO2lmKG9sKGUscixuKSxuKXtsZXQgaT1uLnBhcmVudDtmb3IoO2kmJmkucGFyZW50OylzbChpLnBhcmVudC52bm9kZSkmJnBrKHIsZSxuLGkpLGk9aS5wYXJlbnR9fWZ1bmN0aW9uIHBrKHQsZSxuLHIpe2NvbnN0IGk9b2woZSx0LHIsITApO2FuKCgpPT57WXUocltlXSxpKX0sbil9ZnVuY3Rpb24gR2wodCl7dC5zaGFwZUZsYWcmPS0yNTcsdC5zaGFwZUZsYWcmPS01MTN9ZnVuY3Rpb24gemwodCl7cmV0dXJuIHQuc2hhcGVGbGFnJjEyOD90LnNzQ29udGVudDp0fWZ1bmN0aW9uIG9sKHQsZSxuPU50LHI9ITEpe2lmKG4pe2NvbnN0IGk9blt0XXx8KG5bdF09W10pLHM9ZS5fX3dlaHx8KGUuX193ZWg9KC4uLm8pPT57aWYobi5pc1VubW91bnRlZClyZXR1cm47cXIoKTtjb25zdCBhPVRpKG4pLGw9QW4oZSxuLHQsbyk7cmV0dXJuIGEoKSxacigpLGx9KTtyZXR1cm4gcj9pLnVuc2hpZnQocyk6aS5wdXNoKHMpLHN9fWNvbnN0IHdyPXQ9PihlLG49TnQpPT4oIWFsfHx0PT09InNwIikmJm9sKHQsKC4uLnIpPT5lKC4uLnIpLG4pLEhnPXdyKCJibSIpLHl0PXdyKCJtIiksZ2s9d3IoImJ1IiksX2Q9d3IoInUiKSxiZD13cigiYnVtIiksYW49d3IoInVtIikseWs9d3IoInNwIiksdms9d3IoInJ0ZyIpLF9rPXdyKCJydGMiKTtmdW5jdGlvbiBiayh0LGU9TnQpe29sKCJlYyIsdCxlKX1mdW5jdGlvbiB0bih0LGUsbixyKXtsZXQgaTtjb25zdCBzPW47aWYoUGUodCl8fE90KHQpKXtpPW5ldyBBcnJheSh0Lmxlbmd0aCk7Zm9yKGxldCBvPTAsYT10Lmxlbmd0aDtvPGE7bysrKWlbb109ZSh0W29dLG8sdm9pZCAwLHMpfWVsc2UgaWYodHlwZW9mIHQ9PSJudW1iZXIiKXtpPW5ldyBBcnJheSh0KTtmb3IobGV0IG89MDtvPHQ7bysrKWlbb109ZShvKzEsbyx2b2lkIDAscyl9ZWxzZSBpZihtdCh0KSlpZih0W1N5bWJvbC5pdGVyYXRvcl0paT1BcnJheS5mcm9tKHQsKG8sYSk9PmUobyxhLHZvaWQgMCxzKSk7ZWxzZXtjb25zdCBvPU9iamVjdC5rZXlzKHQpO2k9bmV3IEFycmF5KG8ubGVuZ3RoKTtmb3IobGV0IGE9MCxsPW8ubGVuZ3RoO2E8bDthKyspe2NvbnN0IGM9b1thXTtpW2FdPWUodFtjXSxjLGEscyl9fWVsc2UgaT1bXTtyZXR1cm4gaX1mdW5jdGlvbiBVdCh0LGUsbj17fSxyLGkpe2lmKFR0LmlzQ0V8fFR0LnBhcmVudCYmSmkoVHQucGFyZW50KSYmVHQucGFyZW50LmlzQ0UpcmV0dXJuIGUhPT0iZGVmYXVsdCImJihuLm5hbWU9ZSksZWUoInNsb3QiLG4sciYmcigpKTtsZXQgcz10W2VdO3MmJnMuX2MmJihzLl9kPSExKSxVKCk7Y29uc3Qgbz1zJiZKZyhzKG4pKSxhPXR0KHFlLHtrZXk6bi5rZXl8fG8mJm8ua2V5fHxgXyR7ZX1gfSxvfHwocj9yKCk6W10pLG8mJnQuXz09PTE/NjQ6LTIpO3JldHVybiBhLnNjb3BlSWQmJihhLnNsb3RTY29wZUlkcz1bYS5zY29wZUlkKyItcyJdKSxzJiZzLl9jJiYocy5fZD0hMCksYX1mdW5jdGlvbiBKZyh0KXtyZXR1cm4gdC5zb21lKGU9Pm5zKGUpPyEoZS50eXBlPT09SnR8fGUudHlwZT09PXFlJiYhSmcoZS5jaGlsZHJlbikpOiEwKT90Om51bGx9Y29uc3QgUGM9dD0+dD9keSh0KT9sbCh0KXx8dC5wcm94eTpQYyh0LnBhcmVudCk6bnVsbCxHcz1WdChPYmplY3QuY3JlYXRlKG51bGwpLHskOnQ9PnQsJGVsOnQ9PnQudm5vZGUuZWwsJGRhdGE6dD0+dC5kYXRhLCRwcm9wczp0PT50LnByb3BzLCRhdHRyczp0PT50LmF0dHJzLCRzbG90czp0PT50LnNsb3RzLCRyZWZzOnQ9PnQucmVmcywkcGFyZW50OnQ9PlBjKHQucGFyZW50KSwkcm9vdDp0PT5QYyh0LnJvb3QpLCRlbWl0OnQ9PnQuZW1pdCwkb3B0aW9uczp0PT5aZyh0KSwkZm9yY2VVcGRhdGU6dD0+dC5mfHwodC5mPSgpPT57dC5lZmZlY3QuZGlydHk9ITAscGQodC51cGRhdGUpfSksJG5leHRUaWNrOnQ9PnQubnx8KHQubj1ubi5iaW5kKHQucHJveHkpKSwkd2F0Y2g6dD0+bGsuYmluZCh0KX0pLEhsPSh0LGUpPT50IT09bHQmJiF0Ll9faXNTY3JpcHRTZXR1cCYmZXQodCxlKSx3az17Z2V0KHtfOnR9LGUpe2lmKGU9PT0iX192X3NraXAiKXJldHVybiEwO2NvbnN0e2N0eDpuLHNldHVwU3RhdGU6cixkYXRhOmkscHJvcHM6cyxhY2Nlc3NDYWNoZTpvLHR5cGU6YSxhcHBDb250ZXh0Omx9PXQ7bGV0IGM7aWYoZVswXSE9PSIkIil7Y29uc3QgaD1vW2VdO2lmKGghPT12b2lkIDApc3dpdGNoKGgpe2Nhc2UgMTpyZXR1cm4gcltlXTtjYXNlIDI6cmV0dXJuIGlbZV07Y2FzZSA0OnJldHVybiBuW2VdO2Nhc2UgMzpyZXR1cm4gc1tlXX1lbHNle2lmKEhsKHIsZSkpcmV0dXJuIG9bZV09MSxyW2VdO2lmKGkhPT1sdCYmZXQoaSxlKSlyZXR1cm4gb1tlXT0yLGlbZV07aWYoKGM9dC5wcm9wc09wdGlvbnNbMF0pJiZldChjLGUpKXJldHVybiBvW2VdPTMsc1tlXTtpZihuIT09bHQmJmV0KG4sZSkpcmV0dXJuIG9bZV09NCxuW2VdO0ljJiYob1tlXT0wKX19Y29uc3QgdT1Hc1tlXTtsZXQgZCxmO2lmKHUpcmV0dXJuIGU9PT0iJGF0dHJzIiYmb24odC5hdHRycywiZ2V0IiwiIiksdSh0KTtpZigoZD1hLl9fY3NzTW9kdWxlcykmJihkPWRbZV0pKXJldHVybiBkO2lmKG4hPT1sdCYmZXQobixlKSlyZXR1cm4gb1tlXT00LG5bZV07aWYoZj1sLmNvbmZpZy5nbG9iYWxQcm9wZXJ0aWVzLGV0KGYsZSkpcmV0dXJuIGZbZV19LHNldCh7Xzp0fSxlLG4pe2NvbnN0e2RhdGE6cixzZXR1cFN0YXRlOmksY3R4OnN9PXQ7cmV0dXJuIEhsKGksZSk/KGlbZV09biwhMCk6ciE9PWx0JiZldChyLGUpPyhyW2VdPW4sITApOmV0KHQucHJvcHMsZSl8fGVbMF09PT0iJCImJmUuc2xpY2UoMSlpbiB0PyExOihzW2VdPW4sITApfSxoYXMoe186e2RhdGE6dCxzZXR1cFN0YXRlOmUsYWNjZXNzQ2FjaGU6bixjdHg6cixhcHBDb250ZXh0OmkscHJvcHNPcHRpb25zOnN9fSxvKXtsZXQgYTtyZXR1cm4hIW5bb118fHQhPT1sdCYmZXQodCxvKXx8SGwoZSxvKXx8KGE9c1swXSkmJmV0KGEsbyl8fGV0KHIsbyl8fGV0KEdzLG8pfHxldChpLmNvbmZpZy5nbG9iYWxQcm9wZXJ0aWVzLG8pfSxkZWZpbmVQcm9wZXJ0eSh0LGUsbil7cmV0dXJuIG4uZ2V0IT1udWxsP3QuXy5hY2Nlc3NDYWNoZVtlXT0wOmV0KG4sInZhbHVlIikmJnRoaXMuc2V0KHQsZSxuLnZhbHVlLG51bGwpLFJlZmxlY3QuZGVmaW5lUHJvcGVydHkodCxlLG4pfX07ZnVuY3Rpb24gT2EodCl7cmV0dXJuIFBlKHQpP3QucmVkdWNlKChlLG4pPT4oZVtuXT1udWxsLGUpLHt9KTp0fWZ1bmN0aW9uIGNvKHQsZSl7cmV0dXJuIXR8fCFlP3R8fGU6UGUodCkmJlBlKGUpP3QuY29uY2F0KGUpOlZ0KHt9LE9hKHQpLE9hKGUpKX1mdW5jdGlvbiBlcyh0KXtjb25zdCBlPUNuKCk7bGV0IG49dCgpO3JldHVybiBGYygpLFh1KG4pJiYobj1uLmNhdGNoKHI9Pnt0aHJvdyBUaShlKSxyfSkpLFtuLCgpPT5UaShlKV19bGV0IEljPSEwO2Z1bmN0aW9uIGtrKHQpe2NvbnN0IGU9WmcodCksbj10LnByb3h5LHI9dC5jdHg7SWM9ITEsZS5iZWZvcmVDcmVhdGUmJiRmKGUuYmVmb3JlQ3JlYXRlLHQsImJjIik7Y29uc3R7ZGF0YTppLGNvbXB1dGVkOnMsbWV0aG9kczpvLHdhdGNoOmEscHJvdmlkZTpsLGluamVjdDpjLGNyZWF0ZWQ6dSxiZWZvcmVNb3VudDpkLG1vdW50ZWQ6ZixiZWZvcmVVcGRhdGU6aCx1cGRhdGVkOm0sYWN0aXZhdGVkOnAsZGVhY3RpdmF0ZWQ6ayxiZWZvcmVEZXN0cm95OngsYmVmb3JlVW5tb3VudDpDLGRlc3Ryb3llZDpiLHVubW91bnRlZDpULHJlbmRlcjpFLHJlbmRlclRyYWNrZWQ6dyxyZW5kZXJUcmlnZ2VyZWQ6UixlcnJvckNhcHR1cmVkOkQsc2VydmVyUHJlZmV0Y2g6SSxleHBvc2U6Qixpbmhlcml0QXR0cnM6TCxjb21wb25lbnRzOmosZGlyZWN0aXZlczpyZSxmaWx0ZXJzOnhlfT1lO2lmKGMmJlNrKGMscixudWxsKSxvKWZvcihjb25zdCB5ZSBpbiBvKXtjb25zdCBBZT1vW3llXTtCZShBZSkmJihyW3llXT1BZS5iaW5kKG4pKX1pZihpKXtjb25zdCB5ZT1pLmNhbGwobixuKTttdCh5ZSkmJih0LmRhdGE9T2koeWUpKX1pZihJYz0hMCxzKWZvcihjb25zdCB5ZSBpbiBzKXtjb25zdCBBZT1zW3llXSxaZT1CZShBZSk/QWUuYmluZChuLG4pOkJlKEFlLmdldCk/QWUuZ2V0LmJpbmQobixuKTpibixydD0hQmUoQWUpJiZCZShBZS5zZXQpP0FlLnNldC5iaW5kKG4pOmJuLHdlPW9lKHtnZXQ6WmUsc2V0OnJ0fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIseWUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDooKT0+d2UudmFsdWUsc2V0Oko9PndlLnZhbHVlPUp9KX1pZihhKWZvcihjb25zdCB5ZSBpbiBhKXFnKGFbeWVdLHIsbix5ZSk7aWYobCl7Y29uc3QgeWU9QmUobCk/bC5jYWxsKG4pOmw7UmVmbGVjdC5vd25LZXlzKHllKS5mb3JFYWNoKEFlPT57WnQoQWUseWVbQWVdKX0pfXUmJiRmKHUsdCwiYyIpO2Z1bmN0aW9uIGxlKHllLEFlKXtQZShBZSk/QWUuZm9yRWFjaChaZT0+eWUoWmUuYmluZChuKSkpOkFlJiZ5ZShBZS5iaW5kKG4pKX1pZihsZShIZyxkKSxsZSh5dCxmKSxsZShnayxoKSxsZShfZCxtKSxsZShoayxwKSxsZShtayxrKSxsZShiayxEKSxsZShfayx3KSxsZSh2ayxSKSxsZShiZCxDKSxsZShhbixUKSxsZSh5ayxJKSxQZShCKSlpZihCLmxlbmd0aCl7Y29uc3QgeWU9dC5leHBvc2VkfHwodC5leHBvc2VkPXt9KTtCLmZvckVhY2goQWU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoeWUsQWUse2dldDooKT0+bltBZV0sc2V0OlplPT5uW0FlXT1aZX0pfSl9ZWxzZSB0LmV4cG9zZWR8fCh0LmV4cG9zZWQ9e30pO0UmJnQucmVuZGVyPT09Ym4mJih0LnJlbmRlcj1FKSxMIT1udWxsJiYodC5pbmhlcml0QXR0cnM9TCksaiYmKHQuY29tcG9uZW50cz1qKSxyZSYmKHQuZGlyZWN0aXZlcz1yZSl9ZnVuY3Rpb24gU2sodCxlLG49Ym4pe1BlKHQpJiYodD1OYyh0KSk7Zm9yKGNvbnN0IHIgaW4gdCl7Y29uc3QgaT10W3JdO2xldCBzO210KGkpPyJkZWZhdWx0ImluIGk/cz11dChpLmZyb218fHIsaS5kZWZhdWx0LCEwKTpzPXV0KGkuZnJvbXx8cik6cz11dChpKSxFdChzKT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6KCk9PnMudmFsdWUsc2V0Om89PnMudmFsdWU9b30pOmVbcl09c319ZnVuY3Rpb24gJGYodCxlLG4pe0FuKFBlKHQpP3QubWFwKHI9PnIuYmluZChlLnByb3h5KSk6dC5iaW5kKGUucHJveHkpLGUsbil9ZnVuY3Rpb24gcWcodCxlLG4scil7Y29uc3QgaT1yLmluY2x1ZGVzKCIuIik/VWcobixyKTooKT0+bltyXTtpZihPdCh0KSl7Y29uc3Qgcz1lW3RdO0JlKHMpJiZndChpLHMpfWVsc2UgaWYoQmUodCkpZ3QoaSx0LmJpbmQobikpO2Vsc2UgaWYobXQodCkpaWYoUGUodCkpdC5mb3JFYWNoKHM9PnFnKHMsZSxuLHIpKTtlbHNle2NvbnN0IHM9QmUodC5oYW5kbGVyKT90LmhhbmRsZXIuYmluZChuKTplW3QuaGFuZGxlcl07QmUocykmJmd0KGkscyx0KX19ZnVuY3Rpb24gWmcodCl7Y29uc3QgZT10LnR5cGUse21peGluczpuLGV4dGVuZHM6cn09ZSx7bWl4aW5zOmksb3B0aW9uc0NhY2hlOnMsY29uZmlnOntvcHRpb25NZXJnZVN0cmF0ZWdpZXM6b319PXQuYXBwQ29udGV4dCxhPXMuZ2V0KGUpO2xldCBsO3JldHVybiBhP2w9YTohaS5sZW5ndGgmJiFuJiYhcj9sPWU6KGw9e30saS5sZW5ndGgmJmkuZm9yRWFjaChjPT5DYShsLGMsbywhMCkpLENhKGwsZSxvKSksbXQoZSkmJnMuc2V0KGUsbCksbH1mdW5jdGlvbiBDYSh0LGUsbixyPSExKXtjb25zdHttaXhpbnM6aSxleHRlbmRzOnN9PWU7cyYmQ2EodCxzLG4sITApLGkmJmkuZm9yRWFjaChvPT5DYSh0LG8sbiwhMCkpO2Zvcihjb25zdCBvIGluIGUpaWYoIShyJiZvPT09ImV4cG9zZSIpKXtjb25zdCBhPVRrW29dfHxuJiZuW29dO3Rbb109YT9hKHRbb10sZVtvXSk6ZVtvXX1yZXR1cm4gdH1jb25zdCBUaz17ZGF0YTpqZixwcm9wczpCZixlbWl0czpCZixtZXRob2RzOkZzLGNvbXB1dGVkOkZzLGJlZm9yZUNyZWF0ZTpHdCxjcmVhdGVkOkd0LGJlZm9yZU1vdW50Okd0LG1vdW50ZWQ6R3QsYmVmb3JlVXBkYXRlOkd0LHVwZGF0ZWQ6R3QsYmVmb3JlRGVzdHJveTpHdCxiZWZvcmVVbm1vdW50Okd0LGRlc3Ryb3llZDpHdCx1bm1vdW50ZWQ6R3QsYWN0aXZhdGVkOkd0LGRlYWN0aXZhdGVkOkd0LGVycm9yQ2FwdHVyZWQ6R3Qsc2VydmVyUHJlZmV0Y2g6R3QsY29tcG9uZW50czpGcyxkaXJlY3RpdmVzOkZzLHdhdGNoOnhrLHByb3ZpZGU6amYsaW5qZWN0OkVrfTtmdW5jdGlvbiBqZih0LGUpe3JldHVybiBlP3Q/ZnVuY3Rpb24oKXtyZXR1cm4gVnQoQmUodCk/dC5jYWxsKHRoaXMsdGhpcyk6dCxCZShlKT9lLmNhbGwodGhpcyx0aGlzKTplKX06ZTp0fWZ1bmN0aW9uIEVrKHQsZSl7cmV0dXJuIEZzKE5jKHQpLE5jKGUpKX1mdW5jdGlvbiBOYyh0KXtpZihQZSh0KSl7Y29uc3QgZT17fTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyllW3Rbbl1dPXRbbl07cmV0dXJuIGV9cmV0dXJuIHR9ZnVuY3Rpb24gR3QodCxlKXtyZXR1cm4gdD9bLi4ubmV3IFNldChbXS5jb25jYXQodCxlKSldOmV9ZnVuY3Rpb24gRnModCxlKXtyZXR1cm4gdD9WdChPYmplY3QuY3JlYXRlKG51bGwpLHQsZSk6ZX1mdW5jdGlvbiBCZih0LGUpe3JldHVybiB0P1BlKHQpJiZQZShlKT9bLi4ubmV3IFNldChbLi4udCwuLi5lXSldOlZ0KE9iamVjdC5jcmVhdGUobnVsbCksT2EodCksT2EoZT8/e30pKTplfWZ1bmN0aW9uIHhrKHQsZSl7aWYoIXQpcmV0dXJuIGU7aWYoIWUpcmV0dXJuIHQ7Y29uc3Qgbj1WdChPYmplY3QuY3JlYXRlKG51bGwpLHQpO2Zvcihjb25zdCByIGluIGUpbltyXT1HdCh0W3JdLGVbcl0pO3JldHVybiBufWZ1bmN0aW9uIEtnKCl7cmV0dXJue2FwcDpudWxsLGNvbmZpZzp7aXNOYXRpdmVUYWc6UWIscGVyZm9ybWFuY2U6ITEsZ2xvYmFsUHJvcGVydGllczp7fSxvcHRpb25NZXJnZVN0cmF0ZWdpZXM6e30sZXJyb3JIYW5kbGVyOnZvaWQgMCx3YXJuSGFuZGxlcjp2b2lkIDAsY29tcGlsZXJPcHRpb25zOnt9fSxtaXhpbnM6W10sY29tcG9uZW50czp7fSxkaXJlY3RpdmVzOnt9LHByb3ZpZGVzOk9iamVjdC5jcmVhdGUobnVsbCksb3B0aW9uc0NhY2hlOm5ldyBXZWFrTWFwLHByb3BzQ2FjaGU6bmV3IFdlYWtNYXAsZW1pdHNDYWNoZTpuZXcgV2Vha01hcH19bGV0IEFrPTA7ZnVuY3Rpb24gT2sodCxlKXtyZXR1cm4gZnVuY3Rpb24ocixpPW51bGwpe0JlKHIpfHwocj1WdCh7fSxyKSksaSE9bnVsbCYmIW10KGkpJiYoaT1udWxsKTtjb25zdCBzPUtnKCksbz1uZXcgV2Vha1NldDtsZXQgYT0hMTtjb25zdCBsPXMuYXBwPXtfdWlkOkFrKyssX2NvbXBvbmVudDpyLF9wcm9wczppLF9jb250YWluZXI6bnVsbCxfY29udGV4dDpzLF9pbnN0YW5jZTpudWxsLHZlcnNpb246UWssZ2V0IGNvbmZpZygpe3JldHVybiBzLmNvbmZpZ30sc2V0IGNvbmZpZyhjKXt9LHVzZShjLC4uLnUpe3JldHVybiBvLmhhcyhjKXx8KGMmJkJlKGMuaW5zdGFsbCk/KG8uYWRkKGMpLGMuaW5zdGFsbChsLC4uLnUpKTpCZShjKSYmKG8uYWRkKGMpLGMobCwuLi51KSkpLGx9LG1peGluKGMpe3JldHVybiBzLm1peGlucy5pbmNsdWRlcyhjKXx8cy5taXhpbnMucHVzaChjKSxsfSxjb21wb25lbnQoYyx1KXtyZXR1cm4gdT8ocy5jb21wb25lbnRzW2NdPXUsbCk6cy5jb21wb25lbnRzW2NdfSxkaXJlY3RpdmUoYyx1KXtyZXR1cm4gdT8ocy5kaXJlY3RpdmVzW2NdPXUsbCk6cy5kaXJlY3RpdmVzW2NdfSxtb3VudChjLHUsZCl7aWYoIWEpe2NvbnN0IGY9ZWUocixpKTtyZXR1cm4gZi5hcHBDb250ZXh0PXMsZD09PSEwP2Q9InN2ZyI6ZD09PSExJiYoZD12b2lkIDApLHQoZixjLGQpLGE9ITAsbC5fY29udGFpbmVyPWMsYy5fX3Z1ZV9hcHBfXz1sLGxsKGYuY29tcG9uZW50KXx8Zi5jb21wb25lbnQucHJveHl9fSx1bm1vdW50KCl7YSYmKHQobnVsbCxsLl9jb250YWluZXIpLGRlbGV0ZSBsLl9jb250YWluZXIuX192dWVfYXBwX18pfSxwcm92aWRlKGMsdSl7cmV0dXJuIHMucHJvdmlkZXNbY109dSxsfSxydW5XaXRoQ29udGV4dChjKXtjb25zdCB1PXFpO3FpPWw7dHJ5e3JldHVybiBjKCl9ZmluYWxseXtxaT11fX19O3JldHVybiBsfX1sZXQgcWk9bnVsbDtmdW5jdGlvbiBadCh0LGUpe2lmKE50KXtsZXQgbj1OdC5wcm92aWRlcztjb25zdCByPU50LnBhcmVudCYmTnQucGFyZW50LnByb3ZpZGVzO3I9PT1uJiYobj1OdC5wcm92aWRlcz1PYmplY3QuY3JlYXRlKHIpKSxuW3RdPWV9fWZ1bmN0aW9uIHV0KHQsZSxuPSExKXtjb25zdCByPU50fHxUdDtpZihyfHxxaSl7Y29uc3QgaT1yP3IucGFyZW50PT1udWxsP3Iudm5vZGUuYXBwQ29udGV4dCYmci52bm9kZS5hcHBDb250ZXh0LnByb3ZpZGVzOnIucGFyZW50LnByb3ZpZGVzOnFpLl9jb250ZXh0LnByb3ZpZGVzO2lmKGkmJnQgaW4gaSlyZXR1cm4gaVt0XTtpZihhcmd1bWVudHMubGVuZ3RoPjEpcmV0dXJuIG4mJkJlKGUpP2UuY2FsbChyJiZyLnByb3h5KTplfX1mdW5jdGlvbiBDaygpe3JldHVybiEhKE50fHxUdHx8cWkpfWNvbnN0IFlnPXt9LFhnPSgpPT5PYmplY3QuY3JlYXRlKFlnKSxRZz10PT5PYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1ZZztmdW5jdGlvbiBQayh0LGUsbixyPSExKXtjb25zdCBpPXt9LHM9WGcoKTt0LnByb3BzRGVmYXVsdHM9T2JqZWN0LmNyZWF0ZShudWxsKSxleSh0LGUsaSxzKTtmb3IoY29uc3QgbyBpbiB0LnByb3BzT3B0aW9uc1swXSlvIGluIGl8fChpW29dPXZvaWQgMCk7bj90LnByb3BzPXI/aTp4ZyhpKTp0LnR5cGUucHJvcHM/dC5wcm9wcz1pOnQucHJvcHM9cyx0LmF0dHJzPXN9ZnVuY3Rpb24gSWsodCxlLG4scil7Y29uc3R7cHJvcHM6aSxhdHRyczpzLHZub2RlOntwYXRjaEZsYWc6b319PXQsYT1YZShpKSxbbF09dC5wcm9wc09wdGlvbnM7bGV0IGM9ITE7aWYoKHJ8fG8+MCkmJiEobyYxNikpe2lmKG8mOCl7Y29uc3QgdT10LnZub2RlLmR5bmFtaWNQcm9wcztmb3IobGV0IGQ9MDtkPHUubGVuZ3RoO2QrKyl7bGV0IGY9dVtkXTtpZih0bCh0LmVtaXRzT3B0aW9ucyxmKSljb250aW51ZTtjb25zdCBoPWVbZl07aWYobClpZihldChzLGYpKWghPT1zW2ZdJiYoc1tmXT1oLGM9ITApO2Vsc2V7Y29uc3QgbT1HbihmKTtpW21dPVJjKGwsYSxtLGgsdCwhMSl9ZWxzZSBoIT09c1tmXSYmKHNbZl09aCxjPSEwKX19fWVsc2V7ZXkodCxlLGkscykmJihjPSEwKTtsZXQgdTtmb3IoY29uc3QgZCBpbiBhKSghZXx8IWV0KGUsZCkmJigodT1DbyhkKSk9PT1kfHwhZXQoZSx1KSkpJiYobD9uJiYobltkXSE9PXZvaWQgMHx8blt1XSE9PXZvaWQgMCkmJihpW2RdPVJjKGwsYSxkLHZvaWQgMCx0LCEwKSk6ZGVsZXRlIGlbZF0pO2lmKHMhPT1hKWZvcihjb25zdCBkIGluIHMpKCFlfHwhZXQoZSxkKSkmJihkZWxldGUgc1tkXSxjPSEwKX1jJiZ5cih0LmF0dHJzLCJzZXQiLCIiKX1mdW5jdGlvbiBleSh0LGUsbixyKXtjb25zdFtpLHNdPXQucHJvcHNPcHRpb25zO2xldCBvPSExLGE7aWYoZSlmb3IobGV0IGwgaW4gZSl7aWYoVXMobCkpY29udGludWU7Y29uc3QgYz1lW2xdO2xldCB1O2kmJmV0KGksdT1HbihsKSk/IXN8fCFzLmluY2x1ZGVzKHUpP25bdV09YzooYXx8KGE9e30pKVt1XT1jOnRsKHQuZW1pdHNPcHRpb25zLGwpfHwoIShsIGluIHIpfHxjIT09cltsXSkmJihyW2xdPWMsbz0hMCl9aWYocyl7Y29uc3QgbD1YZShuKSxjPWF8fGx0O2ZvcihsZXQgdT0wO3U8cy5sZW5ndGg7dSsrKXtjb25zdCBkPXNbdV07bltkXT1SYyhpLGwsZCxjW2RdLHQsIWV0KGMsZCkpfX1yZXR1cm4gb31mdW5jdGlvbiBSYyh0LGUsbixyLGkscyl7Y29uc3Qgbz10W25dO2lmKG8hPW51bGwpe2NvbnN0IGE9ZXQobywiZGVmYXVsdCIpO2lmKGEmJnI9PT12b2lkIDApe2NvbnN0IGw9by5kZWZhdWx0O2lmKG8udHlwZSE9PUZ1bmN0aW9uJiYhby5za2lwRmFjdG9yeSYmQmUobCkpe2NvbnN0e3Byb3BzRGVmYXVsdHM6Y309aTtpZihuIGluIGMpcj1jW25dO2Vsc2V7Y29uc3QgdT1UaShpKTtyPWNbbl09bC5jYWxsKG51bGwsZSksdSgpfX1lbHNlIHI9bH1vWzBdJiYocyYmIWE/cj0hMTpvWzFdJiYocj09PSIifHxyPT09Q28obikpJiYocj0hMCkpfXJldHVybiByfWZ1bmN0aW9uIHR5KHQsZSxuPSExKXtjb25zdCByPWUucHJvcHNDYWNoZSxpPXIuZ2V0KHQpO2lmKGkpcmV0dXJuIGk7Y29uc3Qgcz10LnByb3BzLG89e30sYT1bXTtsZXQgbD0hMTtpZighQmUodCkpe2NvbnN0IHU9ZD0+e2w9ITA7Y29uc3RbZixoXT10eShkLGUsITApO1Z0KG8sZiksaCYmYS5wdXNoKC4uLmgpfTshbiYmZS5taXhpbnMubGVuZ3RoJiZlLm1peGlucy5mb3JFYWNoKHUpLHQuZXh0ZW5kcyYmdSh0LmV4dGVuZHMpLHQubWl4aW5zJiZ0Lm1peGlucy5mb3JFYWNoKHUpfWlmKCFzJiYhbClyZXR1cm4gbXQodCkmJnIuc2V0KHQsV2kpLFdpO2lmKFBlKHMpKWZvcihsZXQgdT0wO3U8cy5sZW5ndGg7dSsrKXtjb25zdCBkPUduKHNbdV0pO1VmKGQpJiYob1tkXT1sdCl9ZWxzZSBpZihzKWZvcihjb25zdCB1IGluIHMpe2NvbnN0IGQ9R24odSk7aWYoVWYoZCkpe2NvbnN0IGY9c1t1XSxoPW9bZF09UGUoZil8fEJlKGYpP3t0eXBlOmZ9OlZ0KHt9LGYpO2lmKGgpe2NvbnN0IG09R2YoQm9vbGVhbixoLnR5cGUpLHA9R2YoU3RyaW5nLGgudHlwZSk7aFswXT1tPi0xLGhbMV09cDwwfHxtPHAsKG0+LTF8fGV0KGgsImRlZmF1bHQiKSkmJmEucHVzaChkKX19fWNvbnN0IGM9W28sYV07cmV0dXJuIG10KHQpJiZyLnNldCh0LGMpLGN9ZnVuY3Rpb24gVWYodCl7cmV0dXJuIHRbMF0hPT0iJCImJiFVcyh0KX1mdW5jdGlvbiBWZih0KXtyZXR1cm4gdD09PW51bGw/Im51bGwiOnR5cGVvZiB0PT0iZnVuY3Rpb24iP3QubmFtZXx8IiI6dHlwZW9mIHQ9PSJvYmplY3QiJiZ0LmNvbnN0cnVjdG9yJiZ0LmNvbnN0cnVjdG9yLm5hbWV8fCIifWZ1bmN0aW9uIFdmKHQsZSl7cmV0dXJuIFZmKHQpPT09VmYoZSl9ZnVuY3Rpb24gR2YodCxlKXtyZXR1cm4gUGUoZSk/ZS5maW5kSW5kZXgobj0+V2Yobix0KSk6QmUoZSkmJldmKGUsdCk/MDotMX1jb25zdCBueT10PT50WzBdPT09Il8ifHx0PT09IiRzdGFibGUiLHdkPXQ9PlBlKHQpP3QubWFwKGpuKTpbam4odCldLE5rPSh0LGUsbik9PntpZihlLl9uKXJldHVybiBlO2NvbnN0IHI9bmUoKC4uLmkpPT53ZChlKC4uLmkpKSxuKTtyZXR1cm4gci5fYz0hMSxyfSxyeT0odCxlLG4pPT57Y29uc3Qgcj10Ll9jdHg7Zm9yKGNvbnN0IGkgaW4gdCl7aWYobnkoaSkpY29udGludWU7Y29uc3Qgcz10W2ldO2lmKEJlKHMpKWVbaV09TmsoaSxzLHIpO2Vsc2UgaWYocyE9bnVsbCl7Y29uc3Qgbz13ZChzKTtlW2ldPSgpPT5vfX19LGl5PSh0LGUpPT57Y29uc3Qgbj13ZChlKTt0LnNsb3RzLmRlZmF1bHQ9KCk9Pm59LFJrPSh0LGUpPT57Y29uc3Qgbj10LnNsb3RzPVhnKCk7aWYodC52bm9kZS5zaGFwZUZsYWcmMzIpe2NvbnN0IHI9ZS5fO3I/KFZ0KG4sZSksdWcobiwiXyIsciwhMCkpOnJ5KGUsbil9ZWxzZSBlJiZpeSh0LGUpfSxEaz0odCxlLG4pPT57Y29uc3R7dm5vZGU6cixzbG90czppfT10O2xldCBzPSEwLG89bHQ7aWYoci5zaGFwZUZsYWcmMzIpe2NvbnN0IGE9ZS5fO2E/biYmYT09PTE/cz0hMTooVnQoaSxlKSwhbiYmYT09PTEmJmRlbGV0ZSBpLl8pOihzPSFlLiRzdGFibGUscnkoZSxpKSksbz1lfWVsc2UgZSYmKGl5KHQsZSksbz17ZGVmYXVsdDoxfSk7aWYocylmb3IoY29uc3QgYSBpbiBpKSFueShhKSYmb1thXT09bnVsbCYmZGVsZXRlIGlbYV19O2Z1bmN0aW9uIERjKHQsZSxuLHIsaT0hMSl7aWYoUGUodCkpe3QuZm9yRWFjaCgoZixoKT0+RGMoZixlJiYoUGUoZSk/ZVtoXTplKSxuLHIsaSkpO3JldHVybn1pZihKaShyKSYmIWkpcmV0dXJuO2NvbnN0IHM9ci5zaGFwZUZsYWcmND9sbChyLmNvbXBvbmVudCl8fHIuY29tcG9uZW50LnByb3h5OnIuZWwsbz1pP251bGw6cyx7aTphLHI6bH09dCxjPWUmJmUucix1PWEucmVmcz09PWx0P2EucmVmcz17fTphLnJlZnMsZD1hLnNldHVwU3RhdGU7aWYoYyE9bnVsbCYmYyE9PWwmJihPdChjKT8odVtjXT1udWxsLGV0KGQsYykmJihkW2NdPW51bGwpKTpFdChjKSYmKGMudmFsdWU9bnVsbCkpLEJlKGwpKUdyKGwsYSwxMixbbyx1XSk7ZWxzZXtjb25zdCBmPU90KGwpLGg9RXQobCk7aWYoZnx8aCl7Y29uc3QgbT0oKT0+e2lmKHQuZil7Y29uc3QgcD1mP2V0KGQsbCk/ZFtsXTp1W2xdOmwudmFsdWU7aT9QZShwKSYmWXUocCxzKTpQZShwKT9wLmluY2x1ZGVzKHMpfHxwLnB1c2gocyk6Zj8odVtsXT1bc10sZXQoZCxsKSYmKGRbbF09dVtsXSkpOihsLnZhbHVlPVtzXSx0LmsmJih1W3Qua109bC52YWx1ZSkpfWVsc2UgZj8odVtsXT1vLGV0KGQsbCkmJihkW2xdPW8pKTpoJiYobC52YWx1ZT1vLHQuayYmKHVbdC5rXT1vKSl9O28/KG0uaWQ9LTEsTXQobSxuKSk6bSgpfX19Y29uc3QgTXQ9cms7ZnVuY3Rpb24gTWsodCl7cmV0dXJuIExrKHQpfWZ1bmN0aW9uIExrKHQsZSl7Y29uc3Qgbj1kZygpO24uX19WVUVfXz0hMDtjb25zdHtpbnNlcnQ6cixyZW1vdmU6aSxwYXRjaFByb3A6cyxjcmVhdGVFbGVtZW50Om8sY3JlYXRlVGV4dDphLGNyZWF0ZUNvbW1lbnQ6bCxzZXRUZXh0OmMsc2V0RWxlbWVudFRleHQ6dSxwYXJlbnROb2RlOmQsbmV4dFNpYmxpbmc6ZixzZXRTY29wZUlkOmg9Ym4saW5zZXJ0U3RhdGljQ29udGVudDptfT10LHA9KE8sUCxnLE49bnVsbCxXPW51bGwsej1udWxsLHRlPXZvaWQgMCxRPW51bGwsdj0hIVAuZHluYW1pY0NoaWxkcmVuKT0+e2lmKE89PT1QKXJldHVybjtPJiYhVW4oTyxQKSYmKE49SChPKSxKKE8sVyx6LCEwKSxPPW51bGwpLFAucGF0Y2hGbGFnPT09LTImJih2PSExLFAuZHluYW1pY0NoaWxkcmVuPW51bGwpO2NvbnN0e3R5cGU6eSxyZWY6TSxzaGFwZUZsYWc6WH09UDtzd2l0Y2goeSl7Y2FzZSBObzprKE8sUCxnLE4pO2JyZWFrO2Nhc2UgSnQ6eChPLFAsZyxOKTticmVhaztjYXNlIHFsOk89PW51bGwmJkMoUCxnLE4sdGUpO2JyZWFrO2Nhc2UgcWU6aihPLFAsZyxOLFcseix0ZSxRLHYpO2JyZWFrO2RlZmF1bHQ6WCYxP0UoTyxQLGcsTixXLHosdGUsUSx2KTpYJjY/cmUoTyxQLGcsTixXLHosdGUsUSx2KTooWCY2NHx8WCYxMjgpJiZ5LnByb2Nlc3MoTyxQLGcsTixXLHosdGUsUSx2LGZlKX1NIT1udWxsJiZXJiZEYyhNLE8mJk8ucmVmLHosUHx8TywhUCl9LGs9KE8sUCxnLE4pPT57aWYoTz09bnVsbClyKFAuZWw9YShQLmNoaWxkcmVuKSxnLE4pO2Vsc2V7Y29uc3QgVz1QLmVsPU8uZWw7UC5jaGlsZHJlbiE9PU8uY2hpbGRyZW4mJmMoVyxQLmNoaWxkcmVuKX19LHg9KE8sUCxnLE4pPT57Tz09bnVsbD9yKFAuZWw9bChQLmNoaWxkcmVufHwiIiksZyxOKTpQLmVsPU8uZWx9LEM9KE8sUCxnLE4pPT57W08uZWwsTy5hbmNob3JdPW0oTy5jaGlsZHJlbixQLGcsTixPLmVsLE8uYW5jaG9yKX0sYj0oe2VsOk8sYW5jaG9yOlB9LGcsTik9PntsZXQgVztmb3IoO08mJk8hPT1QOylXPWYoTykscihPLGcsTiksTz1XO3IoUCxnLE4pfSxUPSh7ZWw6TyxhbmNob3I6UH0pPT57bGV0IGc7Zm9yKDtPJiZPIT09UDspZz1mKE8pLGkoTyksTz1nO2koUCl9LEU9KE8sUCxnLE4sVyx6LHRlLFEsdik9PntQLnR5cGU9PT0ic3ZnIj90ZT0ic3ZnIjpQLnR5cGU9PT0ibWF0aCImJih0ZT0ibWF0aG1sIiksTz09bnVsbD93KFAsZyxOLFcseix0ZSxRLHYpOkkoTyxQLFcseix0ZSxRLHYpfSx3PShPLFAsZyxOLFcseix0ZSxRKT0+e2xldCB2LHk7Y29uc3R7cHJvcHM6TSxzaGFwZUZsYWc6WCx0cmFuc2l0aW9uOnVlLGRpcnM6aWV9PU87aWYodj1PLmVsPW8oTy50eXBlLHosTSYmTS5pcyxNKSxYJjg/dSh2LE8uY2hpbGRyZW4pOlgmMTYmJkQoTy5jaGlsZHJlbix2LG51bGwsTixXLEpsKE8seiksdGUsUSksaWUmJnJpKE8sbnVsbCxOLCJjcmVhdGVkIiksUih2LE8sTy5zY29wZUlkLHRlLE4pLE0pe2Zvcihjb25zdCBHIGluIE0pRyE9PSJ2YWx1ZSImJiFVcyhHKSYmcyh2LEcsbnVsbCxNW0ddLHosTy5jaGlsZHJlbixOLFcsVWUpOyJ2YWx1ZSJpbiBNJiZzKHYsInZhbHVlIixudWxsLE0udmFsdWUseiksKHk9TS5vblZub2RlQmVmb3JlTW91bnQpJiZ5bih5LE4sTyl9aWUmJnJpKE8sbnVsbCxOLCJiZWZvcmVNb3VudCIpO2NvbnN0ICQ9RmsoVyx1ZSk7JCYmdWUuYmVmb3JlRW50ZXIodikscih2LFAsZyksKCh5PU0mJk0ub25Wbm9kZU1vdW50ZWQpfHwkfHxpZSkmJk10KCgpPT57eSYmeW4oeSxOLE8pLCQmJnVlLmVudGVyKHYpLGllJiZyaShPLG51bGwsTiwibW91bnRlZCIpfSxXKX0sUj0oTyxQLGcsTixXKT0+e2lmKGcmJmgoTyxnKSxOKWZvcihsZXQgej0wO3o8Ti5sZW5ndGg7eisrKWgoTyxOW3pdKTtpZihXKXtsZXQgej1XLnN1YlRyZWU7aWYoUD09PXope2NvbnN0IHRlPVcudm5vZGU7UihPLHRlLHRlLnNjb3BlSWQsdGUuc2xvdFNjb3BlSWRzLFcucGFyZW50KX19fSxEPShPLFAsZyxOLFcseix0ZSxRLHY9MCk9Pntmb3IobGV0IHk9djt5PE8ubGVuZ3RoO3krKyl7Y29uc3QgTT1PW3ldPVE/UnIoT1t5XSk6am4oT1t5XSk7cChudWxsLE0sUCxnLE4sVyx6LHRlLFEpfX0sST0oTyxQLGcsTixXLHosdGUpPT57Y29uc3QgUT1QLmVsPU8uZWw7bGV0e3BhdGNoRmxhZzp2LGR5bmFtaWNDaGlsZHJlbjp5LGRpcnM6TX09UDt2fD1PLnBhdGNoRmxhZyYxNjtjb25zdCBYPU8ucHJvcHN8fGx0LHVlPVAucHJvcHN8fGx0O2xldCBpZTtpZihnJiZpaShnLCExKSwoaWU9dWUub25Wbm9kZUJlZm9yZVVwZGF0ZSkmJnluKGllLGcsUCxPKSxNJiZyaShQLE8sZywiYmVmb3JlVXBkYXRlIiksZyYmaWkoZywhMCkseT9CKE8uZHluYW1pY0NoaWxkcmVuLHksUSxnLE4sSmwoUCxXKSx6KTp0ZXx8QWUoTyxQLFEsbnVsbCxnLE4sSmwoUCxXKSx6LCExKSx2PjApe2lmKHYmMTYpTChRLFAsWCx1ZSxnLE4sVyk7ZWxzZSBpZih2JjImJlguY2xhc3MhPT11ZS5jbGFzcyYmcyhRLCJjbGFzcyIsbnVsbCx1ZS5jbGFzcyxXKSx2JjQmJnMoUSwic3R5bGUiLFguc3R5bGUsdWUuc3R5bGUsVyksdiY4KXtjb25zdCAkPVAuZHluYW1pY1Byb3BzO2ZvcihsZXQgRz0wO0c8JC5sZW5ndGg7RysrKXtjb25zdCBFZT0kW0ddLFZlPVhbRWVdLGh0PXVlW0VlXTsoaHQhPT1WZXx8RWU9PT0idmFsdWUiKSYmcyhRLEVlLFZlLGh0LFcsTy5jaGlsZHJlbixnLE4sVWUpfX12JjEmJk8uY2hpbGRyZW4hPT1QLmNoaWxkcmVuJiZ1KFEsUC5jaGlsZHJlbil9ZWxzZSF0ZSYmeT09bnVsbCYmTChRLFAsWCx1ZSxnLE4sVyk7KChpZT11ZS5vblZub2RlVXBkYXRlZCl8fE0pJiZNdCgoKT0+e2llJiZ5bihpZSxnLFAsTyksTSYmcmkoUCxPLGcsInVwZGF0ZWQiKX0sTil9LEI9KE8sUCxnLE4sVyx6LHRlKT0+e2ZvcihsZXQgUT0wO1E8UC5sZW5ndGg7USsrKXtjb25zdCB2PU9bUV0seT1QW1FdLE09di5lbCYmKHYudHlwZT09PXFlfHwhVW4odix5KXx8di5zaGFwZUZsYWcmNzApP2Qodi5lbCk6ZztwKHYseSxNLG51bGwsTixXLHosdGUsITApfX0sTD0oTyxQLGcsTixXLHosdGUpPT57aWYoZyE9PU4pe2lmKGchPT1sdClmb3IoY29uc3QgUSBpbiBnKSFVcyhRKSYmIShRIGluIE4pJiZzKE8sUSxnW1FdLG51bGwsdGUsUC5jaGlsZHJlbixXLHosVWUpO2Zvcihjb25zdCBRIGluIE4pe2lmKFVzKFEpKWNvbnRpbnVlO2NvbnN0IHY9TltRXSx5PWdbUV07diE9PXkmJlEhPT0idmFsdWUiJiZzKE8sUSx5LHYsdGUsUC5jaGlsZHJlbixXLHosVWUpfSJ2YWx1ZSJpbiBOJiZzKE8sInZhbHVlIixnLnZhbHVlLE4udmFsdWUsdGUpfX0saj0oTyxQLGcsTixXLHosdGUsUSx2KT0+e2NvbnN0IHk9UC5lbD1PP08uZWw6YSgiIiksTT1QLmFuY2hvcj1PP08uYW5jaG9yOmEoIiIpO2xldHtwYXRjaEZsYWc6WCxkeW5hbWljQ2hpbGRyZW46dWUsc2xvdFNjb3BlSWRzOmllfT1QO2llJiYoUT1RP1EuY29uY2F0KGllKTppZSksTz09bnVsbD8ocih5LGcsTikscihNLGcsTiksRChQLmNoaWxkcmVufHxbXSxnLE0sVyx6LHRlLFEsdikpOlg+MCYmWCY2NCYmdWUmJk8uZHluYW1pY0NoaWxkcmVuPyhCKE8uZHluYW1pY0NoaWxkcmVuLHVlLGcsVyx6LHRlLFEpLChQLmtleSE9bnVsbHx8VyYmUD09PVcuc3ViVHJlZSkmJmtkKE8sUCwhMCkpOkFlKE8sUCxnLE0sVyx6LHRlLFEsdil9LHJlPShPLFAsZyxOLFcseix0ZSxRLHYpPT57UC5zbG90U2NvcGVJZHM9USxPPT1udWxsP1Auc2hhcGVGbGFnJjUxMj9XLmN0eC5hY3RpdmF0ZShQLGcsTix0ZSx2KTp4ZShQLGcsTixXLHosdGUsdik6VGUoTyxQLHYpfSx4ZT0oTyxQLGcsTixXLHosdGUpPT57Y29uc3QgUT1PLmNvbXBvbmVudD1KayhPLE4sVyk7aWYoc2woTykmJihRLmN0eC5yZW5kZXJlcj1mZSkscWsoUSksUS5hc3luY0RlcCl7aWYoVyYmVy5yZWdpc3RlckRlcChRLGxlKSwhTy5lbCl7Y29uc3Qgdj1RLnN1YlRyZWU9ZWUoSnQpO3gobnVsbCx2LFAsZyl9fWVsc2UgbGUoUSxPLFAsZyxXLHosdGUpfSxUZT0oTyxQLGcpPT57Y29uc3QgTj1QLmNvbXBvbmVudD1PLmNvbXBvbmVudDtpZihLdyhPLFAsZykpaWYoTi5hc3luY0RlcCYmIU4uYXN5bmNSZXNvbHZlZCl7eWUoTixQLGcpO3JldHVybn1lbHNlIE4ubmV4dD1QLFZ3KE4udXBkYXRlKSxOLmVmZmVjdC5kaXJ0eT0hMCxOLnVwZGF0ZSgpO2Vsc2UgUC5lbD1PLmVsLE4udm5vZGU9UH0sbGU9KE8sUCxnLE4sVyx6LHRlKT0+e2NvbnN0IFE9KCk9PntpZihPLmlzTW91bnRlZCl7bGV0e25leHQ6TSxidTpYLHU6dWUscGFyZW50OmllLHZub2RlOiR9PU87e2NvbnN0IEY9c3koTyk7aWYoRil7TSYmKE0uZWw9JC5lbCx5ZShPLE0sdGUpKSxGLmFzeW5jRGVwLnRoZW4oKCk9PntPLmlzVW5tb3VudGVkfHxRKCl9KTtyZXR1cm59fWxldCBHPU0sRWU7aWkoTywhMSksTT8oTS5lbD0kLmVsLHllKE8sTSx0ZSkpOk09JCxYJiZWcyhYKSwoRWU9TS5wcm9wcyYmTS5wcm9wcy5vblZub2RlQmVmb3JlVXBkYXRlKSYmeW4oRWUsaWUsTSwkKSxpaShPLCEwKTtjb25zdCBWZT1SZihPKSxodD1PLnN1YlRyZWU7Ty5zdWJUcmVlPVZlLHAoaHQsVmUsZChodC5lbCksSChodCksTyxXLHopLE0uZWw9VmUuZWwsRz09PW51bGwmJmdkKE8sVmUuZWwpLHVlJiZNdCh1ZSxXKSwoRWU9TS5wcm9wcyYmTS5wcm9wcy5vblZub2RlVXBkYXRlZCkmJk10KCgpPT55bihFZSxpZSxNLCQpLFcpfWVsc2V7bGV0IE07Y29uc3R7ZWw6WCxwcm9wczp1ZX09UCx7Ym06aWUsbTokLHBhcmVudDpHfT1PLEVlPUppKFApO2lpKE8sITEpLGllJiZWcyhpZSksIUVlJiYoTT11ZSYmdWUub25Wbm9kZUJlZm9yZU1vdW50KSYmeW4oTSxHLFApLGlpKE8sITApO3tjb25zdCBWZT1PLnN1YlRyZWU9UmYoTyk7cChudWxsLFZlLGcsTixPLFcseiksUC5lbD1WZS5lbH1pZigkJiZNdCgkLFcpLCFFZSYmKE09dWUmJnVlLm9uVm5vZGVNb3VudGVkKSl7Y29uc3QgVmU9UDtNdCgoKT0+eW4oTSxHLFZlKSxXKX0oUC5zaGFwZUZsYWcmMjU2fHxHJiZKaShHLnZub2RlKSYmRy52bm9kZS5zaGFwZUZsYWcmMjU2KSYmTy5hJiZNdChPLmEsVyksTy5pc01vdW50ZWQ9ITAsUD1nPU49bnVsbH19LHY9Ty5lZmZlY3Q9bmV3IGlkKFEsYm4sKCk9PnBkKHkpLE8uc2NvcGUpLHk9Ty51cGRhdGU9KCk9Pnt2LmRpcnR5JiZ2LnJ1bigpfTt5LmlkPU8udWlkLGlpKE8sITApLHkoKX0seWU9KE8sUCxnKT0+e1AuY29tcG9uZW50PU87Y29uc3QgTj1PLnZub2RlLnByb3BzO08udm5vZGU9UCxPLm5leHQ9bnVsbCxJayhPLFAucHJvcHMsTixnKSxEayhPLFAuY2hpbGRyZW4sZykscXIoKSxOZihPKSxacigpfSxBZT0oTyxQLGcsTixXLHosdGUsUSx2PSExKT0+e2NvbnN0IHk9TyYmTy5jaGlsZHJlbixNPU8/Ty5zaGFwZUZsYWc6MCxYPVAuY2hpbGRyZW4se3BhdGNoRmxhZzp1ZSxzaGFwZUZsYWc6aWV9PVA7aWYodWU+MCl7aWYodWUmMTI4KXtydCh5LFgsZyxOLFcseix0ZSxRLHYpO3JldHVybn1lbHNlIGlmKHVlJjI1Nil7WmUoeSxYLGcsTixXLHosdGUsUSx2KTtyZXR1cm59fWllJjg/KE0mMTYmJlVlKHksVyx6KSxYIT09eSYmdShnLFgpKTpNJjE2P2llJjE2P3J0KHksWCxnLE4sVyx6LHRlLFEsdik6VWUoeSxXLHosITApOihNJjgmJnUoZywiIiksaWUmMTYmJkQoWCxnLE4sVyx6LHRlLFEsdikpfSxaZT0oTyxQLGcsTixXLHosdGUsUSx2KT0+e089T3x8V2ksUD1QfHxXaTtjb25zdCB5PU8ubGVuZ3RoLE09UC5sZW5ndGgsWD1NYXRoLm1pbih5LE0pO2xldCB1ZTtmb3IodWU9MDt1ZTxYO3VlKyspe2NvbnN0IGllPVBbdWVdPXY/UnIoUFt1ZV0pOmpuKFBbdWVdKTtwKE9bdWVdLGllLGcsbnVsbCxXLHosdGUsUSx2KX15Pk0/VWUoTyxXLHosITAsITEsWCk6RChQLGcsTixXLHosdGUsUSx2LFgpfSxydD0oTyxQLGcsTixXLHosdGUsUSx2KT0+e2xldCB5PTA7Y29uc3QgTT1QLmxlbmd0aDtsZXQgWD1PLmxlbmd0aC0xLHVlPU0tMTtmb3IoO3k8PVgmJnk8PXVlOyl7Y29uc3QgaWU9T1t5XSwkPVBbeV09dj9ScihQW3ldKTpqbihQW3ldKTtpZihVbihpZSwkKSlwKGllLCQsZyxudWxsLFcseix0ZSxRLHYpO2Vsc2UgYnJlYWs7eSsrfWZvcig7eTw9WCYmeTw9dWU7KXtjb25zdCBpZT1PW1hdLCQ9UFt1ZV09dj9ScihQW3VlXSk6am4oUFt1ZV0pO2lmKFVuKGllLCQpKXAoaWUsJCxnLG51bGwsVyx6LHRlLFEsdik7ZWxzZSBicmVhaztYLS0sdWUtLX1pZih5Plgpe2lmKHk8PXVlKXtjb25zdCBpZT11ZSsxLCQ9aWU8TT9QW2llXS5lbDpOO2Zvcig7eTw9dWU7KXAobnVsbCxQW3ldPXY/UnIoUFt5XSk6am4oUFt5XSksZywkLFcseix0ZSxRLHYpLHkrK319ZWxzZSBpZih5PnVlKWZvcig7eTw9WDspSihPW3ldLFcseiwhMCkseSsrO2Vsc2V7Y29uc3QgaWU9eSwkPXksRz1uZXcgTWFwO2Zvcih5PSQ7eTw9dWU7eSsrKXtjb25zdCBfZT1QW3ldPXY/UnIoUFt5XSk6am4oUFt5XSk7X2Uua2V5IT1udWxsJiZHLnNldChfZS5rZXkseSl9bGV0IEVlLFZlPTA7Y29uc3QgaHQ9dWUtJCsxO2xldCBGPSExLFY9MDtjb25zdCBxPW5ldyBBcnJheShodCk7Zm9yKHk9MDt5PGh0O3krKylxW3ldPTA7Zm9yKHk9aWU7eTw9WDt5Kyspe2NvbnN0IF9lPU9beV07aWYoVmU+PWh0KXtKKF9lLFcseiwhMCk7Y29udGludWV9bGV0IHN0O2lmKF9lLmtleSE9bnVsbClzdD1HLmdldChfZS5rZXkpO2Vsc2UgZm9yKEVlPSQ7RWU8PXVlO0VlKyspaWYocVtFZS0kXT09PTAmJlVuKF9lLFBbRWVdKSl7c3Q9RWU7YnJlYWt9c3Q9PT12b2lkIDA/SihfZSxXLHosITApOihxW3N0LSRdPXkrMSxzdD49Vj9WPXN0OkY9ITAscChfZSxQW3N0XSxnLG51bGwsVyx6LHRlLFEsdiksVmUrKyl9Y29uc3QgZGU9Rj8kayhxKTpXaTtmb3IoRWU9ZGUubGVuZ3RoLTEseT1odC0xO3k+PTA7eS0tKXtjb25zdCBfZT0kK3ksc3Q9UFtfZV0sdnQ9X2UrMTxNP1BbX2UrMV0uZWw6TjtxW3ldPT09MD9wKG51bGwsc3QsZyx2dCxXLHosdGUsUSx2KTpGJiYoRWU8MHx8eSE9PWRlW0VlXT93ZShzdCxnLHZ0LDIpOkVlLS0pfX19LHdlPShPLFAsZyxOLFc9bnVsbCk9Pntjb25zdHtlbDp6LHR5cGU6dGUsdHJhbnNpdGlvbjpRLGNoaWxkcmVuOnYsc2hhcGVGbGFnOnl9PU87aWYoeSY2KXt3ZShPLmNvbXBvbmVudC5zdWJUcmVlLFAsZyxOKTtyZXR1cm59aWYoeSYxMjgpe08uc3VzcGVuc2UubW92ZShQLGcsTik7cmV0dXJufWlmKHkmNjQpe3RlLm1vdmUoTyxQLGcsZmUpO3JldHVybn1pZih0ZT09PXFlKXtyKHosUCxnKTtmb3IobGV0IFg9MDtYPHYubGVuZ3RoO1grKyl3ZSh2W1hdLFAsZyxOKTtyKE8uYW5jaG9yLFAsZyk7cmV0dXJufWlmKHRlPT09cWwpe2IoTyxQLGcpO3JldHVybn1pZihOIT09MiYmeSYxJiZRKWlmKE49PT0wKVEuYmVmb3JlRW50ZXIoeikscih6LFAsZyksTXQoKCk9PlEuZW50ZXIoeiksVyk7ZWxzZXtjb25zdHtsZWF2ZTpYLGRlbGF5TGVhdmU6dWUsYWZ0ZXJMZWF2ZTppZX09USwkPSgpPT5yKHosUCxnKSxHPSgpPT57WCh6LCgpPT57JCgpLGllJiZpZSgpfSl9O3VlP3VlKHosJCxHKTpHKCl9ZWxzZSByKHosUCxnKX0sSj0oTyxQLGcsTj0hMSxXPSExKT0+e2NvbnN0e3R5cGU6eixwcm9wczp0ZSxyZWY6USxjaGlsZHJlbjp2LGR5bmFtaWNDaGlsZHJlbjp5LHNoYXBlRmxhZzpNLHBhdGNoRmxhZzpYLGRpcnM6dWV9PU87aWYoUSE9bnVsbCYmRGMoUSxudWxsLGcsTywhMCksTSYyNTYpe1AuY3R4LmRlYWN0aXZhdGUoTyk7cmV0dXJufWNvbnN0IGllPU0mMSYmdWUsJD0hSmkoTyk7bGV0IEc7aWYoJCYmKEc9dGUmJnRlLm9uVm5vZGVCZWZvcmVVbm1vdW50KSYmeW4oRyxQLE8pLE0mNilSZShPLmNvbXBvbmVudCxnLE4pO2Vsc2V7aWYoTSYxMjgpe08uc3VzcGVuc2UudW5tb3VudChnLE4pO3JldHVybn1pZSYmcmkoTyxudWxsLFAsImJlZm9yZVVubW91bnQiKSxNJjY0P08udHlwZS5yZW1vdmUoTyxQLGcsVyxmZSxOKTp5JiYoeiE9PXFlfHxYPjAmJlgmNjQpP1VlKHksUCxnLCExLCEwKTooej09PXFlJiZYJjM4NHx8IVcmJk0mMTYpJiZVZSh2LFAsZyksTiYmSWUoTyl9KCQmJihHPXRlJiZ0ZS5vblZub2RlVW5tb3VudGVkKXx8aWUpJiZNdCgoKT0+e0cmJnluKEcsUCxPKSxpZSYmcmkoTyxudWxsLFAsInVubW91bnRlZCIpfSxnKX0sSWU9Tz0+e2NvbnN0e3R5cGU6UCxlbDpnLGFuY2hvcjpOLHRyYW5zaXRpb246V309TztpZihQPT09cWUpe3plKGcsTik7cmV0dXJufWlmKFA9PT1xbCl7VChPKTtyZXR1cm59Y29uc3Qgej0oKT0+e2koZyksVyYmIVcucGVyc2lzdGVkJiZXLmFmdGVyTGVhdmUmJlcuYWZ0ZXJMZWF2ZSgpfTtpZihPLnNoYXBlRmxhZyYxJiZXJiYhVy5wZXJzaXN0ZWQpe2NvbnN0e2xlYXZlOnRlLGRlbGF5TGVhdmU6UX09Vyx2PSgpPT50ZShnLHopO1E/UShPLmVsLHosdik6digpfWVsc2UgeigpfSx6ZT0oTyxQKT0+e2xldCBnO2Zvcig7TyE9PVA7KWc9ZihPKSxpKE8pLE89ZztpKFApfSxSZT0oTyxQLGcpPT57Y29uc3R7YnVtOk4sc2NvcGU6Vyx1cGRhdGU6eixzdWJUcmVlOnRlLHVtOlF9PU87TiYmVnMoTiksVy5zdG9wKCkseiYmKHouYWN0aXZlPSExLEoodGUsTyxQLGcpKSxRJiZNdChRLFApLE10KCgpPT57Ty5pc1VubW91bnRlZD0hMH0sUCksUCYmUC5wZW5kaW5nQnJhbmNoJiYhUC5pc1VubW91bnRlZCYmTy5hc3luY0RlcCYmIU8uYXN5bmNSZXNvbHZlZCYmTy5zdXNwZW5zZUlkPT09UC5wZW5kaW5nSWQmJihQLmRlcHMtLSxQLmRlcHM9PT0wJiZQLnJlc29sdmUoKSl9LFVlPShPLFAsZyxOPSExLFc9ITEsej0wKT0+e2ZvcihsZXQgdGU9ejt0ZTxPLmxlbmd0aDt0ZSsrKUooT1t0ZV0sUCxnLE4sVyl9LEg9Tz0+Ty5zaGFwZUZsYWcmNj9IKE8uY29tcG9uZW50LnN1YlRyZWUpOk8uc2hhcGVGbGFnJjEyOD9PLnN1c3BlbnNlLm5leHQoKTpmKE8uYW5jaG9yfHxPLmVsKTtsZXQgY2U9ITE7Y29uc3QgYWU9KE8sUCxnKT0+e089PW51bGw/UC5fdm5vZGUmJkooUC5fdm5vZGUsbnVsbCxudWxsLCEwKTpwKFAuX3Zub2RlfHxudWxsLE8sUCxudWxsLG51bGwsbnVsbCxnKSxjZXx8KGNlPSEwLE5mKCksUmcoKSxjZT0hMSksUC5fdm5vZGU9T30sZmU9e3AsdW06SixtOndlLHI6SWUsbXQ6eGUsbWM6RCxwYzpBZSxwYmM6QixuOkgsbzp0fTtyZXR1cm57cmVuZGVyOmFlLGh5ZHJhdGU6dm9pZCAwLGNyZWF0ZUFwcDpPayhhZSl9fWZ1bmN0aW9uIEpsKHt0eXBlOnQscHJvcHM6ZX0sbil7cmV0dXJuIG49PT0ic3ZnIiYmdD09PSJmb3JlaWduT2JqZWN0Inx8bj09PSJtYXRobWwiJiZ0PT09ImFubm90YXRpb24teG1sIiYmZSYmZS5lbmNvZGluZyYmZS5lbmNvZGluZy5pbmNsdWRlcygiaHRtbCIpP3ZvaWQgMDpufWZ1bmN0aW9uIGlpKHtlZmZlY3Q6dCx1cGRhdGU6ZX0sbil7dC5hbGxvd1JlY3Vyc2U9ZS5hbGxvd1JlY3Vyc2U9bn1mdW5jdGlvbiBGayh0LGUpe3JldHVybighdHx8dCYmIXQucGVuZGluZ0JyYW5jaCkmJmUmJiFlLnBlcnNpc3RlZH1mdW5jdGlvbiBrZCh0LGUsbj0hMSl7Y29uc3Qgcj10LmNoaWxkcmVuLGk9ZS5jaGlsZHJlbjtpZihQZShyKSYmUGUoaSkpZm9yKGxldCBzPTA7czxyLmxlbmd0aDtzKyspe2NvbnN0IG89cltzXTtsZXQgYT1pW3NdO2Euc2hhcGVGbGFnJjEmJiFhLmR5bmFtaWNDaGlsZHJlbiYmKChhLnBhdGNoRmxhZzw9MHx8YS5wYXRjaEZsYWc9PT0zMikmJihhPWlbc109UnIoaVtzXSksYS5lbD1vLmVsKSxufHxrZChvLGEpKSxhLnR5cGU9PT1ObyYmKGEuZWw9by5lbCl9fWZ1bmN0aW9uICRrKHQpe2NvbnN0IGU9dC5zbGljZSgpLG49WzBdO2xldCByLGkscyxvLGE7Y29uc3QgbD10Lmxlbmd0aDtmb3Iocj0wO3I8bDtyKyspe2NvbnN0IGM9dFtyXTtpZihjIT09MCl7aWYoaT1uW24ubGVuZ3RoLTFdLHRbaV08Yyl7ZVtyXT1pLG4ucHVzaChyKTtjb250aW51ZX1mb3Iocz0wLG89bi5sZW5ndGgtMTtzPG87KWE9cytvPj4xLHRbblthXV08Yz9zPWErMTpvPWE7Yzx0W25bc11dJiYocz4wJiYoZVtyXT1uW3MtMV0pLG5bc109cil9fWZvcihzPW4ubGVuZ3RoLG89bltzLTFdO3MtLSA+MDspbltzXT1vLG89ZVtvXTtyZXR1cm4gbn1mdW5jdGlvbiBzeSh0KXtjb25zdCBlPXQuc3ViVHJlZS5jb21wb25lbnQ7aWYoZSlyZXR1cm4gZS5hc3luY0RlcCYmIWUuYXN5bmNSZXNvbHZlZD9lOnN5KGUpfWNvbnN0IGprPXQ9PnQuX19pc1RlbGVwb3J0LHpzPXQ9PnQmJih0LmRpc2FibGVkfHx0LmRpc2FibGVkPT09IiIpLHpmPXQ9PnR5cGVvZiBTVkdFbGVtZW50PCJ1IiYmdCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQsSGY9dD0+dHlwZW9mIE1hdGhNTEVsZW1lbnQ9PSJmdW5jdGlvbiImJnQgaW5zdGFuY2VvZiBNYXRoTUxFbGVtZW50LE1jPSh0LGUpPT57Y29uc3Qgbj10JiZ0LnRvO3JldHVybiBPdChuKT9lP2Uobik6bnVsbDpufSxCaz17bmFtZToiVGVsZXBvcnQiLF9faXNUZWxlcG9ydDohMCxwcm9jZXNzKHQsZSxuLHIsaSxzLG8sYSxsLGMpe2NvbnN0e21jOnUscGM6ZCxwYmM6ZixvOntpbnNlcnQ6aCxxdWVyeVNlbGVjdG9yOm0sY3JlYXRlVGV4dDpwLGNyZWF0ZUNvbW1lbnQ6a319PWMseD16cyhlLnByb3BzKTtsZXR7c2hhcGVGbGFnOkMsY2hpbGRyZW46YixkeW5hbWljQ2hpbGRyZW46VH09ZTtpZih0PT1udWxsKXtjb25zdCBFPWUuZWw9cCgiIiksdz1lLmFuY2hvcj1wKCIiKTtoKEUsbixyKSxoKHcsbixyKTtjb25zdCBSPWUudGFyZ2V0PU1jKGUucHJvcHMsbSksRD1lLnRhcmdldEFuY2hvcj1wKCIiKTtSJiYoaChELFIpLG89PT0ic3ZnInx8emYoUik/bz0ic3ZnIjoobz09PSJtYXRobWwifHxIZihSKSkmJihvPSJtYXRobWwiKSk7Y29uc3QgST0oQixMKT0+e0MmMTYmJnUoYixCLEwsaSxzLG8sYSxsKX07eD9JKG4sdyk6UiYmSShSLEQpfWVsc2V7ZS5lbD10LmVsO2NvbnN0IEU9ZS5hbmNob3I9dC5hbmNob3Isdz1lLnRhcmdldD10LnRhcmdldCxSPWUudGFyZ2V0QW5jaG9yPXQudGFyZ2V0QW5jaG9yLEQ9enModC5wcm9wcyksST1EP246dyxCPUQ/RTpSO2lmKG89PT0ic3ZnInx8emYodyk/bz0ic3ZnIjoobz09PSJtYXRobWwifHxIZih3KSkmJihvPSJtYXRobWwiKSxUPyhmKHQuZHluYW1pY0NoaWxkcmVuLFQsSSxpLHMsbyxhKSxrZCh0LGUsITApKTpsfHxkKHQsZSxJLEIsaSxzLG8sYSwhMSkseClEP2UucHJvcHMmJnQucHJvcHMmJmUucHJvcHMudG8hPT10LnByb3BzLnRvJiYoZS5wcm9wcy50bz10LnByb3BzLnRvKTpRbyhlLG4sRSxjLDEpO2Vsc2UgaWYoKGUucHJvcHMmJmUucHJvcHMudG8pIT09KHQucHJvcHMmJnQucHJvcHMudG8pKXtjb25zdCBMPWUudGFyZ2V0PU1jKGUucHJvcHMsbSk7TCYmUW8oZSxMLG51bGwsYywwKX1lbHNlIEQmJlFvKGUsdyxSLGMsMSl9YXkoZSl9LHJlbW92ZSh0LGUsbixyLHt1bTppLG86e3JlbW92ZTpzfX0sbyl7Y29uc3R7c2hhcGVGbGFnOmEsY2hpbGRyZW46bCxhbmNob3I6Yyx0YXJnZXRBbmNob3I6dSx0YXJnZXQ6ZCxwcm9wczpmfT10O2lmKGQmJnModSksbyYmcyhjKSxhJjE2KXtjb25zdCBoPW98fCF6cyhmKTtmb3IobGV0IG09MDttPGwubGVuZ3RoO20rKyl7Y29uc3QgcD1sW21dO2kocCxlLG4saCwhIXAuZHluYW1pY0NoaWxkcmVuKX19fSxtb3ZlOlFvLGh5ZHJhdGU6VWt9O2Z1bmN0aW9uIFFvKHQsZSxuLHtvOntpbnNlcnQ6cn0sbTppfSxzPTIpe3M9PT0wJiZyKHQudGFyZ2V0QW5jaG9yLGUsbik7Y29uc3R7ZWw6byxhbmNob3I6YSxzaGFwZUZsYWc6bCxjaGlsZHJlbjpjLHByb3BzOnV9PXQsZD1zPT09MjtpZihkJiZyKG8sZSxuKSwoIWR8fHpzKHUpKSYmbCYxNilmb3IobGV0IGY9MDtmPGMubGVuZ3RoO2YrKylpKGNbZl0sZSxuLDIpO2QmJnIoYSxlLG4pfWZ1bmN0aW9uIFVrKHQsZSxuLHIsaSxzLHtvOntuZXh0U2libGluZzpvLHBhcmVudE5vZGU6YSxxdWVyeVNlbGVjdG9yOmx9fSxjKXtjb25zdCB1PWUudGFyZ2V0PU1jKGUucHJvcHMsbCk7aWYodSl7Y29uc3QgZD11Ll9scGF8fHUuZmlyc3RDaGlsZDtpZihlLnNoYXBlRmxhZyYxNilpZih6cyhlLnByb3BzKSllLmFuY2hvcj1jKG8odCksZSxhKHQpLG4scixpLHMpLGUudGFyZ2V0QW5jaG9yPWQ7ZWxzZXtlLmFuY2hvcj1vKHQpO2xldCBmPWQ7Zm9yKDtmOylpZihmPW8oZiksZiYmZi5ub2RlVHlwZT09PTgmJmYuZGF0YT09PSJ0ZWxlcG9ydCBhbmNob3IiKXtlLnRhcmdldEFuY2hvcj1mLHUuX2xwYT1lLnRhcmdldEFuY2hvciYmbyhlLnRhcmdldEFuY2hvcik7YnJlYWt9YyhkLGUsdSxuLHIsaSxzKX1heShlKX1yZXR1cm4gZS5hbmNob3ImJm8oZS5hbmNob3IpfWNvbnN0IG95PUJrO2Z1bmN0aW9uIGF5KHQpe2NvbnN0IGU9dC5jdHg7aWYoZSYmZS51dCl7bGV0IG49dC5jaGlsZHJlblswXS5lbDtmb3IoO24mJm4hPT10LnRhcmdldEFuY2hvcjspbi5ub2RlVHlwZT09PTEmJm4uc2V0QXR0cmlidXRlKCJkYXRhLXYtb3duZXIiLGUudWlkKSxuPW4ubmV4dFNpYmxpbmc7ZS51dCgpfX1jb25zdCBxZT1TeW1ib2wuZm9yKCJ2LWZndCIpLE5vPVN5bWJvbC5mb3IoInYtdHh0IiksSnQ9U3ltYm9sLmZvcigidi1jbXQiKSxxbD1TeW1ib2wuZm9yKCJ2LXN0YyIpLEhzPVtdO2xldCB3bj1udWxsO2Z1bmN0aW9uIFUodD0hMSl7SHMucHVzaCh3bj10P251bGw6W10pfWZ1bmN0aW9uIGx5KCl7SHMucG9wKCksd249SHNbSHMubGVuZ3RoLTFdfHxudWxsfWxldCB0cz0xO2Z1bmN0aW9uIEpmKHQpe3RzKz10fWZ1bmN0aW9uIGN5KHQpe3JldHVybiB0LmR5bmFtaWNDaGlsZHJlbj10cz4wP3dufHxXaTpudWxsLGx5KCksdHM+MCYmd24mJnduLnB1c2godCksdH1mdW5jdGlvbiBaKHQsZSxuLHIsaSxzKXtyZXR1cm4gY3koQSh0LGUsbixyLGkscywhMCkpfWZ1bmN0aW9uIHR0KHQsZSxuLHIsaSl7cmV0dXJuIGN5KGVlKHQsZSxuLHIsaSwhMCkpfWZ1bmN0aW9uIG5zKHQpe3JldHVybiB0P3QuX192X2lzVk5vZGU9PT0hMDohMX1mdW5jdGlvbiBVbih0LGUpe3JldHVybiB0LnR5cGU9PT1lLnR5cGUmJnQua2V5PT09ZS5rZXl9Y29uc3QgdXk9KHtrZXk6dH0pPT50Pz9udWxsLGdhPSh7cmVmOnQscmVmX2tleTplLHJlZl9mb3I6bn0pPT4odHlwZW9mIHQ9PSJudW1iZXIiJiYodD0iIit0KSx0IT1udWxsP090KHQpfHxFdCh0KXx8QmUodCk/e2k6VHQscjp0LGs6ZSxmOiEhbn06dDpudWxsKTtmdW5jdGlvbiBBKHQsZT1udWxsLG49bnVsbCxyPTAsaT1udWxsLHM9dD09PXFlPzA6MSxvPSExLGE9ITEpe2NvbnN0IGw9e19fdl9pc1ZOb2RlOiEwLF9fdl9za2lwOiEwLHR5cGU6dCxwcm9wczplLGtleTplJiZ1eShlKSxyZWY6ZSYmZ2EoZSksc2NvcGVJZDpubCxzbG90U2NvcGVJZHM6bnVsbCxjaGlsZHJlbjpuLGNvbXBvbmVudDpudWxsLHN1c3BlbnNlOm51bGwsc3NDb250ZW50Om51bGwsc3NGYWxsYmFjazpudWxsLGRpcnM6bnVsbCx0cmFuc2l0aW9uOm51bGwsZWw6bnVsbCxhbmNob3I6bnVsbCx0YXJnZXQ6bnVsbCx0YXJnZXRBbmNob3I6bnVsbCxzdGF0aWNDb3VudDowLHNoYXBlRmxhZzpzLHBhdGNoRmxhZzpyLGR5bmFtaWNQcm9wczppLGR5bmFtaWNDaGlsZHJlbjpudWxsLGFwcENvbnRleHQ6bnVsbCxjdHg6VHR9O3JldHVybiBhPyhTZChsLG4pLHMmMTI4JiZ0Lm5vcm1hbGl6ZShsKSk6biYmKGwuc2hhcGVGbGFnfD1PdChuKT84OjE2KSx0cz4wJiYhbyYmd24mJihsLnBhdGNoRmxhZz4wfHxzJjYpJiZsLnBhdGNoRmxhZyE9PTMyJiZ3bi5wdXNoKGwpLGx9Y29uc3QgZWU9Vms7ZnVuY3Rpb24gVmsodCxlPW51bGwsbj1udWxsLHI9MCxpPW51bGwscz0hMSl7aWYoKCF0fHx0PT09RmcpJiYodD1KdCksbnModCkpe2NvbnN0IGE9c3IodCxlLCEwKTtyZXR1cm4gbiYmU2QoYSxuKSx0cz4wJiYhcyYmd24mJihhLnNoYXBlRmxhZyY2P3duW3duLmluZGV4T2YodCldPWE6d24ucHVzaChhKSksYS5wYXRjaEZsYWd8PS0yLGF9aWYoWGsodCkmJih0PXQuX192Y2NPcHRzKSxlKXtlPVdrKGUpO2xldHtjbGFzczphLHN0eWxlOmx9PWU7YSYmIU90KGEpJiYoZS5jbGFzcz1EZShhKSksbXQobCkmJihBZyhsKSYmIVBlKGwpJiYobD1WdCh7fSxsKSksZS5zdHlsZT10ZChsKSl9Y29uc3Qgbz1PdCh0KT8xOkJnKHQpPzEyODpqayh0KT82NDptdCh0KT80OkJlKHQpPzI6MDtyZXR1cm4gQSh0LGUsbixyLGksbyxzLCEwKX1mdW5jdGlvbiBXayh0KXtyZXR1cm4gdD9BZyh0KXx8UWcodCk/VnQoe30sdCk6dDpudWxsfWZ1bmN0aW9uIHNyKHQsZSxuPSExLHI9ITEpe2NvbnN0e3Byb3BzOmkscmVmOnMscGF0Y2hGbGFnOm8sY2hpbGRyZW46YSx0cmFuc2l0aW9uOmx9PXQsYz1lP0drKGl8fHt9LGUpOmksdT17X192X2lzVk5vZGU6ITAsX192X3NraXA6ITAsdHlwZTp0LnR5cGUscHJvcHM6YyxrZXk6YyYmdXkoYykscmVmOmUmJmUucmVmP24mJnM/UGUocyk/cy5jb25jYXQoZ2EoZSkpOltzLGdhKGUpXTpnYShlKTpzLHNjb3BlSWQ6dC5zY29wZUlkLHNsb3RTY29wZUlkczp0LnNsb3RTY29wZUlkcyxjaGlsZHJlbjphLHRhcmdldDp0LnRhcmdldCx0YXJnZXRBbmNob3I6dC50YXJnZXRBbmNob3Isc3RhdGljQ291bnQ6dC5zdGF0aWNDb3VudCxzaGFwZUZsYWc6dC5zaGFwZUZsYWcscGF0Y2hGbGFnOmUmJnQudHlwZSE9PXFlP289PT0tMT8xNjpvfDE2Om8sZHluYW1pY1Byb3BzOnQuZHluYW1pY1Byb3BzLGR5bmFtaWNDaGlsZHJlbjp0LmR5bmFtaWNDaGlsZHJlbixhcHBDb250ZXh0OnQuYXBwQ29udGV4dCxkaXJzOnQuZGlycyx0cmFuc2l0aW9uOmwsY29tcG9uZW50OnQuY29tcG9uZW50LHN1c3BlbnNlOnQuc3VzcGVuc2Usc3NDb250ZW50OnQuc3NDb250ZW50JiZzcih0LnNzQ29udGVudCksc3NGYWxsYmFjazp0LnNzRmFsbGJhY2smJnNyKHQuc3NGYWxsYmFjayksZWw6dC5lbCxhbmNob3I6dC5hbmNob3IsY3R4OnQuY3R4LGNlOnQuY2V9O3JldHVybiBsJiZyJiYodS50cmFuc2l0aW9uPWwuY2xvbmUodSkpLHV9ZnVuY3Rpb24gJGUodD0iICIsZT0wKXtyZXR1cm4gZWUoTm8sbnVsbCx0LGUpfWZ1bmN0aW9uIE1lKHQ9IiIsZT0hMSl7cmV0dXJuIGU/KFUoKSx0dChKdCxudWxsLHQpKTplZShKdCxudWxsLHQpfWZ1bmN0aW9uIGpuKHQpe3JldHVybiB0PT1udWxsfHx0eXBlb2YgdD09ImJvb2xlYW4iP2VlKEp0KTpQZSh0KT9lZShxZSxudWxsLHQuc2xpY2UoKSk6dHlwZW9mIHQ9PSJvYmplY3QiP1JyKHQpOmVlKE5vLG51bGwsU3RyaW5nKHQpKX1mdW5jdGlvbiBScih0KXtyZXR1cm4gdC5lbD09PW51bGwmJnQucGF0Y2hGbGFnIT09LTF8fHQubWVtbz90OnNyKHQpfWZ1bmN0aW9uIFNkKHQsZSl7bGV0IG49MDtjb25zdHtzaGFwZUZsYWc6cn09dDtpZihlPT1udWxsKWU9bnVsbDtlbHNlIGlmKFBlKGUpKW49MTY7ZWxzZSBpZih0eXBlb2YgZT09Im9iamVjdCIpaWYociY2NSl7Y29uc3QgaT1lLmRlZmF1bHQ7aSYmKGkuX2MmJihpLl9kPSExKSxTZCh0LGkoKSksaS5fYyYmKGkuX2Q9ITApKTtyZXR1cm59ZWxzZXtuPTMyO2NvbnN0IGk9ZS5fOyFpJiYhUWcoZSk/ZS5fY3R4PVR0Omk9PT0zJiZUdCYmKFR0LnNsb3RzLl89PT0xP2UuXz0xOihlLl89Mix0LnBhdGNoRmxhZ3w9MTAyNCkpfWVsc2UgQmUoZSk/KGU9e2RlZmF1bHQ6ZSxfY3R4OlR0fSxuPTMyKTooZT1TdHJpbmcoZSksciY2ND8obj0xNixlPVskZShlKV0pOm49OCk7dC5jaGlsZHJlbj1lLHQuc2hhcGVGbGFnfD1ufWZ1bmN0aW9uIEdrKC4uLnQpe2NvbnN0IGU9e307Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2NvbnN0IHI9dFtuXTtmb3IoY29uc3QgaSBpbiByKWlmKGk9PT0iY2xhc3MiKWUuY2xhc3MhPT1yLmNsYXNzJiYoZS5jbGFzcz1EZShbZS5jbGFzcyxyLmNsYXNzXSkpO2Vsc2UgaWYoaT09PSJzdHlsZSIpZS5zdHlsZT10ZChbZS5zdHlsZSxyLnN0eWxlXSk7ZWxzZSBpZihLdShpKSl7Y29uc3Qgcz1lW2ldLG89cltpXTtvJiZzIT09byYmIShQZShzKSYmcy5pbmNsdWRlcyhvKSkmJihlW2ldPXM/W10uY29uY2F0KHMsbyk6byl9ZWxzZSBpIT09IiImJihlW2ldPXJbaV0pfXJldHVybiBlfWZ1bmN0aW9uIHluKHQsZSxuLHI9bnVsbCl7QW4odCxlLDcsW24scl0pfWNvbnN0IHprPUtnKCk7bGV0IEhrPTA7ZnVuY3Rpb24gSmsodCxlLG4pe2NvbnN0IHI9dC50eXBlLGk9KGU/ZS5hcHBDb250ZXh0OnQuYXBwQ29udGV4dCl8fHprLHM9e3VpZDpIaysrLHZub2RlOnQsdHlwZTpyLHBhcmVudDplLGFwcENvbnRleHQ6aSxyb290Om51bGwsbmV4dDpudWxsLHN1YlRyZWU6bnVsbCxlZmZlY3Q6bnVsbCx1cGRhdGU6bnVsbCxzY29wZTpuZXcgaGcoITApLHJlbmRlcjpudWxsLHByb3h5Om51bGwsZXhwb3NlZDpudWxsLGV4cG9zZVByb3h5Om51bGwsd2l0aFByb3h5Om51bGwscHJvdmlkZXM6ZT9lLnByb3ZpZGVzOk9iamVjdC5jcmVhdGUoaS5wcm92aWRlcyksYWNjZXNzQ2FjaGU6bnVsbCxyZW5kZXJDYWNoZTpbXSxjb21wb25lbnRzOm51bGwsZGlyZWN0aXZlczpudWxsLHByb3BzT3B0aW9uczp0eShyLGkpLGVtaXRzT3B0aW9uczpNZyhyLGkpLGVtaXQ6bnVsbCxlbWl0dGVkOm51bGwscHJvcHNEZWZhdWx0czpsdCxpbmhlcml0QXR0cnM6ci5pbmhlcml0QXR0cnMsY3R4Omx0LGRhdGE6bHQscHJvcHM6bHQsYXR0cnM6bHQsc2xvdHM6bHQscmVmczpsdCxzZXR1cFN0YXRlOmx0LHNldHVwQ29udGV4dDpudWxsLGF0dHJzUHJveHk6bnVsbCxzbG90c1Byb3h5Om51bGwsc3VzcGVuc2U6bixzdXNwZW5zZUlkOm4/bi5wZW5kaW5nSWQ6MCxhc3luY0RlcDpudWxsLGFzeW5jUmVzb2x2ZWQ6ITEsaXNNb3VudGVkOiExLGlzVW5tb3VudGVkOiExLGlzRGVhY3RpdmF0ZWQ6ITEsYmM6bnVsbCxjOm51bGwsYm06bnVsbCxtOm51bGwsYnU6bnVsbCx1Om51bGwsdW06bnVsbCxidW06bnVsbCxkYTpudWxsLGE6bnVsbCxydGc6bnVsbCxydGM6bnVsbCxlYzpudWxsLHNwOm51bGx9O3JldHVybiBzLmN0eD17XzpzfSxzLnJvb3Q9ZT9lLnJvb3Q6cyxzLmVtaXQ9R3cuYmluZChudWxsLHMpLHQuY2UmJnQuY2Uocyksc31sZXQgTnQ9bnVsbDtjb25zdCBDbj0oKT0+TnR8fFR0O2xldCBQYSxMYzt7Y29uc3QgdD1kZygpLGU9KG4scik9PntsZXQgaTtyZXR1cm4oaT10W25dKXx8KGk9dFtuXT1bXSksaS5wdXNoKHIpLHM9PntpLmxlbmd0aD4xP2kuZm9yRWFjaChvPT5vKHMpKTppWzBdKHMpfX07UGE9ZSgiX19WVUVfSU5TVEFOQ0VfU0VUVEVSU19fIixuPT5OdD1uKSxMYz1lKCJfX1ZVRV9TU1JfU0VUVEVSU19fIixuPT5hbD1uKX1jb25zdCBUaT10PT57Y29uc3QgZT1OdDtyZXR1cm4gUGEodCksdC5zY29wZS5vbigpLCgpPT57dC5zY29wZS5vZmYoKSxQYShlKX19LEZjPSgpPT57TnQmJk50LnNjb3BlLm9mZigpLFBhKG51bGwpfTtmdW5jdGlvbiBkeSh0KXtyZXR1cm4gdC52bm9kZS5zaGFwZUZsYWcmNH1sZXQgYWw9ITE7ZnVuY3Rpb24gcWsodCxlPSExKXtlJiZMYyhlKTtjb25zdHtwcm9wczpuLGNoaWxkcmVuOnJ9PXQudm5vZGUsaT1keSh0KTtQayh0LG4saSxlKSxSayh0LHIpO2NvbnN0IHM9aT9aayh0LGUpOnZvaWQgMDtyZXR1cm4gZSYmTGMoITEpLHN9ZnVuY3Rpb24gWmsodCxlKXtjb25zdCBuPXQudHlwZTt0LmFjY2Vzc0NhY2hlPU9iamVjdC5jcmVhdGUobnVsbCksdC5wcm94eT1uZXcgUHJveHkodC5jdHgsd2spO2NvbnN0e3NldHVwOnJ9PW47aWYocil7Y29uc3QgaT10LnNldHVwQ29udGV4dD1yLmxlbmd0aD4xP1lrKHQpOm51bGwscz1UaSh0KTtxcigpO2NvbnN0IG89R3Iocix0LDAsW3QucHJvcHMsaV0pO2lmKFpyKCkscygpLFh1KG8pKXtpZihvLnRoZW4oRmMsRmMpLGUpcmV0dXJuIG8udGhlbihhPT57JGModCxhKX0pLmNhdGNoKGE9PntJbyhhLHQsMCl9KTt0LmFzeW5jRGVwPW99ZWxzZSAkYyh0LG8pfWVsc2UgZnkodCl9ZnVuY3Rpb24gJGModCxlLG4pe0JlKGUpP3QudHlwZS5fX3NzcklubGluZVJlbmRlcj90LnNzclJlbmRlcj1lOnQucmVuZGVyPWU6bXQoZSkmJih0LnNldHVwU3RhdGU9UGcoZSkpLGZ5KHQpfWZ1bmN0aW9uIGZ5KHQsZSxuKXtjb25zdCByPXQudHlwZTt0LnJlbmRlcnx8KHQucmVuZGVyPXIucmVuZGVyfHxibik7e2NvbnN0IGk9VGkodCk7cXIoKTt0cnl7a2sodCl9ZmluYWxseXtacigpLGkoKX19fWNvbnN0IEtrPXtnZXQodCxlKXtyZXR1cm4gb24odCwiZ2V0IiwiIiksdFtlXX19O2Z1bmN0aW9uIFlrKHQpe2NvbnN0IGU9bj0+e3QuZXhwb3NlZD1ufHx7fX07cmV0dXJue2F0dHJzOm5ldyBQcm94eSh0LmF0dHJzLEtrKSxzbG90czp0LnNsb3RzLGVtaXQ6dC5lbWl0LGV4cG9zZTplfX1mdW5jdGlvbiBsbCh0KXtpZih0LmV4cG9zZWQpcmV0dXJuIHQuZXhwb3NlUHJveHl8fCh0LmV4cG9zZVByb3h5PW5ldyBQcm94eShQZyhkZCh0LmV4cG9zZWQpKSx7Z2V0KGUsbil7aWYobiBpbiBlKXJldHVybiBlW25dO2lmKG4gaW4gR3MpcmV0dXJuIEdzW25dKHQpfSxoYXMoZSxuKXtyZXR1cm4gbiBpbiBlfHxuIGluIEdzfX0pKX1mdW5jdGlvbiBqYyh0LGU9ITApe3JldHVybiBCZSh0KT90LmRpc3BsYXlOYW1lfHx0Lm5hbWU6dC5uYW1lfHxlJiZ0Ll9fbmFtZX1mdW5jdGlvbiBYayh0KXtyZXR1cm4gQmUodCkmJiJfX3ZjY09wdHMiaW4gdH1jb25zdCBvZT0odCxlKT0+TncodCxlLGFsKTtmdW5jdGlvbiBjbCh0LGUsbj1sdCl7Y29uc3Qgcj1DbigpLGk9R24oZSkscz1DbyhlKSxvPUx3KChsLGMpPT57bGV0IHU7cmV0dXJuIGFrKCgpPT57Y29uc3QgZD10W2VdO2lyKHUsZCkmJih1PWQsYygpKX0pLHtnZXQoKXtyZXR1cm4gbCgpLG4uZ2V0P24uZ2V0KHUpOnV9LHNldChkKXtjb25zdCBmPXIudm5vZGUucHJvcHM7IShmJiYoZSBpbiBmfHxpIGluIGZ8fHMgaW4gZikmJihgb25VcGRhdGU6JHtlfWBpbiBmfHxgb25VcGRhdGU6JHtpfWBpbiBmfHxgb25VcGRhdGU6JHtzfWBpbiBmKSkmJmlyKGQsdSkmJih1PWQsYygpKSxyLmVtaXQoYHVwZGF0ZToke2V9YCxuLnNldD9uLnNldChkKTpkKX19fSksYT0ibW9kZWxNb2RpZmllcnMiO3JldHVybiBvW1N5bWJvbC5pdGVyYXRvcl09KCk9PntsZXQgbD0wO3JldHVybntuZXh0KCl7cmV0dXJuIGw8Mj97dmFsdWU6bCsrP3RbYV18fHt9Om8sZG9uZTohMX06e2RvbmU6ITB9fX19LG99ZnVuY3Rpb24gYnQodCxlLG4pe2NvbnN0IHI9YXJndW1lbnRzLmxlbmd0aDtyZXR1cm4gcj09PTI/bXQoZSkmJiFQZShlKT9ucyhlKT9lZSh0LG51bGwsW2VdKTplZSh0LGUpOmVlKHQsbnVsbCxlKToocj4zP249QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDIpOnI9PT0zJiZucyhuKSYmKG49W25dKSxlZSh0LGUsbikpfWNvbnN0IFFrPSIzLjQuMjYiOy8qKgoqIEB2dWUvc2hhcmVkIHYzLjQuMjYKKiAoYykgMjAxOC1wcmVzZW50IFl1eGkgKEV2YW4pIFlvdSBhbmQgVnVlIGNvbnRyaWJ1dG9ycwoqIEBsaWNlbnNlIE1JVAoqKi8vKiEgI19fTk9fU0lERV9FRkZFQ1RTX18gKi9mdW5jdGlvbiBlMSh0LGUpe2NvbnN0IG49bmV3IFNldCh0LnNwbGl0KCIsIikpO3JldHVybiByPT5uLmhhcyhyKX1jb25zdCB0MT10PT50LmNoYXJDb2RlQXQoMCk9PT0xMTEmJnQuY2hhckNvZGVBdCgxKT09PTExMCYmKHQuY2hhckNvZGVBdCgyKT4xMjJ8fHQuY2hhckNvZGVBdCgyKTw5NyksbjE9dD0+dC5zdGFydHNXaXRoKCJvblVwZGF0ZToiKSx1bD1PYmplY3QuYXNzaWduLG9yPUFycmF5LmlzQXJyYXksZGw9dD0+bXkodCk9PT0iW29iamVjdCBTZXRdIixxZj10PT5teSh0KT09PSJbb2JqZWN0IERhdGVdIixoeT10PT50eXBlb2YgdD09ImZ1bmN0aW9uIix1bz10PT50eXBlb2YgdD09InN0cmluZyIsWmY9dD0+dHlwZW9mIHQ9PSJzeW1ib2wiLEJjPXQ9PnQhPT1udWxsJiZ0eXBlb2YgdD09Im9iamVjdCIscjE9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxteT10PT5yMS5jYWxsKHQpLHB5PXQ9Pntjb25zdCBlPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIG49PmVbbl18fChlW25dPXQobikpfSxpMT0vXEIoW0EtWl0pL2csZ3k9cHkodD0+dC5yZXBsYWNlKGkxLCItJDEiKS50b0xvd2VyQ2FzZSgpKSxzMT1weSh0PT50LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSkpLG8xPSh0LGUpPT57Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXShlKX0sVWM9dD0+e2NvbnN0IGU9cGFyc2VGbG9hdCh0KTtyZXR1cm4gaXNOYU4oZSk/dDplfSxhMT10PT57Y29uc3QgZT11byh0KT9OdW1iZXIodCk6TmFOO3JldHVybiBpc05hTihlKT90OmV9LGwxPSJpdGVtc2NvcGUsYWxsb3dmdWxsc2NyZWVuLGZvcm1ub3ZhbGlkYXRlLGlzbWFwLG5vbW9kdWxlLG5vdmFsaWRhdGUscmVhZG9ubHkiLGMxPWUxKGwxKTtmdW5jdGlvbiB5eSh0KXtyZXR1cm4hIXR8fHQ9PT0iIn1mdW5jdGlvbiB1MSh0LGUpe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7bGV0IG49ITA7Zm9yKGxldCByPTA7biYmcjx0Lmxlbmd0aDtyKyspbj1Sbyh0W3JdLGVbcl0pO3JldHVybiBufWZ1bmN0aW9uIFJvKHQsZSl7aWYodD09PWUpcmV0dXJuITA7bGV0IG49cWYodCkscj1xZihlKTtpZihufHxyKXJldHVybiBuJiZyP3QuZ2V0VGltZSgpPT09ZS5nZXRUaW1lKCk6ITE7aWYobj1aZih0KSxyPVpmKGUpLG58fHIpcmV0dXJuIHQ9PT1lO2lmKG49b3IodCkscj1vcihlKSxufHxyKXJldHVybiBuJiZyP3UxKHQsZSk6ITE7aWYobj1CYyh0KSxyPUJjKGUpLG58fHIpe2lmKCFufHwhcilyZXR1cm4hMTtjb25zdCBpPU9iamVjdC5rZXlzKHQpLmxlbmd0aCxzPU9iamVjdC5rZXlzKGUpLmxlbmd0aDtpZihpIT09cylyZXR1cm4hMTtmb3IoY29uc3QgbyBpbiB0KXtjb25zdCBhPXQuaGFzT3duUHJvcGVydHkobyksbD1lLmhhc093blByb3BlcnR5KG8pO2lmKGEmJiFsfHwhYSYmbHx8IVJvKHRbb10sZVtvXSkpcmV0dXJuITF9fXJldHVybiBTdHJpbmcodCk9PT1TdHJpbmcoZSl9ZnVuY3Rpb24gVGQodCxlKXtyZXR1cm4gdC5maW5kSW5kZXgobj0+Um8obixlKSl9LyoqCiogQHZ1ZS9ydW50aW1lLWRvbSB2My40LjI2CiogKGMpIDIwMTgtcHJlc2VudCBZdXhpIChFdmFuKSBZb3UgYW5kIFZ1ZSBjb250cmlidXRvcnMKKiBAbGljZW5zZSBNSVQKKiovY29uc3QgZDE9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmMT0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsRHI9dHlwZW9mIGRvY3VtZW50PCJ1Ij9kb2N1bWVudDpudWxsLEtmPURyJiZEci5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpLGgxPXtpbnNlcnQ6KHQsZSxuKT0+e2UuaW5zZXJ0QmVmb3JlKHQsbnx8bnVsbCl9LHJlbW92ZTp0PT57Y29uc3QgZT10LnBhcmVudE5vZGU7ZSYmZS5yZW1vdmVDaGlsZCh0KX0sY3JlYXRlRWxlbWVudDoodCxlLG4scik9Pntjb25zdCBpPWU9PT0ic3ZnIj9Eci5jcmVhdGVFbGVtZW50TlMoZDEsdCk6ZT09PSJtYXRobWwiP0RyLmNyZWF0ZUVsZW1lbnROUyhmMSx0KTpEci5jcmVhdGVFbGVtZW50KHQsbj97aXM6bn06dm9pZCAwKTtyZXR1cm4gdD09PSJzZWxlY3QiJiZyJiZyLm11bHRpcGxlIT1udWxsJiZpLnNldEF0dHJpYnV0ZSgibXVsdGlwbGUiLHIubXVsdGlwbGUpLGl9LGNyZWF0ZVRleHQ6dD0+RHIuY3JlYXRlVGV4dE5vZGUodCksY3JlYXRlQ29tbWVudDp0PT5Eci5jcmVhdGVDb21tZW50KHQpLHNldFRleHQ6KHQsZSk9Pnt0Lm5vZGVWYWx1ZT1lfSxzZXRFbGVtZW50VGV4dDoodCxlKT0+e3QudGV4dENvbnRlbnQ9ZX0scGFyZW50Tm9kZTp0PT50LnBhcmVudE5vZGUsbmV4dFNpYmxpbmc6dD0+dC5uZXh0U2libGluZyxxdWVyeVNlbGVjdG9yOnQ9PkRyLnF1ZXJ5U2VsZWN0b3IodCksc2V0U2NvcGVJZCh0LGUpe3Quc2V0QXR0cmlidXRlKGUsIiIpfSxpbnNlcnRTdGF0aWNDb250ZW50KHQsZSxuLHIsaSxzKXtjb25zdCBvPW4/bi5wcmV2aW91c1NpYmxpbmc6ZS5sYXN0Q2hpbGQ7aWYoaSYmKGk9PT1zfHxpLm5leHRTaWJsaW5nKSlmb3IoO2UuaW5zZXJ0QmVmb3JlKGkuY2xvbmVOb2RlKCEwKSxuKSwhKGk9PT1zfHwhKGk9aS5uZXh0U2libGluZykpOyk7ZWxzZXtLZi5pbm5lckhUTUw9cj09PSJzdmciP2A8c3ZnPiR7dH08L3N2Zz5gOnI9PT0ibWF0aG1sIj9gPG1hdGg+JHt0fTwvbWF0aD5gOnQ7Y29uc3QgYT1LZi5jb250ZW50O2lmKHI9PT0ic3ZnInx8cj09PSJtYXRobWwiKXtjb25zdCBsPWEuZmlyc3RDaGlsZDtmb3IoO2wuZmlyc3RDaGlsZDspYS5hcHBlbmRDaGlsZChsLmZpcnN0Q2hpbGQpO2EucmVtb3ZlQ2hpbGQobCl9ZS5pbnNlcnRCZWZvcmUoYSxuKX1yZXR1cm5bbz9vLm5leHRTaWJsaW5nOmUuZmlyc3RDaGlsZCxuP24ucHJldmlvdXNTaWJsaW5nOmUubGFzdENoaWxkXX19LFRyPSJ0cmFuc2l0aW9uIixBcz0iYW5pbWF0aW9uIixycz1TeW1ib2woIl92dGMiKSx2eT0odCx7c2xvdHM6ZX0pPT5idCh1ayxieSh0KSxlKTt2eS5kaXNwbGF5TmFtZT0iVHJhbnNpdGlvbiI7Y29uc3QgX3k9e25hbWU6U3RyaW5nLHR5cGU6U3RyaW5nLGNzczp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LGR1cmF0aW9uOltTdHJpbmcsTnVtYmVyLE9iamVjdF0sZW50ZXJGcm9tQ2xhc3M6U3RyaW5nLGVudGVyQWN0aXZlQ2xhc3M6U3RyaW5nLGVudGVyVG9DbGFzczpTdHJpbmcsYXBwZWFyRnJvbUNsYXNzOlN0cmluZyxhcHBlYXJBY3RpdmVDbGFzczpTdHJpbmcsYXBwZWFyVG9DbGFzczpTdHJpbmcsbGVhdmVGcm9tQ2xhc3M6U3RyaW5nLGxlYXZlQWN0aXZlQ2xhc3M6U3RyaW5nLGxlYXZlVG9DbGFzczpTdHJpbmd9LG0xPXZ5LnByb3BzPXVsKHt9LFdnLF95KSxzaT0odCxlPVtdKT0+e29yKHQpP3QuZm9yRWFjaChuPT5uKC4uLmUpKTp0JiZ0KC4uLmUpfSxZZj10PT50P29yKHQpP3Quc29tZShlPT5lLmxlbmd0aD4xKTp0Lmxlbmd0aD4xOiExO2Z1bmN0aW9uIGJ5KHQpe2NvbnN0IGU9e307Zm9yKGNvbnN0IGogaW4gdClqIGluIF95fHwoZVtqXT10W2pdKTtpZih0LmNzcz09PSExKXJldHVybiBlO2NvbnN0e25hbWU6bj0idiIsdHlwZTpyLGR1cmF0aW9uOmksZW50ZXJGcm9tQ2xhc3M6cz1gJHtufS1lbnRlci1mcm9tYCxlbnRlckFjdGl2ZUNsYXNzOm89YCR7bn0tZW50ZXItYWN0aXZlYCxlbnRlclRvQ2xhc3M6YT1gJHtufS1lbnRlci10b2AsYXBwZWFyRnJvbUNsYXNzOmw9cyxhcHBlYXJBY3RpdmVDbGFzczpjPW8sYXBwZWFyVG9DbGFzczp1PWEsbGVhdmVGcm9tQ2xhc3M6ZD1gJHtufS1sZWF2ZS1mcm9tYCxsZWF2ZUFjdGl2ZUNsYXNzOmY9YCR7bn0tbGVhdmUtYWN0aXZlYCxsZWF2ZVRvQ2xhc3M6aD1gJHtufS1sZWF2ZS10b2B9PXQsbT1wMShpKSxwPW0mJm1bMF0saz1tJiZtWzFdLHtvbkJlZm9yZUVudGVyOngsb25FbnRlcjpDLG9uRW50ZXJDYW5jZWxsZWQ6YixvbkxlYXZlOlQsb25MZWF2ZUNhbmNlbGxlZDpFLG9uQmVmb3JlQXBwZWFyOnc9eCxvbkFwcGVhcjpSPUMsb25BcHBlYXJDYW5jZWxsZWQ6RD1ifT1lLEk9KGoscmUseGUpPT57Q3IoaixyZT91OmEpLENyKGoscmU/YzpvKSx4ZSYmeGUoKX0sQj0oaixyZSk9PntqLl9pc0xlYXZpbmc9ITEsQ3IoaixkKSxDcihqLGgpLENyKGosZikscmUmJnJlKCl9LEw9aj0+KHJlLHhlKT0+e2NvbnN0IFRlPWo/UjpDLGxlPSgpPT5JKHJlLGoseGUpO3NpKFRlLFtyZSxsZV0pLFhmKCgpPT57Q3IocmUsaj9sOnMpLG1yKHJlLGo/dTphKSxZZihUZSl8fFFmKHJlLHIscCxsZSl9KX07cmV0dXJuIHVsKGUse29uQmVmb3JlRW50ZXIoail7c2koeCxbal0pLG1yKGoscyksbXIoaixvKX0sb25CZWZvcmVBcHBlYXIoail7c2kodyxbal0pLG1yKGosbCksbXIoaixjKX0sb25FbnRlcjpMKCExKSxvbkFwcGVhcjpMKCEwKSxvbkxlYXZlKGoscmUpe2ouX2lzTGVhdmluZz0hMDtjb25zdCB4ZT0oKT0+QihqLHJlKTttcihqLGQpLG1yKGosZiksa3koKSxYZigoKT0+e2ouX2lzTGVhdmluZyYmKENyKGosZCksbXIoaixoKSxZZihUKXx8UWYoaixyLGsseGUpKX0pLHNpKFQsW2oseGVdKX0sb25FbnRlckNhbmNlbGxlZChqKXtJKGosITEpLHNpKGIsW2pdKX0sb25BcHBlYXJDYW5jZWxsZWQoail7SShqLCEwKSxzaShELFtqXSl9LG9uTGVhdmVDYW5jZWxsZWQoail7QihqKSxzaShFLFtqXSl9fSl9ZnVuY3Rpb24gcDEodCl7aWYodD09bnVsbClyZXR1cm4gbnVsbDtpZihCYyh0KSlyZXR1cm5bWmwodC5lbnRlciksWmwodC5sZWF2ZSldO3tjb25zdCBlPVpsKHQpO3JldHVybltlLGVdfX1mdW5jdGlvbiBabCh0KXtyZXR1cm4gYTEodCl9ZnVuY3Rpb24gbXIodCxlKXtlLnNwbGl0KC9ccysvKS5mb3JFYWNoKG49Pm4mJnQuY2xhc3NMaXN0LmFkZChuKSksKHRbcnNdfHwodFtyc109bmV3IFNldCkpLmFkZChlKX1mdW5jdGlvbiBDcih0LGUpe2Uuc3BsaXQoL1xzKy8pLmZvckVhY2gocj0+ciYmdC5jbGFzc0xpc3QucmVtb3ZlKHIpKTtjb25zdCBuPXRbcnNdO24mJihuLmRlbGV0ZShlKSxuLnNpemV8fCh0W3JzXT12b2lkIDApKX1mdW5jdGlvbiBYZih0KXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntyZXF1ZXN0QW5pbWF0aW9uRnJhbWUodCl9KX1sZXQgZzE9MDtmdW5jdGlvbiBRZih0LGUsbixyKXtjb25zdCBpPXQuX2VuZElkPSsrZzEscz0oKT0+e2k9PT10Ll9lbmRJZCYmcigpfTtpZihuKXJldHVybiBzZXRUaW1lb3V0KHMsbik7Y29uc3R7dHlwZTpvLHRpbWVvdXQ6YSxwcm9wQ291bnQ6bH09d3kodCxlKTtpZighbylyZXR1cm4gcigpO2NvbnN0IGM9bysiZW5kIjtsZXQgdT0wO2NvbnN0IGQ9KCk9Pnt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoYyxmKSxzKCl9LGY9aD0+e2gudGFyZ2V0PT09dCYmKyt1Pj1sJiZkKCl9O3NldFRpbWVvdXQoKCk9Pnt1PGwmJmQoKX0sYSsxKSx0LmFkZEV2ZW50TGlzdGVuZXIoYyxmKX1mdW5jdGlvbiB3eSh0LGUpe2NvbnN0IG49d2luZG93LmdldENvbXB1dGVkU3R5bGUodCkscj1tPT4oblttXXx8IiIpLnNwbGl0KCIsICIpLGk9cihgJHtUcn1EZWxheWApLHM9cihgJHtUcn1EdXJhdGlvbmApLG89ZWgoaSxzKSxhPXIoYCR7QXN9RGVsYXlgKSxsPXIoYCR7QXN9RHVyYXRpb25gKSxjPWVoKGEsbCk7bGV0IHU9bnVsbCxkPTAsZj0wO2U9PT1Ucj9vPjAmJih1PVRyLGQ9byxmPXMubGVuZ3RoKTplPT09QXM/Yz4wJiYodT1BcyxkPWMsZj1sLmxlbmd0aCk6KGQ9TWF0aC5tYXgobyxjKSx1PWQ+MD9vPmM/VHI6QXM6bnVsbCxmPXU/dT09PVRyP3MubGVuZ3RoOmwubGVuZ3RoOjApO2NvbnN0IGg9dT09PVRyJiYvXGIodHJhbnNmb3JtfGFsbCkoLHwkKS8udGVzdChyKGAke1RyfVByb3BlcnR5YCkudG9TdHJpbmcoKSk7cmV0dXJue3R5cGU6dSx0aW1lb3V0OmQscHJvcENvdW50OmYsaGFzVHJhbnNmb3JtOmh9fWZ1bmN0aW9uIGVoKHQsZSl7Zm9yKDt0Lmxlbmd0aDxlLmxlbmd0aDspdD10LmNvbmNhdCh0KTtyZXR1cm4gTWF0aC5tYXgoLi4uZS5tYXAoKG4scik9PnRoKG4pK3RoKHRbcl0pKSl9ZnVuY3Rpb24gdGgodCl7cmV0dXJuIHQ9PT0iYXV0byI/MDpOdW1iZXIodC5zbGljZSgwLC0xKS5yZXBsYWNlKCIsIiwiLiIpKSoxZTN9ZnVuY3Rpb24ga3koKXtyZXR1cm4gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHR9ZnVuY3Rpb24geTEodCxlLG4pe2NvbnN0IHI9dFtyc107ciYmKGU9KGU/W2UsLi4ucl06Wy4uLnJdKS5qb2luKCIgIikpLGU9PW51bGw/dC5yZW1vdmVBdHRyaWJ1dGUoImNsYXNzIik6bj90LnNldEF0dHJpYnV0ZSgiY2xhc3MiLGUpOnQuY2xhc3NOYW1lPWV9Y29uc3Qgbmg9U3ltYm9sKCJfdm9kIiksdjE9U3ltYm9sKCJfdnNoIiksXzE9U3ltYm9sKCIiKSxiMT0vKF58OylccypkaXNwbGF5XHMqOi87ZnVuY3Rpb24gdzEodCxlLG4pe2NvbnN0IHI9dC5zdHlsZSxpPXVvKG4pO2xldCBzPSExO2lmKG4mJiFpKXtpZihlKWlmKHVvKGUpKWZvcihjb25zdCBvIG9mIGUuc3BsaXQoIjsiKSl7Y29uc3QgYT1vLnNsaWNlKDAsby5pbmRleE9mKCI6IikpLnRyaW0oKTtuW2FdPT1udWxsJiZ5YShyLGEsIiIpfWVsc2UgZm9yKGNvbnN0IG8gaW4gZSluW29dPT1udWxsJiZ5YShyLG8sIiIpO2Zvcihjb25zdCBvIGluIG4pbz09PSJkaXNwbGF5IiYmKHM9ITApLHlhKHIsbyxuW29dKX1lbHNlIGlmKGkpe2lmKGUhPT1uKXtjb25zdCBvPXJbXzFdO28mJihuKz0iOyIrbyksci5jc3NUZXh0PW4scz1iMS50ZXN0KG4pfX1lbHNlIGUmJnQucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpO25oIGluIHQmJih0W25oXT1zP3IuZGlzcGxheToiIix0W3YxXSYmKHIuZGlzcGxheT0ibm9uZSIpKX1jb25zdCByaD0vXHMqIWltcG9ydGFudCQvO2Z1bmN0aW9uIHlhKHQsZSxuKXtpZihvcihuKSluLmZvckVhY2gocj0+eWEodCxlLHIpKTtlbHNlIGlmKG49PW51bGwmJihuPSIiKSxlLnN0YXJ0c1dpdGgoIi0tIikpdC5zZXRQcm9wZXJ0eShlLG4pO2Vsc2V7Y29uc3Qgcj1rMSh0LGUpO3JoLnRlc3Qobik/dC5zZXRQcm9wZXJ0eShneShyKSxuLnJlcGxhY2UocmgsIiIpLCJpbXBvcnRhbnQiKTp0W3JdPW59fWNvbnN0IGloPVsiV2Via2l0IiwiTW96IiwibXMiXSxLbD17fTtmdW5jdGlvbiBrMSh0LGUpe2NvbnN0IG49S2xbZV07aWYobilyZXR1cm4gbjtsZXQgcj1HbihlKTtpZihyIT09ImZpbHRlciImJnIgaW4gdClyZXR1cm4gS2xbZV09cjtyPXMxKHIpO2ZvcihsZXQgaT0wO2k8aWgubGVuZ3RoO2krKyl7Y29uc3Qgcz1paFtpXStyO2lmKHMgaW4gdClyZXR1cm4gS2xbZV09c31yZXR1cm4gZX1jb25zdCBzaD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI7ZnVuY3Rpb24gUzEodCxlLG4scixpKXtpZihyJiZlLnN0YXJ0c1dpdGgoInhsaW5rOiIpKW49PW51bGw/dC5yZW1vdmVBdHRyaWJ1dGVOUyhzaCxlLnNsaWNlKDYsZS5sZW5ndGgpKTp0LnNldEF0dHJpYnV0ZU5TKHNoLGUsbik7ZWxzZXtjb25zdCBzPWMxKGUpO249PW51bGx8fHMmJiF5eShuKT90LnJlbW92ZUF0dHJpYnV0ZShlKTp0LnNldEF0dHJpYnV0ZShlLHM/IiI6bil9fWZ1bmN0aW9uIFQxKHQsZSxuLHIsaSxzLG8pe2lmKGU9PT0iaW5uZXJIVE1MInx8ZT09PSJ0ZXh0Q29udGVudCIpe3ImJm8ocixpLHMpLHRbZV09bj8/IiI7cmV0dXJufWNvbnN0IGE9dC50YWdOYW1lO2lmKGU9PT0idmFsdWUiJiZhIT09IlBST0dSRVNTIiYmIWEuaW5jbHVkZXMoIi0iKSl7Y29uc3QgYz1hPT09Ik9QVElPTiI/dC5nZXRBdHRyaWJ1dGUoInZhbHVlIil8fCIiOnQudmFsdWUsdT1uPz8iIjsoYyE9PXV8fCEoIl92YWx1ZSJpbiB0KSkmJih0LnZhbHVlPXUpLG49PW51bGwmJnQucmVtb3ZlQXR0cmlidXRlKGUpLHQuX3ZhbHVlPW47cmV0dXJufWxldCBsPSExO2lmKG49PT0iInx8bj09bnVsbCl7Y29uc3QgYz10eXBlb2YgdFtlXTtjPT09ImJvb2xlYW4iP249eXkobik6bj09bnVsbCYmYz09PSJzdHJpbmciPyhuPSIiLGw9ITApOmM9PT0ibnVtYmVyIiYmKG49MCxsPSEwKX10cnl7dFtlXT1ufWNhdGNoe31sJiZ0LnJlbW92ZUF0dHJpYnV0ZShlKX1mdW5jdGlvbiBGcih0LGUsbixyKXt0LmFkZEV2ZW50TGlzdGVuZXIoZSxuLHIpfWZ1bmN0aW9uIEUxKHQsZSxuLHIpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4scil9Y29uc3Qgb2g9U3ltYm9sKCJfdmVpIik7ZnVuY3Rpb24geDEodCxlLG4scixpPW51bGwpe2NvbnN0IHM9dFtvaF18fCh0W29oXT17fSksbz1zW2VdO2lmKHImJm8pby52YWx1ZT1yO2Vsc2V7Y29uc3RbYSxsXT1BMShlKTtpZihyKXtjb25zdCBjPXNbZV09UDEocixpKTtGcih0LGEsYyxsKX1lbHNlIG8mJihFMSh0LGEsbyxsKSxzW2VdPXZvaWQgMCl9fWNvbnN0IGFoPS8oPzpPbmNlfFBhc3NpdmV8Q2FwdHVyZSkkLztmdW5jdGlvbiBBMSh0KXtsZXQgZTtpZihhaC50ZXN0KHQpKXtlPXt9O2xldCByO2Zvcig7cj10Lm1hdGNoKGFoKTspdD10LnNsaWNlKDAsdC5sZW5ndGgtclswXS5sZW5ndGgpLGVbclswXS50b0xvd2VyQ2FzZSgpXT0hMH1yZXR1cm5bdFsyXT09PSI6Ij90LnNsaWNlKDMpOmd5KHQuc2xpY2UoMikpLGVdfWxldCBZbD0wO2NvbnN0IE8xPVByb21pc2UucmVzb2x2ZSgpLEMxPSgpPT5ZbHx8KE8xLnRoZW4oKCk9PllsPTApLFlsPURhdGUubm93KCkpO2Z1bmN0aW9uIFAxKHQsZSl7Y29uc3Qgbj1yPT57aWYoIXIuX3Z0cylyLl92dHM9RGF0ZS5ub3coKTtlbHNlIGlmKHIuX3Z0czw9bi5hdHRhY2hlZClyZXR1cm47QW4oSTEocixuLnZhbHVlKSxlLDUsW3JdKX07cmV0dXJuIG4udmFsdWU9dCxuLmF0dGFjaGVkPUMxKCksbn1mdW5jdGlvbiBJMSh0LGUpe2lmKG9yKGUpKXtjb25zdCBuPXQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uO3JldHVybiB0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbj0oKT0+e24uY2FsbCh0KSx0Ll9zdG9wcGVkPSEwfSxlLm1hcChyPT5pPT4haS5fc3RvcHBlZCYmciYmcihpKSl9ZWxzZSByZXR1cm4gZX1jb25zdCBsaD10PT50LmNoYXJDb2RlQXQoMCk9PT0xMTEmJnQuY2hhckNvZGVBdCgxKT09PTExMCYmdC5jaGFyQ29kZUF0KDIpPjk2JiZ0LmNoYXJDb2RlQXQoMik8MTIzLE4xPSh0LGUsbixyLGkscyxvLGEsbCk9Pntjb25zdCBjPWk9PT0ic3ZnIjtlPT09ImNsYXNzIj95MSh0LHIsYyk6ZT09PSJzdHlsZSI/dzEodCxuLHIpOnQxKGUpP24xKGUpfHx4MSh0LGUsbixyLG8pOihlWzBdPT09Ii4iPyhlPWUuc2xpY2UoMSksITApOmVbMF09PT0iXiI/KGU9ZS5zbGljZSgxKSwhMSk6UjEodCxlLHIsYykpP1QxKHQsZSxyLHMsbyxhLGwpOihlPT09InRydWUtdmFsdWUiP3QuX3RydWVWYWx1ZT1yOmU9PT0iZmFsc2UtdmFsdWUiJiYodC5fZmFsc2VWYWx1ZT1yKSxTMSh0LGUscixjKSl9O2Z1bmN0aW9uIFIxKHQsZSxuLHIpe2lmKHIpcmV0dXJuISEoZT09PSJpbm5lckhUTUwifHxlPT09InRleHRDb250ZW50Inx8ZSBpbiB0JiZsaChlKSYmaHkobikpO2lmKGU9PT0ic3BlbGxjaGVjayJ8fGU9PT0iZHJhZ2dhYmxlInx8ZT09PSJ0cmFuc2xhdGUifHxlPT09ImZvcm0ifHxlPT09Imxpc3QiJiZ0LnRhZ05hbWU9PT0iSU5QVVQifHxlPT09InR5cGUiJiZ0LnRhZ05hbWU9PT0iVEVYVEFSRUEiKXJldHVybiExO2lmKGU9PT0id2lkdGgifHxlPT09ImhlaWdodCIpe2NvbnN0IGk9dC50YWdOYW1lO2lmKGk9PT0iSU1HInx8aT09PSJWSURFTyJ8fGk9PT0iQ0FOVkFTInx8aT09PSJTT1VSQ0UiKXJldHVybiExfXJldHVybiBsaChlKSYmdW8obik/ITE6ZSBpbiB0fWNvbnN0IFN5PW5ldyBXZWFrTWFwLFR5PW5ldyBXZWFrTWFwLElhPVN5bWJvbCgiX21vdmVDYiIpLGNoPVN5bWJvbCgiX2VudGVyQ2IiKSxFeT17bmFtZToiVHJhbnNpdGlvbkdyb3VwIixwcm9wczp1bCh7fSxtMSx7dGFnOlN0cmluZyxtb3ZlQ2xhc3M6U3RyaW5nfSksc2V0dXAodCx7c2xvdHM6ZX0pe2NvbnN0IG49Q24oKSxyPVZnKCk7bGV0IGkscztyZXR1cm4gX2QoKCk9PntpZighaS5sZW5ndGgpcmV0dXJuO2NvbnN0IG89dC5tb3ZlQ2xhc3N8fGAke3QubmFtZXx8InYifS1tb3ZlYDtpZighajEoaVswXS5lbCxuLnZub2RlLmVsLG8pKXJldHVybjtpLmZvckVhY2goTDEpLGkuZm9yRWFjaChGMSk7Y29uc3QgYT1pLmZpbHRlcigkMSk7a3koKSxhLmZvckVhY2gobD0+e2NvbnN0IGM9bC5lbCx1PWMuc3R5bGU7bXIoYyxvKSx1LnRyYW5zZm9ybT11LndlYmtpdFRyYW5zZm9ybT11LnRyYW5zaXRpb25EdXJhdGlvbj0iIjtjb25zdCBkPWNbSWFdPWY9PntmJiZmLnRhcmdldCE9PWN8fCghZnx8L3RyYW5zZm9ybSQvLnRlc3QoZi5wcm9wZXJ0eU5hbWUpKSYmKGMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsZCksY1tJYV09bnVsbCxDcihjLG8pKX07Yy5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixkKX0pfSksKCk9Pntjb25zdCBvPVhlKHQpLGE9Ynkobyk7bGV0IGw9by50YWd8fHFlO2lmKGk9W10scylmb3IobGV0IGM9MDtjPHMubGVuZ3RoO2MrKyl7Y29uc3QgdT1zW2NdO3UuZWwmJnUuZWwgaW5zdGFuY2VvZiBFbGVtZW50JiYoaS5wdXNoKHUpLFFpKHUsbG8odSxhLHIsbikpLFN5LnNldCh1LHUuZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpKX1zPWUuZGVmYXVsdD92ZChlLmRlZmF1bHQoKSk6W107Zm9yKGxldCBjPTA7YzxzLmxlbmd0aDtjKyspe2NvbnN0IHU9c1tjXTt1LmtleSE9bnVsbCYmUWkodSxsbyh1LGEscixuKSl9cmV0dXJuIGVlKGwsbnVsbCxzKX19fSxEMT10PT5kZWxldGUgdC5tb2RlO0V5LnByb3BzO2NvbnN0IE0xPUV5O2Z1bmN0aW9uIEwxKHQpe2NvbnN0IGU9dC5lbDtlW0lhXSYmZVtJYV0oKSxlW2NoXSYmZVtjaF0oKX1mdW5jdGlvbiBGMSh0KXtUeS5zZXQodCx0LmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKX1mdW5jdGlvbiAkMSh0KXtjb25zdCBlPVN5LmdldCh0KSxuPVR5LmdldCh0KSxyPWUubGVmdC1uLmxlZnQsaT1lLnRvcC1uLnRvcDtpZihyfHxpKXtjb25zdCBzPXQuZWwuc3R5bGU7cmV0dXJuIHMudHJhbnNmb3JtPXMud2Via2l0VHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtyfXB4LCR7aX1weClgLHMudHJhbnNpdGlvbkR1cmF0aW9uPSIwcyIsdH19ZnVuY3Rpb24gajEodCxlLG4pe2NvbnN0IHI9dC5jbG9uZU5vZGUoKSxpPXRbcnNdO2kmJmkuZm9yRWFjaChhPT57YS5zcGxpdCgvXHMrLykuZm9yRWFjaChsPT5sJiZyLmNsYXNzTGlzdC5yZW1vdmUobCkpfSksbi5zcGxpdCgvXHMrLykuZm9yRWFjaChhPT5hJiZyLmNsYXNzTGlzdC5hZGQoYSkpLHIuc3R5bGUuZGlzcGxheT0ibm9uZSI7Y29uc3Qgcz1lLm5vZGVUeXBlPT09MT9lOmUucGFyZW50Tm9kZTtzLmFwcGVuZENoaWxkKHIpO2NvbnN0e2hhc1RyYW5zZm9ybTpvfT13eShyKTtyZXR1cm4gcy5yZW1vdmVDaGlsZChyKSxvfWNvbnN0IGlzPXQ9Pntjb25zdCBlPXQucHJvcHNbIm9uVXBkYXRlOm1vZGVsVmFsdWUiXXx8ITE7cmV0dXJuIG9yKGUpP249Pm8xKGUsbik6ZX07ZnVuY3Rpb24gQjEodCl7dC50YXJnZXQuY29tcG9zaW5nPSEwfWZ1bmN0aW9uIHVoKHQpe2NvbnN0IGU9dC50YXJnZXQ7ZS5jb21wb3NpbmcmJihlLmNvbXBvc2luZz0hMSxlLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIpKSl9Y29uc3QgdnI9U3ltYm9sKCJfYXNzaWduIiksQm49e2NyZWF0ZWQodCx7bW9kaWZpZXJzOntsYXp5OmUsdHJpbTpuLG51bWJlcjpyfX0saSl7dFt2cl09aXMoaSk7Y29uc3Qgcz1yfHxpLnByb3BzJiZpLnByb3BzLnR5cGU9PT0ibnVtYmVyIjtGcih0LGU/ImNoYW5nZSI6ImlucHV0IixvPT57aWYoby50YXJnZXQuY29tcG9zaW5nKXJldHVybjtsZXQgYT10LnZhbHVlO24mJihhPWEudHJpbSgpKSxzJiYoYT1VYyhhKSksdFt2cl0oYSl9KSxuJiZGcih0LCJjaGFuZ2UiLCgpPT57dC52YWx1ZT10LnZhbHVlLnRyaW0oKX0pLGV8fChGcih0LCJjb21wb3NpdGlvbnN0YXJ0IixCMSksRnIodCwiY29tcG9zaXRpb25lbmQiLHVoKSxGcih0LCJjaGFuZ2UiLHVoKSl9LG1vdW50ZWQodCx7dmFsdWU6ZX0pe3QudmFsdWU9ZT8/IiJ9LGJlZm9yZVVwZGF0ZSh0LHt2YWx1ZTplLG1vZGlmaWVyczp7bGF6eTpuLHRyaW06cixudW1iZXI6aX19LHMpe2lmKHRbdnJdPWlzKHMpLHQuY29tcG9zaW5nKXJldHVybjtjb25zdCBvPShpfHx0LnR5cGU9PT0ibnVtYmVyIikmJiEvXjBcZC8udGVzdCh0LnZhbHVlKT9VYyh0LnZhbHVlKTp0LnZhbHVlLGE9ZT8/IiI7byE9PWEmJihkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dCYmdC50eXBlIT09InJhbmdlIiYmKG58fHImJnQudmFsdWUudHJpbSgpPT09YSl8fCh0LnZhbHVlPWEpKX19LFVGPXtkZWVwOiEwLGNyZWF0ZWQodCxlLG4pe3RbdnJdPWlzKG4pLEZyKHQsImNoYW5nZSIsKCk9Pntjb25zdCByPXQuX21vZGVsVmFsdWUsaT1obyh0KSxzPXQuY2hlY2tlZCxvPXRbdnJdO2lmKG9yKHIpKXtjb25zdCBhPVRkKHIsaSksbD1hIT09LTE7aWYocyYmIWwpbyhyLmNvbmNhdChpKSk7ZWxzZSBpZighcyYmbCl7Y29uc3QgYz1bLi4ucl07Yy5zcGxpY2UoYSwxKSxvKGMpfX1lbHNlIGlmKGRsKHIpKXtjb25zdCBhPW5ldyBTZXQocik7cz9hLmFkZChpKTphLmRlbGV0ZShpKSxvKGEpfWVsc2Ugbyh4eSh0LHMpKX0pfSxtb3VudGVkOmRoLGJlZm9yZVVwZGF0ZSh0LGUsbil7dFt2cl09aXMobiksZGgodCxlLG4pfX07ZnVuY3Rpb24gZGgodCx7dmFsdWU6ZSxvbGRWYWx1ZTpufSxyKXt0Ll9tb2RlbFZhbHVlPWUsb3IoZSk/dC5jaGVja2VkPVRkKGUsci5wcm9wcy52YWx1ZSk+LTE6ZGwoZSk/dC5jaGVja2VkPWUuaGFzKHIucHJvcHMudmFsdWUpOmUhPT1uJiYodC5jaGVja2VkPVJvKGUseHkodCwhMCkpKX1jb25zdCBmbz17ZGVlcDohMCxjcmVhdGVkKHQse3ZhbHVlOmUsbW9kaWZpZXJzOntudW1iZXI6bn19LHIpe2NvbnN0IGk9ZGwoZSk7RnIodCwiY2hhbmdlIiwoKT0+e2NvbnN0IHM9QXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKHQub3B0aW9ucyxvPT5vLnNlbGVjdGVkKS5tYXAobz0+bj9VYyhobyhvKSk6aG8obykpO3RbdnJdKHQubXVsdGlwbGU/aT9uZXcgU2V0KHMpOnM6c1swXSksdC5fYXNzaWduaW5nPSEwLG5uKCgpPT57dC5fYXNzaWduaW5nPSExfSl9KSx0W3ZyXT1pcyhyKX0sbW91bnRlZCh0LHt2YWx1ZTplLG1vZGlmaWVyczp7bnVtYmVyOm59fSl7ZmgodCxlKX0sYmVmb3JlVXBkYXRlKHQsZSxuKXt0W3ZyXT1pcyhuKX0sdXBkYXRlZCh0LHt2YWx1ZTplLG1vZGlmaWVyczp7bnVtYmVyOm59fSl7dC5fYXNzaWduaW5nfHxmaCh0LGUpfX07ZnVuY3Rpb24gZmgodCxlLG4pe2NvbnN0IHI9dC5tdWx0aXBsZSxpPW9yKGUpO2lmKCEociYmIWkmJiFkbChlKSkpe2ZvcihsZXQgcz0wLG89dC5vcHRpb25zLmxlbmd0aDtzPG87cysrKXtjb25zdCBhPXQub3B0aW9uc1tzXSxsPWhvKGEpO2lmKHIpaWYoaSl7Y29uc3QgYz10eXBlb2YgbDtjPT09InN0cmluZyJ8fGM9PT0ibnVtYmVyIj9hLnNlbGVjdGVkPWUuc29tZSh1PT5TdHJpbmcodSk9PT1TdHJpbmcobCkpOmEuc2VsZWN0ZWQ9VGQoZSxsKT4tMX1lbHNlIGEuc2VsZWN0ZWQ9ZS5oYXMobCk7ZWxzZSBpZihSbyhobyhhKSxlKSl7dC5zZWxlY3RlZEluZGV4IT09cyYmKHQuc2VsZWN0ZWRJbmRleD1zKTtyZXR1cm59fSFyJiZ0LnNlbGVjdGVkSW5kZXghPT0tMSYmKHQuc2VsZWN0ZWRJbmRleD0tMSl9fWZ1bmN0aW9uIGhvKHQpe3JldHVybiJfdmFsdWUiaW4gdD90Ll92YWx1ZTp0LnZhbHVlfWZ1bmN0aW9uIHh5KHQsZSl7Y29uc3Qgbj1lPyJfdHJ1ZVZhbHVlIjoiX2ZhbHNlVmFsdWUiO3JldHVybiBuIGluIHQ/dFtuXTplfWNvbnN0IFUxPVsiY3RybCIsInNoaWZ0IiwiYWx0IiwibWV0YSJdLFYxPXtzdG9wOnQ9PnQuc3RvcFByb3BhZ2F0aW9uKCkscHJldmVudDp0PT50LnByZXZlbnREZWZhdWx0KCksc2VsZjp0PT50LnRhcmdldCE9PXQuY3VycmVudFRhcmdldCxjdHJsOnQ9PiF0LmN0cmxLZXksc2hpZnQ6dD0+IXQuc2hpZnRLZXksYWx0OnQ9PiF0LmFsdEtleSxtZXRhOnQ9PiF0Lm1ldGFLZXksbGVmdDp0PT4iYnV0dG9uImluIHQmJnQuYnV0dG9uIT09MCxtaWRkbGU6dD0+ImJ1dHRvbiJpbiB0JiZ0LmJ1dHRvbiE9PTEscmlnaHQ6dD0+ImJ1dHRvbiJpbiB0JiZ0LmJ1dHRvbiE9PTIsZXhhY3Q6KHQsZSk9PlUxLnNvbWUobj0+dFtgJHtufUtleWBdJiYhZS5pbmNsdWRlcyhuKSl9LEpzPSh0LGUpPT57Y29uc3Qgbj10Ll93aXRoTW9kc3x8KHQuX3dpdGhNb2RzPXt9KSxyPWUuam9pbigiLiIpO3JldHVybiBuW3JdfHwobltyXT0oaSwuLi5zKT0+e2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKXtjb25zdCBhPVYxW2Vbb11dO2lmKGEmJmEoaSxlKSlyZXR1cm59cmV0dXJuIHQoaSwuLi5zKX0pfSxXMT11bCh7cGF0Y2hQcm9wOk4xfSxoMSk7bGV0IGhoO2Z1bmN0aW9uIEcxKCl7cmV0dXJuIGhofHwoaGg9TWsoVzEpKX1jb25zdCB6MT0oLi4udCk9Pntjb25zdCBlPUcxKCkuY3JlYXRlQXBwKC4uLnQpLHttb3VudDpufT1lO3JldHVybiBlLm1vdW50PXI9Pntjb25zdCBpPUoxKHIpO2lmKCFpKXJldHVybjtjb25zdCBzPWUuX2NvbXBvbmVudDshaHkocykmJiFzLnJlbmRlciYmIXMudGVtcGxhdGUmJihzLnRlbXBsYXRlPWkuaW5uZXJIVE1MKSxpLmlubmVySFRNTD0iIjtjb25zdCBvPW4oaSwhMSxIMShpKSk7cmV0dXJuIGkgaW5zdGFuY2VvZiBFbGVtZW50JiYoaS5yZW1vdmVBdHRyaWJ1dGUoInYtY2xvYWsiKSxpLnNldEF0dHJpYnV0ZSgiZGF0YS12LWFwcCIsIiIpKSxvfSxlfTtmdW5jdGlvbiBIMSh0KXtpZih0IGluc3RhbmNlb2YgU1ZHRWxlbWVudClyZXR1cm4ic3ZnIjtpZih0eXBlb2YgTWF0aE1MRWxlbWVudD09ImZ1bmN0aW9uIiYmdCBpbnN0YW5jZW9mIE1hdGhNTEVsZW1lbnQpcmV0dXJuIm1hdGhtbCJ9ZnVuY3Rpb24gSjEodCl7cmV0dXJuIHVvKHQpP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCk6dH0vKiEKICAqIHZ1ZS1yb3V0ZXIgdjQuMy4yCiAgKiAoYykgMjAyNCBFZHVhcmRvIFNhbiBNYXJ0aW4gTW9yb3RlCiAgKiBAbGljZW5zZSBNSVQKICAqL2NvbnN0IE1pPXR5cGVvZiBkb2N1bWVudDwidSI7ZnVuY3Rpb24gcTEodCl7cmV0dXJuIHQuX19lc01vZHVsZXx8dFtTeW1ib2wudG9TdHJpbmdUYWddPT09Ik1vZHVsZSJ9Y29uc3Qgb3Q9T2JqZWN0LmFzc2lnbjtmdW5jdGlvbiBYbCh0LGUpe2NvbnN0IG49e307Zm9yKGNvbnN0IHIgaW4gZSl7Y29uc3QgaT1lW3JdO25bcl09em4oaSk/aS5tYXAodCk6dChpKX1yZXR1cm4gbn1jb25zdCBxcz0oKT0+e30sem49QXJyYXkuaXNBcnJheSxBeT0vIy9nLFoxPS8mL2csSzE9L1wvL2csWTE9Lz0vZyxYMT0vXD8vZyxPeT0vXCsvZyxRMT0vJTVCL2csZVM9LyU1RC9nLEN5PS8lNUUvZyx0Uz0vJTYwL2csUHk9LyU3Qi9nLG5TPS8lN0MvZyxJeT0vJTdEL2csclM9LyUyMC9nO2Z1bmN0aW9uIEVkKHQpe3JldHVybiBlbmNvZGVVUkkoIiIrdCkucmVwbGFjZShuUywifCIpLnJlcGxhY2UoUTEsIlsiKS5yZXBsYWNlKGVTLCJdIil9ZnVuY3Rpb24gaVModCl7cmV0dXJuIEVkKHQpLnJlcGxhY2UoUHksInsiKS5yZXBsYWNlKEl5LCJ9IikucmVwbGFjZShDeSwiXiIpfWZ1bmN0aW9uIFZjKHQpe3JldHVybiBFZCh0KS5yZXBsYWNlKE95LCIlMkIiKS5yZXBsYWNlKHJTLCIrIikucmVwbGFjZShBeSwiJTIzIikucmVwbGFjZShaMSwiJTI2IikucmVwbGFjZSh0UywiYCIpLnJlcGxhY2UoUHksInsiKS5yZXBsYWNlKEl5LCJ9IikucmVwbGFjZShDeSwiXiIpfWZ1bmN0aW9uIHNTKHQpe3JldHVybiBWYyh0KS5yZXBsYWNlKFkxLCIlM0QiKX1mdW5jdGlvbiBvUyh0KXtyZXR1cm4gRWQodCkucmVwbGFjZShBeSwiJTIzIikucmVwbGFjZShYMSwiJTNGIil9ZnVuY3Rpb24gYVModCl7cmV0dXJuIHQ9PW51bGw/IiI6b1ModCkucmVwbGFjZShLMSwiJTJGIil9ZnVuY3Rpb24gbW8odCl7dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoIiIrdCl9Y2F0Y2h7fXJldHVybiIiK3R9Y29uc3QgbFM9L1wvJC8sY1M9dD0+dC5yZXBsYWNlKGxTLCIiKTtmdW5jdGlvbiBRbCh0LGUsbj0iLyIpe2xldCByLGk9e30scz0iIixvPSIiO2NvbnN0IGE9ZS5pbmRleE9mKCIjIik7bGV0IGw9ZS5pbmRleE9mKCI/Iik7cmV0dXJuIGE8bCYmYT49MCYmKGw9LTEpLGw+LTEmJihyPWUuc2xpY2UoMCxsKSxzPWUuc2xpY2UobCsxLGE+LTE/YTplLmxlbmd0aCksaT10KHMpKSxhPi0xJiYocj1yfHxlLnNsaWNlKDAsYSksbz1lLnNsaWNlKGEsZS5sZW5ndGgpKSxyPWhTKHI/P2Usbikse2Z1bGxQYXRoOnIrKHMmJiI/IikrcytvLHBhdGg6cixxdWVyeTppLGhhc2g6bW8obyl9fWZ1bmN0aW9uIHVTKHQsZSl7Y29uc3Qgbj1lLnF1ZXJ5P3QoZS5xdWVyeSk6IiI7cmV0dXJuIGUucGF0aCsobiYmIj8iKStuKyhlLmhhc2h8fCIiKX1mdW5jdGlvbiBtaCh0LGUpe3JldHVybiFlfHwhdC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoZS50b0xvd2VyQ2FzZSgpKT90OnQuc2xpY2UoZS5sZW5ndGgpfHwiLyJ9ZnVuY3Rpb24gZFModCxlLG4pe2NvbnN0IHI9ZS5tYXRjaGVkLmxlbmd0aC0xLGk9bi5tYXRjaGVkLmxlbmd0aC0xO3JldHVybiByPi0xJiZyPT09aSYmc3MoZS5tYXRjaGVkW3JdLG4ubWF0Y2hlZFtpXSkmJk55KGUucGFyYW1zLG4ucGFyYW1zKSYmdChlLnF1ZXJ5KT09PXQobi5xdWVyeSkmJmUuaGFzaD09PW4uaGFzaH1mdW5jdGlvbiBzcyh0LGUpe3JldHVybih0LmFsaWFzT2Z8fHQpPT09KGUuYWxpYXNPZnx8ZSl9ZnVuY3Rpb24gTnkodCxlKXtpZihPYmplY3Qua2V5cyh0KS5sZW5ndGghPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgpcmV0dXJuITE7Zm9yKGNvbnN0IG4gaW4gdClpZighZlModFtuXSxlW25dKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBmUyh0LGUpe3JldHVybiB6bih0KT9waCh0LGUpOnpuKGUpP3BoKGUsdCk6dD09PWV9ZnVuY3Rpb24gcGgodCxlKXtyZXR1cm4gem4oZSk/dC5sZW5ndGg9PT1lLmxlbmd0aCYmdC5ldmVyeSgobixyKT0+bj09PWVbcl0pOnQubGVuZ3RoPT09MSYmdFswXT09PWV9ZnVuY3Rpb24gaFModCxlKXtpZih0LnN0YXJ0c1dpdGgoIi8iKSlyZXR1cm4gdDtpZighdClyZXR1cm4gZTtjb25zdCBuPWUuc3BsaXQoIi8iKSxyPXQuc3BsaXQoIi8iKSxpPXJbci5sZW5ndGgtMV07KGk9PT0iLi4ifHxpPT09Ii4iKSYmci5wdXNoKCIiKTtsZXQgcz1uLmxlbmd0aC0xLG8sYTtmb3Iobz0wO288ci5sZW5ndGg7bysrKWlmKGE9cltvXSxhIT09Ii4iKWlmKGE9PT0iLi4iKXM+MSYmcy0tO2Vsc2UgYnJlYWs7cmV0dXJuIG4uc2xpY2UoMCxzKS5qb2luKCIvIikrIi8iK3Iuc2xpY2Uobykuam9pbigiLyIpfXZhciBwbzsoZnVuY3Rpb24odCl7dC5wb3A9InBvcCIsdC5wdXNoPSJwdXNoIn0pKHBvfHwocG89e30pKTt2YXIgWnM7KGZ1bmN0aW9uKHQpe3QuYmFjaz0iYmFjayIsdC5mb3J3YXJkPSJmb3J3YXJkIix0LnVua25vd249IiJ9KShac3x8KFpzPXt9KSk7ZnVuY3Rpb24gbVModCl7aWYoIXQpaWYoTWkpe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYmFzZSIpO3Q9ZSYmZS5nZXRBdHRyaWJ1dGUoImhyZWYiKXx8Ii8iLHQ9dC5yZXBsYWNlKC9eXHcrOlwvXC9bXlwvXSsvLCIiKX1lbHNlIHQ9Ii8iO3JldHVybiB0WzBdIT09Ii8iJiZ0WzBdIT09IiMiJiYodD0iLyIrdCksY1ModCl9Y29uc3QgcFM9L15bXiNdKyMvO2Z1bmN0aW9uIGdTKHQsZSl7cmV0dXJuIHQucmVwbGFjZShwUywiIyIpK2V9ZnVuY3Rpb24geVModCxlKXtjb25zdCBuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue2JlaGF2aW9yOmUuYmVoYXZpb3IsbGVmdDpyLmxlZnQtbi5sZWZ0LShlLmxlZnR8fDApLHRvcDpyLnRvcC1uLnRvcC0oZS50b3B8fDApfX1jb25zdCBmbD0oKT0+KHtsZWZ0OndpbmRvdy5zY3JvbGxYLHRvcDp3aW5kb3cuc2Nyb2xsWX0pO2Z1bmN0aW9uIHZTKHQpe2xldCBlO2lmKCJlbCJpbiB0KXtjb25zdCBuPXQuZWwscj10eXBlb2Ygbj09InN0cmluZyImJm4uc3RhcnRzV2l0aCgiIyIpLGk9dHlwZW9mIG49PSJzdHJpbmciP3I/ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobi5zbGljZSgxKSk6ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihuKTpuO2lmKCFpKXJldHVybjtlPXlTKGksdCl9ZWxzZSBlPXQ7InNjcm9sbEJlaGF2aW9yImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZT93aW5kb3cuc2Nyb2xsVG8oZSk6d2luZG93LnNjcm9sbFRvKGUubGVmdCE9bnVsbD9lLmxlZnQ6d2luZG93LnNjcm9sbFgsZS50b3AhPW51bGw/ZS50b3A6d2luZG93LnNjcm9sbFkpfWZ1bmN0aW9uIGdoKHQsZSl7cmV0dXJuKGhpc3Rvcnkuc3RhdGU/aGlzdG9yeS5zdGF0ZS5wb3NpdGlvbi1lOi0xKSt0fWNvbnN0IFdjPW5ldyBNYXA7ZnVuY3Rpb24gX1ModCxlKXtXYy5zZXQodCxlKX1mdW5jdGlvbiBiUyh0KXtjb25zdCBlPVdjLmdldCh0KTtyZXR1cm4gV2MuZGVsZXRlKHQpLGV9bGV0IHdTPSgpPT5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK2xvY2F0aW9uLmhvc3Q7ZnVuY3Rpb24gUnkodCxlKXtjb25zdHtwYXRobmFtZTpuLHNlYXJjaDpyLGhhc2g6aX09ZSxzPXQuaW5kZXhPZigiIyIpO2lmKHM+LTEpe2xldCBhPWkuaW5jbHVkZXModC5zbGljZShzKSk/dC5zbGljZShzKS5sZW5ndGg6MSxsPWkuc2xpY2UoYSk7cmV0dXJuIGxbMF0hPT0iLyImJihsPSIvIitsKSxtaChsLCIiKX1yZXR1cm4gbWgobix0KStyK2l9ZnVuY3Rpb24ga1ModCxlLG4scil7bGV0IGk9W10scz1bXSxvPW51bGw7Y29uc3QgYT0oe3N0YXRlOmZ9KT0+e2NvbnN0IGg9UnkodCxsb2NhdGlvbiksbT1uLnZhbHVlLHA9ZS52YWx1ZTtsZXQgaz0wO2lmKGYpe2lmKG4udmFsdWU9aCxlLnZhbHVlPWYsbyYmbz09PW0pe289bnVsbDtyZXR1cm59az1wP2YucG9zaXRpb24tcC5wb3NpdGlvbjowfWVsc2UgcihoKTtpLmZvckVhY2goeD0+e3gobi52YWx1ZSxtLHtkZWx0YTprLHR5cGU6cG8ucG9wLGRpcmVjdGlvbjprP2s+MD9acy5mb3J3YXJkOlpzLmJhY2s6WnMudW5rbm93bn0pfSl9O2Z1bmN0aW9uIGwoKXtvPW4udmFsdWV9ZnVuY3Rpb24gYyhmKXtpLnB1c2goZik7Y29uc3QgaD0oKT0+e2NvbnN0IG09aS5pbmRleE9mKGYpO20+LTEmJmkuc3BsaWNlKG0sMSl9O3JldHVybiBzLnB1c2goaCksaH1mdW5jdGlvbiB1KCl7Y29uc3R7aGlzdG9yeTpmfT13aW5kb3c7Zi5zdGF0ZSYmZi5yZXBsYWNlU3RhdGUob3Qoe30sZi5zdGF0ZSx7c2Nyb2xsOmZsKCl9KSwiIil9ZnVuY3Rpb24gZCgpe2Zvcihjb25zdCBmIG9mIHMpZigpO3M9W10sd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixhKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIix1KX1yZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixhKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIix1LHtwYXNzaXZlOiEwfSkse3BhdXNlTGlzdGVuZXJzOmwsbGlzdGVuOmMsZGVzdHJveTpkfX1mdW5jdGlvbiB5aCh0LGUsbixyPSExLGk9ITEpe3JldHVybntiYWNrOnQsY3VycmVudDplLGZvcndhcmQ6bixyZXBsYWNlZDpyLHBvc2l0aW9uOndpbmRvdy5oaXN0b3J5Lmxlbmd0aCxzY3JvbGw6aT9mbCgpOm51bGx9fWZ1bmN0aW9uIFNTKHQpe2NvbnN0e2hpc3Rvcnk6ZSxsb2NhdGlvbjpufT13aW5kb3cscj17dmFsdWU6UnkodCxuKX0saT17dmFsdWU6ZS5zdGF0ZX07aS52YWx1ZXx8cyhyLnZhbHVlLHtiYWNrOm51bGwsY3VycmVudDpyLnZhbHVlLGZvcndhcmQ6bnVsbCxwb3NpdGlvbjplLmxlbmd0aC0xLHJlcGxhY2VkOiEwLHNjcm9sbDpudWxsfSwhMCk7ZnVuY3Rpb24gcyhsLGMsdSl7Y29uc3QgZD10LmluZGV4T2YoIiMiKSxmPWQ+LTE/KG4uaG9zdCYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYmFzZSIpP3Q6dC5zbGljZShkKSkrbDp3UygpK3QrbDt0cnl7ZVt1PyJyZXBsYWNlU3RhdGUiOiJwdXNoU3RhdGUiXShjLCIiLGYpLGkudmFsdWU9Y31jYXRjaChoKXtjb25zb2xlLmVycm9yKGgpLG5bdT8icmVwbGFjZSI6ImFzc2lnbiJdKGYpfX1mdW5jdGlvbiBvKGwsYyl7Y29uc3QgdT1vdCh7fSxlLnN0YXRlLHloKGkudmFsdWUuYmFjayxsLGkudmFsdWUuZm9yd2FyZCwhMCksYyx7cG9zaXRpb246aS52YWx1ZS5wb3NpdGlvbn0pO3MobCx1LCEwKSxyLnZhbHVlPWx9ZnVuY3Rpb24gYShsLGMpe2NvbnN0IHU9b3Qoe30saS52YWx1ZSxlLnN0YXRlLHtmb3J3YXJkOmwsc2Nyb2xsOmZsKCl9KTtzKHUuY3VycmVudCx1LCEwKTtjb25zdCBkPW90KHt9LHloKHIudmFsdWUsbCxudWxsKSx7cG9zaXRpb246dS5wb3NpdGlvbisxfSxjKTtzKGwsZCwhMSksci52YWx1ZT1sfXJldHVybntsb2NhdGlvbjpyLHN0YXRlOmkscHVzaDphLHJlcGxhY2U6b319ZnVuY3Rpb24gVFModCl7dD1tUyh0KTtjb25zdCBlPVNTKHQpLG49a1ModCxlLnN0YXRlLGUubG9jYXRpb24sZS5yZXBsYWNlKTtmdW5jdGlvbiByKHMsbz0hMCl7b3x8bi5wYXVzZUxpc3RlbmVycygpLGhpc3RvcnkuZ28ocyl9Y29uc3QgaT1vdCh7bG9jYXRpb246IiIsYmFzZTp0LGdvOnIsY3JlYXRlSHJlZjpnUy5iaW5kKG51bGwsdCl9LGUsbik7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLCJsb2NhdGlvbiIse2VudW1lcmFibGU6ITAsZ2V0OigpPT5lLmxvY2F0aW9uLnZhbHVlfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGksInN0YXRlIix7ZW51bWVyYWJsZTohMCxnZXQ6KCk9PmUuc3RhdGUudmFsdWV9KSxpfWZ1bmN0aW9uIEVTKHQpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyJ8fHQmJnR5cGVvZiB0PT0ib2JqZWN0In1mdW5jdGlvbiBEeSh0KXtyZXR1cm4gdHlwZW9mIHQ9PSJzdHJpbmcifHx0eXBlb2YgdD09InN5bWJvbCJ9Y29uc3QgRXI9e3BhdGg6Ii8iLG5hbWU6dm9pZCAwLHBhcmFtczp7fSxxdWVyeTp7fSxoYXNoOiIiLGZ1bGxQYXRoOiIvIixtYXRjaGVkOltdLG1ldGE6e30scmVkaXJlY3RlZEZyb206dm9pZCAwfSxNeT1TeW1ib2woIiIpO3ZhciB2aDsoZnVuY3Rpb24odCl7dFt0LmFib3J0ZWQ9NF09ImFib3J0ZWQiLHRbdC5jYW5jZWxsZWQ9OF09ImNhbmNlbGxlZCIsdFt0LmR1cGxpY2F0ZWQ9MTZdPSJkdXBsaWNhdGVkIn0pKHZofHwodmg9e30pKTtmdW5jdGlvbiBvcyh0LGUpe3JldHVybiBvdChuZXcgRXJyb3Ise3R5cGU6dCxbTXldOiEwfSxlKX1mdW5jdGlvbiBjcih0LGUpe3JldHVybiB0IGluc3RhbmNlb2YgRXJyb3ImJk15IGluIHQmJihlPT1udWxsfHwhISh0LnR5cGUmZSkpfWNvbnN0IF9oPSJbXi9dKz8iLHhTPXtzZW5zaXRpdmU6ITEsc3RyaWN0OiExLHN0YXJ0OiEwLGVuZDohMH0sQVM9L1suKyo/XiR7fSgpW1xdL1xcXS9nO2Z1bmN0aW9uIE9TKHQsZSl7Y29uc3Qgbj1vdCh7fSx4UyxlKSxyPVtdO2xldCBpPW4uc3RhcnQ/Il4iOiIiO2NvbnN0IHM9W107Zm9yKGNvbnN0IGMgb2YgdCl7Y29uc3QgdT1jLmxlbmd0aD9bXTpbOTBdO24uc3RyaWN0JiYhYy5sZW5ndGgmJihpKz0iLyIpO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXtjb25zdCBmPWNbZF07bGV0IGg9NDArKG4uc2Vuc2l0aXZlPy4yNTowKTtpZihmLnR5cGU9PT0wKWR8fChpKz0iLyIpLGkrPWYudmFsdWUucmVwbGFjZShBUywiXFwkJiIpLGgrPTQwO2Vsc2UgaWYoZi50eXBlPT09MSl7Y29uc3R7dmFsdWU6bSxyZXBlYXRhYmxlOnAsb3B0aW9uYWw6ayxyZWdleHA6eH09ZjtzLnB1c2goe25hbWU6bSxyZXBlYXRhYmxlOnAsb3B0aW9uYWw6a30pO2NvbnN0IEM9eHx8X2g7aWYoQyE9PV9oKXtoKz0xMDt0cnl7bmV3IFJlZ0V4cChgKCR7Q30pYCl9Y2F0Y2goVCl7dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGN1c3RvbSBSZWdFeHAgZm9yIHBhcmFtICIke219IiAoJHtDfSk6IGArVC5tZXNzYWdlKX19bGV0IGI9cD9gKCg/OiR7Q30pKD86Lyg/OiR7Q30pKSopYDpgKCR7Q30pYDtkfHwoYj1rJiZjLmxlbmd0aDwyP2AoPzovJHtifSlgOiIvIitiKSxrJiYoYis9Ij8iKSxpKz1iLGgrPTIwLGsmJihoKz0tOCkscCYmKGgrPS0yMCksQz09PSIuKiImJihoKz0tNTApfXUucHVzaChoKX1yLnB1c2godSl9aWYobi5zdHJpY3QmJm4uZW5kKXtjb25zdCBjPXIubGVuZ3RoLTE7cltjXVtyW2NdLmxlbmd0aC0xXSs9LjcwMDAwMDAwMDAwMDAwMDF9bi5zdHJpY3R8fChpKz0iLz8iKSxuLmVuZD9pKz0iJCI6bi5zdHJpY3QmJihpKz0iKD86L3wkKSIpO2NvbnN0IG89bmV3IFJlZ0V4cChpLG4uc2Vuc2l0aXZlPyIiOiJpIik7ZnVuY3Rpb24gYShjKXtjb25zdCB1PWMubWF0Y2gobyksZD17fTtpZighdSlyZXR1cm4gbnVsbDtmb3IobGV0IGY9MTtmPHUubGVuZ3RoO2YrKyl7Y29uc3QgaD11W2ZdfHwiIixtPXNbZi0xXTtkW20ubmFtZV09aCYmbS5yZXBlYXRhYmxlP2guc3BsaXQoIi8iKTpofXJldHVybiBkfWZ1bmN0aW9uIGwoYyl7bGV0IHU9IiIsZD0hMTtmb3IoY29uc3QgZiBvZiB0KXsoIWR8fCF1LmVuZHNXaXRoKCIvIikpJiYodSs9Ii8iKSxkPSExO2Zvcihjb25zdCBoIG9mIGYpaWYoaC50eXBlPT09MCl1Kz1oLnZhbHVlO2Vsc2UgaWYoaC50eXBlPT09MSl7Y29uc3R7dmFsdWU6bSxyZXBlYXRhYmxlOnAsb3B0aW9uYWw6a309aCx4PW0gaW4gYz9jW21dOiIiO2lmKHpuKHgpJiYhcCl0aHJvdyBuZXcgRXJyb3IoYFByb3ZpZGVkIHBhcmFtICIke219IiBpcyBhbiBhcnJheSBidXQgaXQgaXMgbm90IHJlcGVhdGFibGUgKCogb3IgKyBtb2RpZmllcnMpYCk7Y29uc3QgQz16bih4KT94LmpvaW4oIi8iKTp4O2lmKCFDKWlmKGspZi5sZW5ndGg8MiYmKHUuZW5kc1dpdGgoIi8iKT91PXUuc2xpY2UoMCwtMSk6ZD0hMCk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgcmVxdWlyZWQgcGFyYW0gIiR7bX0iYCk7dSs9Q319cmV0dXJuIHV8fCIvIn1yZXR1cm57cmU6byxzY29yZTpyLGtleXM6cyxwYXJzZTphLHN0cmluZ2lmeTpsfX1mdW5jdGlvbiBDUyh0LGUpe2xldCBuPTA7Zm9yKDtuPHQubGVuZ3RoJiZuPGUubGVuZ3RoOyl7Y29uc3Qgcj1lW25dLXRbbl07aWYocilyZXR1cm4gcjtuKyt9cmV0dXJuIHQubGVuZ3RoPGUubGVuZ3RoP3QubGVuZ3RoPT09MSYmdFswXT09PTgwPy0xOjE6dC5sZW5ndGg+ZS5sZW5ndGg/ZS5sZW5ndGg9PT0xJiZlWzBdPT09ODA/MTotMTowfWZ1bmN0aW9uIFBTKHQsZSl7bGV0IG49MDtjb25zdCByPXQuc2NvcmUsaT1lLnNjb3JlO2Zvcig7bjxyLmxlbmd0aCYmbjxpLmxlbmd0aDspe2NvbnN0IHM9Q1MocltuXSxpW25dKTtpZihzKXJldHVybiBzO24rK31pZihNYXRoLmFicyhpLmxlbmd0aC1yLmxlbmd0aCk9PT0xKXtpZihiaChyKSlyZXR1cm4gMTtpZihiaChpKSlyZXR1cm4tMX1yZXR1cm4gaS5sZW5ndGgtci5sZW5ndGh9ZnVuY3Rpb24gYmgodCl7Y29uc3QgZT10W3QubGVuZ3RoLTFdO3JldHVybiB0Lmxlbmd0aD4wJiZlW2UubGVuZ3RoLTFdPDB9Y29uc3QgSVM9e3R5cGU6MCx2YWx1ZToiIn0sTlM9L1thLXpBLVowLTlfXS87ZnVuY3Rpb24gUlModCl7aWYoIXQpcmV0dXJuW1tdXTtpZih0PT09Ii8iKXJldHVybltbSVNdXTtpZighdC5zdGFydHNXaXRoKCIvIikpdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhdGggIiR7dH0iYCk7ZnVuY3Rpb24gZShoKXt0aHJvdyBuZXcgRXJyb3IoYEVSUiAoJHtufSkvIiR7Y30iOiAke2h9YCl9bGV0IG49MCxyPW47Y29uc3QgaT1bXTtsZXQgcztmdW5jdGlvbiBvKCl7cyYmaS5wdXNoKHMpLHM9W119bGV0IGE9MCxsLGM9IiIsdT0iIjtmdW5jdGlvbiBkKCl7YyYmKG49PT0wP3MucHVzaCh7dHlwZTowLHZhbHVlOmN9KTpuPT09MXx8bj09PTJ8fG49PT0zPyhzLmxlbmd0aD4xJiYobD09PSIqInx8bD09PSIrIikmJmUoYEEgcmVwZWF0YWJsZSBwYXJhbSAoJHtjfSkgbXVzdCBiZSBhbG9uZSBpbiBpdHMgc2VnbWVudC4gZWc6ICcvOmlkcysuYCkscy5wdXNoKHt0eXBlOjEsdmFsdWU6YyxyZWdleHA6dSxyZXBlYXRhYmxlOmw9PT0iKiJ8fGw9PT0iKyIsb3B0aW9uYWw6bD09PSIqInx8bD09PSI/In0pKTplKCJJbnZhbGlkIHN0YXRlIHRvIGNvbnN1bWUgYnVmZmVyIiksYz0iIil9ZnVuY3Rpb24gZigpe2MrPWx9Zm9yKDthPHQubGVuZ3RoOyl7aWYobD10W2ErK10sbD09PSJcXCImJm4hPT0yKXtyPW4sbj00O2NvbnRpbnVlfXN3aXRjaChuKXtjYXNlIDA6bD09PSIvIj8oYyYmZCgpLG8oKSk6bD09PSI6Ij8oZCgpLG49MSk6ZigpO2JyZWFrO2Nhc2UgNDpmKCksbj1yO2JyZWFrO2Nhc2UgMTpsPT09IigiP249MjpOUy50ZXN0KGwpP2YoKTooZCgpLG49MCxsIT09IioiJiZsIT09Ij8iJiZsIT09IisiJiZhLS0pO2JyZWFrO2Nhc2UgMjpsPT09IikiP3VbdS5sZW5ndGgtMV09PSJcXCI/dT11LnNsaWNlKDAsLTEpK2w6bj0zOnUrPWw7YnJlYWs7Y2FzZSAzOmQoKSxuPTAsbCE9PSIqIiYmbCE9PSI/IiYmbCE9PSIrIiYmYS0tLHU9IiI7YnJlYWs7ZGVmYXVsdDplKCJVbmtub3duIHN0YXRlIik7YnJlYWt9fXJldHVybiBuPT09MiYmZShgVW5maW5pc2hlZCBjdXN0b20gUmVnRXhwIGZvciBwYXJhbSAiJHtjfSJgKSxkKCksbygpLGl9ZnVuY3Rpb24gRFModCxlLG4pe2NvbnN0IHI9T1MoUlModC5wYXRoKSxuKSxpPW90KHIse3JlY29yZDp0LHBhcmVudDplLGNoaWxkcmVuOltdLGFsaWFzOltdfSk7cmV0dXJuIGUmJiFpLnJlY29yZC5hbGlhc09mPT0hZS5yZWNvcmQuYWxpYXNPZiYmZS5jaGlsZHJlbi5wdXNoKGkpLGl9ZnVuY3Rpb24gTVModCxlKXtjb25zdCBuPVtdLHI9bmV3IE1hcDtlPVNoKHtzdHJpY3Q6ITEsZW5kOiEwLHNlbnNpdGl2ZTohMX0sZSk7ZnVuY3Rpb24gaSh1KXtyZXR1cm4gci5nZXQodSl9ZnVuY3Rpb24gcyh1LGQsZil7Y29uc3QgaD0hZixtPUxTKHUpO20uYWxpYXNPZj1mJiZmLnJlY29yZDtjb25zdCBwPVNoKGUsdSksaz1bbV07aWYoImFsaWFzImluIHUpe2NvbnN0IGI9dHlwZW9mIHUuYWxpYXM9PSJzdHJpbmciP1t1LmFsaWFzXTp1LmFsaWFzO2Zvcihjb25zdCBUIG9mIGIpay5wdXNoKG90KHt9LG0se2NvbXBvbmVudHM6Zj9mLnJlY29yZC5jb21wb25lbnRzOm0uY29tcG9uZW50cyxwYXRoOlQsYWxpYXNPZjpmP2YucmVjb3JkOm19KSl9bGV0IHgsQztmb3IoY29uc3QgYiBvZiBrKXtjb25zdHtwYXRoOlR9PWI7aWYoZCYmVFswXSE9PSIvIil7Y29uc3QgRT1kLnJlY29yZC5wYXRoLHc9RVtFLmxlbmd0aC0xXT09PSIvIj8iIjoiLyI7Yi5wYXRoPWQucmVjb3JkLnBhdGgrKFQmJncrVCl9aWYoeD1EUyhiLGQscCksZj9mLmFsaWFzLnB1c2goeCk6KEM9Q3x8eCxDIT09eCYmQy5hbGlhcy5wdXNoKHgpLGgmJnUubmFtZSYmIWtoKHgpJiZvKHUubmFtZSkpLG0uY2hpbGRyZW4pe2NvbnN0IEU9bS5jaGlsZHJlbjtmb3IobGV0IHc9MDt3PEUubGVuZ3RoO3crKylzKEVbd10seCxmJiZmLmNoaWxkcmVuW3ddKX1mPWZ8fHgsKHgucmVjb3JkLmNvbXBvbmVudHMmJk9iamVjdC5rZXlzKHgucmVjb3JkLmNvbXBvbmVudHMpLmxlbmd0aHx8eC5yZWNvcmQubmFtZXx8eC5yZWNvcmQucmVkaXJlY3QpJiZsKHgpfXJldHVybiBDPygpPT57byhDKX06cXN9ZnVuY3Rpb24gbyh1KXtpZihEeSh1KSl7Y29uc3QgZD1yLmdldCh1KTtkJiYoci5kZWxldGUodSksbi5zcGxpY2Uobi5pbmRleE9mKGQpLDEpLGQuY2hpbGRyZW4uZm9yRWFjaChvKSxkLmFsaWFzLmZvckVhY2gobykpfWVsc2V7Y29uc3QgZD1uLmluZGV4T2YodSk7ZD4tMSYmKG4uc3BsaWNlKGQsMSksdS5yZWNvcmQubmFtZSYmci5kZWxldGUodS5yZWNvcmQubmFtZSksdS5jaGlsZHJlbi5mb3JFYWNoKG8pLHUuYWxpYXMuZm9yRWFjaChvKSl9fWZ1bmN0aW9uIGEoKXtyZXR1cm4gbn1mdW5jdGlvbiBsKHUpe2xldCBkPTA7Zm9yKDtkPG4ubGVuZ3RoJiZQUyh1LG5bZF0pPj0wJiYodS5yZWNvcmQucGF0aCE9PW5bZF0ucmVjb3JkLnBhdGh8fCFMeSh1LG5bZF0pKTspZCsrO24uc3BsaWNlKGQsMCx1KSx1LnJlY29yZC5uYW1lJiYha2godSkmJnIuc2V0KHUucmVjb3JkLm5hbWUsdSl9ZnVuY3Rpb24gYyh1LGQpe2xldCBmLGg9e30sbSxwO2lmKCJuYW1lImluIHUmJnUubmFtZSl7aWYoZj1yLmdldCh1Lm5hbWUpLCFmKXRocm93IG9zKDEse2xvY2F0aW9uOnV9KTtwPWYucmVjb3JkLm5hbWUsaD1vdCh3aChkLnBhcmFtcyxmLmtleXMuZmlsdGVyKEM9PiFDLm9wdGlvbmFsKS5jb25jYXQoZi5wYXJlbnQ/Zi5wYXJlbnQua2V5cy5maWx0ZXIoQz0+Qy5vcHRpb25hbCk6W10pLm1hcChDPT5DLm5hbWUpKSx1LnBhcmFtcyYmd2godS5wYXJhbXMsZi5rZXlzLm1hcChDPT5DLm5hbWUpKSksbT1mLnN0cmluZ2lmeShoKX1lbHNlIGlmKHUucGF0aCE9bnVsbCltPXUucGF0aCxmPW4uZmluZChDPT5DLnJlLnRlc3QobSkpLGYmJihoPWYucGFyc2UobSkscD1mLnJlY29yZC5uYW1lKTtlbHNle2lmKGY9ZC5uYW1lP3IuZ2V0KGQubmFtZSk6bi5maW5kKEM9PkMucmUudGVzdChkLnBhdGgpKSwhZil0aHJvdyBvcygxLHtsb2NhdGlvbjp1LGN1cnJlbnRMb2NhdGlvbjpkfSk7cD1mLnJlY29yZC5uYW1lLGg9b3Qoe30sZC5wYXJhbXMsdS5wYXJhbXMpLG09Zi5zdHJpbmdpZnkoaCl9Y29uc3Qgaz1bXTtsZXQgeD1mO2Zvcig7eDspay51bnNoaWZ0KHgucmVjb3JkKSx4PXgucGFyZW50O3JldHVybntuYW1lOnAscGF0aDptLHBhcmFtczpoLG1hdGNoZWQ6ayxtZXRhOiRTKGspfX1yZXR1cm4gdC5mb3JFYWNoKHU9PnModSkpLHthZGRSb3V0ZTpzLHJlc29sdmU6YyxyZW1vdmVSb3V0ZTpvLGdldFJvdXRlczphLGdldFJlY29yZE1hdGNoZXI6aX19ZnVuY3Rpb24gd2godCxlKXtjb25zdCBuPXt9O2Zvcihjb25zdCByIG9mIGUpciBpbiB0JiYobltyXT10W3JdKTtyZXR1cm4gbn1mdW5jdGlvbiBMUyh0KXtyZXR1cm57cGF0aDp0LnBhdGgscmVkaXJlY3Q6dC5yZWRpcmVjdCxuYW1lOnQubmFtZSxtZXRhOnQubWV0YXx8e30sYWxpYXNPZjp2b2lkIDAsYmVmb3JlRW50ZXI6dC5iZWZvcmVFbnRlcixwcm9wczpGUyh0KSxjaGlsZHJlbjp0LmNoaWxkcmVufHxbXSxpbnN0YW5jZXM6e30sbGVhdmVHdWFyZHM6bmV3IFNldCx1cGRhdGVHdWFyZHM6bmV3IFNldCxlbnRlckNhbGxiYWNrczp7fSxjb21wb25lbnRzOiJjb21wb25lbnRzImluIHQ/dC5jb21wb25lbnRzfHxudWxsOnQuY29tcG9uZW50JiZ7ZGVmYXVsdDp0LmNvbXBvbmVudH19fWZ1bmN0aW9uIEZTKHQpe2NvbnN0IGU9e30sbj10LnByb3BzfHwhMTtpZigiY29tcG9uZW50ImluIHQpZS5kZWZhdWx0PW47ZWxzZSBmb3IoY29uc3QgciBpbiB0LmNvbXBvbmVudHMpZVtyXT10eXBlb2Ygbj09Im9iamVjdCI/bltyXTpuO3JldHVybiBlfWZ1bmN0aW9uIGtoKHQpe2Zvcig7dDspe2lmKHQucmVjb3JkLmFsaWFzT2YpcmV0dXJuITA7dD10LnBhcmVudH1yZXR1cm4hMX1mdW5jdGlvbiAkUyh0KXtyZXR1cm4gdC5yZWR1Y2UoKGUsbik9Pm90KGUsbi5tZXRhKSx7fSl9ZnVuY3Rpb24gU2godCxlKXtjb25zdCBuPXt9O2Zvcihjb25zdCByIGluIHQpbltyXT1yIGluIGU/ZVtyXTp0W3JdO3JldHVybiBufWZ1bmN0aW9uIEx5KHQsZSl7cmV0dXJuIGUuY2hpbGRyZW4uc29tZShuPT5uPT09dHx8THkodCxuKSl9ZnVuY3Rpb24galModCl7Y29uc3QgZT17fTtpZih0PT09IiJ8fHQ9PT0iPyIpcmV0dXJuIGU7Y29uc3Qgcj0odFswXT09PSI/Ij90LnNsaWNlKDEpOnQpLnNwbGl0KCImIik7Zm9yKGxldCBpPTA7aTxyLmxlbmd0aDsrK2kpe2NvbnN0IHM9cltpXS5yZXBsYWNlKE95LCIgIiksbz1zLmluZGV4T2YoIj0iKSxhPW1vKG88MD9zOnMuc2xpY2UoMCxvKSksbD1vPDA/bnVsbDptbyhzLnNsaWNlKG8rMSkpO2lmKGEgaW4gZSl7bGV0IGM9ZVthXTt6bihjKXx8KGM9ZVthXT1bY10pLGMucHVzaChsKX1lbHNlIGVbYV09bH1yZXR1cm4gZX1mdW5jdGlvbiBUaCh0KXtsZXQgZT0iIjtmb3IobGV0IG4gaW4gdCl7Y29uc3Qgcj10W25dO2lmKG49c1Mobikscj09bnVsbCl7ciE9PXZvaWQgMCYmKGUrPShlLmxlbmd0aD8iJiI6IiIpK24pO2NvbnRpbnVlfSh6bihyKT9yLm1hcChzPT5zJiZWYyhzKSk6W3ImJlZjKHIpXSkuZm9yRWFjaChzPT57cyE9PXZvaWQgMCYmKGUrPShlLmxlbmd0aD8iJiI6IiIpK24scyE9bnVsbCYmKGUrPSI9IitzKSl9KX1yZXR1cm4gZX1mdW5jdGlvbiBCUyh0KXtjb25zdCBlPXt9O2Zvcihjb25zdCBuIGluIHQpe2NvbnN0IHI9dFtuXTtyIT09dm9pZCAwJiYoZVtuXT16bihyKT9yLm1hcChpPT5pPT1udWxsP251bGw6IiIraSk6cj09bnVsbD9yOiIiK3IpfXJldHVybiBlfWNvbnN0IFVTPVN5bWJvbCgiIiksRWg9U3ltYm9sKCIiKSxobD1TeW1ib2woIiIpLHhkPVN5bWJvbCgiIiksR2M9U3ltYm9sKCIiKTtmdW5jdGlvbiBPcygpe2xldCB0PVtdO2Z1bmN0aW9uIGUocil7cmV0dXJuIHQucHVzaChyKSwoKT0+e2NvbnN0IGk9dC5pbmRleE9mKHIpO2k+LTEmJnQuc3BsaWNlKGksMSl9fWZ1bmN0aW9uIG4oKXt0PVtdfXJldHVybnthZGQ6ZSxsaXN0OigpPT50LnNsaWNlKCkscmVzZXQ6bn19ZnVuY3Rpb24gTXIodCxlLG4scixpLHM9bz0+bygpKXtjb25zdCBvPXImJihyLmVudGVyQ2FsbGJhY2tzW2ldPXIuZW50ZXJDYWxsYmFja3NbaV18fFtdKTtyZXR1cm4oKT0+bmV3IFByb21pc2UoKGEsbCk9Pntjb25zdCBjPWY9PntmPT09ITE/bChvcyg0LHtmcm9tOm4sdG86ZX0pKTpmIGluc3RhbmNlb2YgRXJyb3I/bChmKTpFUyhmKT9sKG9zKDIse2Zyb206ZSx0bzpmfSkpOihvJiZyLmVudGVyQ2FsbGJhY2tzW2ldPT09byYmdHlwZW9mIGY9PSJmdW5jdGlvbiImJm8ucHVzaChmKSxhKCkpfSx1PXMoKCk9PnQuY2FsbChyJiZyLmluc3RhbmNlc1tpXSxlLG4sYykpO2xldCBkPVByb21pc2UucmVzb2x2ZSh1KTt0Lmxlbmd0aDwzJiYoZD1kLnRoZW4oYykpLGQuY2F0Y2goZj0+bChmKSl9KX1mdW5jdGlvbiBlYyh0LGUsbixyLGk9cz0+cygpKXtjb25zdCBzPVtdO2Zvcihjb25zdCBvIG9mIHQpZm9yKGNvbnN0IGEgaW4gby5jb21wb25lbnRzKXtsZXQgbD1vLmNvbXBvbmVudHNbYV07aWYoIShlIT09ImJlZm9yZVJvdXRlRW50ZXIiJiYhby5pbnN0YW5jZXNbYV0pKWlmKFZTKGwpKXtjb25zdCB1PShsLl9fdmNjT3B0c3x8bClbZV07dSYmcy5wdXNoKE1yKHUsbixyLG8sYSxpKSl9ZWxzZXtsZXQgYz1sKCk7cy5wdXNoKCgpPT5jLnRoZW4odT0+e2lmKCF1KXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYENvdWxkbid0IHJlc29sdmUgY29tcG9uZW50ICIke2F9IiBhdCAiJHtvLnBhdGh9ImApKTtjb25zdCBkPXExKHUpP3UuZGVmYXVsdDp1O28uY29tcG9uZW50c1thXT1kO2NvbnN0IGg9KGQuX192Y2NPcHRzfHxkKVtlXTtyZXR1cm4gaCYmTXIoaCxuLHIsbyxhLGkpKCl9KSl9fXJldHVybiBzfWZ1bmN0aW9uIFZTKHQpe3JldHVybiB0eXBlb2YgdD09Im9iamVjdCJ8fCJkaXNwbGF5TmFtZSJpbiB0fHwicHJvcHMiaW4gdHx8Il9fdmNjT3B0cyJpbiB0fWZ1bmN0aW9uIHhoKHQpe2NvbnN0IGU9dXQoaGwpLG49dXQoeGQpLHI9b2UoKCk9Pntjb25zdCBsPVModC50byk7cmV0dXJuIGUucmVzb2x2ZShsKX0pLGk9b2UoKCk9Pntjb25zdHttYXRjaGVkOmx9PXIudmFsdWUse2xlbmd0aDpjfT1sLHU9bFtjLTFdLGQ9bi5tYXRjaGVkO2lmKCF1fHwhZC5sZW5ndGgpcmV0dXJuLTE7Y29uc3QgZj1kLmZpbmRJbmRleChzcy5iaW5kKG51bGwsdSkpO2lmKGY+LTEpcmV0dXJuIGY7Y29uc3QgaD1BaChsW2MtMl0pO3JldHVybiBjPjEmJkFoKHUpPT09aCYmZFtkLmxlbmd0aC0xXS5wYXRoIT09aD9kLmZpbmRJbmRleChzcy5iaW5kKG51bGwsbFtjLTJdKSk6Zn0pLHM9b2UoKCk9PmkudmFsdWU+LTEmJkhTKG4ucGFyYW1zLHIudmFsdWUucGFyYW1zKSksbz1vZSgoKT0+aS52YWx1ZT4tMSYmaS52YWx1ZT09PW4ubWF0Y2hlZC5sZW5ndGgtMSYmTnkobi5wYXJhbXMsci52YWx1ZS5wYXJhbXMpKTtmdW5jdGlvbiBhKGw9e30pe3JldHVybiB6UyhsKT9lW1ModC5yZXBsYWNlKT8icmVwbGFjZSI6InB1c2giXShTKHQudG8pKS5jYXRjaChxcyk6UHJvbWlzZS5yZXNvbHZlKCl9cmV0dXJue3JvdXRlOnIsaHJlZjpvZSgoKT0+ci52YWx1ZS5ocmVmKSxpc0FjdGl2ZTpzLGlzRXhhY3RBY3RpdmU6byxuYXZpZ2F0ZTphfX1jb25zdCBXUz1OZSh7bmFtZToiUm91dGVyTGluayIsY29tcGF0Q29uZmlnOntNT0RFOjN9LHByb3BzOnt0bzp7dHlwZTpbU3RyaW5nLE9iamVjdF0scmVxdWlyZWQ6ITB9LHJlcGxhY2U6Qm9vbGVhbixhY3RpdmVDbGFzczpTdHJpbmcsZXhhY3RBY3RpdmVDbGFzczpTdHJpbmcsY3VzdG9tOkJvb2xlYW4sYXJpYUN1cnJlbnRWYWx1ZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoicGFnZSJ9fSx1c2VMaW5rOnhoLHNldHVwKHQse3Nsb3RzOmV9KXtjb25zdCBuPU9pKHhoKHQpKSx7b3B0aW9uczpyfT11dChobCksaT1vZSgoKT0+KHtbT2godC5hY3RpdmVDbGFzcyxyLmxpbmtBY3RpdmVDbGFzcywicm91dGVyLWxpbmstYWN0aXZlIildOm4uaXNBY3RpdmUsW09oKHQuZXhhY3RBY3RpdmVDbGFzcyxyLmxpbmtFeGFjdEFjdGl2ZUNsYXNzLCJyb3V0ZXItbGluay1leGFjdC1hY3RpdmUiKV06bi5pc0V4YWN0QWN0aXZlfSkpO3JldHVybigpPT57Y29uc3Qgcz1lLmRlZmF1bHQmJmUuZGVmYXVsdChuKTtyZXR1cm4gdC5jdXN0b20/czpidCgiYSIseyJhcmlhLWN1cnJlbnQiOm4uaXNFeGFjdEFjdGl2ZT90LmFyaWFDdXJyZW50VmFsdWU6bnVsbCxocmVmOm4uaHJlZixvbkNsaWNrOm4ubmF2aWdhdGUsY2xhc3M6aS52YWx1ZX0scyl9fX0pLEdTPVdTO2Z1bmN0aW9uIHpTKHQpe2lmKCEodC5tZXRhS2V5fHx0LmFsdEtleXx8dC5jdHJsS2V5fHx0LnNoaWZ0S2V5KSYmIXQuZGVmYXVsdFByZXZlbnRlZCYmISh0LmJ1dHRvbiE9PXZvaWQgMCYmdC5idXR0b24hPT0wKSl7aWYodC5jdXJyZW50VGFyZ2V0JiZ0LmN1cnJlbnRUYXJnZXQuZ2V0QXR0cmlidXRlKXtjb25zdCBlPXQuY3VycmVudFRhcmdldC5nZXRBdHRyaWJ1dGUoInRhcmdldCIpO2lmKC9cYl9ibGFua1xiL2kudGVzdChlKSlyZXR1cm59cmV0dXJuIHQucHJldmVudERlZmF1bHQmJnQucHJldmVudERlZmF1bHQoKSwhMH19ZnVuY3Rpb24gSFModCxlKXtmb3IoY29uc3QgbiBpbiBlKXtjb25zdCByPWVbbl0saT10W25dO2lmKHR5cGVvZiByPT0ic3RyaW5nIil7aWYociE9PWkpcmV0dXJuITF9ZWxzZSBpZighem4oaSl8fGkubGVuZ3RoIT09ci5sZW5ndGh8fHIuc29tZSgocyxvKT0+cyE9PWlbb10pKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIEFoKHQpe3JldHVybiB0P3QuYWxpYXNPZj90LmFsaWFzT2YucGF0aDp0LnBhdGg6IiJ9Y29uc3QgT2g9KHQsZSxuKT0+dD8/ZT8/bixKUz1OZSh7bmFtZToiUm91dGVyVmlldyIsaW5oZXJpdEF0dHJzOiExLHByb3BzOntuYW1lOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJkZWZhdWx0In0scm91dGU6T2JqZWN0fSxjb21wYXRDb25maWc6e01PREU6M30sc2V0dXAodCx7YXR0cnM6ZSxzbG90czpufSl7Y29uc3Qgcj11dChHYyksaT1vZSgoKT0+dC5yb3V0ZXx8ci52YWx1ZSkscz11dChFaCwwKSxvPW9lKCgpPT57bGV0IGM9UyhzKTtjb25zdHttYXRjaGVkOnV9PWkudmFsdWU7bGV0IGQ7Zm9yKDsoZD11W2NdKSYmIWQuY29tcG9uZW50czspYysrO3JldHVybiBjfSksYT1vZSgoKT0+aS52YWx1ZS5tYXRjaGVkW28udmFsdWVdKTtadChFaCxvZSgoKT0+by52YWx1ZSsxKSksWnQoVVMsYSksWnQoR2MsaSk7Y29uc3QgbD1zZSgpO3JldHVybiBndCgoKT0+W2wudmFsdWUsYS52YWx1ZSx0Lm5hbWVdLChbYyx1LGRdLFtmLGgsbV0pPT57dSYmKHUuaW5zdGFuY2VzW2RdPWMsaCYmaCE9PXUmJmMmJmM9PT1mJiYodS5sZWF2ZUd1YXJkcy5zaXplfHwodS5sZWF2ZUd1YXJkcz1oLmxlYXZlR3VhcmRzKSx1LnVwZGF0ZUd1YXJkcy5zaXplfHwodS51cGRhdGVHdWFyZHM9aC51cGRhdGVHdWFyZHMpKSksYyYmdSYmKCFofHwhc3ModSxoKXx8IWYpJiYodS5lbnRlckNhbGxiYWNrc1tkXXx8W10pLmZvckVhY2gocD0+cChjKSl9LHtmbHVzaDoicG9zdCJ9KSwoKT0+e2NvbnN0IGM9aS52YWx1ZSx1PXQubmFtZSxkPWEudmFsdWUsZj1kJiZkLmNvbXBvbmVudHNbdV07aWYoIWYpcmV0dXJuIENoKG4uZGVmYXVsdCx7Q29tcG9uZW50OmYscm91dGU6Y30pO2NvbnN0IGg9ZC5wcm9wc1t1XSxtPWg/aD09PSEwP2MucGFyYW1zOnR5cGVvZiBoPT0iZnVuY3Rpb24iP2goYyk6aDpudWxsLGs9YnQoZixvdCh7fSxtLGUse29uVm5vZGVVbm1vdW50ZWQ6eD0+e3guY29tcG9uZW50LmlzVW5tb3VudGVkJiYoZC5pbnN0YW5jZXNbdV09bnVsbCl9LHJlZjpsfSkpO3JldHVybiBDaChuLmRlZmF1bHQse0NvbXBvbmVudDprLHJvdXRlOmN9KXx8a319fSk7ZnVuY3Rpb24gQ2godCxlKXtpZighdClyZXR1cm4gbnVsbDtjb25zdCBuPXQoZSk7cmV0dXJuIG4ubGVuZ3RoPT09MT9uWzBdOm59Y29uc3QgRnk9SlM7ZnVuY3Rpb24gcVModCl7Y29uc3QgZT1NUyh0LnJvdXRlcyx0KSxuPXQucGFyc2VRdWVyeXx8alMscj10LnN0cmluZ2lmeVF1ZXJ5fHxUaCxpPXQuaGlzdG9yeSxzPU9zKCksbz1PcygpLGE9T3MoKSxsPVBvKEVyKTtsZXQgYz1FcjtNaSYmdC5zY3JvbGxCZWhhdmlvciYmInNjcm9sbFJlc3RvcmF0aW9uImluIGhpc3RvcnkmJihoaXN0b3J5LnNjcm9sbFJlc3RvcmF0aW9uPSJtYW51YWwiKTtjb25zdCB1PVhsLmJpbmQobnVsbCxIPT4iIitIKSxkPVhsLmJpbmQobnVsbCxhUyksZj1YbC5iaW5kKG51bGwsbW8pO2Z1bmN0aW9uIGgoSCxjZSl7bGV0IGFlLGZlO3JldHVybiBEeShIKT8oYWU9ZS5nZXRSZWNvcmRNYXRjaGVyKEgpLGZlPWNlKTpmZT1ILGUuYWRkUm91dGUoZmUsYWUpfWZ1bmN0aW9uIG0oSCl7Y29uc3QgY2U9ZS5nZXRSZWNvcmRNYXRjaGVyKEgpO2NlJiZlLnJlbW92ZVJvdXRlKGNlKX1mdW5jdGlvbiBwKCl7cmV0dXJuIGUuZ2V0Um91dGVzKCkubWFwKEg9PkgucmVjb3JkKX1mdW5jdGlvbiBrKEgpe3JldHVybiEhZS5nZXRSZWNvcmRNYXRjaGVyKEgpfWZ1bmN0aW9uIHgoSCxjZSl7aWYoY2U9b3Qoe30sY2V8fGwudmFsdWUpLHR5cGVvZiBIPT0ic3RyaW5nIil7Y29uc3QgZz1RbChuLEgsY2UucGF0aCksTj1lLnJlc29sdmUoe3BhdGg6Zy5wYXRofSxjZSksVz1pLmNyZWF0ZUhyZWYoZy5mdWxsUGF0aCk7cmV0dXJuIG90KGcsTix7cGFyYW1zOmYoTi5wYXJhbXMpLGhhc2g6bW8oZy5oYXNoKSxyZWRpcmVjdGVkRnJvbTp2b2lkIDAsaHJlZjpXfSl9bGV0IGFlO2lmKEgucGF0aCE9bnVsbClhZT1vdCh7fSxILHtwYXRoOlFsKG4sSC5wYXRoLGNlLnBhdGgpLnBhdGh9KTtlbHNle2NvbnN0IGc9b3Qoe30sSC5wYXJhbXMpO2Zvcihjb25zdCBOIGluIGcpZ1tOXT09bnVsbCYmZGVsZXRlIGdbTl07YWU9b3Qoe30sSCx7cGFyYW1zOmQoZyl9KSxjZS5wYXJhbXM9ZChjZS5wYXJhbXMpfWNvbnN0IGZlPWUucmVzb2x2ZShhZSxjZSksamU9SC5oYXNofHwiIjtmZS5wYXJhbXM9dShmKGZlLnBhcmFtcykpO2NvbnN0IE89dVMocixvdCh7fSxILHtoYXNoOmlTKGplKSxwYXRoOmZlLnBhdGh9KSksUD1pLmNyZWF0ZUhyZWYoTyk7cmV0dXJuIG90KHtmdWxsUGF0aDpPLGhhc2g6amUscXVlcnk6cj09PVRoP0JTKEgucXVlcnkpOkgucXVlcnl8fHt9fSxmZSx7cmVkaXJlY3RlZEZyb206dm9pZCAwLGhyZWY6UH0pfWZ1bmN0aW9uIEMoSCl7cmV0dXJuIHR5cGVvZiBIPT0ic3RyaW5nIj9RbChuLEgsbC52YWx1ZS5wYXRoKTpvdCh7fSxIKX1mdW5jdGlvbiBiKEgsY2Upe2lmKGMhPT1IKXJldHVybiBvcyg4LHtmcm9tOmNlLHRvOkh9KX1mdW5jdGlvbiBUKEgpe3JldHVybiBSKEgpfWZ1bmN0aW9uIEUoSCl7cmV0dXJuIFQob3QoQyhIKSx7cmVwbGFjZTohMH0pKX1mdW5jdGlvbiB3KEgpe2NvbnN0IGNlPUgubWF0Y2hlZFtILm1hdGNoZWQubGVuZ3RoLTFdO2lmKGNlJiZjZS5yZWRpcmVjdCl7Y29uc3R7cmVkaXJlY3Q6YWV9PWNlO2xldCBmZT10eXBlb2YgYWU9PSJmdW5jdGlvbiI/YWUoSCk6YWU7cmV0dXJuIHR5cGVvZiBmZT09InN0cmluZyImJihmZT1mZS5pbmNsdWRlcygiPyIpfHxmZS5pbmNsdWRlcygiIyIpP2ZlPUMoZmUpOntwYXRoOmZlfSxmZS5wYXJhbXM9e30pLG90KHtxdWVyeTpILnF1ZXJ5LGhhc2g6SC5oYXNoLHBhcmFtczpmZS5wYXRoIT1udWxsP3t9OkgucGFyYW1zfSxmZSl9fWZ1bmN0aW9uIFIoSCxjZSl7Y29uc3QgYWU9Yz14KEgpLGZlPWwudmFsdWUsamU9SC5zdGF0ZSxPPUguZm9yY2UsUD1ILnJlcGxhY2U9PT0hMCxnPXcoYWUpO2lmKGcpcmV0dXJuIFIob3QoQyhnKSx7c3RhdGU6dHlwZW9mIGc9PSJvYmplY3QiP290KHt9LGplLGcuc3RhdGUpOmplLGZvcmNlOk8scmVwbGFjZTpQfSksY2V8fGFlKTtjb25zdCBOPWFlO04ucmVkaXJlY3RlZEZyb209Y2U7bGV0IFc7cmV0dXJuIU8mJmRTKHIsZmUsYWUpJiYoVz1vcygxNix7dG86Tixmcm9tOmZlfSksd2UoZmUsZmUsITAsITEpKSwoVz9Qcm9taXNlLnJlc29sdmUoVyk6QihOLGZlKSkuY2F0Y2goej0+Y3Ioeik/Y3IoeiwyKT96OnJ0KHopOkFlKHosTixmZSkpLnRoZW4oej0+e2lmKHope2lmKGNyKHosMikpcmV0dXJuIFIob3Qoe3JlcGxhY2U6UH0sQyh6LnRvKSx7c3RhdGU6dHlwZW9mIHoudG89PSJvYmplY3QiP290KHt9LGplLHoudG8uc3RhdGUpOmplLGZvcmNlOk99KSxjZXx8Til9ZWxzZSB6PWooTixmZSwhMCxQLGplKTtyZXR1cm4gTChOLGZlLHopLHp9KX1mdW5jdGlvbiBEKEgsY2Upe2NvbnN0IGFlPWIoSCxjZSk7cmV0dXJuIGFlP1Byb21pc2UucmVqZWN0KGFlKTpQcm9taXNlLnJlc29sdmUoKX1mdW5jdGlvbiBJKEgpe2NvbnN0IGNlPXplLnZhbHVlcygpLm5leHQoKS52YWx1ZTtyZXR1cm4gY2UmJnR5cGVvZiBjZS5ydW5XaXRoQ29udGV4dD09ImZ1bmN0aW9uIj9jZS5ydW5XaXRoQ29udGV4dChIKTpIKCl9ZnVuY3Rpb24gQihILGNlKXtsZXQgYWU7Y29uc3RbZmUsamUsT109WlMoSCxjZSk7YWU9ZWMoZmUucmV2ZXJzZSgpLCJiZWZvcmVSb3V0ZUxlYXZlIixILGNlKTtmb3IoY29uc3QgZyBvZiBmZSlnLmxlYXZlR3VhcmRzLmZvckVhY2goTj0+e2FlLnB1c2goTXIoTixILGNlKSl9KTtjb25zdCBQPUQuYmluZChudWxsLEgsY2UpO3JldHVybiBhZS5wdXNoKFApLFVlKGFlKS50aGVuKCgpPT57YWU9W107Zm9yKGNvbnN0IGcgb2Ygcy5saXN0KCkpYWUucHVzaChNcihnLEgsY2UpKTtyZXR1cm4gYWUucHVzaChQKSxVZShhZSl9KS50aGVuKCgpPT57YWU9ZWMoamUsImJlZm9yZVJvdXRlVXBkYXRlIixILGNlKTtmb3IoY29uc3QgZyBvZiBqZSlnLnVwZGF0ZUd1YXJkcy5mb3JFYWNoKE49PnthZS5wdXNoKE1yKE4sSCxjZSkpfSk7cmV0dXJuIGFlLnB1c2goUCksVWUoYWUpfSkudGhlbigoKT0+e2FlPVtdO2Zvcihjb25zdCBnIG9mIE8paWYoZy5iZWZvcmVFbnRlcilpZih6bihnLmJlZm9yZUVudGVyKSlmb3IoY29uc3QgTiBvZiBnLmJlZm9yZUVudGVyKWFlLnB1c2goTXIoTixILGNlKSk7ZWxzZSBhZS5wdXNoKE1yKGcuYmVmb3JlRW50ZXIsSCxjZSkpO3JldHVybiBhZS5wdXNoKFApLFVlKGFlKX0pLnRoZW4oKCk9PihILm1hdGNoZWQuZm9yRWFjaChnPT5nLmVudGVyQ2FsbGJhY2tzPXt9KSxhZT1lYyhPLCJiZWZvcmVSb3V0ZUVudGVyIixILGNlLEkpLGFlLnB1c2goUCksVWUoYWUpKSkudGhlbigoKT0+e2FlPVtdO2Zvcihjb25zdCBnIG9mIG8ubGlzdCgpKWFlLnB1c2goTXIoZyxILGNlKSk7cmV0dXJuIGFlLnB1c2goUCksVWUoYWUpfSkuY2F0Y2goZz0+Y3IoZyw4KT9nOlByb21pc2UucmVqZWN0KGcpKX1mdW5jdGlvbiBMKEgsY2UsYWUpe2EubGlzdCgpLmZvckVhY2goZmU9PkkoKCk9PmZlKEgsY2UsYWUpKSl9ZnVuY3Rpb24gaihILGNlLGFlLGZlLGplKXtjb25zdCBPPWIoSCxjZSk7aWYoTylyZXR1cm4gTztjb25zdCBQPWNlPT09RXIsZz1NaT9oaXN0b3J5LnN0YXRlOnt9O2FlJiYoZmV8fFA/aS5yZXBsYWNlKEguZnVsbFBhdGgsb3Qoe3Njcm9sbDpQJiZnJiZnLnNjcm9sbH0samUpKTppLnB1c2goSC5mdWxsUGF0aCxqZSkpLGwudmFsdWU9SCx3ZShILGNlLGFlLFApLHJ0KCl9bGV0IHJlO2Z1bmN0aW9uIHhlKCl7cmV8fChyZT1pLmxpc3RlbigoSCxjZSxhZSk9PntpZighUmUubGlzdGVuaW5nKXJldHVybjtjb25zdCBmZT14KEgpLGplPXcoZmUpO2lmKGplKXtSKG90KGplLHtyZXBsYWNlOiEwfSksZmUpLmNhdGNoKHFzKTtyZXR1cm59Yz1mZTtjb25zdCBPPWwudmFsdWU7TWkmJl9TKGdoKE8uZnVsbFBhdGgsYWUuZGVsdGEpLGZsKCkpLEIoZmUsTykuY2F0Y2goUD0+Y3IoUCwxMik/UDpjcihQLDIpPyhSKFAudG8sZmUpLnRoZW4oZz0+e2NyKGcsMjApJiYhYWUuZGVsdGEmJmFlLnR5cGU9PT1wby5wb3AmJmkuZ28oLTEsITEpfSkuY2F0Y2gocXMpLFByb21pc2UucmVqZWN0KCkpOihhZS5kZWx0YSYmaS5nbygtYWUuZGVsdGEsITEpLEFlKFAsZmUsTykpKS50aGVuKFA9PntQPVB8fGooZmUsTywhMSksUCYmKGFlLmRlbHRhJiYhY3IoUCw4KT9pLmdvKC1hZS5kZWx0YSwhMSk6YWUudHlwZT09PXBvLnBvcCYmY3IoUCwyMCkmJmkuZ28oLTEsITEpKSxMKGZlLE8sUCl9KS5jYXRjaChxcyl9KSl9bGV0IFRlPU9zKCksbGU9T3MoKSx5ZTtmdW5jdGlvbiBBZShILGNlLGFlKXtydChIKTtjb25zdCBmZT1sZS5saXN0KCk7cmV0dXJuIGZlLmxlbmd0aD9mZS5mb3JFYWNoKGplPT5qZShILGNlLGFlKSk6Y29uc29sZS5lcnJvcihIKSxQcm9taXNlLnJlamVjdChIKX1mdW5jdGlvbiBaZSgpe3JldHVybiB5ZSYmbC52YWx1ZSE9PUVyP1Byb21pc2UucmVzb2x2ZSgpOm5ldyBQcm9taXNlKChILGNlKT0+e1RlLmFkZChbSCxjZV0pfSl9ZnVuY3Rpb24gcnQoSCl7cmV0dXJuIHllfHwoeWU9IUgseGUoKSxUZS5saXN0KCkuZm9yRWFjaCgoW2NlLGFlXSk9Pkg/YWUoSCk6Y2UoKSksVGUucmVzZXQoKSksSH1mdW5jdGlvbiB3ZShILGNlLGFlLGZlKXtjb25zdHtzY3JvbGxCZWhhdmlvcjpqZX09dDtpZighTWl8fCFqZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Y29uc3QgTz0hYWUmJmJTKGdoKEguZnVsbFBhdGgsMCkpfHwoZmV8fCFhZSkmJmhpc3Rvcnkuc3RhdGUmJmhpc3Rvcnkuc3RhdGUuc2Nyb2xsfHxudWxsO3JldHVybiBubigpLnRoZW4oKCk9PmplKEgsY2UsTykpLnRoZW4oUD0+UCYmdlMoUCkpLmNhdGNoKFA9PkFlKFAsSCxjZSkpfWNvbnN0IEo9SD0+aS5nbyhIKTtsZXQgSWU7Y29uc3QgemU9bmV3IFNldCxSZT17Y3VycmVudFJvdXRlOmwsbGlzdGVuaW5nOiEwLGFkZFJvdXRlOmgscmVtb3ZlUm91dGU6bSxoYXNSb3V0ZTprLGdldFJvdXRlczpwLHJlc29sdmU6eCxvcHRpb25zOnQscHVzaDpULHJlcGxhY2U6RSxnbzpKLGJhY2s6KCk9PkooLTEpLGZvcndhcmQ6KCk9PkooMSksYmVmb3JlRWFjaDpzLmFkZCxiZWZvcmVSZXNvbHZlOm8uYWRkLGFmdGVyRWFjaDphLmFkZCxvbkVycm9yOmxlLmFkZCxpc1JlYWR5OlplLGluc3RhbGwoSCl7Y29uc3QgY2U9dGhpcztILmNvbXBvbmVudCgiUm91dGVyTGluayIsR1MpLEguY29tcG9uZW50KCJSb3V0ZXJWaWV3IixGeSksSC5jb25maWcuZ2xvYmFsUHJvcGVydGllcy4kcm91dGVyPWNlLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShILmNvbmZpZy5nbG9iYWxQcm9wZXJ0aWVzLCIkcm91dGUiLHtlbnVtZXJhYmxlOiEwLGdldDooKT0+UyhsKX0pLE1pJiYhSWUmJmwudmFsdWU9PT1FciYmKEllPSEwLFQoaS5sb2NhdGlvbikuY2F0Y2goamU9Pnt9KSk7Y29uc3QgYWU9e307Zm9yKGNvbnN0IGplIGluIEVyKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShhZSxqZSx7Z2V0OigpPT5sLnZhbHVlW2plXSxlbnVtZXJhYmxlOiEwfSk7SC5wcm92aWRlKGhsLGNlKSxILnByb3ZpZGUoeGQseGcoYWUpKSxILnByb3ZpZGUoR2MsbCk7Y29uc3QgZmU9SC51bm1vdW50O3plLmFkZChIKSxILnVubW91bnQ9ZnVuY3Rpb24oKXt6ZS5kZWxldGUoSCksemUuc2l6ZTwxJiYoYz1FcixyZSYmcmUoKSxyZT1udWxsLGwudmFsdWU9RXIsSWU9ITEseWU9ITEpLGZlKCl9fX07ZnVuY3Rpb24gVWUoSCl7cmV0dXJuIEgucmVkdWNlKChjZSxhZSk9PmNlLnRoZW4oKCk9PkkoYWUpKSxQcm9taXNlLnJlc29sdmUoKSl9cmV0dXJuIFJlfWZ1bmN0aW9uIFpTKHQsZSl7Y29uc3Qgbj1bXSxyPVtdLGk9W10scz1NYXRoLm1heChlLm1hdGNoZWQubGVuZ3RoLHQubWF0Y2hlZC5sZW5ndGgpO2ZvcihsZXQgbz0wO288cztvKyspe2NvbnN0IGE9ZS5tYXRjaGVkW29dO2EmJih0Lm1hdGNoZWQuZmluZChjPT5zcyhjLGEpKT9yLnB1c2goYSk6bi5wdXNoKGEpKTtjb25zdCBsPXQubWF0Y2hlZFtvXTtsJiYoZS5tYXRjaGVkLmZpbmQoYz0+c3MoYyxsKSl8fGkucHVzaChsKSl9cmV0dXJuW24scixpXX1mdW5jdGlvbiBtbCgpe3JldHVybiB1dChobCl9ZnVuY3Rpb24gQWQoKXtyZXR1cm4gdXQoeGQpfWZ1bmN0aW9uIEtTKHQpe3JldHVybiByZCgpPyhtZyh0KSwhMCk6ITF9ZnVuY3Rpb24gT2QodCl7cmV0dXJuIHR5cGVvZiB0PT0iZnVuY3Rpb24iP3QoKTpTKHQpfWNvbnN0IFlTPXR5cGVvZiB3aW5kb3c8InUiJiZ0eXBlb2YgZG9jdW1lbnQ8InUiO3R5cGVvZiBXb3JrZXJHbG9iYWxTY29wZTwidSImJmdsb2JhbFRoaXMgaW5zdGFuY2VvZiBXb3JrZXJHbG9iYWxTY29wZTtjb25zdCBYUz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLFFTPXQ9PlhTLmNhbGwodCk9PT0iW29iamVjdCBPYmplY3RdIixlVD0oKT0+e307ZnVuY3Rpb24gdFQodCxlKXtmdW5jdGlvbiBuKC4uLnIpe3JldHVybiBuZXcgUHJvbWlzZSgoaSxzKT0+e1Byb21pc2UucmVzb2x2ZSh0KCgpPT5lLmFwcGx5KHRoaXMscikse2ZuOmUsdGhpc0FyZzp0aGlzLGFyZ3M6cn0pKS50aGVuKGkpLmNhdGNoKHMpfSl9cmV0dXJuIG59Y29uc3QgJHk9dD0+dCgpO2Z1bmN0aW9uIG5UKHQ9JHkpe2NvbnN0IGU9c2UoITApO2Z1bmN0aW9uIG4oKXtlLnZhbHVlPSExfWZ1bmN0aW9uIHIoKXtlLnZhbHVlPSEwfWNvbnN0IGk9KC4uLnMpPT57ZS52YWx1ZSYmdCguLi5zKX07cmV0dXJue2lzQWN0aXZlOmNkKGUpLHBhdXNlOm4scmVzdW1lOnIsZXZlbnRGaWx0ZXI6aX19ZnVuY3Rpb24gclQodCl7cmV0dXJuIENuKCl9ZnVuY3Rpb24gaVQodCxlLG49e30pe2NvbnN0e2V2ZW50RmlsdGVyOnI9JHksLi4uaX09bjtyZXR1cm4gZ3QodCx0VChyLGUpLGkpfWZ1bmN0aW9uIHNUKHQsZSxuPXt9KXtjb25zdHtldmVudEZpbHRlcjpyLC4uLml9PW4se2V2ZW50RmlsdGVyOnMscGF1c2U6byxyZXN1bWU6YSxpc0FjdGl2ZTpsfT1uVChyKTtyZXR1cm57c3RvcDppVCh0LGUsey4uLmksZXZlbnRGaWx0ZXI6c30pLHBhdXNlOm8scmVzdW1lOmEsaXNBY3RpdmU6bH19ZnVuY3Rpb24gb1QodCxlPSEwLG4pe3JUKCk/eXQodCxuKTplP3QoKTpubih0KX1mdW5jdGlvbiBhVCh0KXt2YXIgZTtjb25zdCBuPU9kKHQpO3JldHVybihlPW49PW51bGw/dm9pZCAwOm4uJGVsKSE9bnVsbD9lOm59Y29uc3QgemM9WVM/d2luZG93OnZvaWQgMDtmdW5jdGlvbiBQaCguLi50KXtsZXQgZSxuLHIsaTtpZih0eXBlb2YgdFswXT09InN0cmluZyJ8fEFycmF5LmlzQXJyYXkodFswXSk/KFtuLHIsaV09dCxlPXpjKTpbZSxuLHIsaV09dCwhZSlyZXR1cm4gZVQ7QXJyYXkuaXNBcnJheShuKXx8KG49W25dKSxBcnJheS5pc0FycmF5KHIpfHwocj1bcl0pO2NvbnN0IHM9W10sbz0oKT0+e3MuZm9yRWFjaCh1PT51KCkpLHMubGVuZ3RoPTB9LGE9KHUsZCxmLGgpPT4odS5hZGRFdmVudExpc3RlbmVyKGQsZixoKSwoKT0+dS5yZW1vdmVFdmVudExpc3RlbmVyKGQsZixoKSksbD1ndCgoKT0+W2FUKGUpLE9kKGkpXSwoW3UsZF0pPT57aWYobygpLCF1KXJldHVybjtjb25zdCBmPVFTKGQpP3suLi5kfTpkO3MucHVzaCguLi5uLmZsYXRNYXAoaD0+ci5tYXAobT0+YSh1LGgsbSxmKSkpKX0se2ltbWVkaWF0ZTohMCxmbHVzaDoicG9zdCJ9KSxjPSgpPT57bCgpLG8oKX07cmV0dXJuIEtTKGMpLGN9Y29uc3QgZWE9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6dHlwZW9mIHdpbmRvdzwidSI/d2luZG93OnR5cGVvZiBnbG9iYWw8InUiP2dsb2JhbDp0eXBlb2Ygc2VsZjwidSI/c2VsZjp7fSx0YT0iX192dWV1c2Vfc3NyX2hhbmRsZXJzX18iLGxUPWNUKCk7ZnVuY3Rpb24gY1QoKXtyZXR1cm4gdGEgaW4gZWF8fChlYVt0YV09ZWFbdGFdfHx7fSksZWFbdGFdfWZ1bmN0aW9uIHVUKHQsZSl7cmV0dXJuIGxUW3RdfHxlfWZ1bmN0aW9uIGRUKHQpe3JldHVybiB0PT1udWxsPyJhbnkiOnQgaW5zdGFuY2VvZiBTZXQ/InNldCI6dCBpbnN0YW5jZW9mIE1hcD8ibWFwIjp0IGluc3RhbmNlb2YgRGF0ZT8iZGF0ZSI6dHlwZW9mIHQ9PSJib29sZWFuIj8iYm9vbGVhbiI6dHlwZW9mIHQ9PSJzdHJpbmciPyJzdHJpbmciOnR5cGVvZiB0PT0ib2JqZWN0Ij8ib2JqZWN0IjpOdW1iZXIuaXNOYU4odCk/ImFueSI6Im51bWJlciJ9Y29uc3QgZlQ9e2Jvb2xlYW46e3JlYWQ6dD0+dD09PSJ0cnVlIix3cml0ZTp0PT5TdHJpbmcodCl9LG9iamVjdDp7cmVhZDp0PT5KU09OLnBhcnNlKHQpLHdyaXRlOnQ9PkpTT04uc3RyaW5naWZ5KHQpfSxudW1iZXI6e3JlYWQ6dD0+TnVtYmVyLnBhcnNlRmxvYXQodCksd3JpdGU6dD0+U3RyaW5nKHQpfSxhbnk6e3JlYWQ6dD0+dCx3cml0ZTp0PT5TdHJpbmcodCl9LHN0cmluZzp7cmVhZDp0PT50LHdyaXRlOnQ9PlN0cmluZyh0KX0sbWFwOntyZWFkOnQ9Pm5ldyBNYXAoSlNPTi5wYXJzZSh0KSksd3JpdGU6dD0+SlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh0LmVudHJpZXMoKSkpfSxzZXQ6e3JlYWQ6dD0+bmV3IFNldChKU09OLnBhcnNlKHQpKSx3cml0ZTp0PT5KU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHQpKX0sZGF0ZTp7cmVhZDp0PT5uZXcgRGF0ZSh0KSx3cml0ZTp0PT50LnRvSVNPU3RyaW5nKCl9fSxJaD0idnVldXNlLXN0b3JhZ2UiO2Z1bmN0aW9uIGp5KHQsZSxuLHI9e30pe3ZhciBpO2NvbnN0e2ZsdXNoOnM9InByZSIsZGVlcDpvPSEwLGxpc3RlblRvU3RvcmFnZUNoYW5nZXM6YT0hMCx3cml0ZURlZmF1bHRzOmw9ITAsbWVyZ2VEZWZhdWx0czpjPSExLHNoYWxsb3c6dSx3aW5kb3c6ZD16YyxldmVudEZpbHRlcjpmLG9uRXJyb3I6aD1CPT57Y29uc29sZS5lcnJvcihCKX0saW5pdE9uTW91bnRlZDptfT1yLHA9KHU/UG86c2UpKHR5cGVvZiBlPT0iZnVuY3Rpb24iP2UoKTplKTtpZighbil0cnl7bj11VCgiZ2V0RGVmYXVsdFN0b3JhZ2UiLCgpPT57dmFyIEI7cmV0dXJuKEI9emMpPT1udWxsP3ZvaWQgMDpCLmxvY2FsU3RvcmFnZX0pKCl9Y2F0Y2goQil7aChCKX1pZighbilyZXR1cm4gcDtjb25zdCBrPU9kKGUpLHg9ZFQoayksQz0oaT1yLnNlcmlhbGl6ZXIpIT1udWxsP2k6ZlRbeF0se3BhdXNlOmIscmVzdW1lOlR9PXNUKHAsKCk9PncocC52YWx1ZSkse2ZsdXNoOnMsZGVlcDpvLGV2ZW50RmlsdGVyOmZ9KTtkJiZhJiZvVCgoKT0+e1BoKGQsInN0b3JhZ2UiLEQpLFBoKGQsSWgsSSksbSYmRCgpfSksbXx8RCgpO2Z1bmN0aW9uIEUoQixMKXtkJiZkLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KEloLHtkZXRhaWw6e2tleTp0LG9sZFZhbHVlOkIsbmV3VmFsdWU6TCxzdG9yYWdlQXJlYTpufX0pKX1mdW5jdGlvbiB3KEIpe3RyeXtjb25zdCBMPW4uZ2V0SXRlbSh0KTtpZihCPT1udWxsKUUoTCxudWxsKSxuLnJlbW92ZUl0ZW0odCk7ZWxzZXtjb25zdCBqPUMud3JpdGUoQik7TCE9PWomJihuLnNldEl0ZW0odCxqKSxFKEwsaikpfX1jYXRjaChMKXtoKEwpfX1mdW5jdGlvbiBSKEIpe2NvbnN0IEw9Qj9CLm5ld1ZhbHVlOm4uZ2V0SXRlbSh0KTtpZihMPT1udWxsKXJldHVybiBsJiZrIT1udWxsJiZuLnNldEl0ZW0odCxDLndyaXRlKGspKSxrO2lmKCFCJiZjKXtjb25zdCBqPUMucmVhZChMKTtyZXR1cm4gdHlwZW9mIGM9PSJmdW5jdGlvbiI/YyhqLGspOng9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoaik/ey4uLmssLi4uan06an1lbHNlIHJldHVybiB0eXBlb2YgTCE9InN0cmluZyI/TDpDLnJlYWQoTCl9ZnVuY3Rpb24gRChCKXtpZighKEImJkIuc3RvcmFnZUFyZWEhPT1uKSl7aWYoQiYmQi5rZXk9PW51bGwpe3AudmFsdWU9aztyZXR1cm59aWYoIShCJiZCLmtleSE9PXQpKXtiKCk7dHJ5eyhCPT1udWxsP3ZvaWQgMDpCLm5ld1ZhbHVlKSE9PUMud3JpdGUocC52YWx1ZSkmJihwLnZhbHVlPVIoQikpfWNhdGNoKEwpe2goTCl9ZmluYWxseXtCP25uKFQpOlQoKX19fX1mdW5jdGlvbiBJKEIpe0QoQi5kZXRhaWwpfXJldHVybiBwfXZhciBCcj10eXBlb2YgZ2xvYmFsVGhpczwidSI/Z2xvYmFsVGhpczp0eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3c6dHlwZW9mIGdsb2JhbDwidSI/Z2xvYmFsOnR5cGVvZiBzZWxmPCJ1Ij9zZWxmOnt9O2Z1bmN0aW9uIGhUKHQpe2lmKHQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgZT10LmRlZmF1bHQ7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpe3ZhciBuPWZ1bmN0aW9uIHIoKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHI/UmVmbGVjdC5jb25zdHJ1Y3QoZSxhcmd1bWVudHMsdGhpcy5jb25zdHJ1Y3Rvcik6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O24ucHJvdG90eXBlPWUucHJvdG90eXBlfWVsc2Ugbj17fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHIsaS5nZXQ/aTp7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtyXX19KX0pLG59dmFyIG5yPXt9LEJ5PXt9LFJuPXt9LGtuPSJuYW1lZCIscGw9Im5hbWUiLERvPSJ1bm1hbmFnZWQiLGdsPSJvcHRpb25hbCIsTW89ImluamVjdCIsRWk9Im11bHRpX2luamVjdCIsQ2Q9ImludmVyc2lmeTp0YWdnZWQiLFBkPSJpbnZlcnNpZnk6dGFnZ2VkX3Byb3BzIixOYT0iaW52ZXJzaWZ5OnBhcmFtdHlwZXMiLFV5PSJkZXNpZ246cGFyYW10eXBlcyIsWmk9InBvc3RfY29uc3RydWN0IjtmdW5jdGlvbiBtVCgpe3JldHVybltNbyxFaSxwbCxEbyxrbixnbF19dmFyIEhjPW1UKCk7Y29uc3QgcFQ9T2JqZWN0LmZyZWV6ZShPYmplY3QuZGVmaW5lUHJvcGVydHkoe19fcHJvdG9fXzpudWxsLERFU0lHTl9QQVJBTV9UWVBFUzpVeSxJTkpFQ1RfVEFHOk1vLE1VTFRJX0lOSkVDVF9UQUc6RWksTkFNRURfVEFHOmtuLE5BTUVfVEFHOnBsLE5PTl9DVVNUT01fVEFHX0tFWVM6SGMsT1BUSU9OQUxfVEFHOmdsLFBBUkFNX1RZUEVTOk5hLFBPU1RfQ09OU1RSVUNUOlppLFRBR0dFRDpDZCxUQUdHRURfUFJPUDpQZCxVTk1BTkFHRURfVEFHOkRvfSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSkpO3ZhciBJdD17UmVxdWVzdDoiUmVxdWVzdCIsU2luZ2xldG9uOiJTaW5nbGV0b24iLFRyYW5zaWVudDoiVHJhbnNpZW50In0sUHQ9e0NvbnN0YW50VmFsdWU6IkNvbnN0YW50VmFsdWUiLENvbnN0cnVjdG9yOiJDb25zdHJ1Y3RvciIsRHluYW1pY1ZhbHVlOiJEeW5hbWljVmFsdWUiLEZhY3Rvcnk6IkZhY3RvcnkiLEZ1bmN0aW9uOiJGdW5jdGlvbiIsSW5zdGFuY2U6Ikluc3RhbmNlIixJbnZhbGlkOiJJbnZhbGlkIixQcm92aWRlcjoiUHJvdmlkZXIifSxlcj17Q2xhc3NQcm9wZXJ0eToiQ2xhc3NQcm9wZXJ0eSIsQ29uc3RydWN0b3JBcmd1bWVudDoiQ29uc3RydWN0b3JBcmd1bWVudCIsVmFyaWFibGU6IlZhcmlhYmxlIn0sZ1Q9MDtmdW5jdGlvbiBLcigpe3JldHVybiBnVCsrfXZhciB5VD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxuKXt0aGlzLmlkPUtyKCksdGhpcy5hY3RpdmF0ZWQ9ITEsdGhpcy5zZXJ2aWNlSWRlbnRpZmllcj1lLHRoaXMuc2NvcGU9bix0aGlzLnR5cGU9UHQuSW52YWxpZCx0aGlzLmNvbnN0cmFpbnQ9ZnVuY3Rpb24ocil7cmV0dXJuITB9LHRoaXMuaW1wbGVtZW50YXRpb25UeXBlPW51bGwsdGhpcy5jYWNoZT1udWxsLHRoaXMuZmFjdG9yeT1udWxsLHRoaXMucHJvdmlkZXI9bnVsbCx0aGlzLm9uQWN0aXZhdGlvbj1udWxsLHRoaXMuZHluYW1pY1ZhbHVlPW51bGx9cmV0dXJuIHQucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIGU9bmV3IHQodGhpcy5zZXJ2aWNlSWRlbnRpZmllcix0aGlzLnNjb3BlKTtyZXR1cm4gZS5hY3RpdmF0ZWQ9ZS5zY29wZT09PUl0LlNpbmdsZXRvbj90aGlzLmFjdGl2YXRlZDohMSxlLmltcGxlbWVudGF0aW9uVHlwZT10aGlzLmltcGxlbWVudGF0aW9uVHlwZSxlLmR5bmFtaWNWYWx1ZT10aGlzLmR5bmFtaWNWYWx1ZSxlLnNjb3BlPXRoaXMuc2NvcGUsZS50eXBlPXRoaXMudHlwZSxlLmZhY3Rvcnk9dGhpcy5mYWN0b3J5LGUucHJvdmlkZXI9dGhpcy5wcm92aWRlcixlLmNvbnN0cmFpbnQ9dGhpcy5jb25zdHJhaW50LGUub25BY3RpdmF0aW9uPXRoaXMub25BY3RpdmF0aW9uLGUuY2FjaGU9dGhpcy5jYWNoZSxlfSx0fSgpLHZUPSJDYW5ub3QgYXBwbHkgQGluamVjdGFibGUgZGVjb3JhdG9yIG11bHRpcGxlIHRpbWVzLiIsX1Q9Ik1ldGFkYXRhIGtleSB3YXMgdXNlZCBtb3JlIHRoYW4gb25jZSBpbiBhIHBhcmFtZXRlcjoiLENzPSJOVUxMIGFyZ3VtZW50IixOaD0iS2V5IE5vdCBGb3VuZCIsYlQ9IkFtYmlndW91cyBtYXRjaCBmb3VuZCBmb3Igc2VydmljZUlkZW50aWZpZXI6Iix3VD0iQ291bGQgbm90IHVuYmluZCBzZXJ2aWNlSWRlbnRpZmllcjoiLGtUPSJObyBtYXRjaGluZyBiaW5kaW5ncyBmb3VuZCBmb3Igc2VydmljZUlkZW50aWZpZXI6IixTVD0iTWlzc2luZyByZXF1aXJlZCBAaW5qZWN0YWJsZSBhbm5vdGF0aW9uIGluOiIsVFQ9Ik1pc3NpbmcgcmVxdWlyZWQgQGluamVjdCBvciBAbXVsdGlJbmplY3QgYW5ub3RhdGlvbiBpbjoiLEVUPWZ1bmN0aW9uKHQpe3JldHVybiJAaW5qZWN0IGNhbGxlZCB3aXRoIHVuZGVmaW5lZCB0aGlzIGNvdWxkIG1lYW4gdGhhdCB0aGUgY2xhc3MgIit0KyIgaGFzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSBwcm9ibGVtLiBZb3UgY2FuIHVzZSBhIExhenlTZXJ2aWNlSWRlbnRpZmVyIHRvICBvdmVyY29tZSB0aGlzIGxpbWl0YXRpb24uIn0seFQ9IkNpcmN1bGFyIGRlcGVuZGVuY3kgZm91bmQ6IixBVD0iSW52YWxpZCBiaW5kaW5nIHR5cGU6IixPVD0iTm8gc25hcHNob3QgYXZhaWxhYmxlIHRvIHJlc3RvcmUuIixDVD0iSW52YWxpZCByZXR1cm4gdHlwZSBpbiBtaWRkbGV3YXJlLiBNaWRkbGV3YXJlIG11c3QgcmV0dXJuISIsUFQ9IlZhbHVlIHByb3ZpZGVkIHRvIGZ1bmN0aW9uIGJpbmRpbmcgbXVzdCBiZSBhIGZ1bmN0aW9uISIsSVQ9IlRoZSB0b1NlbGYgZnVuY3Rpb24gY2FuIG9ubHkgYmUgYXBwbGllZCB3aGVuIGEgY29uc3RydWN0b3IgaXMgdXNlZCBhcyBzZXJ2aWNlIGlkZW50aWZpZXIiLE5UPSJUaGUgQGluamVjdCBAbXVsdGlJbmplY3QgQHRhZ2dlZCBhbmQgQG5hbWVkIGRlY29yYXRvcnMgbXVzdCBiZSBhcHBsaWVkIHRvIHRoZSBwYXJhbWV0ZXJzIG9mIGEgY2xhc3MgY29uc3RydWN0b3Igb3IgYSBjbGFzcyBwcm9wZXJ0eS4iLFJUPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3JldHVybiJUaGUgbnVtYmVyIG9mIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBpbiB0aGUgZGVyaXZlZCBjbGFzcyAiKyh0WzBdKyIgbXVzdCBiZSA+PSB0aGFuIHRoZSBudW1iZXIgb2YgY29uc3RydWN0b3IgYXJndW1lbnRzIG9mIGl0cyBiYXNlIGNsYXNzLiIpfSxEVD0iSW52YWxpZCBDb250YWluZXIgY29uc3RydWN0b3IgYXJndW1lbnQuIENvbnRhaW5lciBvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0LiIsTVQ9IkludmFsaWQgQ29udGFpbmVyIG9wdGlvbi4gRGVmYXVsdCBzY29wZSBtdXN0IGJlIGEgc3RyaW5nICgnc2luZ2xldG9uJyBvciAndHJhbnNpZW50JykuIixMVD0iSW52YWxpZCBDb250YWluZXIgb3B0aW9uLiBBdXRvIGJpbmQgaW5qZWN0YWJsZSBtdXN0IGJlIGEgYm9vbGVhbiIsRlQ9IkludmFsaWQgQ29udGFpbmVyIG9wdGlvbi4gU2tpcCBiYXNlIGNoZWNrIG11c3QgYmUgYSBib29sZWFuIiwkVD0iQ2Fubm90IGFwcGx5IEBwb3N0Q29uc3RydWN0IGRlY29yYXRvciBtdWx0aXBsZSB0aW1lcyBpbiB0aGUgc2FtZSBjbGFzcyIsalQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIkBwb3N0Q29uc3RydWN0IGVycm9yIGluIGNsYXNzICIrdFswXSsiOiAiK3RbMV19LEJUPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3JldHVybiJJdCBsb29rcyBsaWtlIHRoZXJlIGlzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSAiKygiaW4gb25lIG9mIHRoZSAnIit0WzBdKyInIGJpbmRpbmdzLiBQbGVhc2UgaW52ZXN0aWdhdGUgYmluZGluZ3Mgd2l0aCIpKygic2VydmljZSBpZGVudGlmaWVyICciK3RbMV0rIicuIil9LFVUPSJNYXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBleGNlZWRlZCIsVnk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiB0LnByb3RvdHlwZS5nZXRDb25zdHJ1Y3Rvck1ldGFkYXRhPWZ1bmN0aW9uKGUpe3ZhciBuPVJlZmxlY3QuZ2V0TWV0YWRhdGEoTmEsZSkscj1SZWZsZWN0LmdldE1ldGFkYXRhKENkLGUpO3JldHVybntjb21waWxlckdlbmVyYXRlZE1ldGFkYXRhOm4sdXNlckdlbmVyYXRlZE1ldGFkYXRhOnJ8fHt9fX0sdC5wcm90b3R5cGUuZ2V0UHJvcGVydGllc01ldGFkYXRhPWZ1bmN0aW9uKGUpe3ZhciBuPVJlZmxlY3QuZ2V0TWV0YWRhdGEoUGQsZSl8fFtdO3JldHVybiBufSx0fSgpLHZhPXtNdWx0aXBsZUJpbmRpbmdzQXZhaWxhYmxlOjIsTm9CaW5kaW5nc0F2YWlsYWJsZTowLE9ubHlPbmVCaW5kaW5nQXZhaWxhYmxlOjF9O2Z1bmN0aW9uIFd5KHQpe3JldHVybiB0IGluc3RhbmNlb2YgUmFuZ2VFcnJvcnx8dC5tZXNzYWdlPT09VVR9ZnVuY3Rpb24gYXModCl7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpe3ZhciBlPXQ7cmV0dXJuIGUubmFtZX1lbHNle2lmKHR5cGVvZiB0PT0ic3ltYm9sIilyZXR1cm4gdC50b1N0cmluZygpO3ZhciBlPXQ7cmV0dXJuIGV9fWZ1bmN0aW9uIFJoKHQsZSxuKXt2YXIgcj0iIixpPW4odCxlKTtyZXR1cm4gaS5sZW5ndGghPT0wJiYocj1gClJlZ2lzdGVyZWQgYmluZGluZ3M6YCxpLmZvckVhY2goZnVuY3Rpb24ocyl7dmFyIG89Ik9iamVjdCI7cy5pbXBsZW1lbnRhdGlvblR5cGUhPT1udWxsJiYobz15bChzLmltcGxlbWVudGF0aW9uVHlwZSkpLHI9citgCiBgK28scy5jb25zdHJhaW50Lm1ldGFEYXRhJiYocj1yKyIgLSAiK3MuY29uc3RyYWludC5tZXRhRGF0YSl9KSkscn1mdW5jdGlvbiBHeSh0LGUpe3JldHVybiB0LnBhcmVudFJlcXVlc3Q9PT1udWxsPyExOnQucGFyZW50UmVxdWVzdC5zZXJ2aWNlSWRlbnRpZmllcj09PWU/ITA6R3kodC5wYXJlbnRSZXF1ZXN0LGUpfWZ1bmN0aW9uIFZUKHQpe2Z1bmN0aW9uIGUocixpKXtpPT09dm9pZCAwJiYoaT1bXSk7dmFyIHM9YXMoci5zZXJ2aWNlSWRlbnRpZmllcik7cmV0dXJuIGkucHVzaChzKSxyLnBhcmVudFJlcXVlc3QhPT1udWxsP2Uoci5wYXJlbnRSZXF1ZXN0LGkpOml9dmFyIG49ZSh0KTtyZXR1cm4gbi5yZXZlcnNlKCkuam9pbigiIC0tPiAiKX1mdW5jdGlvbiB6eSh0KXt0LmNoaWxkUmVxdWVzdHMuZm9yRWFjaChmdW5jdGlvbihlKXtpZihHeShlLGUuc2VydmljZUlkZW50aWZpZXIpKXt2YXIgbj1WVChlKTt0aHJvdyBuZXcgRXJyb3IoeFQrIiAiK24pfWVsc2UgenkoZSl9KX1mdW5jdGlvbiBXVCh0LGUpe2lmKGUuaXNUYWdnZWQoKXx8ZS5pc05hbWVkKCkpe3ZhciBuPSIiLHI9ZS5nZXROYW1lZFRhZygpLGk9ZS5nZXRDdXN0b21UYWdzKCk7cmV0dXJuIHIhPT1udWxsJiYobis9ci50b1N0cmluZygpK2AKYCksaSE9PW51bGwmJmkuZm9yRWFjaChmdW5jdGlvbihzKXtuKz1zLnRvU3RyaW5nKCkrYApgfSksIiAiK3QrYAogYCt0KyIgLSAiK259ZWxzZSByZXR1cm4iICIrdH1mdW5jdGlvbiB5bCh0KXtpZih0Lm5hbWUpcmV0dXJuIHQubmFtZTt2YXIgZT10LnRvU3RyaW5nKCksbj1lLm1hdGNoKC9eZnVuY3Rpb25ccyooW15ccyhdKykvKTtyZXR1cm4gbj9uWzFdOiJBbm9ueW1vdXMgZnVuY3Rpb246ICIrZX12YXIgSHk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3RoaXMuaWQ9S3IoKSx0aGlzLmNvbnRhaW5lcj1lfXJldHVybiB0LnByb3RvdHlwZS5hZGRQbGFuPWZ1bmN0aW9uKGUpe3RoaXMucGxhbj1lfSx0LnByb3RvdHlwZS5zZXRDdXJyZW50UmVxdWVzdD1mdW5jdGlvbihlKXt0aGlzLmN1cnJlbnRSZXF1ZXN0PWV9LHR9KCksbG49ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUsbil7dGhpcy5rZXk9ZSx0aGlzLnZhbHVlPW59cmV0dXJuIHQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMua2V5PT09a24/Im5hbWVkOiAiK3RoaXMudmFsdWUudG9TdHJpbmcoKSsiICI6InRhZ2dlZDogeyBrZXk6Iit0aGlzLmtleS50b1N0cmluZygpKyIsIHZhbHVlOiAiK3RoaXMudmFsdWUrIiB9In0sdH0oKSxHVD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxuKXt0aGlzLnBhcmVudENvbnRleHQ9ZSx0aGlzLnJvb3RSZXF1ZXN0PW59cmV0dXJuIHR9KCk7ZnVuY3Rpb24gQ2kodCxlLG4scil7dmFyIGk9Q2Q7SnkoaSx0LGUscixuKX1mdW5jdGlvbiBMbyh0LGUsbil7dmFyIHI9UGQ7Snkocix0LmNvbnN0cnVjdG9yLGUsbil9ZnVuY3Rpb24gSnkodCxlLG4scixpKXt2YXIgcz17fSxvPXR5cGVvZiBpPT0ibnVtYmVyIixhPWkhPT12b2lkIDAmJm8/aS50b1N0cmluZygpOm47aWYobyYmbiE9PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoTlQpO1JlZmxlY3QuaGFzT3duTWV0YWRhdGEodCxlKSYmKHM9UmVmbGVjdC5nZXRNZXRhZGF0YSh0LGUpKTt2YXIgbD1zW2FdO2lmKCFBcnJheS5pc0FycmF5KGwpKWw9W107ZWxzZSBmb3IodmFyIGM9MCx1PWw7Yzx1Lmxlbmd0aDtjKyspe3ZhciBkPXVbY107aWYoZC5rZXk9PT1yLmtleSl0aHJvdyBuZXcgRXJyb3IoX1QrIiAiK2Qua2V5LnRvU3RyaW5nKCkpfWwucHVzaChyKSxzW2FdPWwsUmVmbGVjdC5kZWZpbmVNZXRhZGF0YSh0LHMsZSl9ZnVuY3Rpb24gRGgodCxlKXtSZWZsZWN0LmRlY29yYXRlKHQsZSl9ZnVuY3Rpb24gelQodCxlKXtyZXR1cm4gZnVuY3Rpb24obixyKXtlKG4scix0KX19ZnVuY3Rpb24gSFQodCxlLG4pe3R5cGVvZiBuPT0ibnVtYmVyIj9EaChbelQobix0KV0sZSk6dHlwZW9mIG49PSJzdHJpbmciP1JlZmxlY3QuZGVjb3JhdGUoW3RdLGUsbik6RGgoW3RdLGUpfXZhciBxeT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dGhpcy5fY2I9ZX1yZXR1cm4gdC5wcm90b3R5cGUudW53cmFwPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NiKCl9LHR9KCk7ZnVuY3Rpb24gSlQodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbixyKXtpZih0PT09dm9pZCAwKXRocm93IG5ldyBFcnJvcihFVChlLm5hbWUpKTt2YXIgaT1uZXcgbG4oTW8sdCk7dHlwZW9mIHI9PSJudW1iZXIiP0NpKGUsbixyLGkpOkxvKGUsbixpKX19dmFyIHFUPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXt0aGlzLnN0cj1lfXJldHVybiB0LnByb3RvdHlwZS5zdGFydHNXaXRoPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnN0ci5pbmRleE9mKGUpPT09MH0sdC5wcm90b3R5cGUuZW5kc1dpdGg9ZnVuY3Rpb24oZSl7dmFyIG49IiIscj1lLnNwbGl0KCIiKS5yZXZlcnNlKCkuam9pbigiIik7cmV0dXJuIG49dGhpcy5zdHIuc3BsaXQoIiIpLnJldmVyc2UoKS5qb2luKCIiKSx0aGlzLnN0YXJ0c1dpdGguY2FsbCh7c3RyOm59LHIpfSx0LnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5zdHIuaW5kZXhPZihlKSE9PS0xfSx0LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuc3RyPT09ZX0sdC5wcm90b3R5cGUudmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdHJ9LHR9KCksdmw9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUsbixyLGkpe3RoaXMuaWQ9S3IoKSx0aGlzLnR5cGU9ZSx0aGlzLnNlcnZpY2VJZGVudGlmaWVyPXIsdGhpcy5uYW1lPW5ldyBxVChufHwiIiksdGhpcy5tZXRhZGF0YT1uZXcgQXJyYXk7dmFyIHM9bnVsbDt0eXBlb2YgaT09InN0cmluZyI/cz1uZXcgbG4oa24saSk6aSBpbnN0YW5jZW9mIGxuJiYocz1pKSxzIT09bnVsbCYmdGhpcy5tZXRhZGF0YS5wdXNoKHMpfXJldHVybiB0LnByb3RvdHlwZS5oYXNUYWc9ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPTAscj10aGlzLm1ldGFkYXRhO248ci5sZW5ndGg7bisrKXt2YXIgaT1yW25dO2lmKGkua2V5PT09ZSlyZXR1cm4hMH1yZXR1cm4hMX0sdC5wcm90b3R5cGUuaXNBcnJheT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhhc1RhZyhFaSl9LHQucHJvdG90eXBlLm1hdGNoZXNBcnJheT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5tYXRjaGVzVGFnKEVpKShlKX0sdC5wcm90b3R5cGUuaXNOYW1lZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhhc1RhZyhrbil9LHQucHJvdG90eXBlLmlzVGFnZ2VkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWV0YWRhdGEuc29tZShmdW5jdGlvbihlKXtyZXR1cm4gSGMuZXZlcnkoZnVuY3Rpb24obil7cmV0dXJuIGUua2V5IT09bn0pfSl9LHQucHJvdG90eXBlLmlzT3B0aW9uYWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXRjaGVzVGFnKGdsKSghMCl9LHQucHJvdG90eXBlLmdldE5hbWVkVGFnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNOYW1lZCgpP3RoaXMubWV0YWRhdGEuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLmtleT09PWtufSlbMF06bnVsbH0sdC5wcm90b3R5cGUuZ2V0Q3VzdG9tVGFncz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzVGFnZ2VkKCk/dGhpcy5tZXRhZGF0YS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIEhjLmV2ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiBlLmtleSE9PW59KX0pOm51bGx9LHQucHJvdG90eXBlLm1hdGNoZXNOYW1lZFRhZz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5tYXRjaGVzVGFnKGtuKShlKX0sdC5wcm90b3R5cGUubWF0Y2hlc1RhZz1mdW5jdGlvbihlKXt2YXIgbj10aGlzO3JldHVybiBmdW5jdGlvbihyKXtmb3IodmFyIGk9MCxzPW4ubWV0YWRhdGE7aTxzLmxlbmd0aDtpKyspe3ZhciBvPXNbaV07aWYoby5rZXk9PT1lJiZvLnZhbHVlPT09cilyZXR1cm4hMH1yZXR1cm4hMX19LHR9KCksUmE9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49MCxyPWUubGVuZ3RoLGk9dC5sZW5ndGg7bjxyO24rKyxpKyspdFtpXT1lW25dO3JldHVybiB0fTtmdW5jdGlvbiBaVCh0LGUpe3ZhciBuPXlsKGUpLHI9WnkodCxuLGUsITEpO3JldHVybiByfWZ1bmN0aW9uIFp5KHQsZSxuLHIpe3ZhciBpPXQuZ2V0Q29uc3RydWN0b3JNZXRhZGF0YShuKSxzPWkuY29tcGlsZXJHZW5lcmF0ZWRNZXRhZGF0YTtpZihzPT09dm9pZCAwKXt2YXIgbz1TVCsiICIrZSsiLiI7dGhyb3cgbmV3IEVycm9yKG8pfXZhciBhPWkudXNlckdlbmVyYXRlZE1ldGFkYXRhLGw9T2JqZWN0LmtleXMoYSksYz1uLmxlbmd0aD09PTAmJmwubGVuZ3RoPjAsdT1sLmxlbmd0aD5uLmxlbmd0aCxkPWN8fHU/bC5sZW5ndGg6bi5sZW5ndGgsZj1ZVChyLGUscyxhLGQpLGg9S3kodCxuKSxtPVJhKFJhKFtdLGYpLGgpO3JldHVybiBtfWZ1bmN0aW9uIEtUKHQsZSxuLHIsaSl7dmFyIHM9aVt0LnRvU3RyaW5nKCldfHxbXSxvPVh5KHMpLGE9by51bm1hbmFnZWQhPT0hMCxsPXJbdF0sYz1vLmluamVjdHx8by5tdWx0aUluamVjdDtpZihsPWN8fGwsbCBpbnN0YW5jZW9mIHF5JiYobD1sLnVud3JhcCgpKSxhKXt2YXIgdT1sPT09T2JqZWN0LGQ9bD09PUZ1bmN0aW9uLGY9bD09PXZvaWQgMCxoPXV8fGR8fGY7aWYoIWUmJmgpe3ZhciBtPVRUKyIgYXJndW1lbnQgIit0KyIgaW4gY2xhc3MgIituKyIuIjt0aHJvdyBuZXcgRXJyb3IobSl9dmFyIHA9bmV3IHZsKGVyLkNvbnN0cnVjdG9yQXJndW1lbnQsby50YXJnZXROYW1lLGwpO3JldHVybiBwLm1ldGFkYXRhPXMscH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBZVCh0LGUsbixyLGkpe2Zvcih2YXIgcz1bXSxvPTA7bzxpO28rKyl7dmFyIGE9byxsPUtUKGEsdCxlLG4scik7bCE9PW51bGwmJnMucHVzaChsKX1yZXR1cm4gc31mdW5jdGlvbiBLeSh0LGUpe2Zvcih2YXIgbj10LmdldFByb3BlcnRpZXNNZXRhZGF0YShlKSxyPVtdLGk9T2JqZWN0LmtleXMobikscz0wLG89aTtzPG8ubGVuZ3RoO3MrKyl7dmFyIGE9b1tzXSxsPW5bYV0sYz1YeShuW2FdKSx1PWMudGFyZ2V0TmFtZXx8YSxkPWMuaW5qZWN0fHxjLm11bHRpSW5qZWN0LGY9bmV3IHZsKGVyLkNsYXNzUHJvcGVydHksdSxkKTtmLm1ldGFkYXRhPWwsci5wdXNoKGYpfXZhciBoPU9iamVjdC5nZXRQcm90b3R5cGVPZihlLnByb3RvdHlwZSkuY29uc3RydWN0b3I7aWYoaCE9PU9iamVjdCl7dmFyIG09S3kodCxoKTtyPVJhKFJhKFtdLHIpLG0pfXJldHVybiByfWZ1bmN0aW9uIFl5KHQsZSl7dmFyIG49T2JqZWN0LmdldFByb3RvdHlwZU9mKGUucHJvdG90eXBlKS5jb25zdHJ1Y3RvcjtpZihuIT09T2JqZWN0KXt2YXIgcj15bChuKSxpPVp5KHQscixuLCEwKSxzPWkubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBsLm1ldGFkYXRhLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYy5rZXk9PT1Eb30pfSksbz1bXS5jb25jYXQuYXBwbHkoW10scykubGVuZ3RoLGE9aS5sZW5ndGgtbztyZXR1cm4gYT4wP2E6WXkodCxuKX1lbHNlIHJldHVybiAwfWZ1bmN0aW9uIFh5KHQpe3ZhciBlPXt9O3JldHVybiB0LmZvckVhY2goZnVuY3Rpb24obil7ZVtuLmtleS50b1N0cmluZygpXT1uLnZhbHVlfSkse2luamVjdDplW01vXSxtdWx0aUluamVjdDplW0VpXSx0YXJnZXROYW1lOmVbcGxdLHVubWFuYWdlZDplW0RvXX19dmFyIElkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4scixpLHMpe3RoaXMuaWQ9S3IoKSx0aGlzLnNlcnZpY2VJZGVudGlmaWVyPWUsdGhpcy5wYXJlbnRDb250ZXh0PW4sdGhpcy5wYXJlbnRSZXF1ZXN0PXIsdGhpcy50YXJnZXQ9cyx0aGlzLmNoaWxkUmVxdWVzdHM9W10sdGhpcy5iaW5kaW5ncz1BcnJheS5pc0FycmF5KGkpP2k6W2ldLHRoaXMucmVxdWVzdFNjb3BlPXI9PT1udWxsP25ldyBNYXA6bnVsbH1yZXR1cm4gdC5wcm90b3R5cGUuYWRkQ2hpbGRSZXF1ZXN0PWZ1bmN0aW9uKGUsbixyKXt2YXIgaT1uZXcgdChlLHRoaXMucGFyZW50Q29udGV4dCx0aGlzLG4scik7cmV0dXJuIHRoaXMuY2hpbGRSZXF1ZXN0cy5wdXNoKGkpLGl9LHR9KCk7ZnVuY3Rpb24gSmModCl7cmV0dXJuIHQuX2JpbmRpbmdEaWN0aW9uYXJ5fWZ1bmN0aW9uIFhUKHQsZSxuLHIsaSxzKXt2YXIgbz10P0VpOk1vLGE9bmV3IGxuKG8sbiksbD1uZXcgdmwoZSxyLG4sYSk7aWYoaSE9PXZvaWQgMCl7dmFyIGM9bmV3IGxuKGkscyk7bC5tZXRhZGF0YS5wdXNoKGMpfXJldHVybiBsfWZ1bmN0aW9uIE1oKHQsZSxuLHIsaSl7dmFyIHM9Z28obi5jb250YWluZXIsaS5zZXJ2aWNlSWRlbnRpZmllciksbz1bXTtyZXR1cm4gcy5sZW5ndGg9PT12YS5Ob0JpbmRpbmdzQXZhaWxhYmxlJiZuLmNvbnRhaW5lci5vcHRpb25zLmF1dG9CaW5kSW5qZWN0YWJsZSYmdHlwZW9mIGkuc2VydmljZUlkZW50aWZpZXI9PSJmdW5jdGlvbiImJnQuZ2V0Q29uc3RydWN0b3JNZXRhZGF0YShpLnNlcnZpY2VJZGVudGlmaWVyKS5jb21waWxlckdlbmVyYXRlZE1ldGFkYXRhJiYobi5jb250YWluZXIuYmluZChpLnNlcnZpY2VJZGVudGlmaWVyKS50b1NlbGYoKSxzPWdvKG4uY29udGFpbmVyLGkuc2VydmljZUlkZW50aWZpZXIpKSxlP289czpvPXMuZmlsdGVyKGZ1bmN0aW9uKGEpe3ZhciBsPW5ldyBJZChhLnNlcnZpY2VJZGVudGlmaWVyLG4scixhLGkpO3JldHVybiBhLmNvbnN0cmFpbnQobCl9KSxRVChpLnNlcnZpY2VJZGVudGlmaWVyLG8saSxuLmNvbnRhaW5lciksb31mdW5jdGlvbiBRVCh0LGUsbixyKXtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgdmEuTm9CaW5kaW5nc0F2YWlsYWJsZTppZihuLmlzT3B0aW9uYWwoKSlyZXR1cm4gZTt2YXIgaT1hcyh0KSxzPWtUO3Rocm93IHMrPVdUKGksbikscys9UmgocixpLGdvKSxuZXcgRXJyb3Iocyk7Y2FzZSB2YS5Pbmx5T25lQmluZGluZ0F2YWlsYWJsZTppZighbi5pc0FycmF5KCkpcmV0dXJuIGU7Y2FzZSB2YS5NdWx0aXBsZUJpbmRpbmdzQXZhaWxhYmxlOmRlZmF1bHQ6aWYobi5pc0FycmF5KCkpcmV0dXJuIGU7dmFyIGk9YXModCkscz1iVCsiICIraTt0aHJvdyBzKz1SaChyLGksZ28pLG5ldyBFcnJvcihzKX19ZnVuY3Rpb24gUXkodCxlLG4scixpLHMpe3ZhciBvLGE7aWYoaT09PW51bGwpe289TWgodCxlLHIsbnVsbCxzKSxhPW5ldyBJZChuLHIsbnVsbCxvLHMpO3ZhciBsPW5ldyBHVChyLGEpO3IuYWRkUGxhbihsKX1lbHNlIG89TWgodCxlLHIsaSxzKSxhPWkuYWRkQ2hpbGRSZXF1ZXN0KHMuc2VydmljZUlkZW50aWZpZXIsbyxzKTtvLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIHU9bnVsbDtpZihzLmlzQXJyYXkoKSl1PWEuYWRkQ2hpbGRSZXF1ZXN0KGMuc2VydmljZUlkZW50aWZpZXIsYyxzKTtlbHNle2lmKGMuY2FjaGUpcmV0dXJuO3U9YX1pZihjLnR5cGU9PT1QdC5JbnN0YW5jZSYmYy5pbXBsZW1lbnRhdGlvblR5cGUhPT1udWxsKXt2YXIgZD1aVCh0LGMuaW1wbGVtZW50YXRpb25UeXBlKTtpZighci5jb250YWluZXIub3B0aW9ucy5za2lwQmFzZUNsYXNzQ2hlY2tzKXt2YXIgZj1ZeSh0LGMuaW1wbGVtZW50YXRpb25UeXBlKTtpZihkLmxlbmd0aDxmKXt2YXIgaD1SVCh5bChjLmltcGxlbWVudGF0aW9uVHlwZSkpO3Rocm93IG5ldyBFcnJvcihoKX19ZC5mb3JFYWNoKGZ1bmN0aW9uKG0pe1F5KHQsITEsbS5zZXJ2aWNlSWRlbnRpZmllcixyLHUsbSl9KX19KX1mdW5jdGlvbiBnbyh0LGUpe3ZhciBuPVtdLHI9SmModCk7cmV0dXJuIHIuaGFzS2V5KGUpP249ci5nZXQoZSk6dC5wYXJlbnQhPT1udWxsJiYobj1nbyh0LnBhcmVudCxlKSksbn1mdW5jdGlvbiBlRSh0LGUsbixyLGkscyxvLGEpe2E9PT12b2lkIDAmJihhPSExKTt2YXIgbD1uZXcgSHkoZSksYz1YVChuLHIsaSwiIixzLG8pO3RyeXtyZXR1cm4gUXkodCxhLGksbCxudWxsLGMpLGx9Y2F0Y2godSl7dGhyb3cgV3kodSkmJmwucGxhbiYmenkobC5wbGFuLnJvb3RSZXF1ZXN0KSx1fX1mdW5jdGlvbiB0RSh0LGUsbixyKXt2YXIgaT1uZXcgdmwoZXIuVmFyaWFibGUsIiIsZSxuZXcgbG4obixyKSkscz1uZXcgSHkodCksbz1uZXcgSWQoZSxzLG51bGwsW10saSk7cmV0dXJuIG99dmFyIG5FPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aCxpPXQubGVuZ3RoO248cjtuKyssaSsrKXRbaV09ZVtuXTtyZXR1cm4gdH07ZnVuY3Rpb24gckUodCxlLG4pe3ZhciByPWUuZmlsdGVyKGZ1bmN0aW9uKHMpe3JldHVybiBzLnRhcmdldCE9PW51bGwmJnMudGFyZ2V0LnR5cGU9PT1lci5DbGFzc1Byb3BlcnR5fSksaT1yLm1hcChuKTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKHMsbyl7dmFyIGE9IiI7YT1zLnRhcmdldC5uYW1lLnZhbHVlKCk7dmFyIGw9aVtvXTt0W2FdPWx9KSx0fWZ1bmN0aW9uIGlFKHQsZSl7cmV0dXJuIG5ldyh0LmJpbmQuYXBwbHkodCxuRShbdm9pZCAwXSxlKSkpfWZ1bmN0aW9uIHNFKHQsZSl7aWYoUmVmbGVjdC5oYXNNZXRhZGF0YShaaSx0KSl7dmFyIG49UmVmbGVjdC5nZXRNZXRhZGF0YShaaSx0KTt0cnl7ZVtuLnZhbHVlXSgpfWNhdGNoKHIpe3Rocm93IG5ldyBFcnJvcihqVCh0Lm5hbWUsci5tZXNzYWdlKSl9fX1mdW5jdGlvbiBvRSh0LGUsbil7dmFyIHI9bnVsbDtpZihlLmxlbmd0aD4wKXt2YXIgaT1lLmZpbHRlcihmdW5jdGlvbihvKXtyZXR1cm4gby50YXJnZXQhPT1udWxsJiZvLnRhcmdldC50eXBlPT09ZXIuQ29uc3RydWN0b3JBcmd1bWVudH0pLHM9aS5tYXAobik7cj1pRSh0LHMpLHI9ckUocixlLG4pfWVsc2Ugcj1uZXcgdDtyZXR1cm4gc0UodCxyKSxyfXZhciB0Yz1mdW5jdGlvbih0LGUsbil7dHJ5e3JldHVybiBuKCl9Y2F0Y2gocil7dGhyb3cgV3kocik/bmV3IEVycm9yKEJUKHQsZS50b1N0cmluZygpKSk6cn19LHFjPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtlLnBhcmVudENvbnRleHQuc2V0Q3VycmVudFJlcXVlc3QoZSk7dmFyIG49ZS5iaW5kaW5ncyxyPWUuY2hpbGRSZXF1ZXN0cyxpPWUudGFyZ2V0JiZlLnRhcmdldC5pc0FycmF5KCkscz0hZS5wYXJlbnRSZXF1ZXN0fHwhZS5wYXJlbnRSZXF1ZXN0LnRhcmdldHx8IWUudGFyZ2V0fHwhZS5wYXJlbnRSZXF1ZXN0LnRhcmdldC5tYXRjaGVzQXJyYXkoZS50YXJnZXQuc2VydmljZUlkZW50aWZpZXIpO2lmKGkmJnMpcmV0dXJuIHIubWFwKGZ1bmN0aW9uKGQpe3ZhciBmPXFjKHQpO3JldHVybiBmKGQpfSk7dmFyIG89bnVsbDtpZihlLnRhcmdldC5pc09wdGlvbmFsKCkmJm4ubGVuZ3RoPT09MClyZXR1cm47dmFyIGE9blswXSxsPWEuc2NvcGU9PT1JdC5TaW5nbGV0b24sYz1hLnNjb3BlPT09SXQuUmVxdWVzdDtpZihsJiZhLmFjdGl2YXRlZClyZXR1cm4gYS5jYWNoZTtpZihjJiZ0IT09bnVsbCYmdC5oYXMoYS5pZCkpcmV0dXJuIHQuZ2V0KGEuaWQpO2lmKGEudHlwZT09PVB0LkNvbnN0YW50VmFsdWUpbz1hLmNhY2hlLGEuYWN0aXZhdGVkPSEwO2Vsc2UgaWYoYS50eXBlPT09UHQuRnVuY3Rpb24pbz1hLmNhY2hlLGEuYWN0aXZhdGVkPSEwO2Vsc2UgaWYoYS50eXBlPT09UHQuQ29uc3RydWN0b3Ipbz1hLmltcGxlbWVudGF0aW9uVHlwZTtlbHNlIGlmKGEudHlwZT09PVB0LkR5bmFtaWNWYWx1ZSYmYS5keW5hbWljVmFsdWUhPT1udWxsKW89dGMoInRvRHluYW1pY1ZhbHVlIixhLnNlcnZpY2VJZGVudGlmaWVyLGZ1bmN0aW9uKCl7cmV0dXJuIGEuZHluYW1pY1ZhbHVlKGUucGFyZW50Q29udGV4dCl9KTtlbHNlIGlmKGEudHlwZT09PVB0LkZhY3RvcnkmJmEuZmFjdG9yeSE9PW51bGwpbz10YygidG9GYWN0b3J5IixhLnNlcnZpY2VJZGVudGlmaWVyLGZ1bmN0aW9uKCl7cmV0dXJuIGEuZmFjdG9yeShlLnBhcmVudENvbnRleHQpfSk7ZWxzZSBpZihhLnR5cGU9PT1QdC5Qcm92aWRlciYmYS5wcm92aWRlciE9PW51bGwpbz10YygidG9Qcm92aWRlciIsYS5zZXJ2aWNlSWRlbnRpZmllcixmdW5jdGlvbigpe3JldHVybiBhLnByb3ZpZGVyKGUucGFyZW50Q29udGV4dCl9KTtlbHNlIGlmKGEudHlwZT09PVB0Lkluc3RhbmNlJiZhLmltcGxlbWVudGF0aW9uVHlwZSE9PW51bGwpbz1vRShhLmltcGxlbWVudGF0aW9uVHlwZSxyLHFjKHQpKTtlbHNle3ZhciB1PWFzKGUuc2VydmljZUlkZW50aWZpZXIpO3Rocm93IG5ldyBFcnJvcihBVCsiICIrdSl9cmV0dXJuIHR5cGVvZiBhLm9uQWN0aXZhdGlvbj09ImZ1bmN0aW9uIiYmKG89YS5vbkFjdGl2YXRpb24oZS5wYXJlbnRDb250ZXh0LG8pKSxsJiYoYS5jYWNoZT1vLGEuYWN0aXZhdGVkPSEwKSxjJiZ0IT09bnVsbCYmIXQuaGFzKGEuaWQpJiZ0LnNldChhLmlkLG8pLG99fTtmdW5jdGlvbiBhRSh0KXt2YXIgZT1xYyh0LnBsYW4ucm9vdFJlcXVlc3QucmVxdWVzdFNjb3BlKTtyZXR1cm4gZSh0LnBsYW4ucm9vdFJlcXVlc3QpfXZhciBabj1mdW5jdGlvbih0LGUpe3ZhciBuPXQucGFyZW50UmVxdWVzdDtyZXR1cm4gbiE9PW51bGw/ZShuKT8hMDpabihuLGUpOiExfSxGaT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49ZnVuY3Rpb24ocil7cmV0dXJuIHIhPT1udWxsJiZyLnRhcmdldCE9PW51bGwmJnIudGFyZ2V0Lm1hdGNoZXNUYWcodCkoZSl9O3JldHVybiBuLm1ldGFEYXRhPW5ldyBsbih0LGUpLG59fSwkcz1GaShrbiksX2E9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPW51bGw7aWYoZSE9PW51bGwpaWYobj1lLmJpbmRpbmdzWzBdLHR5cGVvZiB0PT0ic3RyaW5nIil7dmFyIHI9bi5zZXJ2aWNlSWRlbnRpZmllcjtyZXR1cm4gcj09PXR9ZWxzZXt2YXIgaT1lLmJpbmRpbmdzWzBdLmltcGxlbWVudGF0aW9uVHlwZTtyZXR1cm4gdD09PWl9cmV0dXJuITF9fSxOZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dGhpcy5fYmluZGluZz1lfXJldHVybiB0LnByb3RvdHlwZS53aGVuPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nLmNvbnN0cmFpbnQ9ZSxuZXcgRHQodGhpcy5fYmluZGluZyl9LHQucHJvdG90eXBlLndoZW5UYXJnZXROYW1lZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZy5jb25zdHJhaW50PSRzKGUpLG5ldyBEdCh0aGlzLl9iaW5kaW5nKX0sdC5wcm90b3R5cGUud2hlblRhcmdldElzRGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaW5kaW5nLmNvbnN0cmFpbnQ9ZnVuY3Rpb24oZSl7dmFyIG49ZS50YXJnZXQhPT1udWxsJiYhZS50YXJnZXQuaXNOYW1lZCgpJiYhZS50YXJnZXQuaXNUYWdnZWQoKTtyZXR1cm4gbn0sbmV3IER0KHRoaXMuX2JpbmRpbmcpfSx0LnByb3RvdHlwZS53aGVuVGFyZ2V0VGFnZ2VkPWZ1bmN0aW9uKGUsbil7cmV0dXJuIHRoaXMuX2JpbmRpbmcuY29uc3RyYWludD1GaShlKShuKSxuZXcgRHQodGhpcy5fYmluZGluZyl9LHQucHJvdG90eXBlLndoZW5JbmplY3RlZEludG89ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2JpbmRpbmcuY29uc3RyYWludD1mdW5jdGlvbihuKXtyZXR1cm4gX2EoZSkobi5wYXJlbnRSZXF1ZXN0KX0sbmV3IER0KHRoaXMuX2JpbmRpbmcpfSx0LnByb3RvdHlwZS53aGVuUGFyZW50TmFtZWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2JpbmRpbmcuY29uc3RyYWludD1mdW5jdGlvbihuKXtyZXR1cm4gJHMoZSkobi5wYXJlbnRSZXF1ZXN0KX0sbmV3IER0KHRoaXMuX2JpbmRpbmcpfSx0LnByb3RvdHlwZS53aGVuUGFyZW50VGFnZ2VkPWZ1bmN0aW9uKGUsbil7cmV0dXJuIHRoaXMuX2JpbmRpbmcuY29uc3RyYWludD1mdW5jdGlvbihyKXtyZXR1cm4gRmkoZSkobikoci5wYXJlbnRSZXF1ZXN0KX0sbmV3IER0KHRoaXMuX2JpbmRpbmcpfSx0LnByb3RvdHlwZS53aGVuQW55QW5jZXN0b3JJcz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZy5jb25zdHJhaW50PWZ1bmN0aW9uKG4pe3JldHVybiBabihuLF9hKGUpKX0sbmV3IER0KHRoaXMuX2JpbmRpbmcpfSx0LnByb3RvdHlwZS53aGVuTm9BbmNlc3RvcklzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nLmNvbnN0cmFpbnQ9ZnVuY3Rpb24obil7cmV0dXJuIVpuKG4sX2EoZSkpfSxuZXcgRHQodGhpcy5fYmluZGluZyl9LHQucHJvdG90eXBlLndoZW5BbnlBbmNlc3Rvck5hbWVkPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nLmNvbnN0cmFpbnQ9ZnVuY3Rpb24obil7cmV0dXJuIFpuKG4sJHMoZSkpfSxuZXcgRHQodGhpcy5fYmluZGluZyl9LHQucHJvdG90eXBlLndoZW5Ob0FuY2VzdG9yTmFtZWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2JpbmRpbmcuY29uc3RyYWludD1mdW5jdGlvbihuKXtyZXR1cm4hWm4obiwkcyhlKSl9LG5ldyBEdCh0aGlzLl9iaW5kaW5nKX0sdC5wcm90b3R5cGUud2hlbkFueUFuY2VzdG9yVGFnZ2VkPWZ1bmN0aW9uKGUsbil7cmV0dXJuIHRoaXMuX2JpbmRpbmcuY29uc3RyYWludD1mdW5jdGlvbihyKXtyZXR1cm4gWm4ocixGaShlKShuKSl9LG5ldyBEdCh0aGlzLl9iaW5kaW5nKX0sdC5wcm90b3R5cGUud2hlbk5vQW5jZXN0b3JUYWdnZWQ9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdGhpcy5fYmluZGluZy5jb25zdHJhaW50PWZ1bmN0aW9uKHIpe3JldHVybiFabihyLEZpKGUpKG4pKX0sbmV3IER0KHRoaXMuX2JpbmRpbmcpfSx0LnByb3RvdHlwZS53aGVuQW55QW5jZXN0b3JNYXRjaGVzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nLmNvbnN0cmFpbnQ9ZnVuY3Rpb24obil7cmV0dXJuIFpuKG4sZSl9LG5ldyBEdCh0aGlzLl9iaW5kaW5nKX0sdC5wcm90b3R5cGUud2hlbk5vQW5jZXN0b3JNYXRjaGVzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nLmNvbnN0cmFpbnQ9ZnVuY3Rpb24obil7cmV0dXJuIVpuKG4sZSl9LG5ldyBEdCh0aGlzLl9iaW5kaW5nKX0sdH0oKSxEdD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dGhpcy5fYmluZGluZz1lfXJldHVybiB0LnByb3RvdHlwZS5vbkFjdGl2YXRpb249ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2JpbmRpbmcub25BY3RpdmF0aW9uPWUsbmV3IE5kKHRoaXMuX2JpbmRpbmcpfSx0fSgpLCRyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXt0aGlzLl9iaW5kaW5nPWUsdGhpcy5fYmluZGluZ1doZW5TeW50YXg9bmV3IE5kKHRoaXMuX2JpbmRpbmcpLHRoaXMuX2JpbmRpbmdPblN5bnRheD1uZXcgRHQodGhpcy5fYmluZGluZyl9cmV0dXJuIHQucHJvdG90eXBlLndoZW49ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2JpbmRpbmdXaGVuU3ludGF4LndoZW4oZSl9LHQucHJvdG90eXBlLndoZW5UYXJnZXROYW1lZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlblRhcmdldE5hbWVkKGUpfSx0LnByb3RvdHlwZS53aGVuVGFyZ2V0SXNEZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JpbmRpbmdXaGVuU3ludGF4LndoZW5UYXJnZXRJc0RlZmF1bHQoKX0sdC5wcm90b3R5cGUud2hlblRhcmdldFRhZ2dlZD1mdW5jdGlvbihlLG4pe3JldHVybiB0aGlzLl9iaW5kaW5nV2hlblN5bnRheC53aGVuVGFyZ2V0VGFnZ2VkKGUsbil9LHQucHJvdG90eXBlLndoZW5JbmplY3RlZEludG89ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2JpbmRpbmdXaGVuU3ludGF4LndoZW5JbmplY3RlZEludG8oZSl9LHQucHJvdG90eXBlLndoZW5QYXJlbnROYW1lZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlblBhcmVudE5hbWVkKGUpfSx0LnByb3RvdHlwZS53aGVuUGFyZW50VGFnZ2VkPWZ1bmN0aW9uKGUsbil7cmV0dXJuIHRoaXMuX2JpbmRpbmdXaGVuU3ludGF4LndoZW5QYXJlbnRUYWdnZWQoZSxuKX0sdC5wcm90b3R5cGUud2hlbkFueUFuY2VzdG9ySXM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2JpbmRpbmdXaGVuU3ludGF4LndoZW5BbnlBbmNlc3RvcklzKGUpfSx0LnByb3RvdHlwZS53aGVuTm9BbmNlc3RvcklzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nV2hlblN5bnRheC53aGVuTm9BbmNlc3RvcklzKGUpfSx0LnByb3RvdHlwZS53aGVuQW55QW5jZXN0b3JOYW1lZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlbkFueUFuY2VzdG9yTmFtZWQoZSl9LHQucHJvdG90eXBlLndoZW5BbnlBbmNlc3RvclRhZ2dlZD1mdW5jdGlvbihlLG4pe3JldHVybiB0aGlzLl9iaW5kaW5nV2hlblN5bnRheC53aGVuQW55QW5jZXN0b3JUYWdnZWQoZSxuKX0sdC5wcm90b3R5cGUud2hlbk5vQW5jZXN0b3JOYW1lZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlbk5vQW5jZXN0b3JOYW1lZChlKX0sdC5wcm90b3R5cGUud2hlbk5vQW5jZXN0b3JUYWdnZWQ9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlbk5vQW5jZXN0b3JUYWdnZWQoZSxuKX0sdC5wcm90b3R5cGUud2hlbkFueUFuY2VzdG9yTWF0Y2hlcz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlbkFueUFuY2VzdG9yTWF0Y2hlcyhlKX0sdC5wcm90b3R5cGUud2hlbk5vQW5jZXN0b3JNYXRjaGVzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nV2hlblN5bnRheC53aGVuTm9BbmNlc3Rvck1hdGNoZXMoZSl9LHQucHJvdG90eXBlLm9uQWN0aXZhdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ09uU3ludGF4Lm9uQWN0aXZhdGlvbihlKX0sdH0oKSxsRT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dGhpcy5fYmluZGluZz1lfXJldHVybiB0LnByb3RvdHlwZS5pblJlcXVlc3RTY29wZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaW5kaW5nLnNjb3BlPUl0LlJlcXVlc3QsbmV3ICRyKHRoaXMuX2JpbmRpbmcpfSx0LnByb3RvdHlwZS5pblNpbmdsZXRvblNjb3BlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JpbmRpbmcuc2NvcGU9SXQuU2luZ2xldG9uLG5ldyAkcih0aGlzLl9iaW5kaW5nKX0sdC5wcm90b3R5cGUuaW5UcmFuc2llbnRTY29wZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaW5kaW5nLnNjb3BlPUl0LlRyYW5zaWVudCxuZXcgJHIodGhpcy5fYmluZGluZyl9LHR9KCksTGg9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3RoaXMuX2JpbmRpbmc9ZSx0aGlzLl9iaW5kaW5nV2hlblN5bnRheD1uZXcgTmQodGhpcy5fYmluZGluZyksdGhpcy5fYmluZGluZ09uU3ludGF4PW5ldyBEdCh0aGlzLl9iaW5kaW5nKSx0aGlzLl9iaW5kaW5nSW5TeW50YXg9bmV3IGxFKGUpfXJldHVybiB0LnByb3RvdHlwZS5pblJlcXVlc3RTY29wZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaW5kaW5nSW5TeW50YXguaW5SZXF1ZXN0U2NvcGUoKX0sdC5wcm90b3R5cGUuaW5TaW5nbGV0b25TY29wZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaW5kaW5nSW5TeW50YXguaW5TaW5nbGV0b25TY29wZSgpfSx0LnByb3RvdHlwZS5pblRyYW5zaWVudFNjb3BlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JpbmRpbmdJblN5bnRheC5pblRyYW5zaWVudFNjb3BlKCl9LHQucHJvdG90eXBlLndoZW49ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2JpbmRpbmdXaGVuU3ludGF4LndoZW4oZSl9LHQucHJvdG90eXBlLndoZW5UYXJnZXROYW1lZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlblRhcmdldE5hbWVkKGUpfSx0LnByb3RvdHlwZS53aGVuVGFyZ2V0SXNEZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JpbmRpbmdXaGVuU3ludGF4LndoZW5UYXJnZXRJc0RlZmF1bHQoKX0sdC5wcm90b3R5cGUud2hlblRhcmdldFRhZ2dlZD1mdW5jdGlvbihlLG4pe3JldHVybiB0aGlzLl9iaW5kaW5nV2hlblN5bnRheC53aGVuVGFyZ2V0VGFnZ2VkKGUsbil9LHQucHJvdG90eXBlLndoZW5JbmplY3RlZEludG89ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2JpbmRpbmdXaGVuU3ludGF4LndoZW5JbmplY3RlZEludG8oZSl9LHQucHJvdG90eXBlLndoZW5QYXJlbnROYW1lZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlblBhcmVudE5hbWVkKGUpfSx0LnByb3RvdHlwZS53aGVuUGFyZW50VGFnZ2VkPWZ1bmN0aW9uKGUsbil7cmV0dXJuIHRoaXMuX2JpbmRpbmdXaGVuU3ludGF4LndoZW5QYXJlbnRUYWdnZWQoZSxuKX0sdC5wcm90b3R5cGUud2hlbkFueUFuY2VzdG9ySXM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2JpbmRpbmdXaGVuU3ludGF4LndoZW5BbnlBbmNlc3RvcklzKGUpfSx0LnByb3RvdHlwZS53aGVuTm9BbmNlc3RvcklzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nV2hlblN5bnRheC53aGVuTm9BbmNlc3RvcklzKGUpfSx0LnByb3RvdHlwZS53aGVuQW55QW5jZXN0b3JOYW1lZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlbkFueUFuY2VzdG9yTmFtZWQoZSl9LHQucHJvdG90eXBlLndoZW5BbnlBbmNlc3RvclRhZ2dlZD1mdW5jdGlvbihlLG4pe3JldHVybiB0aGlzLl9iaW5kaW5nV2hlblN5bnRheC53aGVuQW55QW5jZXN0b3JUYWdnZWQoZSxuKX0sdC5wcm90b3R5cGUud2hlbk5vQW5jZXN0b3JOYW1lZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlbk5vQW5jZXN0b3JOYW1lZChlKX0sdC5wcm90b3R5cGUud2hlbk5vQW5jZXN0b3JUYWdnZWQ9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlbk5vQW5jZXN0b3JUYWdnZWQoZSxuKX0sdC5wcm90b3R5cGUud2hlbkFueUFuY2VzdG9yTWF0Y2hlcz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ1doZW5TeW50YXgud2hlbkFueUFuY2VzdG9yTWF0Y2hlcyhlKX0sdC5wcm90b3R5cGUud2hlbk5vQW5jZXN0b3JNYXRjaGVzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nV2hlblN5bnRheC53aGVuTm9BbmNlc3Rvck1hdGNoZXMoZSl9LHQucHJvdG90eXBlLm9uQWN0aXZhdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZ09uU3ludGF4Lm9uQWN0aXZhdGlvbihlKX0sdH0oKSxjRT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dGhpcy5fYmluZGluZz1lfXJldHVybiB0LnByb3RvdHlwZS50bz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZy50eXBlPVB0Lkluc3RhbmNlLHRoaXMuX2JpbmRpbmcuaW1wbGVtZW50YXRpb25UeXBlPWUsbmV3IExoKHRoaXMuX2JpbmRpbmcpfSx0LnByb3RvdHlwZS50b1NlbGY9ZnVuY3Rpb24oKXtpZih0eXBlb2YgdGhpcy5fYmluZGluZy5zZXJ2aWNlSWRlbnRpZmllciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoIiIrSVQpO3ZhciBlPXRoaXMuX2JpbmRpbmcuc2VydmljZUlkZW50aWZpZXI7cmV0dXJuIHRoaXMudG8oZSl9LHQucHJvdG90eXBlLnRvQ29uc3RhbnRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZy50eXBlPVB0LkNvbnN0YW50VmFsdWUsdGhpcy5fYmluZGluZy5jYWNoZT1lLHRoaXMuX2JpbmRpbmcuZHluYW1pY1ZhbHVlPW51bGwsdGhpcy5fYmluZGluZy5pbXBsZW1lbnRhdGlvblR5cGU9bnVsbCx0aGlzLl9iaW5kaW5nLnNjb3BlPUl0LlNpbmdsZXRvbixuZXcgJHIodGhpcy5fYmluZGluZyl9LHQucHJvdG90eXBlLnRvRHluYW1pY1ZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nLnR5cGU9UHQuRHluYW1pY1ZhbHVlLHRoaXMuX2JpbmRpbmcuY2FjaGU9bnVsbCx0aGlzLl9iaW5kaW5nLmR5bmFtaWNWYWx1ZT1lLHRoaXMuX2JpbmRpbmcuaW1wbGVtZW50YXRpb25UeXBlPW51bGwsbmV3IExoKHRoaXMuX2JpbmRpbmcpfSx0LnByb3RvdHlwZS50b0NvbnN0cnVjdG9yPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nLnR5cGU9UHQuQ29uc3RydWN0b3IsdGhpcy5fYmluZGluZy5pbXBsZW1lbnRhdGlvblR5cGU9ZSx0aGlzLl9iaW5kaW5nLnNjb3BlPUl0LlNpbmdsZXRvbixuZXcgJHIodGhpcy5fYmluZGluZyl9LHQucHJvdG90eXBlLnRvRmFjdG9yeT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYmluZGluZy50eXBlPVB0LkZhY3RvcnksdGhpcy5fYmluZGluZy5mYWN0b3J5PWUsdGhpcy5fYmluZGluZy5zY29wZT1JdC5TaW5nbGV0b24sbmV3ICRyKHRoaXMuX2JpbmRpbmcpfSx0LnByb3RvdHlwZS50b0Z1bmN0aW9uPWZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBFcnJvcihQVCk7dmFyIG49dGhpcy50b0NvbnN0YW50VmFsdWUoZSk7cmV0dXJuIHRoaXMuX2JpbmRpbmcudHlwZT1QdC5GdW5jdGlvbix0aGlzLl9iaW5kaW5nLnNjb3BlPUl0LlNpbmdsZXRvbixufSx0LnByb3RvdHlwZS50b0F1dG9GYWN0b3J5PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nLnR5cGU9UHQuRmFjdG9yeSx0aGlzLl9iaW5kaW5nLmZhY3Rvcnk9ZnVuY3Rpb24obil7dmFyIHI9ZnVuY3Rpb24oKXtyZXR1cm4gbi5jb250YWluZXIuZ2V0KGUpfTtyZXR1cm4gcn0sdGhpcy5fYmluZGluZy5zY29wZT1JdC5TaW5nbGV0b24sbmV3ICRyKHRoaXMuX2JpbmRpbmcpfSx0LnByb3RvdHlwZS50b1Byb3ZpZGVyPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9iaW5kaW5nLnR5cGU9UHQuUHJvdmlkZXIsdGhpcy5fYmluZGluZy5wcm92aWRlcj1lLHRoaXMuX2JpbmRpbmcuc2NvcGU9SXQuU2luZ2xldG9uLG5ldyAkcih0aGlzLl9iaW5kaW5nKX0sdC5wcm90b3R5cGUudG9TZXJ2aWNlPWZ1bmN0aW9uKGUpe3RoaXMudG9EeW5hbWljVmFsdWUoZnVuY3Rpb24obil7cmV0dXJuIG4uY29udGFpbmVyLmdldChlKX0pfSx0fSgpLHVFPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5vZj1mdW5jdGlvbihlLG4pe3ZhciByPW5ldyB0O3JldHVybiByLmJpbmRpbmdzPWUsci5taWRkbGV3YXJlPW4scn0sdH0oKSxGaD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLl9tYXA9bmV3IE1hcH1yZXR1cm4gdC5wcm90b3R5cGUuZ2V0TWFwPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcH0sdC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGUsbil7aWYoZT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoQ3MpO2lmKG49PW51bGwpdGhyb3cgbmV3IEVycm9yKENzKTt2YXIgcj10aGlzLl9tYXAuZ2V0KGUpO3IhPT12b2lkIDA/KHIucHVzaChuKSx0aGlzLl9tYXAuc2V0KGUscikpOnRoaXMuX21hcC5zZXQoZSxbbl0pfSx0LnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oZSl7aWYoZT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoQ3MpO3ZhciBuPXRoaXMuX21hcC5nZXQoZSk7aWYobiE9PXZvaWQgMClyZXR1cm4gbjt0aHJvdyBuZXcgRXJyb3IoTmgpfSx0LnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oZSl7aWYoZT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoQ3MpO2lmKCF0aGlzLl9tYXAuZGVsZXRlKGUpKXRocm93IG5ldyBFcnJvcihOaCl9LHQucHJvdG90eXBlLnJlbW92ZUJ5Q29uZGl0aW9uPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7dGhpcy5fbWFwLmZvckVhY2goZnVuY3Rpb24ocixpKXt2YXIgcz1yLmZpbHRlcihmdW5jdGlvbihvKXtyZXR1cm4hZShvKX0pO3MubGVuZ3RoPjA/bi5fbWFwLnNldChpLHMpOm4uX21hcC5kZWxldGUoaSl9KX0sdC5wcm90b3R5cGUuaGFzS2V5PWZ1bmN0aW9uKGUpe2lmKGU9PW51bGwpdGhyb3cgbmV3IEVycm9yKENzKTtyZXR1cm4gdGhpcy5fbWFwLmhhcyhlKX0sdC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgZT1uZXcgdDtyZXR1cm4gdGhpcy5fbWFwLmZvckVhY2goZnVuY3Rpb24obixyKXtuLmZvckVhY2goZnVuY3Rpb24oaSl7cmV0dXJuIGUuYWRkKHIsaS5jbG9uZSgpKX0pfSksZX0sdC5wcm90b3R5cGUudHJhdmVyc2U9ZnVuY3Rpb24oZSl7dGhpcy5fbWFwLmZvckVhY2goZnVuY3Rpb24obixyKXtlKHIsbil9KX0sdH0oKSxkRT1mdW5jdGlvbih0LGUsbixyKXtmdW5jdGlvbiBpKHMpe3JldHVybiBzIGluc3RhbmNlb2Ygbj9zOm5ldyBuKGZ1bmN0aW9uKG8pe28ocyl9KX1yZXR1cm4gbmV3KG58fChuPVByb21pc2UpKShmdW5jdGlvbihzLG8pe2Z1bmN0aW9uIGEodSl7dHJ5e2Moci5uZXh0KHUpKX1jYXRjaChkKXtvKGQpfX1mdW5jdGlvbiBsKHUpe3RyeXtjKHIudGhyb3codSkpfWNhdGNoKGQpe28oZCl9fWZ1bmN0aW9uIGModSl7dS5kb25lP3ModS52YWx1ZSk6aSh1LnZhbHVlKS50aGVuKGEsbCl9Yygocj1yLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSl9LGZFPWZ1bmN0aW9uKHQsZSl7dmFyIG49e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKHNbMF0mMSl0aHJvdyBzWzFdO3JldHVybiBzWzFdfSx0cnlzOltdLG9wczpbXX0scixpLHMsbztyZXR1cm4gbz17bmV4dDphKDApLHRocm93OmEoMSkscmV0dXJuOmEoMil9LHR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJihvW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLG87ZnVuY3Rpb24gYShjKXtyZXR1cm4gZnVuY3Rpb24odSl7cmV0dXJuIGwoW2MsdV0pfX1mdW5jdGlvbiBsKGMpe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7bjspdHJ5e2lmKHI9MSxpJiYocz1jWzBdJjI/aS5yZXR1cm46Y1swXT9pLnRocm93fHwoKHM9aS5yZXR1cm4pJiZzLmNhbGwoaSksMCk6aS5uZXh0KSYmIShzPXMuY2FsbChpLGNbMV0pKS5kb25lKXJldHVybiBzO3N3aXRjaChpPTAscyYmKGM9W2NbMF0mMixzLnZhbHVlXSksY1swXSl7Y2FzZSAwOmNhc2UgMTpzPWM7YnJlYWs7Y2FzZSA0OnJldHVybiBuLmxhYmVsKysse3ZhbHVlOmNbMV0sZG9uZTohMX07Y2FzZSA1Om4ubGFiZWwrKyxpPWNbMV0sYz1bMF07Y29udGludWU7Y2FzZSA3OmM9bi5vcHMucG9wKCksbi50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYocz1uLnRyeXMsIShzPXMubGVuZ3RoPjAmJnNbcy5sZW5ndGgtMV0pJiYoY1swXT09PTZ8fGNbMF09PT0yKSl7bj0wO2NvbnRpbnVlfWlmKGNbMF09PT0zJiYoIXN8fGNbMV0+c1swXSYmY1sxXTxzWzNdKSl7bi5sYWJlbD1jWzFdO2JyZWFrfWlmKGNbMF09PT02JiZuLmxhYmVsPHNbMV0pe24ubGFiZWw9c1sxXSxzPWM7YnJlYWt9aWYocyYmbi5sYWJlbDxzWzJdKXtuLmxhYmVsPXNbMl0sbi5vcHMucHVzaChjKTticmVha31zWzJdJiZuLm9wcy5wb3AoKSxuLnRyeXMucG9wKCk7Y29udGludWV9Yz1lLmNhbGwodCxuKX1jYXRjaCh1KXtjPVs2LHVdLGk9MH1maW5hbGx5e3I9cz0wfWlmKGNbMF0mNSl0aHJvdyBjWzFdO3JldHVybnt2YWx1ZTpjWzBdP2NbMV06dm9pZCAwLGRvbmU6ITB9fX0saEU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49MCxyPWUubGVuZ3RoLGk9dC5sZW5ndGg7bjxyO24rKyxpKyspdFtpXT1lW25dO3JldHVybiB0fSxtRT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dGhpcy5fYXBwbGllZE1pZGRsZXdhcmU9W107dmFyIG49ZXx8e307aWYodHlwZW9mIG4hPSJvYmplY3QiKXRocm93IG5ldyBFcnJvcigiIitEVCk7aWYobi5kZWZhdWx0U2NvcGU9PT12b2lkIDApbi5kZWZhdWx0U2NvcGU9SXQuVHJhbnNpZW50O2Vsc2UgaWYobi5kZWZhdWx0U2NvcGUhPT1JdC5TaW5nbGV0b24mJm4uZGVmYXVsdFNjb3BlIT09SXQuVHJhbnNpZW50JiZuLmRlZmF1bHRTY29wZSE9PUl0LlJlcXVlc3QpdGhyb3cgbmV3IEVycm9yKCIiK01UKTtpZihuLmF1dG9CaW5kSW5qZWN0YWJsZT09PXZvaWQgMCluLmF1dG9CaW5kSW5qZWN0YWJsZT0hMTtlbHNlIGlmKHR5cGVvZiBuLmF1dG9CaW5kSW5qZWN0YWJsZSE9ImJvb2xlYW4iKXRocm93IG5ldyBFcnJvcigiIitMVCk7aWYobi5za2lwQmFzZUNsYXNzQ2hlY2tzPT09dm9pZCAwKW4uc2tpcEJhc2VDbGFzc0NoZWNrcz0hMTtlbHNlIGlmKHR5cGVvZiBuLnNraXBCYXNlQ2xhc3NDaGVja3MhPSJib29sZWFuIil0aHJvdyBuZXcgRXJyb3IoIiIrRlQpO3RoaXMub3B0aW9ucz17YXV0b0JpbmRJbmplY3RhYmxlOm4uYXV0b0JpbmRJbmplY3RhYmxlLGRlZmF1bHRTY29wZTpuLmRlZmF1bHRTY29wZSxza2lwQmFzZUNsYXNzQ2hlY2tzOm4uc2tpcEJhc2VDbGFzc0NoZWNrc30sdGhpcy5pZD1LcigpLHRoaXMuX2JpbmRpbmdEaWN0aW9uYXJ5PW5ldyBGaCx0aGlzLl9zbmFwc2hvdHM9W10sdGhpcy5fbWlkZGxld2FyZT1udWxsLHRoaXMucGFyZW50PW51bGwsdGhpcy5fbWV0YWRhdGFSZWFkZXI9bmV3IFZ5fXJldHVybiB0Lm1lcmdlPWZ1bmN0aW9uKGUsbil7Zm9yKHZhciByPVtdLGk9MjtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKXJbaS0yXT1hcmd1bWVudHNbaV07dmFyIHM9bmV3IHQsbz1oRShbZSxuXSxyKS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIEpjKGMpfSksYT1KYyhzKTtmdW5jdGlvbiBsKGMsdSl7Yy50cmF2ZXJzZShmdW5jdGlvbihkLGYpe2YuZm9yRWFjaChmdW5jdGlvbihoKXt1LmFkZChoLnNlcnZpY2VJZGVudGlmaWVyLGguY2xvbmUoKSl9KX0pfXJldHVybiBvLmZvckVhY2goZnVuY3Rpb24oYyl7bChjLGEpfSksc30sdC5wcm90b3R5cGUubG9hZD1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW25dPWFyZ3VtZW50c1tuXTtmb3IodmFyIHI9dGhpcy5fZ2V0Q29udGFpbmVyTW9kdWxlSGVscGVyc0ZhY3RvcnkoKSxpPTAscz1lO2k8cy5sZW5ndGg7aSsrKXt2YXIgbz1zW2ldLGE9cihvLmlkKTtvLnJlZ2lzdHJ5KGEuYmluZEZ1bmN0aW9uLGEudW5iaW5kRnVuY3Rpb24sYS5pc2JvdW5kRnVuY3Rpb24sYS5yZWJpbmRGdW5jdGlvbil9fSx0LnByb3RvdHlwZS5sb2FkQXN5bmM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuXT1hcmd1bWVudHNbbl07cmV0dXJuIGRFKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciByLGkscyxvLGE7cmV0dXJuIGZFKHRoaXMsZnVuY3Rpb24obCl7c3dpdGNoKGwubGFiZWwpe2Nhc2UgMDpyPXRoaXMuX2dldENvbnRhaW5lck1vZHVsZUhlbHBlcnNGYWN0b3J5KCksaT0wLHM9ZSxsLmxhYmVsPTE7Y2FzZSAxOnJldHVybiBpPHMubGVuZ3RoPyhvPXNbaV0sYT1yKG8uaWQpLFs0LG8ucmVnaXN0cnkoYS5iaW5kRnVuY3Rpb24sYS51bmJpbmRGdW5jdGlvbixhLmlzYm91bmRGdW5jdGlvbixhLnJlYmluZEZ1bmN0aW9uKV0pOlszLDRdO2Nhc2UgMjpsLnNlbnQoKSxsLmxhYmVsPTM7Y2FzZSAzOnJldHVybiBpKyssWzMsMV07Y2FzZSA0OnJldHVyblsyXX19KX0pfSx0LnByb3RvdHlwZS51bmxvYWQ9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcyxuPVtdLHI9MDtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKW5bcl09YXJndW1lbnRzW3JdO3ZhciBpPWZ1bmN0aW9uKHMpe3JldHVybiBmdW5jdGlvbihvKXtyZXR1cm4gby5tb2R1bGVJZD09PXN9fTtuLmZvckVhY2goZnVuY3Rpb24ocyl7dmFyIG89aShzLmlkKTtlLl9iaW5kaW5nRGljdGlvbmFyeS5yZW1vdmVCeUNvbmRpdGlvbihvKX0pfSx0LnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMub3B0aW9ucy5kZWZhdWx0U2NvcGV8fEl0LlRyYW5zaWVudCxyPW5ldyB5VChlLG4pO3JldHVybiB0aGlzLl9iaW5kaW5nRGljdGlvbmFyeS5hZGQoZSxyKSxuZXcgY0Uocil9LHQucHJvdG90eXBlLnJlYmluZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy51bmJpbmQoZSksdGhpcy5iaW5kKGUpfSx0LnByb3RvdHlwZS51bmJpbmQ9ZnVuY3Rpb24oZSl7dHJ5e3RoaXMuX2JpbmRpbmdEaWN0aW9uYXJ5LnJlbW92ZShlKX1jYXRjaHt0aHJvdyBuZXcgRXJyb3Iod1QrIiAiK2FzKGUpKX19LHQucHJvdG90eXBlLnVuYmluZEFsbD1mdW5jdGlvbigpe3RoaXMuX2JpbmRpbmdEaWN0aW9uYXJ5PW5ldyBGaH0sdC5wcm90b3R5cGUuaXNCb3VuZD1mdW5jdGlvbihlKXt2YXIgbj10aGlzLl9iaW5kaW5nRGljdGlvbmFyeS5oYXNLZXkoZSk7cmV0dXJuIW4mJnRoaXMucGFyZW50JiYobj10aGlzLnBhcmVudC5pc0JvdW5kKGUpKSxufSx0LnByb3RvdHlwZS5pc0JvdW5kTmFtZWQ9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdGhpcy5pc0JvdW5kVGFnZ2VkKGUsa24sbil9LHQucHJvdG90eXBlLmlzQm91bmRUYWdnZWQ9ZnVuY3Rpb24oZSxuLHIpe3ZhciBpPSExO2lmKHRoaXMuX2JpbmRpbmdEaWN0aW9uYXJ5Lmhhc0tleShlKSl7dmFyIHM9dGhpcy5fYmluZGluZ0RpY3Rpb25hcnkuZ2V0KGUpLG89dEUodGhpcyxlLG4scik7aT1zLnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29uc3RyYWludChvKX0pfXJldHVybiFpJiZ0aGlzLnBhcmVudCYmKGk9dGhpcy5wYXJlbnQuaXNCb3VuZFRhZ2dlZChlLG4scikpLGl9LHQucHJvdG90eXBlLnNuYXBzaG90PWZ1bmN0aW9uKCl7dGhpcy5fc25hcHNob3RzLnB1c2godUUub2YodGhpcy5fYmluZGluZ0RpY3Rpb25hcnkuY2xvbmUoKSx0aGlzLl9taWRkbGV3YXJlKSl9LHQucHJvdG90eXBlLnJlc3RvcmU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9zbmFwc2hvdHMucG9wKCk7aWYoZT09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoT1QpO3RoaXMuX2JpbmRpbmdEaWN0aW9uYXJ5PWUuYmluZGluZ3MsdGhpcy5fbWlkZGxld2FyZT1lLm1pZGRsZXdhcmV9LHQucHJvdG90eXBlLmNyZWF0ZUNoaWxkPWZ1bmN0aW9uKGUpe3ZhciBuPW5ldyB0KGV8fHRoaXMub3B0aW9ucyk7cmV0dXJuIG4ucGFyZW50PXRoaXMsbn0sdC5wcm90b3R5cGUuYXBwbHlNaWRkbGV3YXJlPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKWVbbl09YXJndW1lbnRzW25dO3RoaXMuX2FwcGxpZWRNaWRkbGV3YXJlPXRoaXMuX2FwcGxpZWRNaWRkbGV3YXJlLmNvbmNhdChlKTt2YXIgcj10aGlzLl9taWRkbGV3YXJlP3RoaXMuX21pZGRsZXdhcmU6dGhpcy5fcGxhbkFuZFJlc29sdmUoKTt0aGlzLl9taWRkbGV3YXJlPWUucmVkdWNlKGZ1bmN0aW9uKGkscyl7cmV0dXJuIHMoaSl9LHIpfSx0LnByb3RvdHlwZS5hcHBseUN1c3RvbU1ldGFkYXRhUmVhZGVyPWZ1bmN0aW9uKGUpe3RoaXMuX21ldGFkYXRhUmVhZGVyPWV9LHQucHJvdG90eXBlLmdldD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fZ2V0KCExLCExLGVyLlZhcmlhYmxlLGUpfSx0LnByb3RvdHlwZS5nZXRUYWdnZWQ9ZnVuY3Rpb24oZSxuLHIpe3JldHVybiB0aGlzLl9nZXQoITEsITEsZXIuVmFyaWFibGUsZSxuLHIpfSx0LnByb3RvdHlwZS5nZXROYW1lZD1mdW5jdGlvbihlLG4pe3JldHVybiB0aGlzLmdldFRhZ2dlZChlLGtuLG4pfSx0LnByb3RvdHlwZS5nZXRBbGw9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2dldCghMCwhMCxlci5WYXJpYWJsZSxlKX0sdC5wcm90b3R5cGUuZ2V0QWxsVGFnZ2VkPWZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdGhpcy5fZ2V0KCExLCEwLGVyLlZhcmlhYmxlLGUsbixyKX0sdC5wcm90b3R5cGUuZ2V0QWxsTmFtZWQ9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdGhpcy5nZXRBbGxUYWdnZWQoZSxrbixuKX0sdC5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihlKXt2YXIgbj10aGlzLmNyZWF0ZUNoaWxkKCk7cmV0dXJuIG4uYmluZChlKS50b1NlbGYoKSx0aGlzLl9hcHBsaWVkTWlkZGxld2FyZS5mb3JFYWNoKGZ1bmN0aW9uKHIpe24uYXBwbHlNaWRkbGV3YXJlKHIpfSksbi5nZXQoZSl9LHQucHJvdG90eXBlLl9nZXRDb250YWluZXJNb2R1bGVIZWxwZXJzRmFjdG9yeT1mdW5jdGlvbigpe3ZhciBlPXRoaXMsbj1mdW5jdGlvbihhLGwpe2EuX2JpbmRpbmcubW9kdWxlSWQ9bH0scj1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24obCl7dmFyIGM9ZS5iaW5kLmJpbmQoZSksdT1jKGwpO3JldHVybiBuKHUsYSksdX19LGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGwpe3ZhciBjPWUudW5iaW5kLmJpbmQoZSk7YyhsKX19LHM9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGwpe3ZhciBjPWUuaXNCb3VuZC5iaW5kKGUpO3JldHVybiBjKGwpfX0sbz1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24obCl7dmFyIGM9ZS5yZWJpbmQuYmluZChlKSx1PWMobCk7cmV0dXJuIG4odSxhKSx1fX07cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybntiaW5kRnVuY3Rpb246cihhKSxpc2JvdW5kRnVuY3Rpb246cygpLHJlYmluZEZ1bmN0aW9uOm8oYSksdW5iaW5kRnVuY3Rpb246aSgpfX19LHQucHJvdG90eXBlLl9nZXQ9ZnVuY3Rpb24oZSxuLHIsaSxzLG8pe3ZhciBhPW51bGwsbD17YXZvaWRDb25zdHJhaW50czplLGNvbnRleHRJbnRlcmNlcHRvcjpmdW5jdGlvbihjKXtyZXR1cm4gY30saXNNdWx0aUluamVjdDpuLGtleTpzLHNlcnZpY2VJZGVudGlmaWVyOmksdGFyZ2V0VHlwZTpyLHZhbHVlOm99O2lmKHRoaXMuX21pZGRsZXdhcmUpe2lmKGE9dGhpcy5fbWlkZGxld2FyZShsKSxhPT1udWxsKXRocm93IG5ldyBFcnJvcihDVCl9ZWxzZSBhPXRoaXMuX3BsYW5BbmRSZXNvbHZlKCkobCk7cmV0dXJuIGF9LHQucHJvdG90eXBlLl9wbGFuQW5kUmVzb2x2ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciByPWVFKGUuX21ldGFkYXRhUmVhZGVyLGUsbi5pc011bHRpSW5qZWN0LG4udGFyZ2V0VHlwZSxuLnNlcnZpY2VJZGVudGlmaWVyLG4ua2V5LG4udmFsdWUsbi5hdm9pZENvbnN0cmFpbnRzKTtyPW4uY29udGV4dEludGVyY2VwdG9yKHIpO3ZhciBpPWFFKHIpO3JldHVybiBpfX0sdH0oKSxwRT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dGhpcy5pZD1LcigpLHRoaXMucmVnaXN0cnk9ZX1yZXR1cm4gdH0oKSxnRT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dGhpcy5pZD1LcigpLHRoaXMucmVnaXN0cnk9ZX1yZXR1cm4gdH0oKTtmdW5jdGlvbiB5RSgpe3JldHVybiBmdW5jdGlvbih0KXtpZihSZWZsZWN0Lmhhc093bk1ldGFkYXRhKE5hLHQpKXRocm93IG5ldyBFcnJvcih2VCk7dmFyIGU9UmVmbGVjdC5nZXRNZXRhZGF0YShVeSx0KXx8W107cmV0dXJuIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoTmEsZSx0KSx0fX1mdW5jdGlvbiB2RSh0LGUpe3JldHVybiBmdW5jdGlvbihuLHIsaSl7dmFyIHM9bmV3IGxuKHQsZSk7dHlwZW9mIGk9PSJudW1iZXIiP0NpKG4scixpLHMpOkxvKG4scixzKX19ZnVuY3Rpb24gX0UodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbixyKXt2YXIgaT1uZXcgbG4oa24sdCk7dHlwZW9mIHI9PSJudW1iZXIiP0NpKGUsbixyLGkpOkxvKGUsbixpKX19ZnVuY3Rpb24gYkUoKXtyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3ZhciByPW5ldyBsbihnbCwhMCk7dHlwZW9mIG49PSJudW1iZXIiP0NpKHQsZSxuLHIpOkxvKHQsZSxyKX19ZnVuY3Rpb24gd0UoKXtyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3ZhciByPW5ldyBsbihEbywhMCk7Q2kodCxlLG4scil9fWZ1bmN0aW9uIGtFKHQpe3JldHVybiBmdW5jdGlvbihlLG4scil7dmFyIGk9bmV3IGxuKEVpLHQpO3R5cGVvZiByPT0ibnVtYmVyIj9DaShlLG4scixpKTpMbyhlLG4saSl9fWZ1bmN0aW9uIFNFKHQpe3JldHVybiBmdW5jdGlvbihlLG4scil7dmFyIGk9bmV3IGxuKHBsLHQpO0NpKGUsbixyLGkpfX1mdW5jdGlvbiBURSgpe3JldHVybiBmdW5jdGlvbih0LGUsbil7dmFyIHI9bmV3IGxuKFppLGUpO2lmKFJlZmxlY3QuaGFzT3duTWV0YWRhdGEoWmksdC5jb25zdHJ1Y3RvcikpdGhyb3cgbmV3IEVycm9yKCRUKTtSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFppLHIsdC5jb25zdHJ1Y3Rvcil9fXZhciBFRT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBuPVtdLHI9MDtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKW5bcl09YXJndW1lbnRzW3JdO3JldHVybiBuLmZvckVhY2goZnVuY3Rpb24oaSl7cmV0dXJuIHQuYmluZChpKS50b1NlcnZpY2UoZSl9KX19fSx4RT1wVDtjb25zdCBBRT1PYmplY3QuZnJlZXplKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7X19wcm90b19fOm51bGwsQXN5bmNDb250YWluZXJNb2R1bGU6Z0UsQmluZGluZ1Njb3BlRW51bTpJdCxCaW5kaW5nVHlwZUVudW06UHQsQ29udGFpbmVyOm1FLENvbnRhaW5lck1vZHVsZTpwRSxMYXp5U2VydmljZUlkZW50aWZlcjpxeSxNRVRBREFUQV9LRVk6eEUsTWV0YWRhdGFSZWFkZXI6VnksVGFyZ2V0VHlwZUVudW06ZXIsZGVjb3JhdGU6SFQsZ2V0U2VydmljZUlkZW50aWZpZXJBc1N0cmluZzphcyxpZDpLcixpbmplY3Q6SlQsaW5qZWN0YWJsZTp5RSxtdWx0aUJpbmRUb1NlcnZpY2U6RUUsbXVsdGlJbmplY3Q6a0UsbmFtZWQ6X0UsbmFtZWRDb25zdHJhaW50OiRzLG9wdGlvbmFsOmJFLHBvc3RDb25zdHJ1Y3Q6VEUsdGFnZ2VkOnZFLHRhZ2dlZENvbnN0cmFpbnQ6RmksdGFyZ2V0TmFtZTpTRSx0cmF2ZXJzZUFuY2Vyc3RvcnM6Wm4sdHlwZUNvbnN0cmFpbnQ6X2EsdW5tYW5hZ2VkOndFfSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSkpLGV2PWhUKEFFKTt2YXIgbHM9e307KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmdldE9yU2V0SWRGcm9tQ2FjaGU9dC5nZW5lcmF0ZUlkQW5kQWRkVG9DYWNoZT10LmFkZElkVG9DYWNoZT10LmdlbmVyYXRlSWROYW1lT2ZEZXBlbmRlbmN5PXQuZ2VuZXJhdGVJZE5hbWU9dC5nZW5lcmF0ZUlkT2ZEZXBlbmRlbmN5PXQuZ2VuZXJhdGVJZEZyb21OYW1lPXQucmVzZXRJZHNDYWNoZT10Lmlkc0NhY2hlPXZvaWQgMCx0Lmlkc0NhY2hlPXt9O2Z1bmN0aW9uIGUoKXt0Lmlkc0NhY2hlPXt9fXQucmVzZXRJZHNDYWNoZT1lO2Z1bmN0aW9uIG4oYyx1KXtyZXR1cm4gdXx8U3ltYm9sKGMpfXQuZ2VuZXJhdGVJZEZyb21OYW1lPW47ZnVuY3Rpb24gcihjLHUpe3JldHVybiBuKGMubmFtZSx1KX10LmdlbmVyYXRlSWRPZkRlcGVuZGVuY3k9cjtmdW5jdGlvbiBpKGMpe3ZhciB1PWM7cmV0dXJuIHUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdS5zbGljZSgxKX10LmdlbmVyYXRlSWROYW1lPWk7ZnVuY3Rpb24gcyhjLHUpe3JldHVybiB1P3UudG9TdHJpbmcoKTppKGMubmFtZSl9dC5nZW5lcmF0ZUlkTmFtZU9mRGVwZW5kZW5jeT1zO2Z1bmN0aW9uIG8oYyx1KXt2YXIgZD10Lmlkc0NhY2hlW3VdO3JldHVybiBkfHwodC5pZHNDYWNoZVsiSSIrdV09Yyx0Lmlkc0NhY2hlW3VdPWMpfXQuYWRkSWRUb0NhY2hlPW87ZnVuY3Rpb24gYShjLHUpe3ZhciBkPXIoYyx1KSxmPXMoYyx1KSxoPW8oZCxmKTtyZXR1cm4gaH10LmdlbmVyYXRlSWRBbmRBZGRUb0NhY2hlPWE7ZnVuY3Rpb24gbChjLHUpe3ZhciBkPXQuaWRzQ2FjaGVbY107aWYoZClyZXR1cm4gZDt2YXIgZj1uKGMsdSksaD1vKGYsYyk7cmV0dXJuIGh9dC5nZXRPclNldElkRnJvbUNhY2hlPWx9KShscyk7dmFyIERuPXt9LF9sPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShfbCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7X2wubG9nPXZvaWQgMDtmdW5jdGlvbiBPRSh0KXt0PT09dm9pZCAwJiYodD0hMSk7Zm9yKHZhciBlPVtdLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKWVbbi0xXT1hcmd1bWVudHNbbl07dCYmY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSxlKX1fbC5sb2c9T0U7dmFyIE1uPXt9LCRoO2Z1bmN0aW9uIHR2KCl7aWYoJGgpcmV0dXJuIE1uOyRoPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KE1uLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxNbi5jbGVhblBhcmFtZXRlcj1Nbi5jb252ZXJ0U3RyaW5nUGFyYW1ldGVyc1RvTGlzdD1Nbi5nZXRQYXJhbWV0ZXJzQXNTdHJpbmdGcm9tQ29uc3RydWN0b3I9TW4uZ2V0UGFyYW1ldGVyc0Zyb21Db25zdHJ1Y3Rvcj12b2lkIDA7dmFyIHQ9bHM7ZnVuY3Rpb24gZShzKXt2YXIgbz1uKHMpO3JldHVybiByKG8pfU1uLmdldFBhcmFtZXRlcnNGcm9tQ29uc3RydWN0b3I9ZTtmdW5jdGlvbiBuKHMpe3ZhciBvPXMudG9TdHJpbmcoKS5tYXRjaCgvKGNvbnN0cnVjdG9yfGZ1bmN0aW9uKSA/KC4qKSA/XCgoLiopXCkvKTtpZighbyl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIGNvbnN0cnVjdG9yIGluIHRoaXMgY2xhc3MgIitzLm5hbWUpO3JldHVybiBvWzNdfU1uLmdldFBhcmFtZXRlcnNBc1N0cmluZ0Zyb21Db25zdHJ1Y3Rvcj1uO2Z1bmN0aW9uIHIocyl7cmV0dXJuIHMuc3BsaXQoIiwiKS5tYXAoZnVuY3Rpb24obyl7cmV0dXJuIG8ucmVwbGFjZSgvXC9cKi4qXCpcLy8sIiIpLnRyaW0oKX0pLmZpbHRlcihmdW5jdGlvbihvKXtyZXR1cm4gb30pfU1uLmNvbnZlcnRTdHJpbmdQYXJhbWV0ZXJzVG9MaXN0PXI7ZnVuY3Rpb24gaShzKXtyZXR1cm4gdC5nZW5lcmF0ZUlkTmFtZShzKS5yZXBsYWNlKC9fL2csIiIpfXJldHVybiBNbi5jbGVhblBhcmFtZXRlcj1pLE1ufXZhciBqaDtmdW5jdGlvbiBudigpe2lmKGpoKXJldHVybiBEbjtqaD0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEbiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksRG4uaXNQYXJhbWV0ZXJEZWNvcmF0b3I9RG4uSW5qZWN0PURuLmluamVjdD1Ebi5pbmplY3RhYmxlPXZvaWQgMDt2YXIgdD1ldixlPURhKCksbj1scyxyPV9sLGk9dHYoKTtmdW5jdGlvbiBzKCl7cmV0dXJuIGZ1bmN0aW9uKHUpe3JldHVybiB0LmluamVjdGFibGUoKSh1KX19RG4uaW5qZWN0YWJsZT1zO2Z1bmN0aW9uIG8odSxkKXtyZXR1cm4gZD09PXZvaWQgMCYmKGQ9ITEpLGZ1bmN0aW9uKGYsaCxtKXtyZXR1cm4gci5sb2coZCwiREk6IFJlZ2lzdGVyaW5nIixmLG0sdSksci5sb2coZCwiREk6IGlkc0NhY2hlIixuLmlkc0NhY2hlKSx0eXBlb2YgbT09Im51bWJlciImJmEobSk/bChmLGgsbSx1LGQpOmMoZixoLG0sdSxkKX19RG4uaW5qZWN0PW8sRG4uSW5qZWN0PW87ZnVuY3Rpb24gYSh1KXtyZXR1cm4gdSE9PXZvaWQgMD90eXBlb2YgdT09Im51bWJlciI6ITF9RG4uaXNQYXJhbWV0ZXJEZWNvcmF0b3I9YTtmdW5jdGlvbiBsKHUsZCxmLGgsbSl7bT09PXZvaWQgMCYmKG09ITEpLHIubG9nKG0sIkRJOiBpcyBwYXJhbWV0ZXIgZGVjb3JhdG9yIix1LGYsaCk7dmFyIHA9aDtpZighcCl7dmFyIGs9aS5nZXRQYXJhbWV0ZXJzRnJvbUNvbnN0cnVjdG9yKHUpO3IubG9nKG0sayk7dmFyIHg9a1tmXTtyLmxvZyhtLHgpO3ZhciBDPWkuY2xlYW5QYXJhbWV0ZXIoeCk7ci5sb2cobSxDKSxwPW4uZ2V0T3JTZXRJZEZyb21DYWNoZShuLmdlbmVyYXRlSWROYW1lKEMpKSxyLmxvZyhtLHApfXJldHVybiB0LmluamVjdChwKSh1LGQsZil9ZnVuY3Rpb24gYyh1LGQsZixoLG0pe209PT12b2lkIDAmJihtPSExKSxyLmxvZyhtLCJESTogaXMgbWV0aG9kL3Byb3BlcnR5IGRlY29yYXRvciIsZCx1LGgpO3ZhciBwPWg7aWYoIXApe3ZhciBrPWkuY2xlYW5QYXJhbWV0ZXIoZCk7cD1uLmdldE9yU2V0SWRGcm9tQ2FjaGUobi5nZW5lcmF0ZUlkTmFtZShrKSl9cmV0dXJuIGY/KHIubG9nKG0sImhhcyBkZXNjcmlwdG9yIixmKSxmLmdldD1mdW5jdGlvbigpe3JldHVybiBlLmdldENvbnRhaW5lcigpLmdldChwKX0pOihyLmxvZyhtLCJVc2luZyBSZWZsZWN0IGRlZmluZVByb3BlcnR5IHdpbGwgYmUgZGVwcmVjYXRlZCBzb29uLCB1c2UgRVM2IiksUmVmbGVjdC5kZWxldGVQcm9wZXJ0eSh1LGQpLFJlZmxlY3QuZGVmaW5lUHJvcGVydHkodSxkLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXRDb250YWluZXIoKS5nZXQocCl9LHNldDpmdW5jdGlvbih4KXtyZXR1cm4geH19KSksdC5pbmplY3QocCkodSxkKX1yZXR1cm4gRG59dmFyIEJoO2Z1bmN0aW9uIERhKCl7aWYoQmgpcmV0dXJuIFJuO0JoPTE7dmFyIHQ9QnImJkJyLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgdT1mdW5jdGlvbihkLGYpe3JldHVybiB1PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihoLG0pe2guX19wcm90b19fPW19fHxmdW5jdGlvbihoLG0pe2Zvcih2YXIgcCBpbiBtKW0uaGFzT3duUHJvcGVydHkocCkmJihoW3BdPW1bcF0pfSx1KGQsZil9O3JldHVybiBmdW5jdGlvbihkLGYpe3UoZCxmKTtmdW5jdGlvbiBoKCl7dGhpcy5jb25zdHJ1Y3Rvcj1kfWQucHJvdG90eXBlPWY9PT1udWxsP09iamVjdC5jcmVhdGUoZik6KGgucHJvdG90eXBlPWYucHJvdG90eXBlLG5ldyBoKX19KCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KFJuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxSbi5yZXNldENvbnRhaW5lcj1Sbi5zZXRDb250YWluZXI9Um4uZ2V0Q29udGFpbmVyPVJuLkNvbnRhaW5lcj12b2lkIDA7dmFyIGU9ZXYsbj1scyxyPW52KCk7ZnVuY3Rpb24gaSh1LGQsZil7dHJ5e2UuZGVjb3JhdGUodSxkKX1jYXRjaChoKXtpZihoLm1lc3NhZ2UhPT0iQ2Fubm90IGFwcGx5IEBpbmplY3RhYmxlIGRlY29yYXRvciBtdWx0aXBsZSB0aW1lcy4iKXRocm93IGh9fXZhciBzPWZ1bmN0aW9uKHUpe3QoZCx1KTtmdW5jdGlvbiBkKCl7cmV0dXJuIHUhPT1udWxsJiZ1LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gZC5wcm90b3R5cGUuYmluZFRvPWZ1bmN0aW9uKGYsaCl7dmFyIG09bi5nZW5lcmF0ZUlkQW5kQWRkVG9DYWNoZShmLGgpO3JldHVybiBpKHIuaW5qZWN0YWJsZSgpLGYpLHUucHJvdG90eXBlLmJpbmQuY2FsbCh0aGlzLG0pLnRvKGYpfSxkLnByb3RvdHlwZS5hZGRUcmFuc2llbnQ9ZnVuY3Rpb24oZixoKXt2YXIgbT1uLmdlbmVyYXRlSWRBbmRBZGRUb0NhY2hlKGYsaCk7cmV0dXJuIGkoci5pbmplY3RhYmxlKCksZiksdS5wcm90b3R5cGUuYmluZC5jYWxsKHRoaXMsbSkudG8oZikuaW5UcmFuc2llbnRTY29wZSgpfSxkLnByb3RvdHlwZS5hZGRTaW5nbGV0b249ZnVuY3Rpb24oZixoKXt2YXIgbT1uLmdlbmVyYXRlSWRBbmRBZGRUb0NhY2hlKGYsaCk7cmV0dXJuIGkoci5pbmplY3RhYmxlKCksZiksdS5wcm90b3R5cGUuYmluZC5jYWxsKHRoaXMsbSkudG8oZikuaW5TaW5nbGV0b25TY29wZSgpfSxkLnByb3RvdHlwZS5hZGRSZXF1ZXN0PWZ1bmN0aW9uKGYsaCl7dmFyIG09bi5nZW5lcmF0ZUlkQW5kQWRkVG9DYWNoZShmLGgpO3JldHVybiBpKHIuaW5qZWN0YWJsZSgpLGYpLHUucHJvdG90eXBlLmJpbmQuY2FsbCh0aGlzLG0pLnRvKGYpLmluUmVxdWVzdFNjb3BlKCl9LGQucHJvdG90eXBlLmdldD1mdW5jdGlvbihmKXtyZXR1cm4gdS5wcm90b3R5cGUuZ2V0LmNhbGwodGhpcyxmKX0sZH0oZS5Db250YWluZXIpO1JuLkNvbnRhaW5lcj1zO3ZhciBvO2Z1bmN0aW9uIGEoKXtyZXR1cm4gb31Sbi5nZXRDb250YWluZXI9YTtmdW5jdGlvbiBsKHUpe3JldHVybiBvPW5ldyBzKHUpfVJuLnNldENvbnRhaW5lcj1sO2Z1bmN0aW9uIGMoKXthKCkudW5iaW5kQWxsKCl9cmV0dXJuIFJuLnJlc2V0Q29udGFpbmVyPWMsUm59dmFyIHVyPXt9LFVoO2Z1bmN0aW9uIENFKCl7aWYoVWgpcmV0dXJuIHVyO1VoPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KHVyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx1ci5tb2NrUmVxdWVzdD11ci5tb2NrVHJhbnNpZW50PXVyLm1vY2tTaW5nbGV0b249dm9pZCAwO3ZhciB0PURhKCk7ZnVuY3Rpb24gZShpLHMpe3QuZ2V0Q29udGFpbmVyKCkudW5iaW5kKGkpLHQuZ2V0Q29udGFpbmVyKCkuYWRkU2luZ2xldG9uKHMsaSl9dXIubW9ja1NpbmdsZXRvbj1lO2Z1bmN0aW9uIG4oaSxzKXt0LmdldENvbnRhaW5lcigpLnVuYmluZChpKSx0LmdldENvbnRhaW5lcigpLmFkZFRyYW5zaWVudChzLGkpfXVyLm1vY2tUcmFuc2llbnQ9bjtmdW5jdGlvbiByKGkscyl7dC5nZXRDb250YWluZXIoKS51bmJpbmQoaSksdC5nZXRDb250YWluZXIoKS5hZGRSZXF1ZXN0KHMsaSl9cmV0dXJuIHVyLm1vY2tSZXF1ZXN0PXIsdXJ9KGZ1bmN0aW9uKHQpe3ZhciBlPUJyJiZCci5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKHMsbyxhLGwpe2w9PT12b2lkIDAmJihsPWEpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzLGwse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG9bYV19fSl9OmZ1bmN0aW9uKHMsbyxhLGwpe2w9PT12b2lkIDAmJihsPWEpLHNbbF09b1thXX0pLG49QnImJkJyLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24ocyxvKXtmb3IodmFyIGEgaW4gcylhIT09ImRlZmF1bHQiJiYhby5oYXNPd25Qcm9wZXJ0eShhKSYmZShvLHMsYSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmNpZD10LmNvbnRhaW5lcj12b2lkIDA7dmFyIHI9RGEoKSxpPWxzO3QuY29udGFpbmVyPXIuc2V0Q29udGFpbmVyKHtza2lwQmFzZUNsYXNzQ2hlY2tzOiEwfSksdC5jaWQ9aS5pZHNDYWNoZSxuKERhKCksdCksbihscyx0KSxuKG52KCksdCksbihDRSgpLHQpLG4odHYoKSx0KX0pKEJ5KTsoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZ2V0Q29udGFpbmVyPXQuc2V0Q29udGFpbmVyPXQuY29udGFpbmVyPXQubW9ja1RyYW5zaWVudD10Lm1vY2tTaW5nbGV0b249dC5tb2NrUmVxdWVzdD10LnJlc2V0Q29udGFpbmVyPXQuY2lkPXQuQ29udGFpbmVyPXQuaW5qZWN0YWJsZT10LmluamVjdD10LkluamVjdD10LnVzZUluamVjdD12b2lkIDA7dmFyIGU9Qnk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImNpZCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGUuY2lkfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJDb250YWluZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBlLkNvbnRhaW5lcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiY29udGFpbmVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5jb250YWluZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImdldENvbnRhaW5lciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGUuZ2V0Q29udGFpbmVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJJbmplY3QiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBlLkluamVjdH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiaW5qZWN0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5pbmplY3R9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImluamVjdGFibGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBlLmluamVjdGFibGV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIm1vY2tSZXF1ZXN0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5tb2NrUmVxdWVzdH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibW9ja1NpbmdsZXRvbiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGUubW9ja1NpbmdsZXRvbn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibW9ja1RyYW5zaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGUubW9ja1RyYW5zaWVudH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicmVzZXRDb250YWluZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBlLnJlc2V0Q29udGFpbmVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJzZXRDb250YWluZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBlLnNldENvbnRhaW5lcn19KTtmdW5jdGlvbiBuKHIpe3JldHVybltlLmdldENvbnRhaW5lcigpLmdldChyKV19dC51c2VJbmplY3Q9bn0pKG5yKTsvKiEKICogcGluaWEgdjIuMS43CiAqIChjKSAyMDIzIEVkdWFyZG8gU2FuIE1hcnRpbiBNb3JvdGUKICogQGxpY2Vuc2UgTUlUCiAqL2xldCBydjtjb25zdCBibD10PT5ydj10LGl2PVN5bWJvbCgpO2Z1bmN0aW9uIFpjKHQpe3JldHVybiB0JiZ0eXBlb2YgdD09Im9iamVjdCImJk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KT09PSJbb2JqZWN0IE9iamVjdF0iJiZ0eXBlb2YgdC50b0pTT04hPSJmdW5jdGlvbiJ9dmFyIEtzOyhmdW5jdGlvbih0KXt0LmRpcmVjdD0iZGlyZWN0Iix0LnBhdGNoT2JqZWN0PSJwYXRjaCBvYmplY3QiLHQucGF0Y2hGdW5jdGlvbj0icGF0Y2ggZnVuY3Rpb24ifSkoS3N8fChLcz17fSkpO2Z1bmN0aW9uIFBFKCl7Y29uc3QgdD1uZCghMCksZT10LnJ1bigoKT0+c2Uoe30pKTtsZXQgbj1bXSxyPVtdO2NvbnN0IGk9ZGQoe2luc3RhbGwocyl7YmwoaSksaS5fYT1zLHMucHJvdmlkZShpdixpKSxzLmNvbmZpZy5nbG9iYWxQcm9wZXJ0aWVzLiRwaW5pYT1pLHIuZm9yRWFjaChvPT5uLnB1c2gobykpLHI9W119LHVzZShzKXtyZXR1cm4gdGhpcy5fYT9uLnB1c2gocyk6ci5wdXNoKHMpLHRoaXN9LF9wOm4sX2E6bnVsbCxfZTp0LF9zOm5ldyBNYXAsc3RhdGU6ZX0pO3JldHVybiBpfWNvbnN0IHN2PSgpPT57fTtmdW5jdGlvbiBWaCh0LGUsbixyPXN2KXt0LnB1c2goZSk7Y29uc3QgaT0oKT0+e2NvbnN0IHM9dC5pbmRleE9mKGUpO3M+LTEmJih0LnNwbGljZShzLDEpLHIoKSl9O3JldHVybiFuJiZyZCgpJiZtZyhpKSxpfWZ1bmN0aW9uIElpKHQsLi4uZSl7dC5zbGljZSgpLmZvckVhY2gobj0+e24oLi4uZSl9KX1jb25zdCBJRT10PT50KCk7ZnVuY3Rpb24gS2ModCxlKXt0IGluc3RhbmNlb2YgTWFwJiZlIGluc3RhbmNlb2YgTWFwJiZlLmZvckVhY2goKG4scik9PnQuc2V0KHIsbikpLHQgaW5zdGFuY2VvZiBTZXQmJmUgaW5zdGFuY2VvZiBTZXQmJmUuZm9yRWFjaCh0LmFkZCx0KTtmb3IoY29uc3QgbiBpbiBlKXtpZighZS5oYXNPd25Qcm9wZXJ0eShuKSljb250aW51ZTtjb25zdCByPWVbbl0saT10W25dO1pjKGkpJiZaYyhyKSYmdC5oYXNPd25Qcm9wZXJ0eShuKSYmIUV0KHIpJiYhYmkocik/dFtuXT1LYyhpLHIpOnRbbl09cn1yZXR1cm4gdH1jb25zdCBORT1TeW1ib2woKTtmdW5jdGlvbiBSRSh0KXtyZXR1cm4hWmModCl8fCF0Lmhhc093blByb3BlcnR5KE5FKX1jb25zdHthc3NpZ246UHJ9PU9iamVjdDtmdW5jdGlvbiBERSh0KXtyZXR1cm4hIShFdCh0KSYmdC5lZmZlY3QpfWZ1bmN0aW9uIE1FKHQsZSxuLHIpe2NvbnN0e3N0YXRlOmksYWN0aW9uczpzLGdldHRlcnM6b309ZSxhPW4uc3RhdGUudmFsdWVbdF07bGV0IGw7ZnVuY3Rpb24gYygpe2F8fChuLnN0YXRlLnZhbHVlW3RdPWk/aSgpOnt9KTtjb25zdCB1PUZ3KG4uc3RhdGUudmFsdWVbdF0pO3JldHVybiBQcih1LHMsT2JqZWN0LmtleXMob3x8e30pLnJlZHVjZSgoZCxmKT0+KGRbZl09ZGQob2UoKCk9PntibChuKTtjb25zdCBoPW4uX3MuZ2V0KHQpO3JldHVybiBvW2ZdLmNhbGwoaCxoKX0pKSxkKSx7fSkpfXJldHVybiBsPW92KHQsYyxlLG4sciwhMCksbH1mdW5jdGlvbiBvdih0LGUsbj17fSxyLGkscyl7bGV0IG87Y29uc3QgYT1Qcih7YWN0aW9uczp7fX0sbiksbD17ZGVlcDohMH07bGV0IGMsdSxkPVtdLGY9W10saDtjb25zdCBtPXIuc3RhdGUudmFsdWVbdF07IXMmJiFtJiYoci5zdGF0ZS52YWx1ZVt0XT17fSksc2Uoe30pO2xldCBwO2Z1bmN0aW9uIGsoRCl7bGV0IEk7Yz11PSExLHR5cGVvZiBEPT0iZnVuY3Rpb24iPyhEKHIuc3RhdGUudmFsdWVbdF0pLEk9e3R5cGU6S3MucGF0Y2hGdW5jdGlvbixzdG9yZUlkOnQsZXZlbnRzOmh9KTooS2Moci5zdGF0ZS52YWx1ZVt0XSxEKSxJPXt0eXBlOktzLnBhdGNoT2JqZWN0LHBheWxvYWQ6RCxzdG9yZUlkOnQsZXZlbnRzOmh9KTtjb25zdCBCPXA9U3ltYm9sKCk7bm4oKS50aGVuKCgpPT57cD09PUImJihjPSEwKX0pLHU9ITAsSWkoZCxJLHIuc3RhdGUudmFsdWVbdF0pfWNvbnN0IHg9cz9mdW5jdGlvbigpe2NvbnN0e3N0YXRlOkl9PW4sQj1JP0koKTp7fTt0aGlzLiRwYXRjaChMPT57UHIoTCxCKX0pfTpzdjtmdW5jdGlvbiBDKCl7by5zdG9wKCksZD1bXSxmPVtdLHIuX3MuZGVsZXRlKHQpfWZ1bmN0aW9uIGIoRCxJKXtyZXR1cm4gZnVuY3Rpb24oKXtibChyKTtjb25zdCBCPUFycmF5LmZyb20oYXJndW1lbnRzKSxMPVtdLGo9W107ZnVuY3Rpb24gcmUobGUpe0wucHVzaChsZSl9ZnVuY3Rpb24geGUobGUpe2oucHVzaChsZSl9SWkoZix7YXJnczpCLG5hbWU6RCxzdG9yZTpFLGFmdGVyOnJlLG9uRXJyb3I6eGV9KTtsZXQgVGU7dHJ5e1RlPUkuYXBwbHkodGhpcyYmdGhpcy4kaWQ9PT10P3RoaXM6RSxCKX1jYXRjaChsZSl7dGhyb3cgSWkoaixsZSksbGV9cmV0dXJuIFRlIGluc3RhbmNlb2YgUHJvbWlzZT9UZS50aGVuKGxlPT4oSWkoTCxsZSksbGUpKS5jYXRjaChsZT0+KElpKGosbGUpLFByb21pc2UucmVqZWN0KGxlKSkpOihJaShMLFRlKSxUZSl9fWNvbnN0IFQ9e19wOnIsJGlkOnQsJG9uQWN0aW9uOlZoLmJpbmQobnVsbCxmKSwkcGF0Y2g6aywkcmVzZXQ6eCwkc3Vic2NyaWJlKEQsST17fSl7Y29uc3QgQj1WaChkLEQsSS5kZXRhY2hlZCwoKT0+TCgpKSxMPW8ucnVuKCgpPT5ndCgoKT0+ci5zdGF0ZS52YWx1ZVt0XSxqPT57KEkuZmx1c2g9PT0ic3luYyI/dTpjKSYmRCh7c3RvcmVJZDp0LHR5cGU6S3MuZGlyZWN0LGV2ZW50czpofSxqKX0sUHIoe30sbCxJKSkpO3JldHVybiBCfSwkZGlzcG9zZTpDfSxFPU9pKFQpO3IuX3Muc2V0KHQsRSk7Y29uc3QgUj0oci5fYSYmci5fYS5ydW5XaXRoQ29udGV4dHx8SUUpKCgpPT5yLl9lLnJ1bigoKT0+KG89bmQoKSkucnVuKGUpKSk7Zm9yKGNvbnN0IEQgaW4gUil7Y29uc3QgST1SW0RdO2lmKEV0KEkpJiYhREUoSSl8fGJpKEkpKXN8fChtJiZSRShJKSYmKEV0KEkpP0kudmFsdWU9bVtEXTpLYyhJLG1bRF0pKSxyLnN0YXRlLnZhbHVlW3RdW0RdPUkpO2Vsc2UgaWYodHlwZW9mIEk9PSJmdW5jdGlvbiIpe2NvbnN0IEI9YihELEkpO1JbRF09QixhLmFjdGlvbnNbRF09SX19cmV0dXJuIFByKEUsUiksUHIoWGUoRSksUiksT2JqZWN0LmRlZmluZVByb3BlcnR5KEUsIiRzdGF0ZSIse2dldDooKT0+ci5zdGF0ZS52YWx1ZVt0XSxzZXQ6RD0+e2soST0+e1ByKEksRCl9KX19KSxyLl9wLmZvckVhY2goRD0+e1ByKEUsby5ydW4oKCk9PkQoe3N0b3JlOkUsYXBwOnIuX2EscGluaWE6cixvcHRpb25zOmF9KSkpfSksbSYmcyYmbi5oeWRyYXRlJiZuLmh5ZHJhdGUoRS4kc3RhdGUsbSksYz0hMCx1PSEwLEV9ZnVuY3Rpb24gYXYodCxlLG4pe2xldCByLGk7Y29uc3Qgcz10eXBlb2YgZT09ImZ1bmN0aW9uIjt0eXBlb2YgdD09InN0cmluZyI/KHI9dCxpPXM/bjplKTooaT10LHI9dC5pZCk7ZnVuY3Rpb24gbyhhLGwpe2NvbnN0IGM9Q2soKTtyZXR1cm4gYT1hfHwoYz91dChpdixudWxsKTpudWxsKSxhJiZibChhKSxhPXJ2LGEuX3MuaGFzKHIpfHwocz9vdihyLGUsaSxhKTpNRShyLGksYSkpLGEuX3MuZ2V0KHIpfXJldHVybiBvLiRpZD1yLG99Y29uc3QgbmM9KHQsZSk9Pntjb25zdCBuPW5ldyB0O3JldHVybiBuLmluaXQoZSksbn0scmM9KHQsZSxuKT0+ankodCxlLHZvaWQgMCx7c2VyaWFsaXplcjp7cmVhZDpuLHdyaXRlOnI9PkpTT04uc3RyaW5naWZ5KHIpfX0pLGJzPWF2KCJtYWluIix7c3RhdGU6KCk9Pih7dXNlcjpyYygidXNlciIsbnVsbCx0PT50P25jKFZpLEpTT04ucGFyc2UodCkpOm51bGwpLHByb3BlcnR5OnJjKCJwcm9wZXJ0eSIsbnVsbCx0PT50P25jKFFuLEpTT04ucGFyc2UodCkpOm51bGwpLHBhZ2VTaXplOmp5KCJwYWdlX3NpemUiLDE1KSxwcm9wZXJ0aWVzOnJjKCJwcm9wZXJ0aWVzIixbXSx0PT50P0pTT04ucGFyc2UodCkubWFwKGU9Pm5jKFFuLGUpKTpudWxsKX0pLGdldHRlcnM6e3RpbWVab25lKHQpe3ZhciBlO3JldHVybigoZT10LnByb3BlcnR5KT09bnVsbD92b2lkIDA6ZS50aW1lWm9uZSk/PyJFdXJvcGUvVmllbm5hIn0sbGFuZ3VhZ2UodCl7dmFyIGU7cmV0dXJuKChlPXQudXNlcik9PW51bGw/dm9pZCAwOmUubGFuZ3VhZ2UpPz9uYXZpZ2F0b3IubGFuZ3VhZ2Uuc3BsaXQoIi0iKVswXT8/ImRlIn19LGFjdGlvbnM6e2FzeW5jIGluaXRpYWxpemUoKXthd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoW3RoaXMubG9hZFByb3BlcnRpZXMoKV0pLGF3YWl0IHRoaXMuYXBwbHlCcmFuZGluZygpfSxjbGVhcigpe3RoaXMucHJvcGVydHk9bnVsbCx0aGlzLnVzZXI9bnVsbCx0aGlzLnByb3BlcnRpZXM9W119LGFzeW5jIGxvZ291dCgpe2NvbnN0W3RdPW5yLnVzZUluamVjdChTYy5uYW1lKTt0cnl7YXdhaXQgdC5sb2dvdXQoKX1jYXRjaHt9dGhpcy5jbGVhcigpfSxhc3luYyBsb2FkUHJvcGVydGllcygpe2NvbnN0W3RdPW5yLnVzZUluamVjdChZcC5uYW1lKSxlPWF3YWl0IHQubGlzdCgpO3RoaXMucHJvcGVydGllcz1lLmRhdGF9LGFzeW5jIHN3aXRjaFByb3BlcnR5KHQsZT0hMSl7dmFyIGk7aWYoKChpPXRoaXMucHJvcGVydHkpPT1udWxsP3ZvaWQgMDppLmlkKT09PXQuaWQpcmV0dXJuO2NvbnN0W25dPW5yLnVzZUluamVjdChTYy5uYW1lKSxyPWF3YWl0IG4uc3dpdGNoUHJvcGVydHkodC5pZCk7dGhpcy51c2VyPXIsdGhpcy5wcm9wZXJ0eT10LGF3YWl0IHRoaXMuaW5pdGlhbGl6ZSgpLGUmJndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX0sYXN5bmMgYXBwbHlCcmFuZGluZygpe2lmKCF0aGlzLnByb3BlcnR5fHwhdGhpcy5wcm9wZXJ0eS5icmFuZGluZ3x8IXRoaXMucHJvcGVydHkuYnJhbmRpbmcucHJpbWFyeUNvbG9yKXJldHVybjtjb25zdCB0PXsuLi50aGlzLnByb3BlcnR5LmJyYW5kaW5nLHByaW1hcnlDb2xvcjpKU09OLnBhcnNlKHRoaXMucHJvcGVydHkuYnJhbmRpbmcucHJpbWFyeUNvbG9yKX07Zm9yKGNvbnN0IGUgb2ZbNTAsMTAwLDIwMCwzMDAsNDAwLDUwMCw2MDAsNzAwLDgwMCw5MDBdKWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgLS1jb2xvci1wcmltYXJ5LSR7ZX1gLHQucHJpbWFyeUNvbG9yW2VdKX19fSksTEU9KCk9PihLZS5kZWZhdWx0cy53aXRoQ3JlZGVudGlhbHM9ITAsS2UuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLnVzZSh0PT50LGFzeW5jIHQ9PntpZih0LnJlc3BvbnNlLnN0YXR1cz09PTQwMSl7aWYodC5jb25maWcudXJsLmVuZHNXaXRoKCIvbG9nb3V0IikpcmV0dXJuIFByb21pc2UucmVqZWN0KHQpO2NvbnN0IGU9YnMoKSxuPW1sKCk7YXdhaXQgZS5sb2dvdXQoKSxhd2FpdCBuLnJlcGxhY2Uoe25hbWU6ImxvZ2luIixxdWVyeTp7cmVkaXJlY3Q6bi5jdXJyZW50Um91dGUudmFsdWUuZnVsbFBhdGh9fSl9ZWxzZSB0LnJlc3BvbnNlLnN0YXR1cztyZXR1cm4gUHJvbWlzZS5yZWplY3QodCl9KSxLZSk7LyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkNvcHlyaWdodCAoQykgTWljcm9zb2Z0LiBBbGwgcmlnaHRzIHJlc2VydmVkLgpMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlCnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlCkxpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgpUSElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZCktJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRUQKV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwKTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC4KClNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucwphbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovdmFyIFdoOyhmdW5jdGlvbih0KXsoZnVuY3Rpb24oZSl7dmFyIG49dHlwZW9mIGdsb2JhbFRoaXM9PSJvYmplY3QiP2dsb2JhbFRoaXM6dHlwZW9mIEJyPT0ib2JqZWN0Ij9Ccjp0eXBlb2Ygc2VsZj09Im9iamVjdCI/c2VsZjp0eXBlb2YgdGhpcz09Im9iamVjdCI/dGhpczphKCkscj1pKHQpO3R5cGVvZiBuLlJlZmxlY3Q8InUiJiYocj1pKG4uUmVmbGVjdCxyKSksZShyLG4pLHR5cGVvZiBuLlJlZmxlY3Q+InUiJiYobi5SZWZsZWN0PXQpO2Z1bmN0aW9uIGkobCxjKXtyZXR1cm4gZnVuY3Rpb24odSxkKXtPYmplY3QuZGVmaW5lUHJvcGVydHkobCx1LHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZH0pLGMmJmModSxkKX19ZnVuY3Rpb24gcygpe3RyeXtyZXR1cm4gRnVuY3Rpb24oInJldHVybiB0aGlzOyIpKCl9Y2F0Y2h7fX1mdW5jdGlvbiBvKCl7dHJ5e3JldHVybigwLGV2YWwpKCIoZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSgpIil9Y2F0Y2h7fX1mdW5jdGlvbiBhKCl7cmV0dXJuIHMoKXx8bygpfX0pKGZ1bmN0aW9uKGUsbil7dmFyIHI9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxpPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiIscz1pJiZ0eXBlb2YgU3ltYm9sLnRvUHJpbWl0aXZlPCJ1Ij9TeW1ib2wudG9QcmltaXRpdmU6IkBAdG9QcmltaXRpdmUiLG89aSYmdHlwZW9mIFN5bWJvbC5pdGVyYXRvcjwidSI/U3ltYm9sLml0ZXJhdG9yOiJAQGl0ZXJhdG9yIixhPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iLGw9e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5LGM9IWEmJiFsLHU9e2NyZWF0ZTphP2Z1bmN0aW9uKCl7cmV0dXJuIGh0KE9iamVjdC5jcmVhdGUobnVsbCkpfTpsP2Z1bmN0aW9uKCl7cmV0dXJuIGh0KHtfX3Byb3RvX186bnVsbH0pfTpmdW5jdGlvbigpe3JldHVybiBodCh7fSl9LGhhczpjP2Z1bmN0aW9uKEYsVil7cmV0dXJuIHIuY2FsbChGLFYpfTpmdW5jdGlvbihGLFYpe3JldHVybiBWIGluIEZ9LGdldDpjP2Z1bmN0aW9uKEYsVil7cmV0dXJuIHIuY2FsbChGLFYpP0ZbVl06dm9pZCAwfTpmdW5jdGlvbihGLFYpe3JldHVybiBGW1ZdfX0sZD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoRnVuY3Rpb24pLGY9dHlwZW9mIE1hcD09ImZ1bmN0aW9uIiYmdHlwZW9mIE1hcC5wcm90b3R5cGUuZW50cmllcz09ImZ1bmN0aW9uIj9NYXA6RygpLGg9dHlwZW9mIFNldD09ImZ1bmN0aW9uIiYmdHlwZW9mIFNldC5wcm90b3R5cGUuZW50cmllcz09ImZ1bmN0aW9uIj9TZXQ6RWUoKSxtPXR5cGVvZiBXZWFrTWFwPT0iZnVuY3Rpb24iP1dlYWtNYXA6VmUoKSxwPWk/U3ltYm9sLmZvcigiQHJlZmxlY3QtbWV0YWRhdGE6cmVnaXN0cnkiKTp2b2lkIDAsaz1YKCkseD11ZShrKTtmdW5jdGlvbiBDKEYsVixxLGRlKXtpZihKKHEpKXtpZighamUoRikpdGhyb3cgbmV3IFR5cGVFcnJvcjtpZighUChWKSl0aHJvdyBuZXcgVHlwZUVycm9yO3JldHVybiBqKEYsVil9ZWxzZXtpZighamUoRikpdGhyb3cgbmV3IFR5cGVFcnJvcjtpZighUmUoVikpdGhyb3cgbmV3IFR5cGVFcnJvcjtpZighUmUoZGUpJiYhSihkZSkmJiFJZShkZSkpdGhyb3cgbmV3IFR5cGVFcnJvcjtyZXR1cm4gSWUoZGUpJiYoZGU9dm9pZCAwKSxxPWZlKHEpLHJlKEYsVixxLGRlKX19ZSgiZGVjb3JhdGUiLEMpO2Z1bmN0aW9uIGIoRixWKXtmdW5jdGlvbiBxKGRlLF9lKXtpZighUmUoZGUpKXRocm93IG5ldyBUeXBlRXJyb3I7aWYoIUooX2UpJiYhZyhfZSkpdGhyb3cgbmV3IFR5cGVFcnJvcjtBZShGLFYsZGUsX2UpfXJldHVybiBxfWUoIm1ldGFkYXRhIixiKTtmdW5jdGlvbiBUKEYsVixxLGRlKXtpZighUmUocSkpdGhyb3cgbmV3IFR5cGVFcnJvcjtyZXR1cm4gSihkZSl8fChkZT1mZShkZSkpLEFlKEYsVixxLGRlKX1lKCJkZWZpbmVNZXRhZGF0YSIsVCk7ZnVuY3Rpb24gRShGLFYscSl7aWYoIVJlKFYpKXRocm93IG5ldyBUeXBlRXJyb3I7cmV0dXJuIEoocSl8fChxPWZlKHEpKSx4ZShGLFYscSl9ZSgiaGFzTWV0YWRhdGEiLEUpO2Z1bmN0aW9uIHcoRixWLHEpe2lmKCFSZShWKSl0aHJvdyBuZXcgVHlwZUVycm9yO3JldHVybiBKKHEpfHwocT1mZShxKSksVGUoRixWLHEpfWUoImhhc093bk1ldGFkYXRhIix3KTtmdW5jdGlvbiBSKEYsVixxKXtpZighUmUoVikpdGhyb3cgbmV3IFR5cGVFcnJvcjtyZXR1cm4gSihxKXx8KHE9ZmUocSkpLGxlKEYsVixxKX1lKCJnZXRNZXRhZGF0YSIsUik7ZnVuY3Rpb24gRChGLFYscSl7aWYoIVJlKFYpKXRocm93IG5ldyBUeXBlRXJyb3I7cmV0dXJuIEoocSl8fChxPWZlKHEpKSx5ZShGLFYscSl9ZSgiZ2V0T3duTWV0YWRhdGEiLEQpO2Z1bmN0aW9uIEkoRixWKXtpZighUmUoRikpdGhyb3cgbmV3IFR5cGVFcnJvcjtyZXR1cm4gSihWKXx8KFY9ZmUoVikpLFplKEYsVil9ZSgiZ2V0TWV0YWRhdGFLZXlzIixJKTtmdW5jdGlvbiBCKEYsVil7aWYoIVJlKEYpKXRocm93IG5ldyBUeXBlRXJyb3I7cmV0dXJuIEooVil8fChWPWZlKFYpKSxydChGLFYpfWUoImdldE93bk1ldGFkYXRhS2V5cyIsQik7ZnVuY3Rpb24gTChGLFYscSl7aWYoIVJlKFYpKXRocm93IG5ldyBUeXBlRXJyb3I7aWYoSihxKXx8KHE9ZmUocSkpLCFSZShWKSl0aHJvdyBuZXcgVHlwZUVycm9yO0oocSl8fChxPWZlKHEpKTt2YXIgZGU9JChWLHEsITEpO3JldHVybiBKKGRlKT8hMTpkZS5PcmRpbmFyeURlbGV0ZU1ldGFkYXRhKEYsVixxKX1lKCJkZWxldGVNZXRhZGF0YSIsTCk7ZnVuY3Rpb24gaihGLFYpe2Zvcih2YXIgcT1GLmxlbmd0aC0xO3E+PTA7LS1xKXt2YXIgZGU9RltxXSxfZT1kZShWKTtpZighSihfZSkmJiFJZShfZSkpe2lmKCFQKF9lKSl0aHJvdyBuZXcgVHlwZUVycm9yO1Y9X2V9fXJldHVybiBWfWZ1bmN0aW9uIHJlKEYsVixxLGRlKXtmb3IodmFyIF9lPUYubGVuZ3RoLTE7X2U+PTA7LS1fZSl7dmFyIHN0PUZbX2VdLHZ0PXN0KFYscSxkZSk7aWYoIUoodnQpJiYhSWUodnQpKXtpZighUmUodnQpKXRocm93IG5ldyBUeXBlRXJyb3I7ZGU9dnR9fXJldHVybiBkZX1mdW5jdGlvbiB4ZShGLFYscSl7dmFyIGRlPVRlKEYsVixxKTtpZihkZSlyZXR1cm4hMDt2YXIgX2U9eShWKTtyZXR1cm4gSWUoX2UpPyExOnhlKEYsX2UscSl9ZnVuY3Rpb24gVGUoRixWLHEpe3ZhciBkZT0kKFYscSwhMSk7cmV0dXJuIEooZGUpPyExOmNlKGRlLk9yZGluYXJ5SGFzT3duTWV0YWRhdGEoRixWLHEpKX1mdW5jdGlvbiBsZShGLFYscSl7dmFyIGRlPVRlKEYsVixxKTtpZihkZSlyZXR1cm4geWUoRixWLHEpO3ZhciBfZT15KFYpO2lmKCFJZShfZSkpcmV0dXJuIGxlKEYsX2UscSl9ZnVuY3Rpb24geWUoRixWLHEpe3ZhciBkZT0kKFYscSwhMSk7aWYoIUooZGUpKXJldHVybiBkZS5PcmRpbmFyeUdldE93bk1ldGFkYXRhKEYsVixxKX1mdW5jdGlvbiBBZShGLFYscSxkZSl7dmFyIF9lPSQocSxkZSwhMCk7X2UuT3JkaW5hcnlEZWZpbmVPd25NZXRhZGF0YShGLFYscSxkZSl9ZnVuY3Rpb24gWmUoRixWKXt2YXIgcT1ydChGLFYpLGRlPXkoRik7aWYoZGU9PT1udWxsKXJldHVybiBxO3ZhciBfZT1aZShkZSxWKTtpZihfZS5sZW5ndGg8PTApcmV0dXJuIHE7aWYocS5sZW5ndGg8PTApcmV0dXJuIF9lO2Zvcih2YXIgc3Q9bmV3IGgsdnQ9W10sSGU9MCxnZT1xO0hlPGdlLmxlbmd0aDtIZSsrKXt2YXIgdmU9Z2VbSGVdLGtlPXN0Lmhhcyh2ZSk7a2V8fChzdC5hZGQodmUpLHZ0LnB1c2godmUpKX1mb3IodmFyIFNlPTAsSmU9X2U7U2U8SmUubGVuZ3RoO1NlKyspe3ZhciB2ZT1KZVtTZV0sa2U9c3QuaGFzKHZlKTtrZXx8KHN0LmFkZCh2ZSksdnQucHVzaCh2ZSkpfXJldHVybiB2dH1mdW5jdGlvbiBydChGLFYpe3ZhciBxPSQoRixWLCExKTtyZXR1cm4gcT9xLk9yZGluYXJ5T3duTWV0YWRhdGFLZXlzKEYsVik6W119ZnVuY3Rpb24gd2UoRil7aWYoRj09PW51bGwpcmV0dXJuIDE7c3dpdGNoKHR5cGVvZiBGKXtjYXNlInVuZGVmaW5lZCI6cmV0dXJuIDA7Y2FzZSJib29sZWFuIjpyZXR1cm4gMjtjYXNlInN0cmluZyI6cmV0dXJuIDM7Y2FzZSJzeW1ib2wiOnJldHVybiA0O2Nhc2UibnVtYmVyIjpyZXR1cm4gNTtjYXNlIm9iamVjdCI6cmV0dXJuIEY9PT1udWxsPzE6NjtkZWZhdWx0OnJldHVybiA2fX1mdW5jdGlvbiBKKEYpe3JldHVybiBGPT09dm9pZCAwfWZ1bmN0aW9uIEllKEYpe3JldHVybiBGPT09bnVsbH1mdW5jdGlvbiB6ZShGKXtyZXR1cm4gdHlwZW9mIEY9PSJzeW1ib2wifWZ1bmN0aW9uIFJlKEYpe3JldHVybiB0eXBlb2YgRj09Im9iamVjdCI/RiE9PW51bGw6dHlwZW9mIEY9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gVWUoRixWKXtzd2l0Y2god2UoRikpe2Nhc2UgMDpyZXR1cm4gRjtjYXNlIDE6cmV0dXJuIEY7Y2FzZSAyOnJldHVybiBGO2Nhc2UgMzpyZXR1cm4gRjtjYXNlIDQ6cmV0dXJuIEY7Y2FzZSA1OnJldHVybiBGfXZhciBxPSJzdHJpbmciLGRlPVcoRixzKTtpZihkZSE9PXZvaWQgMCl7dmFyIF9lPWRlLmNhbGwoRixxKTtpZihSZShfZSkpdGhyb3cgbmV3IFR5cGVFcnJvcjtyZXR1cm4gX2V9cmV0dXJuIEgoRil9ZnVuY3Rpb24gSChGLFYpe3ZhciBxLGRlO3t2YXIgX2U9Ri50b1N0cmluZztpZihPKF9lKSl7dmFyIGRlPV9lLmNhbGwoRik7aWYoIVJlKGRlKSlyZXR1cm4gZGV9dmFyIHE9Ri52YWx1ZU9mO2lmKE8ocSkpe3ZhciBkZT1xLmNhbGwoRik7aWYoIVJlKGRlKSlyZXR1cm4gZGV9fXRocm93IG5ldyBUeXBlRXJyb3J9ZnVuY3Rpb24gY2UoRil7cmV0dXJuISFGfWZ1bmN0aW9uIGFlKEYpe3JldHVybiIiK0Z9ZnVuY3Rpb24gZmUoRil7dmFyIFY9VWUoRik7cmV0dXJuIHplKFYpP1Y6YWUoVil9ZnVuY3Rpb24gamUoRil7cmV0dXJuIEFycmF5LmlzQXJyYXk/QXJyYXkuaXNBcnJheShGKTpGIGluc3RhbmNlb2YgT2JqZWN0P0YgaW5zdGFuY2VvZiBBcnJheTpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRik9PT0iW29iamVjdCBBcnJheV0ifWZ1bmN0aW9uIE8oRil7cmV0dXJuIHR5cGVvZiBGPT0iZnVuY3Rpb24ifWZ1bmN0aW9uIFAoRil7cmV0dXJuIHR5cGVvZiBGPT0iZnVuY3Rpb24ifWZ1bmN0aW9uIGcoRil7c3dpdGNoKHdlKEYpKXtjYXNlIDM6cmV0dXJuITA7Y2FzZSA0OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIE4oRixWKXtyZXR1cm4gRj09PVZ8fEYhPT1GJiZWIT09Vn1mdW5jdGlvbiBXKEYsVil7dmFyIHE9RltWXTtpZihxIT1udWxsKXtpZighTyhxKSl0aHJvdyBuZXcgVHlwZUVycm9yO3JldHVybiBxfX1mdW5jdGlvbiB6KEYpe3ZhciBWPVcoRixvKTtpZighTyhWKSl0aHJvdyBuZXcgVHlwZUVycm9yO3ZhciBxPVYuY2FsbChGKTtpZighUmUocSkpdGhyb3cgbmV3IFR5cGVFcnJvcjtyZXR1cm4gcX1mdW5jdGlvbiB0ZShGKXtyZXR1cm4gRi52YWx1ZX1mdW5jdGlvbiBRKEYpe3ZhciBWPUYubmV4dCgpO3JldHVybiBWLmRvbmU/ITE6Vn1mdW5jdGlvbiB2KEYpe3ZhciBWPUYucmV0dXJuO1YmJlYuY2FsbChGKX1mdW5jdGlvbiB5KEYpe3ZhciBWPU9iamVjdC5nZXRQcm90b3R5cGVPZihGKTtpZih0eXBlb2YgRiE9ImZ1bmN0aW9uInx8Rj09PWR8fFYhPT1kKXJldHVybiBWO3ZhciBxPUYucHJvdG90eXBlLGRlPXEmJk9iamVjdC5nZXRQcm90b3R5cGVPZihxKTtpZihkZT09bnVsbHx8ZGU9PT1PYmplY3QucHJvdG90eXBlKXJldHVybiBWO3ZhciBfZT1kZS5jb25zdHJ1Y3RvcjtyZXR1cm4gdHlwZW9mIF9lIT0iZnVuY3Rpb24ifHxfZT09PUY/VjpfZX1mdW5jdGlvbiBNKCl7dmFyIEY7IUoocCkmJnR5cGVvZiBuLlJlZmxlY3Q8InUiJiYhKHAgaW4gbi5SZWZsZWN0KSYmdHlwZW9mIG4uUmVmbGVjdC5kZWZpbmVNZXRhZGF0YT09ImZ1bmN0aW9uIiYmKEY9aWUobi5SZWZsZWN0KSk7dmFyIFYscSxkZSxfZT1uZXcgbSxzdD17cmVnaXN0ZXJQcm92aWRlcjp2dCxnZXRQcm92aWRlcjpnZSxzZXRQcm92aWRlcjprZX07cmV0dXJuIHN0O2Z1bmN0aW9uIHZ0KFNlKXtpZighT2JqZWN0LmlzRXh0ZW5zaWJsZShzdCkpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgYWRkIHByb3ZpZGVyIHRvIGEgZnJvemVuIHJlZ2lzdHJ5LiIpO3N3aXRjaCghMCl7Y2FzZSBGPT09U2U6YnJlYWs7Y2FzZSBKKFYpOlY9U2U7YnJlYWs7Y2FzZSBWPT09U2U6YnJlYWs7Y2FzZSBKKHEpOnE9U2U7YnJlYWs7Y2FzZSBxPT09U2U6YnJlYWs7ZGVmYXVsdDpkZT09PXZvaWQgMCYmKGRlPW5ldyBoKSxkZS5hZGQoU2UpO2JyZWFrfX1mdW5jdGlvbiBIZShTZSxKZSl7aWYoIUooVikpe2lmKFYuaXNQcm92aWRlckZvcihTZSxKZSkpcmV0dXJuIFY7aWYoIUoocSkpe2lmKHEuaXNQcm92aWRlckZvcihTZSxKZSkpcmV0dXJuIFY7aWYoIUooZGUpKWZvcih2YXIgZHQ9eihkZSk7Oyl7dmFyIHd0PVEoZHQpO2lmKCF3dClyZXR1cm47dmFyIE5uPXRlKHd0KTtpZihObi5pc1Byb3ZpZGVyRm9yKFNlLEplKSlyZXR1cm4gdihkdCksTm59fX1pZighSihGKSYmRi5pc1Byb3ZpZGVyRm9yKFNlLEplKSlyZXR1cm4gRn1mdW5jdGlvbiBnZShTZSxKZSl7dmFyIGR0PV9lLmdldChTZSksd3Q7cmV0dXJuIEooZHQpfHwod3Q9ZHQuZ2V0KEplKSksSih3dCkmJih3dD1IZShTZSxKZSksSih3dCl8fChKKGR0KSYmKGR0PW5ldyBmLF9lLnNldChTZSxkdCkpLGR0LnNldChKZSx3dCkpKSx3dH1mdW5jdGlvbiB2ZShTZSl7aWYoSihTZSkpdGhyb3cgbmV3IFR5cGVFcnJvcjtyZXR1cm4gVj09PVNlfHxxPT09U2V8fCFKKGRlKSYmZGUuaGFzKFNlKX1mdW5jdGlvbiBrZShTZSxKZSxkdCl7aWYoIXZlKGR0KSl0aHJvdyBuZXcgRXJyb3IoIk1ldGFkYXRhIHByb3ZpZGVyIG5vdCByZWdpc3RlcmVkLiIpO3ZhciB3dD1nZShTZSxKZSk7aWYod3QhPT1kdCl7aWYoIUood3QpKXJldHVybiExO3ZhciBObj1fZS5nZXQoU2UpO0ooTm4pJiYoTm49bmV3IGYsX2Uuc2V0KFNlLE5uKSksTm4uc2V0KEplLGR0KX1yZXR1cm4hMH19ZnVuY3Rpb24gWCgpe3ZhciBGO3JldHVybiFKKHApJiZSZShuLlJlZmxlY3QpJiZPYmplY3QuaXNFeHRlbnNpYmxlKG4uUmVmbGVjdCkmJihGPW4uUmVmbGVjdFtwXSksSihGKSYmKEY9TSgpKSwhSihwKSYmUmUobi5SZWZsZWN0KSYmT2JqZWN0LmlzRXh0ZW5zaWJsZShuLlJlZmxlY3QpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkobi5SZWZsZWN0LHAse2VudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiExLHdyaXRhYmxlOiExLHZhbHVlOkZ9KSxGfWZ1bmN0aW9uIHVlKEYpe3ZhciBWPW5ldyBtLHE9e2lzUHJvdmlkZXJGb3I6ZnVuY3Rpb24odmUsa2Upe3ZhciBTZT1WLmdldCh2ZSk7cmV0dXJuIEooU2UpPyExOlNlLmhhcyhrZSl9LE9yZGluYXJ5RGVmaW5lT3duTWV0YWRhdGE6dnQsT3JkaW5hcnlIYXNPd25NZXRhZGF0YTpfZSxPcmRpbmFyeUdldE93bk1ldGFkYXRhOnN0LE9yZGluYXJ5T3duTWV0YWRhdGFLZXlzOkhlLE9yZGluYXJ5RGVsZXRlTWV0YWRhdGE6Z2V9O3JldHVybiBrLnJlZ2lzdGVyUHJvdmlkZXIocSkscTtmdW5jdGlvbiBkZSh2ZSxrZSxTZSl7dmFyIEplPVYuZ2V0KHZlKSxkdD0hMTtpZihKKEplKSl7aWYoIVNlKXJldHVybjtKZT1uZXcgZixWLnNldCh2ZSxKZSksZHQ9ITB9dmFyIHd0PUplLmdldChrZSk7aWYoSih3dCkpe2lmKCFTZSlyZXR1cm47aWYod3Q9bmV3IGYsSmUuc2V0KGtlLHd0KSwhRi5zZXRQcm92aWRlcih2ZSxrZSxxKSl0aHJvdyBKZS5kZWxldGUoa2UpLGR0JiZWLmRlbGV0ZSh2ZSksbmV3IEVycm9yKCJXcm9uZyBwcm92aWRlciBmb3IgdGFyZ2V0LiIpfXJldHVybiB3dH1mdW5jdGlvbiBfZSh2ZSxrZSxTZSl7dmFyIEplPWRlKGtlLFNlLCExKTtyZXR1cm4gSihKZSk/ITE6Y2UoSmUuaGFzKHZlKSl9ZnVuY3Rpb24gc3QodmUsa2UsU2Upe3ZhciBKZT1kZShrZSxTZSwhMSk7aWYoIUooSmUpKXJldHVybiBKZS5nZXQodmUpfWZ1bmN0aW9uIHZ0KHZlLGtlLFNlLEplKXt2YXIgZHQ9ZGUoU2UsSmUsITApO2R0LnNldCh2ZSxrZSl9ZnVuY3Rpb24gSGUodmUsa2Upe3ZhciBTZT1bXSxKZT1kZSh2ZSxrZSwhMSk7aWYoSihKZSkpcmV0dXJuIFNlO2Zvcih2YXIgZHQ9SmUua2V5cygpLHd0PXooZHQpLE5uPTA7Oyl7dmFyIGZmPVEod3QpO2lmKCFmZilyZXR1cm4gU2UubGVuZ3RoPU5uLFNlO3ZhciBBMD10ZShmZik7dHJ5e1NlW05uXT1BMH1jYXRjaChPMCl7dHJ5e3Yod3QpfWZpbmFsbHl7dGhyb3cgTzB9fU5uKyt9fWZ1bmN0aW9uIGdlKHZlLGtlLFNlKXt2YXIgSmU9ZGUoa2UsU2UsITEpO2lmKEooSmUpfHwhSmUuZGVsZXRlKHZlKSlyZXR1cm4hMTtpZihKZS5zaXplPT09MCl7dmFyIGR0PVYuZ2V0KGtlKTtKKGR0KXx8KGR0LmRlbGV0ZShTZSksZHQuc2l6ZT09PTAmJlYuZGVsZXRlKGR0KSl9cmV0dXJuITB9fWZ1bmN0aW9uIGllKEYpe3ZhciBWPUYuZGVmaW5lTWV0YWRhdGEscT1GLmhhc093bk1ldGFkYXRhLGRlPUYuZ2V0T3duTWV0YWRhdGEsX2U9Ri5nZXRPd25NZXRhZGF0YUtleXMsc3Q9Ri5kZWxldGVNZXRhZGF0YSx2dD1uZXcgbSxIZT17aXNQcm92aWRlckZvcjpmdW5jdGlvbihnZSx2ZSl7dmFyIGtlPXZ0LmdldChnZSk7cmV0dXJuIUooa2UpJiZrZS5oYXModmUpPyEwOl9lKGdlLHZlKS5sZW5ndGg/KEooa2UpJiYoa2U9bmV3IGgsdnQuc2V0KGdlLGtlKSksa2UuYWRkKHZlKSwhMCk6ITF9LE9yZGluYXJ5RGVmaW5lT3duTWV0YWRhdGE6VixPcmRpbmFyeUhhc093bk1ldGFkYXRhOnEsT3JkaW5hcnlHZXRPd25NZXRhZGF0YTpkZSxPcmRpbmFyeU93bk1ldGFkYXRhS2V5czpfZSxPcmRpbmFyeURlbGV0ZU1ldGFkYXRhOnN0fTtyZXR1cm4gSGV9ZnVuY3Rpb24gJChGLFYscSl7dmFyIGRlPWsuZ2V0UHJvdmlkZXIoRixWKTtpZighSihkZSkpcmV0dXJuIGRlO2lmKHEpe2lmKGsuc2V0UHJvdmlkZXIoRixWLHgpKXJldHVybiB4O3Rocm93IG5ldyBFcnJvcigiSWxsZWdhbCBzdGF0ZS4iKX19ZnVuY3Rpb24gRygpe3ZhciBGPXt9LFY9W10scT1mdW5jdGlvbigpe2Z1bmN0aW9uIEhlKGdlLHZlLGtlKXt0aGlzLl9pbmRleD0wLHRoaXMuX2tleXM9Z2UsdGhpcy5fdmFsdWVzPXZlLHRoaXMuX3NlbGVjdG9yPWtlfXJldHVybiBIZS5wcm90b3R5cGVbIkBAaXRlcmF0b3IiXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxIZS5wcm90b3R5cGVbb109ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sSGUucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXt2YXIgZ2U9dGhpcy5faW5kZXg7aWYoZ2U+PTAmJmdlPHRoaXMuX2tleXMubGVuZ3RoKXt2YXIgdmU9dGhpcy5fc2VsZWN0b3IodGhpcy5fa2V5c1tnZV0sdGhpcy5fdmFsdWVzW2dlXSk7cmV0dXJuIGdlKzE+PXRoaXMuX2tleXMubGVuZ3RoPyh0aGlzLl9pbmRleD0tMSx0aGlzLl9rZXlzPVYsdGhpcy5fdmFsdWVzPVYpOnRoaXMuX2luZGV4Kysse3ZhbHVlOnZlLGRvbmU6ITF9fXJldHVybnt2YWx1ZTp2b2lkIDAsZG9uZTohMH19LEhlLnByb3RvdHlwZS50aHJvdz1mdW5jdGlvbihnZSl7dGhyb3cgdGhpcy5faW5kZXg+PTAmJih0aGlzLl9pbmRleD0tMSx0aGlzLl9rZXlzPVYsdGhpcy5fdmFsdWVzPVYpLGdlfSxIZS5wcm90b3R5cGUucmV0dXJuPWZ1bmN0aW9uKGdlKXtyZXR1cm4gdGhpcy5faW5kZXg+PTAmJih0aGlzLl9pbmRleD0tMSx0aGlzLl9rZXlzPVYsdGhpcy5fdmFsdWVzPVYpLHt2YWx1ZTpnZSxkb25lOiEwfX0sSGV9KCksZGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBIZSgpe3RoaXMuX2tleXM9W10sdGhpcy5fdmFsdWVzPVtdLHRoaXMuX2NhY2hlS2V5PUYsdGhpcy5fY2FjaGVJbmRleD0tMn1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEhlLnByb3RvdHlwZSwic2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9rZXlzLmxlbmd0aH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxIZS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGdlKXtyZXR1cm4gdGhpcy5fZmluZChnZSwhMSk+PTB9LEhlLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oZ2Upe3ZhciB2ZT10aGlzLl9maW5kKGdlLCExKTtyZXR1cm4gdmU+PTA/dGhpcy5fdmFsdWVzW3ZlXTp2b2lkIDB9LEhlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oZ2UsdmUpe3ZhciBrZT10aGlzLl9maW5kKGdlLCEwKTtyZXR1cm4gdGhpcy5fdmFsdWVzW2tlXT12ZSx0aGlzfSxIZS5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGdlKXt2YXIgdmU9dGhpcy5fZmluZChnZSwhMSk7aWYodmU+PTApe2Zvcih2YXIga2U9dGhpcy5fa2V5cy5sZW5ndGgsU2U9dmUrMTtTZTxrZTtTZSsrKXRoaXMuX2tleXNbU2UtMV09dGhpcy5fa2V5c1tTZV0sdGhpcy5fdmFsdWVzW1NlLTFdPXRoaXMuX3ZhbHVlc1tTZV07cmV0dXJuIHRoaXMuX2tleXMubGVuZ3RoLS0sdGhpcy5fdmFsdWVzLmxlbmd0aC0tLE4oZ2UsdGhpcy5fY2FjaGVLZXkpJiYodGhpcy5fY2FjaGVLZXk9Rix0aGlzLl9jYWNoZUluZGV4PS0yKSwhMH1yZXR1cm4hMX0sSGUucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5fa2V5cy5sZW5ndGg9MCx0aGlzLl92YWx1ZXMubGVuZ3RoPTAsdGhpcy5fY2FjaGVLZXk9Rix0aGlzLl9jYWNoZUluZGV4PS0yfSxIZS5wcm90b3R5cGUua2V5cz1mdW5jdGlvbigpe3JldHVybiBuZXcgcSh0aGlzLl9rZXlzLHRoaXMuX3ZhbHVlcyxfZSl9LEhlLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHEodGhpcy5fa2V5cyx0aGlzLl92YWx1ZXMsc3QpfSxIZS5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3JldHVybiBuZXcgcSh0aGlzLl9rZXlzLHRoaXMuX3ZhbHVlcyx2dCl9LEhlLnByb3RvdHlwZVsiQEBpdGVyYXRvciJdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZW50cmllcygpfSxIZS5wcm90b3R5cGVbb109ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbnRyaWVzKCl9LEhlLnByb3RvdHlwZS5fZmluZD1mdW5jdGlvbihnZSx2ZSl7aWYoIU4odGhpcy5fY2FjaGVLZXksZ2UpKXt0aGlzLl9jYWNoZUluZGV4PS0xO2Zvcih2YXIga2U9MDtrZTx0aGlzLl9rZXlzLmxlbmd0aDtrZSsrKWlmKE4odGhpcy5fa2V5c1trZV0sZ2UpKXt0aGlzLl9jYWNoZUluZGV4PWtlO2JyZWFrfX1yZXR1cm4gdGhpcy5fY2FjaGVJbmRleDwwJiZ2ZSYmKHRoaXMuX2NhY2hlSW5kZXg9dGhpcy5fa2V5cy5sZW5ndGgsdGhpcy5fa2V5cy5wdXNoKGdlKSx0aGlzLl92YWx1ZXMucHVzaCh2b2lkIDApKSx0aGlzLl9jYWNoZUluZGV4fSxIZX0oKTtyZXR1cm4gZGU7ZnVuY3Rpb24gX2UoSGUsZ2Upe3JldHVybiBIZX1mdW5jdGlvbiBzdChIZSxnZSl7cmV0dXJuIGdlfWZ1bmN0aW9uIHZ0KEhlLGdlKXtyZXR1cm5bSGUsZ2VdfX1mdW5jdGlvbiBFZSgpe3ZhciBGPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gVigpe3RoaXMuX21hcD1uZXcgZn1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KFYucHJvdG90eXBlLCJzaXplIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcC5zaXplfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLFYucHJvdG90eXBlLmhhcz1mdW5jdGlvbihxKXtyZXR1cm4gdGhpcy5fbWFwLmhhcyhxKX0sVi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHEpe3JldHVybiB0aGlzLl9tYXAuc2V0KHEscSksdGhpc30sVi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHEpe3JldHVybiB0aGlzLl9tYXAuZGVsZXRlKHEpfSxWLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX21hcC5jbGVhcigpfSxWLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcC5rZXlzKCl9LFYucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAua2V5cygpfSxWLnByb3RvdHlwZS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcC5lbnRyaWVzKCl9LFYucHJvdG90eXBlWyJAQGl0ZXJhdG9yIl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5rZXlzKCl9LFYucHJvdG90eXBlW29dPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMua2V5cygpfSxWfSgpO3JldHVybiBGfWZ1bmN0aW9uIFZlKCl7dmFyIEY9MTYsVj11LmNyZWF0ZSgpLHE9ZGUoKTtyZXR1cm4gZnVuY3Rpb24oKXtmdW5jdGlvbiBnZSgpe3RoaXMuX2tleT1kZSgpfXJldHVybiBnZS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHZlKXt2YXIga2U9X2UodmUsITEpO3JldHVybiBrZSE9PXZvaWQgMD91LmhhcyhrZSx0aGlzLl9rZXkpOiExfSxnZS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHZlKXt2YXIga2U9X2UodmUsITEpO3JldHVybiBrZSE9PXZvaWQgMD91LmdldChrZSx0aGlzLl9rZXkpOnZvaWQgMH0sZ2UucHJvdG90eXBlLnNldD1mdW5jdGlvbih2ZSxrZSl7dmFyIFNlPV9lKHZlLCEwKTtyZXR1cm4gU2VbdGhpcy5fa2V5XT1rZSx0aGlzfSxnZS5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHZlKXt2YXIga2U9X2UodmUsITEpO3JldHVybiBrZSE9PXZvaWQgMD9kZWxldGUga2VbdGhpcy5fa2V5XTohMX0sZ2UucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5fa2V5PWRlKCl9LGdlfSgpO2Z1bmN0aW9uIGRlKCl7dmFyIGdlO2RvIGdlPSJAQFdlYWtNYXBAQCIrSGUoKTt3aGlsZSh1LmhhcyhWLGdlKSk7cmV0dXJuIFZbZ2VdPSEwLGdlfWZ1bmN0aW9uIF9lKGdlLHZlKXtpZighci5jYWxsKGdlLHEpKXtpZighdmUpcmV0dXJuO09iamVjdC5kZWZpbmVQcm9wZXJ0eShnZSxxLHt2YWx1ZTp1LmNyZWF0ZSgpfSl9cmV0dXJuIGdlW3FdfWZ1bmN0aW9uIHN0KGdlLHZlKXtmb3IodmFyIGtlPTA7a2U8dmU7KytrZSlnZVtrZV09TWF0aC5yYW5kb20oKSoyNTV8MDtyZXR1cm4gZ2V9ZnVuY3Rpb24gdnQoZ2Upe2lmKHR5cGVvZiBVaW50OEFycmF5PT0iZnVuY3Rpb24iKXt2YXIgdmU9bmV3IFVpbnQ4QXJyYXkoZ2UpO3JldHVybiB0eXBlb2YgY3J5cHRvPCJ1Ij9jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHZlKTp0eXBlb2YgbXNDcnlwdG88InUiP21zQ3J5cHRvLmdldFJhbmRvbVZhbHVlcyh2ZSk6c3QodmUsZ2UpLHZlfXJldHVybiBzdChuZXcgQXJyYXkoZ2UpLGdlKX1mdW5jdGlvbiBIZSgpe3ZhciBnZT12dChGKTtnZVs2XT1nZVs2XSY3OXw2NCxnZVs4XT1nZVs4XSYxOTF8MTI4O2Zvcih2YXIgdmU9IiIsa2U9MDtrZTxGOysra2Upe3ZhciBTZT1nZVtrZV07KGtlPT09NHx8a2U9PT02fHxrZT09PTgpJiYodmUrPSItIiksU2U8MTYmJih2ZSs9IjAiKSx2ZSs9U2UudG9TdHJpbmcoMTYpLnRvTG93ZXJDYXNlKCl9cmV0dXJuIHZlfX1mdW5jdGlvbiBodChGKXtyZXR1cm4gRi5fXz12b2lkIDAsZGVsZXRlIEYuX18sRn19KX0pKFdofHwoV2g9e30pKTtjb25zdCBGRT1MRSgpLCRFPSJodHRwczovL2FwaS5tYWdpY2xpbmsuYXBwIixqRT1bSGIsSmIsWnAsS3AsWWEsWXAscWIsU2MsWmIsS2IsWWJdO2Zvcihjb25zdCB0IG9mIGpFKW5yLmNvbnRhaW5lci5iaW5kKHQubmFtZSkudG9Db25zdGFudFZhbHVlKG5ldyB0KCRFLEZFKSk7Y29uc3QgUmQ9KHQsZSk9Pntjb25zdCBuPXQuX192Y2NPcHRzfHx0O2Zvcihjb25zdFtyLGldb2YgZSluW3JdPWk7cmV0dXJuIG59LEJFPXt9LFVFPXtzdHlsZTp7ImJvcmRlci10b3AtY29sb3IiOiJ0cmFuc3BhcmVudCIsYW5pbWF0aW9uOiJzcGluIDAuNXMgbGluZWFyIGluZmluaXRlIn0sY2xhc3M6ImFuaW1hdGUtc3BpbiByb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLXNvbGlkIn07ZnVuY3Rpb24gVkUodCxlKXtyZXR1cm4gVSgpLFooImRpdiIsVUUpfWNvbnN0IHdsPVJkKEJFLFtbInJlbmRlciIsVkVdXSksV0U9e2NsYXNzOiJmbGV4IGgtZnVsbCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIn0sR0U9e2NsYXNzOiJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzcGFjZS15LTQifSx6RT1BKCJzcGFuIix7Y2xhc3M6InRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMCJ9LCJXaXJkIGdlbGFkZW4gLi4uIiwtMSksbHY9TmUoe19fbmFtZToiQXN5bmNSb3V0ZXJWaWV3Iixwcm9wczp7a2V5ZWQ6e3R5cGU6Qm9vbGVhbn19LHNldHVwKHQpe3JldHVybihlLG4pPT4oVSgpLHR0KFMoRnkpLHtrZXk6ZS5rZXllZD9lLiRyb3V0ZS5wYXRoOnZvaWQgMH0se2RlZmF1bHQ6bmUoKHtDb21wb25lbnQ6cn0pPT5bcj8oVSgpLHR0KGZrLHtrZXk6MH0sWyhVKCksdHQoWHcse3RpbWVvdXQ6IjAifSx7ZmFsbGJhY2s6bmUoKCk9PltBKCJkaXYiLFdFLFtBKCJkaXYiLEdFLFtlZSh3bCx7Y2xhc3M6ImgtNiB3LTYgYm9yZGVyLWdyYXktNDAwIn0pLHpFXSldKV0pLGRlZmF1bHQ6bmUoKCk9PlsoVSgpLHR0KCRnKHIpKSldKSxfOjJ9LDEwMjQpKV0sMTAyNCkpOk1lKCIiLCEwKV0pLF86MX0pKX19KSxIRT1bInR5cGUiLCJkaXNhYmxlZCJdLFN0PU5lKHtfX25hbWU6IkJ1dHRvbiIscHJvcHM6e2NvbG9yOntkZWZhdWx0OiJwcmltYXJ5In0sdHlwZTp7ZGVmYXVsdDoiYnV0dG9uIn0sbG9hZGluZzp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9fSxzZXR1cCh0KXtjb25zdCBlPXQsbj1vZSgoKT0+e3N3aXRjaChlLmNvbG9yKXtjYXNlInByaW1hcnkiOnJldHVybiJiZy1wcmltYXJ5LTYwMCB0ZXh0LXdoaXRlIGZvY3VzLXZpc2libGU6b3V0bGluZS1wcmltYXJ5LTYwMCBlbmFibGVkOmhvdmVyOmJnLXByaW1hcnktNjAwLzc1IjtjYXNlInNlY29uZGFyeSI6cmV0dXJuImJnLXdoaXRlIHRleHQtZ3JheS05MDAgcmluZy0xIHJpbmctaW5zZXQgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLXByaW1hcnktNjAwIHJpbmctZ3JheS0zMDAgZW5hYmxlZDpob3ZlcjpiZy1ncmF5LTUwIjtjYXNlInJlZCI6cmV0dXJuImJnLXJlZC01MDAgdGV4dC13aGl0ZSBmb2N1cy12aXNpYmxlOm91dGxpbmUtcmVkLTYwMCBlbmFibGVkOmhvdmVyOmJnLXJlZC02MDAvNzUifX0pO3JldHVybihyLGkpPT4oVSgpLFooImJ1dHRvbiIse3R5cGU6ci50eXBlLGNsYXNzOkRlKFsiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHNwYWNlLXgtMS41IHJvdW5kZWQtbWQgcHgtMi41IHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgc2hhZG93LXNtIHRyYW5zaXRpb24gZHVyYXRpb24tMTUwIGVhc2UtaW4tb3V0IGZvY3VzLXZpc2libGU6b3V0bGluZSBmb2N1cy12aXNpYmxlOm91dGxpbmUtMiBmb2N1cy12aXNpYmxlOm91dGxpbmUtb2Zmc2V0LTIgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTAiLG4udmFsdWVdKSxkaXNhYmxlZDpyLmxvYWRpbmd9LFtyLmxvYWRpbmc/KFUoKSx0dCh3bCx7a2V5OjAsY2xhc3M6Im1yLTEuNSBoLTMuNSB3LTMuNSJ9KSk6TWUoIiIsITApLFV0KHIuJHNsb3RzLCJkZWZhdWx0IildLDEwLEhFKSl9fSk7bGV0IEpFPVN5bWJvbCgiaGVhZGxlc3N1aS51c2VpZCIpLHFFPTA7ZnVuY3Rpb24gWXIoKXtyZXR1cm4gdXQoSkUsKCk9PmAkeysrcUV9YCkoKX1mdW5jdGlvbiBXZSh0KXt2YXIgZTtpZih0PT1udWxsfHx0LnZhbHVlPT1udWxsKXJldHVybiBudWxsO2xldCBuPShlPXQudmFsdWUuJGVsKSE9bnVsbD9lOnQudmFsdWU7cmV0dXJuIG4gaW5zdGFuY2VvZiBOb2RlP246bnVsbH1mdW5jdGlvbiBIbih0LGUsLi4ubil7aWYodCBpbiBlKXtsZXQgaT1lW3RdO3JldHVybiB0eXBlb2YgaT09ImZ1bmN0aW9uIj9pKC4uLm4pOml9bGV0IHI9bmV3IEVycm9yKGBUcmllZCB0byBoYW5kbGUgIiR7dH0iIGJ1dCB0aGVyZSBpcyBubyBoYW5kbGVyIGRlZmluZWQuIE9ubHkgZGVmaW5lZCBoYW5kbGVycyBhcmU6ICR7T2JqZWN0LmtleXMoZSkubWFwKGk9PmAiJHtpfSJgKS5qb2luKCIsICIpfS5gKTt0aHJvdyBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSYmRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UocixIbikscn12YXIgWkU9T2JqZWN0LmRlZmluZVByb3BlcnR5LEtFPSh0LGUsbik9PmUgaW4gdD9aRSh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KTp0W2VdPW4sR2g9KHQsZSxuKT0+KEtFKHQsdHlwZW9mIGUhPSJzeW1ib2wiP2UrIiI6ZSxuKSxuKTtsZXQgWUU9Y2xhc3N7Y29uc3RydWN0b3IoKXtHaCh0aGlzLCJjdXJyZW50Iix0aGlzLmRldGVjdCgpKSxHaCh0aGlzLCJjdXJyZW50SWQiLDApfXNldChlKXt0aGlzLmN1cnJlbnQhPT1lJiYodGhpcy5jdXJyZW50SWQ9MCx0aGlzLmN1cnJlbnQ9ZSl9cmVzZXQoKXt0aGlzLnNldCh0aGlzLmRldGVjdCgpKX1uZXh0SWQoKXtyZXR1cm4rK3RoaXMuY3VycmVudElkfWdldCBpc1NlcnZlcigpe3JldHVybiB0aGlzLmN1cnJlbnQ9PT0ic2VydmVyIn1nZXQgaXNDbGllbnQoKXtyZXR1cm4gdGhpcy5jdXJyZW50PT09ImNsaWVudCJ9ZGV0ZWN0KCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c+InUifHx0eXBlb2YgZG9jdW1lbnQ+InUiPyJzZXJ2ZXIiOiJjbGllbnQifX0sRm89bmV3IFlFO2Z1bmN0aW9uIFhyKHQpe2lmKEZvLmlzU2VydmVyKXJldHVybiBudWxsO2lmKHQgaW5zdGFuY2VvZiBOb2RlKXJldHVybiB0Lm93bmVyRG9jdW1lbnQ7aWYodCE9bnVsbCYmdC5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSl7bGV0IGU9V2UodCk7aWYoZSlyZXR1cm4gZS5vd25lckRvY3VtZW50fXJldHVybiBkb2N1bWVudH1sZXQgWWM9WyJbY29udGVudEVkaXRhYmxlPXRydWVdIiwiW3RhYmluZGV4XSIsImFbaHJlZl0iLCJhcmVhW2hyZWZdIiwiYnV0dG9uOm5vdChbZGlzYWJsZWRdKSIsImlmcmFtZSIsImlucHV0Om5vdChbZGlzYWJsZWRdKSIsInNlbGVjdDpub3QoW2Rpc2FibGVkXSkiLCJ0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSkiXS5tYXAodD0+YCR7dH06bm90KFt0YWJpbmRleD0nLTEnXSlgKS5qb2luKCIsIik7dmFyIFluPSh0PT4odFt0LkZpcnN0PTFdPSJGaXJzdCIsdFt0LlByZXZpb3VzPTJdPSJQcmV2aW91cyIsdFt0Lk5leHQ9NF09Ik5leHQiLHRbdC5MYXN0PThdPSJMYXN0Iix0W3QuV3JhcEFyb3VuZD0xNl09IldyYXBBcm91bmQiLHRbdC5Ob1Njcm9sbD0zMl09Ik5vU2Nyb2xsIix0KSkoWW58fHt9KSxjdj0odD0+KHRbdC5FcnJvcj0wXT0iRXJyb3IiLHRbdC5PdmVyZmxvdz0xXT0iT3ZlcmZsb3ciLHRbdC5TdWNjZXNzPTJdPSJTdWNjZXNzIix0W3QuVW5kZXJmbG93PTNdPSJVbmRlcmZsb3ciLHQpKShjdnx8e30pLFhFPSh0PT4odFt0LlByZXZpb3VzPS0xXT0iUHJldmlvdXMiLHRbdC5OZXh0PTFdPSJOZXh0Iix0KSkoWEV8fHt9KTtmdW5jdGlvbiB1dih0PWRvY3VtZW50LmJvZHkpe3JldHVybiB0PT1udWxsP1tdOkFycmF5LmZyb20odC5xdWVyeVNlbGVjdG9yQWxsKFljKSkuc29ydCgoZSxuKT0+TWF0aC5zaWduKChlLnRhYkluZGV4fHxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiktKG4udGFiSW5kZXh8fE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSkpfXZhciBEZD0odD0+KHRbdC5TdHJpY3Q9MF09IlN0cmljdCIsdFt0Lkxvb3NlPTFdPSJMb29zZSIsdCkpKERkfHx7fSk7ZnVuY3Rpb24gTWQodCxlPTApe3ZhciBuO3JldHVybiB0PT09KChuPVhyKHQpKT09bnVsbD92b2lkIDA6bi5ib2R5KT8hMTpIbihlLHswKCl7cmV0dXJuIHQubWF0Y2hlcyhZYyl9LDEoKXtsZXQgcj10O2Zvcig7ciE9PW51bGw7KXtpZihyLm1hdGNoZXMoWWMpKXJldHVybiEwO3I9ci5wYXJlbnRFbGVtZW50fXJldHVybiExfX0pfWZ1bmN0aW9uIGR2KHQpe2xldCBlPVhyKHQpO25uKCgpPT57ZSYmIU1kKGUuYWN0aXZlRWxlbWVudCwwKSYmenIodCl9KX12YXIgUUU9KHQ9Pih0W3QuS2V5Ym9hcmQ9MF09IktleWJvYXJkIix0W3QuTW91c2U9MV09Ik1vdXNlIix0KSkoUUV8fHt9KTt0eXBlb2Ygd2luZG93PCJ1IiYmdHlwZW9mIGRvY3VtZW50PCJ1IiYmKGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHQ9Pnt0Lm1ldGFLZXl8fHQuYWx0S2V5fHx0LmN0cmxLZXl8fChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5oZWFkbGVzc3VpRm9jdXNWaXNpYmxlPSIiKX0sITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0PT57dC5kZXRhaWw9PT0xP2RlbGV0ZSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5oZWFkbGVzc3VpRm9jdXNWaXNpYmxlOnQuZGV0YWlsPT09MCYmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LmhlYWRsZXNzdWlGb2N1c1Zpc2libGU9IiIpfSwhMCkpO2Z1bmN0aW9uIHpyKHQpe3Q9PW51bGx8fHQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX1sZXQgZTI9WyJ0ZXh0YXJlYSIsImlucHV0Il0uam9pbigiLCIpO2Z1bmN0aW9uIHQyKHQpe3ZhciBlLG47cmV0dXJuKG49KGU9dD09bnVsbD92b2lkIDA6dC5tYXRjaGVzKT09bnVsbD92b2lkIDA6ZS5jYWxsKHQsZTIpKSE9bnVsbD9uOiExfWZ1bmN0aW9uIGZ2KHQsZT1uPT5uKXtyZXR1cm4gdC5zbGljZSgpLnNvcnQoKG4scik9PntsZXQgaT1lKG4pLHM9ZShyKTtpZihpPT09bnVsbHx8cz09PW51bGwpcmV0dXJuIDA7bGV0IG89aS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihzKTtyZXR1cm4gbyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8tMTpvJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPzE6MH0pfWZ1bmN0aW9uIG4yKHQsZSl7cmV0dXJuIFlzKHV2KCksZSx7cmVsYXRpdmVUbzp0fSl9ZnVuY3Rpb24gWXModCxlLHtzb3J0ZWQ6bj0hMCxyZWxhdGl2ZVRvOnI9bnVsbCxza2lwRWxlbWVudHM6aT1bXX09e30pe3ZhciBzO2xldCBvPShzPUFycmF5LmlzQXJyYXkodCk/dC5sZW5ndGg+MD90WzBdLm93bmVyRG9jdW1lbnQ6ZG9jdW1lbnQ6dD09bnVsbD92b2lkIDA6dC5vd25lckRvY3VtZW50KSE9bnVsbD9zOmRvY3VtZW50LGE9QXJyYXkuaXNBcnJheSh0KT9uP2Z2KHQpOnQ6dXYodCk7aS5sZW5ndGg+MCYmYS5sZW5ndGg+MSYmKGE9YS5maWx0ZXIobT0+IWkuaW5jbHVkZXMobSkpKSxyPXI/P28uYWN0aXZlRWxlbWVudDtsZXQgbD0oKCk9PntpZihlJjUpcmV0dXJuIDE7aWYoZSYxMClyZXR1cm4tMTt0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgRm9jdXMuRmlyc3QsIEZvY3VzLlByZXZpb3VzLCBGb2N1cy5OZXh0IG9yIEZvY3VzLkxhc3QiKX0pKCksYz0oKCk9PntpZihlJjEpcmV0dXJuIDA7aWYoZSYyKXJldHVybiBNYXRoLm1heCgwLGEuaW5kZXhPZihyKSktMTtpZihlJjQpcmV0dXJuIE1hdGgubWF4KDAsYS5pbmRleE9mKHIpKSsxO2lmKGUmOClyZXR1cm4gYS5sZW5ndGgtMTt0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgRm9jdXMuRmlyc3QsIEZvY3VzLlByZXZpb3VzLCBGb2N1cy5OZXh0IG9yIEZvY3VzLkxhc3QiKX0pKCksdT1lJjMyP3twcmV2ZW50U2Nyb2xsOiEwfTp7fSxkPTAsZj1hLmxlbmd0aCxoO2Rve2lmKGQ+PWZ8fGQrZjw9MClyZXR1cm4gMDtsZXQgbT1jK2Q7aWYoZSYxNiltPShtK2YpJWY7ZWxzZXtpZihtPDApcmV0dXJuIDM7aWYobT49ZilyZXR1cm4gMX1oPWFbbV0saD09bnVsbHx8aC5mb2N1cyh1KSxkKz1sfXdoaWxlKGghPT1vLmFjdGl2ZUVsZW1lbnQpO3JldHVybiBlJjYmJnQyKGgpJiZoLnNlbGVjdCgpLDJ9ZnVuY3Rpb24gaHYoKXtyZXR1cm4vaVBob25lL2dpLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSl8fC9NYWMvZ2kudGVzdCh3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtKSYmd2luZG93Lm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wfWZ1bmN0aW9uIHIyKCl7cmV0dXJuL0FuZHJvaWQvZ2kudGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCl9ZnVuY3Rpb24gaTIoKXtyZXR1cm4gaHYoKXx8cjIoKX1mdW5jdGlvbiBuYSh0LGUsbil7Rm8uaXNTZXJ2ZXJ8fEt0KHI9Pntkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsZSxuKSxyKCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHQsZSxuKSl9KX1mdW5jdGlvbiBtdih0LGUsbil7Rm8uaXNTZXJ2ZXJ8fEt0KHI9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcih0LGUsbikscigoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIodCxlLG4pKX0pfWZ1bmN0aW9uIHB2KHQsZSxuPW9lKCgpPT4hMCkpe2Z1bmN0aW9uIHIocyxvKXtpZighbi52YWx1ZXx8cy5kZWZhdWx0UHJldmVudGVkKXJldHVybjtsZXQgYT1vKHMpO2lmKGE9PT1udWxsfHwhYS5nZXRSb290Tm9kZSgpLmNvbnRhaW5zKGEpKXJldHVybjtsZXQgbD1mdW5jdGlvbiBjKHUpe3JldHVybiB0eXBlb2YgdT09ImZ1bmN0aW9uIj9jKHUoKSk6QXJyYXkuaXNBcnJheSh1KXx8dSBpbnN0YW5jZW9mIFNldD91Olt1XX0odCk7Zm9yKGxldCBjIG9mIGwpe2lmKGM9PT1udWxsKWNvbnRpbnVlO2xldCB1PWMgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9jOldlKGMpO2lmKHUhPW51bGwmJnUuY29udGFpbnMoYSl8fHMuY29tcG9zZWQmJnMuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXModSkpcmV0dXJufXJldHVybiFNZChhLERkLkxvb3NlKSYmYS50YWJJbmRleCE9PS0xJiZzLnByZXZlbnREZWZhdWx0KCksZShzLGEpfWxldCBpPXNlKG51bGwpO25hKCJwb2ludGVyZG93biIscz0+e3ZhciBvLGE7bi52YWx1ZSYmKGkudmFsdWU9KChhPShvPXMuY29tcG9zZWRQYXRoKT09bnVsbD92b2lkIDA6by5jYWxsKHMpKT09bnVsbD92b2lkIDA6YVswXSl8fHMudGFyZ2V0KX0sITApLG5hKCJtb3VzZWRvd24iLHM9Pnt2YXIgbyxhO24udmFsdWUmJihpLnZhbHVlPSgoYT0obz1zLmNvbXBvc2VkUGF0aCk9PW51bGw/dm9pZCAwOm8uY2FsbChzKSk9PW51bGw/dm9pZCAwOmFbMF0pfHxzLnRhcmdldCl9LCEwKSxuYSgiY2xpY2siLHM9PntpMigpfHxpLnZhbHVlJiYocihzLCgpPT5pLnZhbHVlKSxpLnZhbHVlPW51bGwpfSwhMCksbmEoInRvdWNoZW5kIixzPT5yKHMsKCk9PnMudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/cy50YXJnZXQ6bnVsbCksITApLG12KCJibHVyIixzPT5yKHMsKCk9PndpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTElGcmFtZUVsZW1lbnQ/d2luZG93LmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ6bnVsbCksITApfWZ1bmN0aW9uIHpoKHQsZSl7aWYodClyZXR1cm4gdDtsZXQgbj1lPz8iYnV0dG9uIjtpZih0eXBlb2Ygbj09InN0cmluZyImJm4udG9Mb3dlckNhc2UoKT09PSJidXR0b24iKXJldHVybiJidXR0b24ifWZ1bmN0aW9uIHMyKHQsZSl7bGV0IG49c2UoemgodC52YWx1ZS50eXBlLHQudmFsdWUuYXMpKTtyZXR1cm4geXQoKCk9PntuLnZhbHVlPXpoKHQudmFsdWUudHlwZSx0LnZhbHVlLmFzKX0pLEt0KCgpPT57dmFyIHI7bi52YWx1ZXx8V2UoZSkmJldlKGUpaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCYmISgocj1XZShlKSkhPW51bGwmJnIuaGFzQXR0cmlidXRlKCJ0eXBlIikpJiYobi52YWx1ZT0iYnV0dG9uIil9KSxufWZ1bmN0aW9uIEhoKHQpe3JldHVyblt0LnNjcmVlblgsdC5zY3JlZW5ZXX1mdW5jdGlvbiBvMigpe2xldCB0PXNlKFstMSwtMV0pO3JldHVybnt3YXNNb3ZlZChlKXtsZXQgbj1IaChlKTtyZXR1cm4gdC52YWx1ZVswXT09PW5bMF0mJnQudmFsdWVbMV09PT1uWzFdPyExOih0LnZhbHVlPW4sITApfSx1cGRhdGUoZSl7dC52YWx1ZT1IaChlKX19fWZ1bmN0aW9uIGEyKHtjb250YWluZXI6dCxhY2NlcHQ6ZSx3YWxrOm4sZW5hYmxlZDpyfSl7S3QoKCk9PntsZXQgaT10LnZhbHVlO2lmKCFpfHxyIT09dm9pZCAwJiYhci52YWx1ZSlyZXR1cm47bGV0IHM9WHIodCk7aWYoIXMpcmV0dXJuO2xldCBvPU9iamVjdC5hc3NpZ24obD0+ZShsKSx7YWNjZXB0Tm9kZTplfSksYT1zLmNyZWF0ZVRyZWVXYWxrZXIoaSxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCxvLCExKTtmb3IoO2EubmV4dE5vZGUoKTspbihhLmN1cnJlbnROb2RlKX0pfXZhciBjcz0odD0+KHRbdC5Ob25lPTBdPSJOb25lIix0W3QuUmVuZGVyU3RyYXRlZ3k9MV09IlJlbmRlclN0cmF0ZWd5Iix0W3QuU3RhdGljPTJdPSJTdGF0aWMiLHQpKShjc3x8e30pLFVyPSh0PT4odFt0LlVubW91bnQ9MF09IlVubW91bnQiLHRbdC5IaWRkZW49MV09IkhpZGRlbiIsdCkpKFVyfHx7fSk7ZnVuY3Rpb24gWHQoe3Zpc2libGU6dD0hMCxmZWF0dXJlczplPTAsb3VyUHJvcHM6bix0aGVpclByb3BzOnIsLi4uaX0pe3ZhciBzO2xldCBvPXl2KHIsbiksYT1PYmplY3QuYXNzaWduKGkse3Byb3BzOm99KTtpZih0fHxlJjImJm8uc3RhdGljKXJldHVybiBpYyhhKTtpZihlJjEpe2xldCBsPShzPW8udW5tb3VudCk9PW51bGx8fHM/MDoxO3JldHVybiBIbihsLHswKCl7cmV0dXJuIG51bGx9LDEoKXtyZXR1cm4gaWMoey4uLmkscHJvcHM6ey4uLm8saGlkZGVuOiEwLHN0eWxlOntkaXNwbGF5OiJub25lIn19fSl9fSl9cmV0dXJuIGljKGEpfWZ1bmN0aW9uIGljKHtwcm9wczp0LGF0dHJzOmUsc2xvdHM6bixzbG90OnIsbmFtZTppfSl7dmFyIHMsbztsZXR7YXM6YSwuLi5sfT12dih0LFsidW5tb3VudCIsInN0YXRpYyJdKSxjPShzPW4uZGVmYXVsdCk9PW51bGw/dm9pZCAwOnMuY2FsbChuLHIpLHU9e307aWYocil7bGV0IGQ9ITEsZj1bXTtmb3IobGV0W2gsbV1vZiBPYmplY3QuZW50cmllcyhyKSl0eXBlb2YgbT09ImJvb2xlYW4iJiYoZD0hMCksbT09PSEwJiZmLnB1c2goaCk7ZCYmKHVbImRhdGEtaGVhZGxlc3N1aS1zdGF0ZSJdPWYuam9pbigiICIpKX1pZihhPT09InRlbXBsYXRlIil7aWYoYz1ndihjPz9bXSksT2JqZWN0LmtleXMobCkubGVuZ3RoPjB8fE9iamVjdC5rZXlzKGUpLmxlbmd0aD4wKXtsZXRbZCwuLi5mXT1jPz9bXTtpZighbDIoZCl8fGYubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKFsnUGFzc2luZyBwcm9wcyBvbiAidGVtcGxhdGUiIScsIiIsYFRoZSBjdXJyZW50IGNvbXBvbmVudCA8JHtpfSAvPiBpcyByZW5kZXJpbmcgYSAidGVtcGxhdGUiLmAsIkhvd2V2ZXIgd2UgbmVlZCB0byBwYXNzdGhyb3VnaCB0aGUgZm9sbG93aW5nIHByb3BzOiIsT2JqZWN0LmtleXMobCkuY29uY2F0KE9iamVjdC5rZXlzKGUpKS5tYXAocD0+cC50cmltKCkpLmZpbHRlcigocCxrLHgpPT54LmluZGV4T2YocCk9PT1rKS5zb3J0KChwLGspPT5wLmxvY2FsZUNvbXBhcmUoaykpLm1hcChwPT5gICAtICR7cH1gKS5qb2luKGAKYCksIiIsIllvdSBjYW4gYXBwbHkgYSBmZXcgc29sdXRpb25zOiIsWydBZGQgYW4gYGFzPSIuLi4iYCBwcm9wLCB0byBlbnN1cmUgdGhhdCB3ZSByZW5kZXIgYW4gYWN0dWFsIGVsZW1lbnQgaW5zdGVhZCBvZiBhICJ0ZW1wbGF0ZSIuJywiUmVuZGVyIGEgc2luZ2xlIGVsZW1lbnQgYXMgdGhlIGNoaWxkIHNvIHRoYXQgd2UgY2FuIGZvcndhcmQgdGhlIHByb3BzIG9udG8gdGhhdCBlbGVtZW50LiJdLm1hcChwPT5gICAtICR7cH1gKS5qb2luKGAKYCldLmpvaW4oYApgKSk7bGV0IGg9eXYoKG89ZC5wcm9wcykhPW51bGw/bzp7fSxsLHUpLG09c3IoZCxoLCEwKTtmb3IobGV0IHAgaW4gaClwLnN0YXJ0c1dpdGgoIm9uIikmJihtLnByb3BzfHwobS5wcm9wcz17fSksbS5wcm9wc1twXT1oW3BdKTtyZXR1cm4gbX1yZXR1cm4gQXJyYXkuaXNBcnJheShjKSYmYy5sZW5ndGg9PT0xP2NbMF06Y31yZXR1cm4gYnQoYSxPYmplY3QuYXNzaWduKHt9LGwsdSkse2RlZmF1bHQ6KCk9PmN9KX1mdW5jdGlvbiBndih0KXtyZXR1cm4gdC5mbGF0TWFwKGU9PmUudHlwZT09PXFlP2d2KGUuY2hpbGRyZW4pOltlXSl9ZnVuY3Rpb24geXYoLi4udCl7aWYodC5sZW5ndGg9PT0wKXJldHVybnt9O2lmKHQubGVuZ3RoPT09MSlyZXR1cm4gdFswXTtsZXQgZT17fSxuPXt9O2ZvcihsZXQgciBvZiB0KWZvcihsZXQgaSBpbiByKWkuc3RhcnRzV2l0aCgib24iKSYmdHlwZW9mIHJbaV09PSJmdW5jdGlvbiI/KG5baV0hPW51bGx8fChuW2ldPVtdKSxuW2ldLnB1c2gocltpXSkpOmVbaV09cltpXTtpZihlLmRpc2FibGVkfHxlWyJhcmlhLWRpc2FibGVkIl0pcmV0dXJuIE9iamVjdC5hc3NpZ24oZSxPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmtleXMobikubWFwKHI9PltyLHZvaWQgMF0pKSk7Zm9yKGxldCByIGluIG4pT2JqZWN0LmFzc2lnbihlLHtbcl0oaSwuLi5zKXtsZXQgbz1uW3JdO2ZvcihsZXQgYSBvZiBvKXtpZihpIGluc3RhbmNlb2YgRXZlbnQmJmkuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47YShpLC4uLnMpfX19KTtyZXR1cm4gZX1mdW5jdGlvbiBXRih0KXtsZXQgZT1PYmplY3QuYXNzaWduKHt9LHQpO2ZvcihsZXQgbiBpbiBlKWVbbl09PT12b2lkIDAmJmRlbGV0ZSBlW25dO3JldHVybiBlfWZ1bmN0aW9uIHZ2KHQsZT1bXSl7bGV0IG49T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IobGV0IHIgb2YgZSlyIGluIG4mJmRlbGV0ZSBuW3JdO3JldHVybiBufWZ1bmN0aW9uIGwyKHQpe3JldHVybiB0PT1udWxsPyExOnR5cGVvZiB0LnR5cGU9PSJzdHJpbmcifHx0eXBlb2YgdC50eXBlPT0ib2JqZWN0Inx8dHlwZW9mIHQudHlwZT09ImZ1bmN0aW9uIn12YXIgTWE9KHQ9Pih0W3QuTm9uZT0xXT0iTm9uZSIsdFt0LkZvY3VzYWJsZT0yXT0iRm9jdXNhYmxlIix0W3QuSGlkZGVuPTRdPSJIaWRkZW4iLHQpKShNYXx8e30pO2xldCBYYz1OZSh7bmFtZToiSGlkZGVuIixwcm9wczp7YXM6e3R5cGU6W09iamVjdCxTdHJpbmddLGRlZmF1bHQ6ImRpdiJ9LGZlYXR1cmVzOnt0eXBlOk51bWJlcixkZWZhdWx0OjF9fSxzZXR1cCh0LHtzbG90czplLGF0dHJzOm59KXtyZXR1cm4oKT0+e3ZhciByO2xldHtmZWF0dXJlczppLC4uLnN9PXQsbz17ImFyaWEtaGlkZGVuIjooaSYyKT09PTI/ITA6KHI9c1siYXJpYS1oaWRkZW4iXSkhPW51bGw/cjp2b2lkIDAsaGlkZGVuOihpJjQpPT09ND8hMDp2b2lkIDAsc3R5bGU6e3Bvc2l0aW9uOiJmaXhlZCIsdG9wOjEsbGVmdDoxLHdpZHRoOjEsaGVpZ2h0OjAscGFkZGluZzowLG1hcmdpbjotMSxvdmVyZmxvdzoiaGlkZGVuIixjbGlwOiJyZWN0KDAsIDAsIDAsIDApIix3aGl0ZVNwYWNlOiJub3dyYXAiLGJvcmRlcldpZHRoOiIwIiwuLi4oaSY0KT09PTQmJihpJjIpIT09MiYme2Rpc3BsYXk6Im5vbmUifX19O3JldHVybiBYdCh7b3VyUHJvcHM6byx0aGVpclByb3BzOnMsc2xvdDp7fSxhdHRyczpuLHNsb3RzOmUsbmFtZToiSGlkZGVuIn0pfX19KSxfdj1TeW1ib2woIkNvbnRleHQiKTt2YXIgTHQ9KHQ9Pih0W3QuT3Blbj0xXT0iT3BlbiIsdFt0LkNsb3NlZD0yXT0iQ2xvc2VkIix0W3QuQ2xvc2luZz00XT0iQ2xvc2luZyIsdFt0Lk9wZW5pbmc9OF09Ik9wZW5pbmciLHQpKShMdHx8e30pO2Z1bmN0aW9uIGMyKCl7cmV0dXJuIGtsKCkhPT1udWxsfWZ1bmN0aW9uIGtsKCl7cmV0dXJuIHV0KF92LG51bGwpfWZ1bmN0aW9uIGJ2KHQpe1p0KF92LHQpfXZhciBDdD0odD0+KHQuU3BhY2U9IiAiLHQuRW50ZXI9IkVudGVyIix0LkVzY2FwZT0iRXNjYXBlIix0LkJhY2tzcGFjZT0iQmFja3NwYWNlIix0LkRlbGV0ZT0iRGVsZXRlIix0LkFycm93TGVmdD0iQXJyb3dMZWZ0Iix0LkFycm93VXA9IkFycm93VXAiLHQuQXJyb3dSaWdodD0iQXJyb3dSaWdodCIsdC5BcnJvd0Rvd249IkFycm93RG93biIsdC5Ib21lPSJIb21lIix0LkVuZD0iRW5kIix0LlBhZ2VVcD0iUGFnZVVwIix0LlBhZ2VEb3duPSJQYWdlRG93biIsdC5UYWI9IlRhYiIsdCkpKEN0fHx7fSk7ZnVuY3Rpb24gdTIodCl7ZnVuY3Rpb24gZSgpe2RvY3VtZW50LnJlYWR5U3RhdGUhPT0ibG9hZGluZyImJih0KCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZSkpfXR5cGVvZiB3aW5kb3c8InUiJiZ0eXBlb2YgZG9jdW1lbnQ8InUiJiYoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZSksZSgpKX1sZXQgaGk9W107dTIoKCk9PntmdW5jdGlvbiB0KGUpe2UudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmUudGFyZ2V0IT09ZG9jdW1lbnQuYm9keSYmaGlbMF0hPT1lLnRhcmdldCYmKGhpLnVuc2hpZnQoZS50YXJnZXQpLGhpPWhpLmZpbHRlcihuPT5uIT1udWxsJiZuLmlzQ29ubmVjdGVkKSxoaS5zcGxpY2UoMTApKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHQse2NhcHR1cmU6ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0LHtjYXB0dXJlOiEwfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0LHtjYXB0dXJlOiEwfSksZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdCx7Y2FwdHVyZTohMH0pLGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0LHtjYXB0dXJlOiEwfSksZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdCx7Y2FwdHVyZTohMH0pfSk7ZnVuY3Rpb24gZDIodCl7dGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIG9iamVjdDogIit0KX12YXIgZG49KHQ9Pih0W3QuRmlyc3Q9MF09IkZpcnN0Iix0W3QuUHJldmlvdXM9MV09IlByZXZpb3VzIix0W3QuTmV4dD0yXT0iTmV4dCIsdFt0Lkxhc3Q9M109Ikxhc3QiLHRbdC5TcGVjaWZpYz00XT0iU3BlY2lmaWMiLHRbdC5Ob3RoaW5nPTVdPSJOb3RoaW5nIix0KSkoZG58fHt9KTtmdW5jdGlvbiBmMih0LGUpe2xldCBuPWUucmVzb2x2ZUl0ZW1zKCk7aWYobi5sZW5ndGg8PTApcmV0dXJuIG51bGw7bGV0IHI9ZS5yZXNvbHZlQWN0aXZlSW5kZXgoKSxpPXI/Py0xO3N3aXRjaCh0LmZvY3VzKXtjYXNlIDA6e2ZvcihsZXQgcz0wO3M8bi5sZW5ndGg7KytzKWlmKCFlLnJlc29sdmVEaXNhYmxlZChuW3NdLHMsbikpcmV0dXJuIHM7cmV0dXJuIHJ9Y2FzZSAxOntpPT09LTEmJihpPW4ubGVuZ3RoKTtmb3IobGV0IHM9aS0xO3M+PTA7LS1zKWlmKCFlLnJlc29sdmVEaXNhYmxlZChuW3NdLHMsbikpcmV0dXJuIHM7cmV0dXJuIHJ9Y2FzZSAyOntmb3IobGV0IHM9aSsxO3M8bi5sZW5ndGg7KytzKWlmKCFlLnJlc29sdmVEaXNhYmxlZChuW3NdLHMsbikpcmV0dXJuIHM7cmV0dXJuIHJ9Y2FzZSAzOntmb3IobGV0IHM9bi5sZW5ndGgtMTtzPj0wOy0tcylpZighZS5yZXNvbHZlRGlzYWJsZWQobltzXSxzLG4pKXJldHVybiBzO3JldHVybiByfWNhc2UgNDp7Zm9yKGxldCBzPTA7czxuLmxlbmd0aDsrK3MpaWYoZS5yZXNvbHZlSWQobltzXSxzLG4pPT09dC5pZClyZXR1cm4gcztyZXR1cm4gcn1jYXNlIDU6cmV0dXJuIG51bGw7ZGVmYXVsdDpkMih0KX19ZnVuY3Rpb24gTGQodCl7dHlwZW9mIHF1ZXVlTWljcm90YXNrPT0iZnVuY3Rpb24iP3F1ZXVlTWljcm90YXNrKHQpOlByb21pc2UucmVzb2x2ZSgpLnRoZW4odCkuY2F0Y2goZT0+c2V0VGltZW91dCgoKT0+e3Rocm93IGV9KSl9ZnVuY3Rpb24gJG8oKXtsZXQgdD1bXSxlPXthZGRFdmVudExpc3RlbmVyKG4scixpLHMpe3JldHVybiBuLmFkZEV2ZW50TGlzdGVuZXIocixpLHMpLGUuYWRkKCgpPT5uLnJlbW92ZUV2ZW50TGlzdGVuZXIocixpLHMpKX0scmVxdWVzdEFuaW1hdGlvbkZyYW1lKC4uLm4pe2xldCByPXJlcXVlc3RBbmltYXRpb25GcmFtZSguLi5uKTtlLmFkZCgoKT0+Y2FuY2VsQW5pbWF0aW9uRnJhbWUocikpfSxuZXh0RnJhbWUoLi4ubil7ZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntlLnJlcXVlc3RBbmltYXRpb25GcmFtZSguLi5uKX0pfSxzZXRUaW1lb3V0KC4uLm4pe2xldCByPXNldFRpbWVvdXQoLi4ubik7ZS5hZGQoKCk9PmNsZWFyVGltZW91dChyKSl9LG1pY3JvVGFzayguLi5uKXtsZXQgcj17Y3VycmVudDohMH07cmV0dXJuIExkKCgpPT57ci5jdXJyZW50JiZuWzBdKCl9KSxlLmFkZCgoKT0+e3IuY3VycmVudD0hMX0pfSxzdHlsZShuLHIsaSl7bGV0IHM9bi5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKHIpO3JldHVybiBPYmplY3QuYXNzaWduKG4uc3R5bGUse1tyXTppfSksdGhpcy5hZGQoKCk9PntPYmplY3QuYXNzaWduKG4uc3R5bGUse1tyXTpzfSl9KX0sZ3JvdXAobil7bGV0IHI9JG8oKTtyZXR1cm4gbihyKSx0aGlzLmFkZCgoKT0+ci5kaXNwb3NlKCkpfSxhZGQobil7cmV0dXJuIHQucHVzaChuKSwoKT0+e2xldCByPXQuaW5kZXhPZihuKTtpZihyPj0wKWZvcihsZXQgaSBvZiB0LnNwbGljZShyLDEpKWkoKX19LGRpc3Bvc2UoKXtmb3IobGV0IG4gb2YgdC5zcGxpY2UoMCkpbigpfX07cmV0dXJuIGV9ZnVuY3Rpb24gd3YodCxlLG4scil7Rm8uaXNTZXJ2ZXJ8fEt0KGk9Pnt0PXQ/P3dpbmRvdyx0LmFkZEV2ZW50TGlzdGVuZXIoZSxuLHIpLGkoKCk9PnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4scikpfSl9dmFyIGpzPSh0PT4odFt0LkZvcndhcmRzPTBdPSJGb3J3YXJkcyIsdFt0LkJhY2t3YXJkcz0xXT0iQmFja3dhcmRzIix0KSkoanN8fHt9KTtmdW5jdGlvbiBoMigpe2xldCB0PXNlKDApO3JldHVybiBtdigia2V5ZG93biIsZT0+e2Uua2V5PT09IlRhYiImJih0LnZhbHVlPWUuc2hpZnRLZXk/MTowKX0pLHR9ZnVuY3Rpb24ga3YodCl7aWYoIXQpcmV0dXJuIG5ldyBTZXQ7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBTZXQodCgpKTtsZXQgZT1uZXcgU2V0O2ZvcihsZXQgbiBvZiB0LnZhbHVlKXtsZXQgcj1XZShuKTtyIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmUuYWRkKHIpfXJldHVybiBlfXZhciBTdj0odD0+KHRbdC5Ob25lPTFdPSJOb25lIix0W3QuSW5pdGlhbEZvY3VzPTJdPSJJbml0aWFsRm9jdXMiLHRbdC5UYWJMb2NrPTRdPSJUYWJMb2NrIix0W3QuRm9jdXNMb2NrPThdPSJGb2N1c0xvY2siLHRbdC5SZXN0b3JlRm9jdXM9MTZdPSJSZXN0b3JlRm9jdXMiLHRbdC5BbGw9MzBdPSJBbGwiLHQpKShTdnx8e30pO2xldCBQcz1PYmplY3QuYXNzaWduKE5lKHtuYW1lOiJGb2N1c1RyYXAiLHByb3BzOnthczp7dHlwZTpbT2JqZWN0LFN0cmluZ10sZGVmYXVsdDoiZGl2In0saW5pdGlhbEZvY3VzOnt0eXBlOk9iamVjdCxkZWZhdWx0Om51bGx9LGZlYXR1cmVzOnt0eXBlOk51bWJlcixkZWZhdWx0OjMwfSxjb250YWluZXJzOnt0eXBlOltPYmplY3QsRnVuY3Rpb25dLGRlZmF1bHQ6c2UobmV3IFNldCl9fSxpbmhlcml0QXR0cnM6ITEsc2V0dXAodCx7YXR0cnM6ZSxzbG90czpuLGV4cG9zZTpyfSl7bGV0IGk9c2UobnVsbCk7cih7ZWw6aSwkZWw6aX0pO2xldCBzPW9lKCgpPT5YcihpKSksbz1zZSghMSk7eXQoKCk9Pm8udmFsdWU9ITApLGFuKCgpPT5vLnZhbHVlPSExKSxwMih7b3duZXJEb2N1bWVudDpzfSxvZSgoKT0+by52YWx1ZSYmISEodC5mZWF0dXJlcyYxNikpKTtsZXQgYT1nMih7b3duZXJEb2N1bWVudDpzLGNvbnRhaW5lcjppLGluaXRpYWxGb2N1czpvZSgoKT0+dC5pbml0aWFsRm9jdXMpfSxvZSgoKT0+by52YWx1ZSYmISEodC5mZWF0dXJlcyYyKSkpO3kyKHtvd25lckRvY3VtZW50OnMsY29udGFpbmVyOmksY29udGFpbmVyczp0LmNvbnRhaW5lcnMscHJldmlvdXNBY3RpdmVFbGVtZW50OmF9LG9lKCgpPT5vLnZhbHVlJiYhISh0LmZlYXR1cmVzJjgpKSk7bGV0IGw9aDIoKTtmdW5jdGlvbiBjKGgpe2xldCBtPVdlKGkpO20mJihwPT5wKCkpKCgpPT57SG4obC52YWx1ZSx7W2pzLkZvcndhcmRzXTooKT0+e1lzKG0sWW4uRmlyc3Qse3NraXBFbGVtZW50czpbaC5yZWxhdGVkVGFyZ2V0XX0pfSxbanMuQmFja3dhcmRzXTooKT0+e1lzKG0sWW4uTGFzdCx7c2tpcEVsZW1lbnRzOltoLnJlbGF0ZWRUYXJnZXRdfSl9fSl9KX1sZXQgdT1zZSghMSk7ZnVuY3Rpb24gZChoKXtoLmtleT09PSJUYWIiJiYodS52YWx1ZT0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt1LnZhbHVlPSExfSkpfWZ1bmN0aW9uIGYoaCl7aWYoIW8udmFsdWUpcmV0dXJuO2xldCBtPWt2KHQuY29udGFpbmVycyk7V2UoaSlpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZtLmFkZChXZShpKSk7bGV0IHA9aC5yZWxhdGVkVGFyZ2V0O3AgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmcC5kYXRhc2V0LmhlYWRsZXNzdWlGb2N1c0d1YXJkIT09InRydWUiJiYoVHYobSxwKXx8KHUudmFsdWU/WXMoV2UoaSksSG4obC52YWx1ZSx7W2pzLkZvcndhcmRzXTooKT0+WW4uTmV4dCxbanMuQmFja3dhcmRzXTooKT0+WW4uUHJldmlvdXN9KXxZbi5XcmFwQXJvdW5kLHtyZWxhdGl2ZVRvOmgudGFyZ2V0fSk6aC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmenIoaC50YXJnZXQpKSl9cmV0dXJuKCk9PntsZXQgaD17fSxtPXtyZWY6aSxvbktleWRvd246ZCxvbkZvY3Vzb3V0OmZ9LHtmZWF0dXJlczpwLGluaXRpYWxGb2N1czprLGNvbnRhaW5lcnM6eCwuLi5DfT10O3JldHVybiBidChxZSxbISEocCY0KSYmYnQoWGMse2FzOiJidXR0b24iLHR5cGU6ImJ1dHRvbiIsImRhdGEtaGVhZGxlc3N1aS1mb2N1cy1ndWFyZCI6ITAsb25Gb2N1czpjLGZlYXR1cmVzOk1hLkZvY3VzYWJsZX0pLFh0KHtvdXJQcm9wczptLHRoZWlyUHJvcHM6ey4uLmUsLi4uQ30sc2xvdDpoLGF0dHJzOmUsc2xvdHM6bixuYW1lOiJGb2N1c1RyYXAifSksISEocCY0KSYmYnQoWGMse2FzOiJidXR0b24iLHR5cGU6ImJ1dHRvbiIsImRhdGEtaGVhZGxlc3N1aS1mb2N1cy1ndWFyZCI6ITAsb25Gb2N1czpjLGZlYXR1cmVzOk1hLkZvY3VzYWJsZX0pXSl9fX0pLHtmZWF0dXJlczpTdn0pO2Z1bmN0aW9uIG0yKHQpe2xldCBlPXNlKGhpLnNsaWNlKCkpO3JldHVybiBndChbdF0sKFtuXSxbcl0pPT57cj09PSEwJiZuPT09ITE/TGQoKCk9PntlLnZhbHVlLnNwbGljZSgwKX0pOnI9PT0hMSYmbj09PSEwJiYoZS52YWx1ZT1oaS5zbGljZSgpKX0se2ZsdXNoOiJwb3N0In0pLCgpPT57dmFyIG47cmV0dXJuKG49ZS52YWx1ZS5maW5kKHI9PnIhPW51bGwmJnIuaXNDb25uZWN0ZWQpKSE9bnVsbD9uOm51bGx9fWZ1bmN0aW9uIHAyKHtvd25lckRvY3VtZW50OnR9LGUpe2xldCBuPW0yKGUpO3l0KCgpPT57S3QoKCk9Pnt2YXIgcixpO2UudmFsdWV8fCgocj10LnZhbHVlKT09bnVsbD92b2lkIDA6ci5hY3RpdmVFbGVtZW50KT09PSgoaT10LnZhbHVlKT09bnVsbD92b2lkIDA6aS5ib2R5KSYmenIobigpKX0se2ZsdXNoOiJwb3N0In0pfSksYW4oKCk9PntlLnZhbHVlJiZ6cihuKCkpfSl9ZnVuY3Rpb24gZzIoe293bmVyRG9jdW1lbnQ6dCxjb250YWluZXI6ZSxpbml0aWFsRm9jdXM6bn0scil7bGV0IGk9c2UobnVsbCkscz1zZSghMSk7cmV0dXJuIHl0KCgpPT5zLnZhbHVlPSEwKSxhbigoKT0+cy52YWx1ZT0hMSkseXQoKCk9PntndChbZSxuLHJdLChvLGEpPT57aWYoby5ldmVyeSgoYyx1KT0+KGE9PW51bGw/dm9pZCAwOmFbdV0pPT09Yyl8fCFyLnZhbHVlKXJldHVybjtsZXQgbD1XZShlKTtsJiZMZCgoKT0+e3ZhciBjLHU7aWYoIXMudmFsdWUpcmV0dXJuO2xldCBkPVdlKG4pLGY9KGM9dC52YWx1ZSk9PW51bGw/dm9pZCAwOmMuYWN0aXZlRWxlbWVudDtpZihkKXtpZihkPT09Zil7aS52YWx1ZT1mO3JldHVybn19ZWxzZSBpZihsLmNvbnRhaW5zKGYpKXtpLnZhbHVlPWY7cmV0dXJufWQ/enIoZCk6WXMobCxZbi5GaXJzdHxZbi5Ob1Njcm9sbCk9PT1jdi5FcnJvciYmY29uc29sZS53YXJuKCJUaGVyZSBhcmUgbm8gZm9jdXNhYmxlIGVsZW1lbnRzIGluc2lkZSB0aGUgPEZvY3VzVHJhcCAvPiIpLGkudmFsdWU9KHU9dC52YWx1ZSk9PW51bGw/dm9pZCAwOnUuYWN0aXZlRWxlbWVudH0pfSx7aW1tZWRpYXRlOiEwLGZsdXNoOiJwb3N0In0pfSksaX1mdW5jdGlvbiB5Mih7b3duZXJEb2N1bWVudDp0LGNvbnRhaW5lcjplLGNvbnRhaW5lcnM6bixwcmV2aW91c0FjdGl2ZUVsZW1lbnQ6cn0saSl7dmFyIHM7d3YoKHM9dC52YWx1ZSk9PW51bGw/dm9pZCAwOnMuZGVmYXVsdFZpZXcsImZvY3VzIixvPT57aWYoIWkudmFsdWUpcmV0dXJuO2xldCBhPWt2KG4pO1dlKGUpaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmYS5hZGQoV2UoZSkpO2xldCBsPXIudmFsdWU7aWYoIWwpcmV0dXJuO2xldCBjPW8udGFyZ2V0O2MmJmMgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9UdihhLGMpPyhyLnZhbHVlPWMsenIoYykpOihvLnByZXZlbnREZWZhdWx0KCksby5zdG9wUHJvcGFnYXRpb24oKSx6cihsKSk6enIoci52YWx1ZSl9LCEwKX1mdW5jdGlvbiBUdih0LGUpe2ZvcihsZXQgbiBvZiB0KWlmKG4uY29udGFpbnMoZSkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gdjIodCl7bGV0IGU9UG8odC5nZXRTbmFwc2hvdCgpKTtyZXR1cm4gYW4odC5zdWJzY3JpYmUoKCk9PntlLnZhbHVlPXQuZ2V0U25hcHNob3QoKX0pKSxlfWZ1bmN0aW9uIF8yKHQsZSl7bGV0IG49dCgpLHI9bmV3IFNldDtyZXR1cm57Z2V0U25hcHNob3QoKXtyZXR1cm4gbn0sc3Vic2NyaWJlKGkpe3JldHVybiByLmFkZChpKSwoKT0+ci5kZWxldGUoaSl9LGRpc3BhdGNoKGksLi4ucyl7bGV0IG89ZVtpXS5jYWxsKG4sLi4ucyk7byYmKG49byxyLmZvckVhY2goYT0+YSgpKSl9fX1mdW5jdGlvbiBiMigpe2xldCB0O3JldHVybntiZWZvcmUoe2RvYzplfSl7dmFyIG47bGV0IHI9ZS5kb2N1bWVudEVsZW1lbnQ7dD0oKG49ZS5kZWZhdWx0VmlldykhPW51bGw/bjp3aW5kb3cpLmlubmVyV2lkdGgtci5jbGllbnRXaWR0aH0sYWZ0ZXIoe2RvYzplLGQ6bn0pe2xldCByPWUuZG9jdW1lbnRFbGVtZW50LGk9ci5jbGllbnRXaWR0aC1yLm9mZnNldFdpZHRoLHM9dC1pO24uc3R5bGUociwicGFkZGluZ1JpZ2h0IixgJHtzfXB4YCl9fX1mdW5jdGlvbiB3Migpe3JldHVybiBodigpP3tiZWZvcmUoe2RvYzp0LGQ6ZSxtZXRhOm59KXtmdW5jdGlvbiByKGkpe3JldHVybiBuLmNvbnRhaW5lcnMuZmxhdE1hcChzPT5zKCkpLnNvbWUocz0+cy5jb250YWlucyhpKSl9ZS5taWNyb1Rhc2soKCk9Pnt2YXIgaTtpZih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0LmRvY3VtZW50RWxlbWVudCkuc2Nyb2xsQmVoYXZpb3IhPT0iYXV0byIpe2xldCBhPSRvKCk7YS5zdHlsZSh0LmRvY3VtZW50RWxlbWVudCwic2Nyb2xsQmVoYXZpb3IiLCJhdXRvIiksZS5hZGQoKCk9PmUubWljcm9UYXNrKCgpPT5hLmRpc3Bvc2UoKSkpfWxldCBzPShpPXdpbmRvdy5zY3JvbGxZKSE9bnVsbD9pOndpbmRvdy5wYWdlWU9mZnNldCxvPW51bGw7ZS5hZGRFdmVudExpc3RlbmVyKHQsImNsaWNrIixhPT57aWYoYS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl0cnl7bGV0IGw9YS50YXJnZXQuY2xvc2VzdCgiYSIpO2lmKCFsKXJldHVybjtsZXR7aGFzaDpjfT1uZXcgVVJMKGwuaHJlZiksdT10LnF1ZXJ5U2VsZWN0b3IoYyk7dSYmIXIodSkmJihvPXUpfWNhdGNoe319LCEwKSxlLmFkZEV2ZW50TGlzdGVuZXIodCwidG91Y2hzdGFydCIsYT0+e2lmKGEudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpaWYocihhLnRhcmdldCkpe2xldCBsPWEudGFyZ2V0O2Zvcig7bC5wYXJlbnRFbGVtZW50JiZyKGwucGFyZW50RWxlbWVudCk7KWw9bC5wYXJlbnRFbGVtZW50O2Uuc3R5bGUobCwib3ZlcnNjcm9sbEJlaGF2aW9yIiwiY29udGFpbiIpfWVsc2UgZS5zdHlsZShhLnRhcmdldCwidG91Y2hBY3Rpb24iLCJub25lIil9KSxlLmFkZEV2ZW50TGlzdGVuZXIodCwidG91Y2htb3ZlIixhPT57aWYoYS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudClpZihyKGEudGFyZ2V0KSl7bGV0IGw9YS50YXJnZXQ7Zm9yKDtsLnBhcmVudEVsZW1lbnQmJmwuZGF0YXNldC5oZWFkbGVzc3VpUG9ydGFsIT09IiImJiEobC5zY3JvbGxIZWlnaHQ+bC5jbGllbnRIZWlnaHR8fGwuc2Nyb2xsV2lkdGg+bC5jbGllbnRXaWR0aCk7KWw9bC5wYXJlbnRFbGVtZW50O2wuZGF0YXNldC5oZWFkbGVzc3VpUG9ydGFsPT09IiImJmEucHJldmVudERlZmF1bHQoKX1lbHNlIGEucHJldmVudERlZmF1bHQoKX0se3Bhc3NpdmU6ITF9KSxlLmFkZCgoKT0+e3ZhciBhO2xldCBsPShhPXdpbmRvdy5zY3JvbGxZKSE9bnVsbD9hOndpbmRvdy5wYWdlWU9mZnNldDtzIT09bCYmd2luZG93LnNjcm9sbFRvKDAscyksbyYmby5pc0Nvbm5lY3RlZCYmKG8uc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiJuZWFyZXN0In0pLG89bnVsbCl9KX0pfX06e319ZnVuY3Rpb24gazIoKXtyZXR1cm57YmVmb3JlKHtkb2M6dCxkOmV9KXtlLnN0eWxlKHQuZG9jdW1lbnRFbGVtZW50LCJvdmVyZmxvdyIsImhpZGRlbiIpfX19ZnVuY3Rpb24gUzIodCl7bGV0IGU9e307Zm9yKGxldCBuIG9mIHQpT2JqZWN0LmFzc2lnbihlLG4oZSkpO3JldHVybiBlfWxldCBwaT1fMigoKT0+bmV3IE1hcCx7UFVTSCh0LGUpe3ZhciBuO2xldCByPShuPXRoaXMuZ2V0KHQpKSE9bnVsbD9uOntkb2M6dCxjb3VudDowLGQ6JG8oKSxtZXRhOm5ldyBTZXR9O3JldHVybiByLmNvdW50Kyssci5tZXRhLmFkZChlKSx0aGlzLnNldCh0LHIpLHRoaXN9LFBPUCh0LGUpe2xldCBuPXRoaXMuZ2V0KHQpO3JldHVybiBuJiYobi5jb3VudC0tLG4ubWV0YS5kZWxldGUoZSkpLHRoaXN9LFNDUk9MTF9QUkVWRU5UKHtkb2M6dCxkOmUsbWV0YTpufSl7bGV0IHI9e2RvYzp0LGQ6ZSxtZXRhOlMyKG4pfSxpPVt3MigpLGIyKCksazIoKV07aS5mb3JFYWNoKCh7YmVmb3JlOnN9KT0+cz09bnVsbD92b2lkIDA6cyhyKSksaS5mb3JFYWNoKCh7YWZ0ZXI6c30pPT5zPT1udWxsP3ZvaWQgMDpzKHIpKX0sU0NST0xMX0FMTE9XKHtkOnR9KXt0LmRpc3Bvc2UoKX0sVEVBUkRPV04oe2RvYzp0fSl7dGhpcy5kZWxldGUodCl9fSk7cGkuc3Vic2NyaWJlKCgpPT57bGV0IHQ9cGkuZ2V0U25hcHNob3QoKSxlPW5ldyBNYXA7Zm9yKGxldFtuXW9mIHQpZS5zZXQobixuLmRvY3VtZW50RWxlbWVudC5zdHlsZS5vdmVyZmxvdyk7Zm9yKGxldCBuIG9mIHQudmFsdWVzKCkpe2xldCByPWUuZ2V0KG4uZG9jKT09PSJoaWRkZW4iLGk9bi5jb3VudCE9PTA7KGkmJiFyfHwhaSYmcikmJnBpLmRpc3BhdGNoKG4uY291bnQ+MD8iU0NST0xMX1BSRVZFTlQiOiJTQ1JPTExfQUxMT1ciLG4pLG4uY291bnQ9PT0wJiZwaS5kaXNwYXRjaCgiVEVBUkRPV04iLG4pfX0pO2Z1bmN0aW9uIFQyKHQsZSxuKXtsZXQgcj12MihwaSksaT1vZSgoKT0+e2xldCBzPXQudmFsdWU/ci52YWx1ZS5nZXQodC52YWx1ZSk6dm9pZCAwO3JldHVybiBzP3MuY291bnQ+MDohMX0pO3JldHVybiBndChbdCxlXSwoW3Msb10sW2FdLGwpPT57aWYoIXN8fCFvKXJldHVybjtwaS5kaXNwYXRjaCgiUFVTSCIscyxuKTtsZXQgYz0hMTtsKCgpPT57Y3x8KHBpLmRpc3BhdGNoKCJQT1AiLGE/P3MsbiksYz0hMCl9KX0se2ltbWVkaWF0ZTohMH0pLGl9bGV0IHNjPW5ldyBNYXAsSXM9bmV3IE1hcDtmdW5jdGlvbiBKaCh0LGU9c2UoITApKXtLdChuPT57dmFyIHI7aWYoIWUudmFsdWUpcmV0dXJuO2xldCBpPVdlKHQpO2lmKCFpKXJldHVybjtuKGZ1bmN0aW9uKCl7dmFyIG87aWYoIWkpcmV0dXJuO2xldCBhPShvPUlzLmdldChpKSkhPW51bGw/bzoxO2lmKGE9PT0xP0lzLmRlbGV0ZShpKTpJcy5zZXQoaSxhLTEpLGEhPT0xKXJldHVybjtsZXQgbD1zYy5nZXQoaSk7bCYmKGxbImFyaWEtaGlkZGVuIl09PT1udWxsP2kucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpOmkuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsbFsiYXJpYS1oaWRkZW4iXSksaS5pbmVydD1sLmluZXJ0LHNjLmRlbGV0ZShpKSl9KTtsZXQgcz0ocj1Jcy5nZXQoaSkpIT1udWxsP3I6MDtJcy5zZXQoaSxzKzEpLHM9PT0wJiYoc2Muc2V0KGkseyJhcmlhLWhpZGRlbiI6aS5nZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiksaW5lcnQ6aS5pbmVydH0pLGkuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSxpLmluZXJ0PSEwKX0pfWZ1bmN0aW9uIEUyKHtkZWZhdWx0Q29udGFpbmVyczp0PVtdLHBvcnRhbHM6ZSxtYWluVHJlZU5vZGVSZWY6bn09e30pe2xldCByPXNlKG51bGwpLGk9WHIocik7ZnVuY3Rpb24gcygpe3ZhciBvLGEsbDtsZXQgYz1bXTtmb3IobGV0IHUgb2YgdCl1IT09bnVsbCYmKHUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9jLnB1c2godSk6InZhbHVlImluIHUmJnUudmFsdWUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmYy5wdXNoKHUudmFsdWUpKTtpZihlIT1udWxsJiZlLnZhbHVlKWZvcihsZXQgdSBvZiBlLnZhbHVlKWMucHVzaCh1KTtmb3IobGV0IHUgb2Yobz1pPT1udWxsP3ZvaWQgMDppLnF1ZXJ5U2VsZWN0b3JBbGwoImh0bWwgPiAqLCBib2R5ID4gKiIpKSE9bnVsbD9vOltdKXUhPT1kb2N1bWVudC5ib2R5JiZ1IT09ZG9jdW1lbnQuaGVhZCYmdSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ1LmlkIT09ImhlYWRsZXNzdWktcG9ydGFsLXJvb3QiJiYodS5jb250YWlucyhXZShyKSl8fHUuY29udGFpbnMoKGw9KGE9V2UocikpPT1udWxsP3ZvaWQgMDphLmdldFJvb3ROb2RlKCkpPT1udWxsP3ZvaWQgMDpsLmhvc3QpfHxjLnNvbWUoZD0+dS5jb250YWlucyhkKSl8fGMucHVzaCh1KSk7cmV0dXJuIGN9cmV0dXJue3Jlc29sdmVDb250YWluZXJzOnMsY29udGFpbnMobyl7cmV0dXJuIHMoKS5zb21lKGE9PmEuY29udGFpbnMobykpfSxtYWluVHJlZU5vZGVSZWY6cixNYWluVHJlZU5vZGUoKXtyZXR1cm4gbiE9bnVsbD9udWxsOmJ0KFhjLHtmZWF0dXJlczpNYS5IaWRkZW4scmVmOnJ9KX19fWxldCBFdj1TeW1ib2woIkZvcmNlUG9ydGFsUm9vdENvbnRleHQiKTtmdW5jdGlvbiB4Migpe3JldHVybiB1dChFdiwhMSl9bGV0IHFoPU5lKHtuYW1lOiJGb3JjZVBvcnRhbFJvb3QiLHByb3BzOnthczp7dHlwZTpbT2JqZWN0LFN0cmluZ10sZGVmYXVsdDoidGVtcGxhdGUifSxmb3JjZTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9fSxzZXR1cCh0LHtzbG90czplLGF0dHJzOm59KXtyZXR1cm4gWnQoRXYsdC5mb3JjZSksKCk9PntsZXR7Zm9yY2U6ciwuLi5pfT10O3JldHVybiBYdCh7dGhlaXJQcm9wczppLG91clByb3BzOnt9LHNsb3Q6e30sc2xvdHM6ZSxhdHRyczpuLG5hbWU6IkZvcmNlUG9ydGFsUm9vdCJ9KX19fSkseHY9U3ltYm9sKCJTdGFja0NvbnRleHQiKTt2YXIgUWM9KHQ9Pih0W3QuQWRkPTBdPSJBZGQiLHRbdC5SZW1vdmU9MV09IlJlbW92ZSIsdCkpKFFjfHx7fSk7ZnVuY3Rpb24gQTIoKXtyZXR1cm4gdXQoeHYsKCk9Pnt9KX1mdW5jdGlvbiBPMih7dHlwZTp0LGVuYWJsZWQ6ZSxlbGVtZW50Om4sb25VcGRhdGU6cn0pe2xldCBpPUEyKCk7ZnVuY3Rpb24gcyguLi5vKXtyPT1udWxsfHxyKC4uLm8pLGkoLi4ubyl9eXQoKCk9PntndChlLChvLGEpPT57bz9zKDAsdCxuKTphPT09ITAmJnMoMSx0LG4pfSx7aW1tZWRpYXRlOiEwLGZsdXNoOiJzeW5jIn0pfSksYW4oKCk9PntlLnZhbHVlJiZzKDEsdCxuKX0pLFp0KHh2LHMpfWxldCBDMj1TeW1ib2woIkRlc2NyaXB0aW9uQ29udGV4dCIpO2Z1bmN0aW9uIFAyKHtzbG90OnQ9c2Uoe30pLG5hbWU6ZT0iRGVzY3JpcHRpb24iLHByb3BzOm49e319PXt9KXtsZXQgcj1zZShbXSk7ZnVuY3Rpb24gaShzKXtyZXR1cm4gci52YWx1ZS5wdXNoKHMpLCgpPT57bGV0IG89ci52YWx1ZS5pbmRleE9mKHMpO28hPT0tMSYmci52YWx1ZS5zcGxpY2UobywxKX19cmV0dXJuIFp0KEMyLHtyZWdpc3RlcjppLHNsb3Q6dCxuYW1lOmUscHJvcHM6bn0pLG9lKCgpPT5yLnZhbHVlLmxlbmd0aD4wP3IudmFsdWUuam9pbigiICIpOnZvaWQgMCl9ZnVuY3Rpb24gSTIodCl7bGV0IGU9WHIodCk7aWYoIWUpe2lmKHQ9PT1udWxsKXJldHVybiBudWxsO3Rocm93IG5ldyBFcnJvcihgW0hlYWRsZXNzIFVJXTogQ2Fubm90IGZpbmQgb3duZXJEb2N1bWVudCBmb3IgY29udGV4dEVsZW1lbnQ6ICR7dH1gKX1sZXQgbj1lLmdldEVsZW1lbnRCeUlkKCJoZWFkbGVzc3VpLXBvcnRhbC1yb290Iik7aWYobilyZXR1cm4gbjtsZXQgcj1lLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiByLnNldEF0dHJpYnV0ZSgiaWQiLCJoZWFkbGVzc3VpLXBvcnRhbC1yb290IiksZS5ib2R5LmFwcGVuZENoaWxkKHIpfWNvbnN0IGV1PW5ldyBXZWFrTWFwO2Z1bmN0aW9uIE4yKHQpe3ZhciBlO3JldHVybihlPWV1LmdldCh0KSkhPW51bGw/ZTowfWZ1bmN0aW9uIFpoKHQsZSl7bGV0IG49ZShOMih0KSk7cmV0dXJuIG48PTA/ZXUuZGVsZXRlKHQpOmV1LnNldCh0LG4pLG59bGV0IFIyPU5lKHtuYW1lOiJQb3J0YWwiLHByb3BzOnthczp7dHlwZTpbT2JqZWN0LFN0cmluZ10sZGVmYXVsdDoiZGl2In19LHNldHVwKHQse3Nsb3RzOmUsYXR0cnM6bn0pe2xldCByPXNlKG51bGwpLGk9b2UoKCk9PlhyKHIpKSxzPXgyKCksbz11dChBdixudWxsKSxhPXNlKHM9PT0hMHx8bz09bnVsbD9JMihyLnZhbHVlKTpvLnJlc29sdmVUYXJnZXQoKSk7YS52YWx1ZSYmWmgoYS52YWx1ZSxmPT5mKzEpO2xldCBsPXNlKCExKTt5dCgoKT0+e2wudmFsdWU9ITB9KSxLdCgoKT0+e3N8fG8hPW51bGwmJihhLnZhbHVlPW8ucmVzb2x2ZVRhcmdldCgpKX0pO2xldCBjPXV0KHR1LG51bGwpLHU9ITEsZD1DbigpO3JldHVybiBndChyLCgpPT57aWYodXx8IWMpcmV0dXJuO2xldCBmPVdlKHIpO2YmJihhbihjLnJlZ2lzdGVyKGYpLGQpLHU9ITApfSksYW4oKCk9Pnt2YXIgZixoO2xldCBtPShmPWkudmFsdWUpPT1udWxsP3ZvaWQgMDpmLmdldEVsZW1lbnRCeUlkKCJoZWFkbGVzc3VpLXBvcnRhbC1yb290Iik7IW18fGEudmFsdWUhPT1tfHxaaChhLnZhbHVlLHA9PnAtMSl8fGEudmFsdWUuY2hpbGRyZW4ubGVuZ3RoPjB8fChoPWEudmFsdWUucGFyZW50RWxlbWVudCk9PW51bGx8fGgucmVtb3ZlQ2hpbGQoYS52YWx1ZSl9KSwoKT0+e2lmKCFsLnZhbHVlfHxhLnZhbHVlPT09bnVsbClyZXR1cm4gbnVsbDtsZXQgZj17cmVmOnIsImRhdGEtaGVhZGxlc3N1aS1wb3J0YWwiOiIifTtyZXR1cm4gYnQob3kse3RvOmEudmFsdWV9LFh0KHtvdXJQcm9wczpmLHRoZWlyUHJvcHM6dCxzbG90Ont9LGF0dHJzOm4sc2xvdHM6ZSxuYW1lOiJQb3J0YWwifSkpfX19KSx0dT1TeW1ib2woIlBvcnRhbFBhcmVudENvbnRleHQiKTtmdW5jdGlvbiBEMigpe2xldCB0PXV0KHR1LG51bGwpLGU9c2UoW10pO2Z1bmN0aW9uIG4ocyl7cmV0dXJuIGUudmFsdWUucHVzaChzKSx0JiZ0LnJlZ2lzdGVyKHMpLCgpPT5yKHMpfWZ1bmN0aW9uIHIocyl7bGV0IG89ZS52YWx1ZS5pbmRleE9mKHMpO28hPT0tMSYmZS52YWx1ZS5zcGxpY2UobywxKSx0JiZ0LnVucmVnaXN0ZXIocyl9bGV0IGk9e3JlZ2lzdGVyOm4sdW5yZWdpc3RlcjpyLHBvcnRhbHM6ZX07cmV0dXJuW2UsTmUoe25hbWU6IlBvcnRhbFdyYXBwZXIiLHNldHVwKHMse3Nsb3RzOm99KXtyZXR1cm4gWnQodHUsaSksKCk9Pnt2YXIgYTtyZXR1cm4oYT1vLmRlZmF1bHQpPT1udWxsP3ZvaWQgMDphLmNhbGwobyl9fX0pXX1sZXQgQXY9U3ltYm9sKCJQb3J0YWxHcm91cENvbnRleHQiKSxNMj1OZSh7bmFtZToiUG9ydGFsR3JvdXAiLHByb3BzOnthczp7dHlwZTpbT2JqZWN0LFN0cmluZ10sZGVmYXVsdDoidGVtcGxhdGUifSx0YXJnZXQ6e3R5cGU6T2JqZWN0LGRlZmF1bHQ6bnVsbH19LHNldHVwKHQse2F0dHJzOmUsc2xvdHM6bn0pe2xldCByPU9pKHtyZXNvbHZlVGFyZ2V0KCl7cmV0dXJuIHQudGFyZ2V0fX0pO3JldHVybiBadChBdixyKSwoKT0+e2xldHt0YXJnZXQ6aSwuLi5zfT10O3JldHVybiBYdCh7dGhlaXJQcm9wczpzLG91clByb3BzOnt9LHNsb3Q6e30sYXR0cnM6ZSxzbG90czpuLG5hbWU6IlBvcnRhbEdyb3VwIn0pfX19KTt2YXIgTDI9KHQ9Pih0W3QuT3Blbj0wXT0iT3BlbiIsdFt0LkNsb3NlZD0xXT0iQ2xvc2VkIix0KSkoTDJ8fHt9KTtsZXQgbnU9U3ltYm9sKCJEaWFsb2dDb250ZXh0Iik7ZnVuY3Rpb24gU2wodCl7bGV0IGU9dXQobnUsbnVsbCk7aWYoZT09PW51bGwpe2xldCBuPW5ldyBFcnJvcihgPCR7dH0gLz4gaXMgbWlzc2luZyBhIHBhcmVudCA8RGlhbG9nIC8+IGNvbXBvbmVudC5gKTt0aHJvdyBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSYmRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UobixTbCksbn1yZXR1cm4gZX1sZXQgcmE9IkRDOEY4OTJELTJFQkQtNDQ3Qy1BNEM4LUEwMzA1ODQzNkZGNCIsT3Y9TmUoe25hbWU6IkRpYWxvZyIsaW5oZXJpdEF0dHJzOiExLHByb3BzOnthczp7dHlwZTpbT2JqZWN0LFN0cmluZ10sZGVmYXVsdDoiZGl2In0sc3RhdGljOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0sdW5tb3VudDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LG9wZW46e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OnJhfSxpbml0aWFsRm9jdXM6e3R5cGU6T2JqZWN0LGRlZmF1bHQ6bnVsbH0saWQ6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6bnVsbH0scm9sZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiZGlhbG9nIn19LGVtaXRzOntjbG9zZTp0PT4hMH0sc2V0dXAodCx7ZW1pdDplLGF0dHJzOm4sc2xvdHM6cixleHBvc2U6aX0pe3ZhciBzLG87bGV0IGE9KHM9dC5pZCkhPW51bGw/czpgaGVhZGxlc3N1aS1kaWFsb2ctJHtZcigpfWAsbD1zZSghMSk7eXQoKCk9PntsLnZhbHVlPSEwfSk7bGV0IGM9ITEsdT1vZSgoKT0+dC5yb2xlPT09ImRpYWxvZyJ8fHQucm9sZT09PSJhbGVydGRpYWxvZyI/dC5yb2xlOihjfHwoYz0hMCxjb25zb2xlLndhcm4oYEludmFsaWQgcm9sZSBbJHt1fV0gcGFzc2VkIHRvIDxEaWFsb2cgLz4uIE9ubHkgXGBkaWFsb2dcYCBhbmQgYW5kIFxgYWxlcnRkaWFsb2dcYCBhcmUgc3VwcG9ydGVkLiBVc2luZyBcYGRpYWxvZ1xgIGluc3RlYWQuYCkpLCJkaWFsb2ciKSksZD1zZSgwKSxmPWtsKCksaD1vZSgoKT0+dC5vcGVuPT09cmEmJmYhPT1udWxsPyhmLnZhbHVlJkx0Lk9wZW4pPT09THQuT3Blbjp0Lm9wZW4pLG09c2UobnVsbCkscD1vZSgoKT0+WHIobSkpO2lmKGkoe2VsOm0sJGVsOm19KSwhKHQub3BlbiE9PXJhfHxmIT09bnVsbCkpdGhyb3cgbmV3IEVycm9yKCJZb3UgZm9yZ290IHRvIHByb3ZpZGUgYW4gYG9wZW5gIHByb3AgdG8gdGhlIGBEaWFsb2dgLiIpO2lmKHR5cGVvZiBoLnZhbHVlIT0iYm9vbGVhbiIpdGhyb3cgbmV3IEVycm9yKGBZb3UgcHJvdmlkZWQgYW4gXGBvcGVuXGAgcHJvcCB0byB0aGUgXGBEaWFsb2dcYCwgYnV0IHRoZSB2YWx1ZSBpcyBub3QgYSBib29sZWFuLiBSZWNlaXZlZDogJHtoLnZhbHVlPT09cmE/dm9pZCAwOnQub3Blbn1gKTtsZXQgaz1vZSgoKT0+bC52YWx1ZSYmaC52YWx1ZT8wOjEpLHg9b2UoKCk9PmsudmFsdWU9PT0wKSxDPW9lKCgpPT5kLnZhbHVlPjEpLGI9dXQobnUsbnVsbCkhPT1udWxsLFtULEVdPUQyKCkse3Jlc29sdmVDb250YWluZXJzOncsbWFpblRyZWVOb2RlUmVmOlIsTWFpblRyZWVOb2RlOkR9PUUyKHtwb3J0YWxzOlQsZGVmYXVsdENvbnRhaW5lcnM6W29lKCgpPT57dmFyIHdlO3JldHVybih3ZT15ZS5wYW5lbFJlZi52YWx1ZSkhPW51bGw/d2U6bS52YWx1ZX0pXX0pLEk9b2UoKCk9PkMudmFsdWU/InBhcmVudCI6ImxlYWYiKSxCPW9lKCgpPT5mIT09bnVsbD8oZi52YWx1ZSZMdC5DbG9zaW5nKT09PUx0LkNsb3Npbmc6ITEpLEw9b2UoKCk9PmJ8fEIudmFsdWU/ITE6eC52YWx1ZSksaj1vZSgoKT0+e3ZhciB3ZSxKLEllO3JldHVybihJZT1BcnJheS5mcm9tKChKPSh3ZT1wLnZhbHVlKT09bnVsbD92b2lkIDA6d2UucXVlcnlTZWxlY3RvckFsbCgiYm9keSA+ICoiKSkhPW51bGw/SjpbXSkuZmluZCh6ZT0+emUuaWQ9PT0iaGVhZGxlc3N1aS1wb3J0YWwtcm9vdCI/ITE6emUuY29udGFpbnMoV2UoUikpJiZ6ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkhPW51bGw/SWU6bnVsbH0pO0poKGosTCk7bGV0IHJlPW9lKCgpPT5DLnZhbHVlPyEwOngudmFsdWUpLHhlPW9lKCgpPT57dmFyIHdlLEosSWU7cmV0dXJuKEllPUFycmF5LmZyb20oKEo9KHdlPXAudmFsdWUpPT1udWxsP3ZvaWQgMDp3ZS5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1oZWFkbGVzc3VpLXBvcnRhbF0iKSkhPW51bGw/SjpbXSkuZmluZCh6ZT0+emUuY29udGFpbnMoV2UoUikpJiZ6ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkhPW51bGw/SWU6bnVsbH0pO0poKHhlLHJlKSxPMih7dHlwZToiRGlhbG9nIixlbmFibGVkOm9lKCgpPT5rLnZhbHVlPT09MCksZWxlbWVudDptLG9uVXBkYXRlOih3ZSxKKT0+e2lmKEo9PT0iRGlhbG9nIilyZXR1cm4gSG4od2Use1tRYy5BZGRdOigpPT5kLnZhbHVlKz0xLFtRYy5SZW1vdmVdOigpPT5kLnZhbHVlLT0xfSl9fSk7bGV0IFRlPVAyKHtuYW1lOiJEaWFsb2dEZXNjcmlwdGlvbiIsc2xvdDpvZSgoKT0+KHtvcGVuOmgudmFsdWV9KSl9KSxsZT1zZShudWxsKSx5ZT17dGl0bGVJZDpsZSxwYW5lbFJlZjpzZShudWxsKSxkaWFsb2dTdGF0ZTprLHNldFRpdGxlSWQod2Upe2xlLnZhbHVlIT09d2UmJihsZS52YWx1ZT13ZSl9LGNsb3NlKCl7ZSgiY2xvc2UiLCExKX19O1p0KG51LHllKTtsZXQgQWU9b2UoKCk9PiEoIXgudmFsdWV8fEMudmFsdWUpKTtwdih3LCh3ZSxKKT0+e3dlLnByZXZlbnREZWZhdWx0KCkseWUuY2xvc2UoKSxubigoKT0+Sj09bnVsbD92b2lkIDA6Si5mb2N1cygpKX0sQWUpO2xldCBaZT1vZSgoKT0+IShDLnZhbHVlfHxrLnZhbHVlIT09MCkpO3d2KChvPXAudmFsdWUpPT1udWxsP3ZvaWQgMDpvLmRlZmF1bHRWaWV3LCJrZXlkb3duIix3ZT0+e1plLnZhbHVlJiYod2UuZGVmYXVsdFByZXZlbnRlZHx8d2Uua2V5PT09Q3QuRXNjYXBlJiYod2UucHJldmVudERlZmF1bHQoKSx3ZS5zdG9wUHJvcGFnYXRpb24oKSx5ZS5jbG9zZSgpKSl9KTtsZXQgcnQ9b2UoKCk9PiEoQi52YWx1ZXx8ay52YWx1ZSE9PTB8fGIpKTtyZXR1cm4gVDIocCxydCx3ZT0+e3ZhciBKO3JldHVybntjb250YWluZXJzOlsuLi4oSj13ZS5jb250YWluZXJzKSE9bnVsbD9KOltdLHddfX0pLEt0KHdlPT57aWYoay52YWx1ZSE9PTApcmV0dXJuO2xldCBKPVdlKG0pO2lmKCFKKXJldHVybjtsZXQgSWU9bmV3IFJlc2l6ZU9ic2VydmVyKHplPT57Zm9yKGxldCBSZSBvZiB6ZSl7bGV0IFVlPVJlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtVZS54PT09MCYmVWUueT09PTAmJlVlLndpZHRoPT09MCYmVWUuaGVpZ2h0PT09MCYmeWUuY2xvc2UoKX19KTtJZS5vYnNlcnZlKEopLHdlKCgpPT5JZS5kaXNjb25uZWN0KCkpfSksKCk9PntsZXR7b3Blbjp3ZSxpbml0aWFsRm9jdXM6SiwuLi5JZX09dCx6ZT17Li4ubixyZWY6bSxpZDphLHJvbGU6dS52YWx1ZSwiYXJpYS1tb2RhbCI6ay52YWx1ZT09PTA/ITA6dm9pZCAwLCJhcmlhLWxhYmVsbGVkYnkiOmxlLnZhbHVlLCJhcmlhLWRlc2NyaWJlZGJ5IjpUZS52YWx1ZX0sUmU9e29wZW46ay52YWx1ZT09PTB9O3JldHVybiBidChxaCx7Zm9yY2U6ITB9LCgpPT5bYnQoUjIsKCk9PmJ0KE0yLHt0YXJnZXQ6bS52YWx1ZX0sKCk9PmJ0KHFoLHtmb3JjZTohMX0sKCk9PmJ0KFBzLHtpbml0aWFsRm9jdXM6Sixjb250YWluZXJzOncsZmVhdHVyZXM6eC52YWx1ZT9IbihJLnZhbHVlLHtwYXJlbnQ6UHMuZmVhdHVyZXMuUmVzdG9yZUZvY3VzLGxlYWY6UHMuZmVhdHVyZXMuQWxsJn5Qcy5mZWF0dXJlcy5Gb2N1c0xvY2t9KTpQcy5mZWF0dXJlcy5Ob25lfSwoKT0+YnQoRSx7fSwoKT0+WHQoe291clByb3BzOnplLHRoZWlyUHJvcHM6ey4uLkllLC4uLm59LHNsb3Q6UmUsYXR0cnM6bixzbG90czpyLHZpc2libGU6ay52YWx1ZT09PTAsZmVhdHVyZXM6Y3MuUmVuZGVyU3RyYXRlZ3l8Y3MuU3RhdGljLG5hbWU6IkRpYWxvZyJ9KSkpKSkpLGJ0KEQpXSl9fX0pLEN2PU5lKHtuYW1lOiJEaWFsb2dPdmVybGF5Iixwcm9wczp7YXM6e3R5cGU6W09iamVjdCxTdHJpbmddLGRlZmF1bHQ6ImRpdiJ9LGlkOnt0eXBlOlN0cmluZyxkZWZhdWx0Om51bGx9fSxzZXR1cCh0LHthdHRyczplLHNsb3RzOm59KXt2YXIgcjtsZXQgaT0ocj10LmlkKSE9bnVsbD9yOmBoZWFkbGVzc3VpLWRpYWxvZy1vdmVybGF5LSR7WXIoKX1gLHM9U2woIkRpYWxvZ092ZXJsYXkiKTtmdW5jdGlvbiBvKGEpe2EudGFyZ2V0PT09YS5jdXJyZW50VGFyZ2V0JiYoYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCkscy5jbG9zZSgpKX1yZXR1cm4oKT0+e2xldHsuLi5hfT10O3JldHVybiBYdCh7b3VyUHJvcHM6e2lkOmksImFyaWEtaGlkZGVuIjohMCxvbkNsaWNrOm99LHRoZWlyUHJvcHM6YSxzbG90OntvcGVuOnMuZGlhbG9nU3RhdGUudmFsdWU9PT0wfSxhdHRyczplLHNsb3RzOm4sbmFtZToiRGlhbG9nT3ZlcmxheSJ9KX19fSksRjI9TmUoe25hbWU6IkRpYWxvZ1BhbmVsIixwcm9wczp7YXM6e3R5cGU6W09iamVjdCxTdHJpbmddLGRlZmF1bHQ6ImRpdiJ9LGlkOnt0eXBlOlN0cmluZyxkZWZhdWx0Om51bGx9fSxzZXR1cCh0LHthdHRyczplLHNsb3RzOm4sZXhwb3NlOnJ9KXt2YXIgaTtsZXQgcz0oaT10LmlkKSE9bnVsbD9pOmBoZWFkbGVzc3VpLWRpYWxvZy1wYW5lbC0ke1lyKCl9YCxvPVNsKCJEaWFsb2dQYW5lbCIpO3Ioe2VsOm8ucGFuZWxSZWYsJGVsOm8ucGFuZWxSZWZ9KTtmdW5jdGlvbiBhKGwpe2wuc3RvcFByb3BhZ2F0aW9uKCl9cmV0dXJuKCk9PntsZXR7Li4ubH09dCxjPXtpZDpzLHJlZjpvLnBhbmVsUmVmLG9uQ2xpY2s6YX07cmV0dXJuIFh0KHtvdXJQcm9wczpjLHRoZWlyUHJvcHM6bCxzbG90OntvcGVuOm8uZGlhbG9nU3RhdGUudmFsdWU9PT0wfSxhdHRyczplLHNsb3RzOm4sbmFtZToiRGlhbG9nUGFuZWwifSl9fX0pLFB2PU5lKHtuYW1lOiJEaWFsb2dUaXRsZSIscHJvcHM6e2FzOnt0eXBlOltPYmplY3QsU3RyaW5nXSxkZWZhdWx0OiJoMiJ9LGlkOnt0eXBlOlN0cmluZyxkZWZhdWx0Om51bGx9fSxzZXR1cCh0LHthdHRyczplLHNsb3RzOm59KXt2YXIgcjtsZXQgaT0ocj10LmlkKSE9bnVsbD9yOmBoZWFkbGVzc3VpLWRpYWxvZy10aXRsZS0ke1lyKCl9YCxzPVNsKCJEaWFsb2dUaXRsZSIpO3JldHVybiB5dCgoKT0+e3Muc2V0VGl0bGVJZChpKSxhbigoKT0+cy5zZXRUaXRsZUlkKG51bGwpKX0pLCgpPT57bGV0ey4uLm99PXQ7cmV0dXJuIFh0KHtvdXJQcm9wczp7aWQ6aX0sdGhlaXJQcm9wczpvLHNsb3Q6e29wZW46cy5kaWFsb2dTdGF0ZS52YWx1ZT09PTB9LGF0dHJzOmUsc2xvdHM6bixuYW1lOiJEaWFsb2dUaXRsZSJ9KX19fSksS2g9LyhbXHUyNzAwLVx1MjdCRl18W1x1RTAwMC1cdUY4RkZdfFx1RDgzQ1tcdURDMDAtXHVERkZGXXxcdUQ4M0RbXHVEQzAwLVx1REZGRl18W1x1MjAxMS1cdTI2RkZdfFx1RDgzRVtcdUREMTAtXHVEREZGXSkvZztmdW5jdGlvbiBZaCh0KXt2YXIgZSxuO2xldCByPShlPXQuaW5uZXJUZXh0KSE9bnVsbD9lOiIiLGk9dC5jbG9uZU5vZGUoITApO2lmKCEoaSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlyZXR1cm4gcjtsZXQgcz0hMTtmb3IobGV0IGEgb2YgaS5xdWVyeVNlbGVjdG9yQWxsKCdbaGlkZGVuXSxbYXJpYS1oaWRkZW5dLFtyb2xlPSJpbWciXScpKWEucmVtb3ZlKCkscz0hMDtsZXQgbz1zPyhuPWkuaW5uZXJUZXh0KSE9bnVsbD9uOiIiOnI7cmV0dXJuIEtoLnRlc3QobykmJihvPW8ucmVwbGFjZShLaCwiIikpLG99ZnVuY3Rpb24gJDIodCl7bGV0IGU9dC5nZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKTtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJuIGUudHJpbSgpO2xldCBuPXQuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsbGVkYnkiKTtpZihuKXtsZXQgcj1uLnNwbGl0KCIgIikubWFwKGk9PntsZXQgcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpKTtpZihzKXtsZXQgbz1zLmdldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpO3JldHVybiB0eXBlb2Ygbz09InN0cmluZyI/by50cmltKCk6WWgocykudHJpbSgpfXJldHVybiBudWxsfSkuZmlsdGVyKEJvb2xlYW4pO2lmKHIubGVuZ3RoPjApcmV0dXJuIHIuam9pbigiLCAiKX1yZXR1cm4gWWgodCkudHJpbSgpfWZ1bmN0aW9uIGoyKHQpe2xldCBlPXNlKCIiKSxuPXNlKCIiKTtyZXR1cm4oKT0+e2xldCByPVdlKHQpO2lmKCFyKXJldHVybiIiO2xldCBpPXIuaW5uZXJUZXh0O2lmKGUudmFsdWU9PT1pKXJldHVybiBuLnZhbHVlO2xldCBzPSQyKHIpLnRyaW0oKS50b0xvd2VyQ2FzZSgpO3JldHVybiBlLnZhbHVlPWksbi52YWx1ZT1zLHN9fXZhciBCMj0odD0+KHRbdC5PcGVuPTBdPSJPcGVuIix0W3QuQ2xvc2VkPTFdPSJDbG9zZWQiLHQpKShCMnx8e30pLFUyPSh0PT4odFt0LlBvaW50ZXI9MF09IlBvaW50ZXIiLHRbdC5PdGhlcj0xXT0iT3RoZXIiLHQpKShVMnx8e30pO2Z1bmN0aW9uIFYyKHQpe3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpKX1sZXQgSXY9U3ltYm9sKCJNZW51Q29udGV4dCIpO2Z1bmN0aW9uIFRsKHQpe2xldCBlPXV0KEl2LG51bGwpO2lmKGU9PT1udWxsKXtsZXQgbj1uZXcgRXJyb3IoYDwke3R9IC8+IGlzIG1pc3NpbmcgYSBwYXJlbnQgPE1lbnUgLz4gY29tcG9uZW50LmApO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShuLFRsKSxufXJldHVybiBlfWxldCBXMj1OZSh7bmFtZToiTWVudSIscHJvcHM6e2FzOnt0eXBlOltPYmplY3QsU3RyaW5nXSxkZWZhdWx0OiJ0ZW1wbGF0ZSJ9fSxzZXR1cCh0LHtzbG90czplLGF0dHJzOm59KXtsZXQgcj1zZSgxKSxpPXNlKG51bGwpLHM9c2UobnVsbCksbz1zZShbXSksYT1zZSgiIiksbD1zZShudWxsKSxjPXNlKDEpO2Z1bmN0aW9uIHUoZj1oPT5oKXtsZXQgaD1sLnZhbHVlIT09bnVsbD9vLnZhbHVlW2wudmFsdWVdOm51bGwsbT1mdihmKG8udmFsdWUuc2xpY2UoKSksaz0+V2Uoay5kYXRhUmVmLmRvbVJlZikpLHA9aD9tLmluZGV4T2YoaCk6bnVsbDtyZXR1cm4gcD09PS0xJiYocD1udWxsKSx7aXRlbXM6bSxhY3RpdmVJdGVtSW5kZXg6cH19bGV0IGQ9e21lbnVTdGF0ZTpyLGJ1dHRvblJlZjppLGl0ZW1zUmVmOnMsaXRlbXM6byxzZWFyY2hRdWVyeTphLGFjdGl2ZUl0ZW1JbmRleDpsLGFjdGl2YXRpb25UcmlnZ2VyOmMsY2xvc2VNZW51OigpPT57ci52YWx1ZT0xLGwudmFsdWU9bnVsbH0sb3Blbk1lbnU6KCk9PnIudmFsdWU9MCxnb1RvSXRlbShmLGgsbSl7bGV0IHA9dSgpLGs9ZjIoZj09PWRuLlNwZWNpZmljP3tmb2N1czpkbi5TcGVjaWZpYyxpZDpofTp7Zm9jdXM6Zn0se3Jlc29sdmVJdGVtczooKT0+cC5pdGVtcyxyZXNvbHZlQWN0aXZlSW5kZXg6KCk9PnAuYWN0aXZlSXRlbUluZGV4LHJlc29sdmVJZDp4PT54LmlkLHJlc29sdmVEaXNhYmxlZDp4PT54LmRhdGFSZWYuZGlzYWJsZWR9KTthLnZhbHVlPSIiLGwudmFsdWU9ayxjLnZhbHVlPW0/PzEsby52YWx1ZT1wLml0ZW1zfSxzZWFyY2goZil7bGV0IGg9YS52YWx1ZSE9PSIiPzA6MTthLnZhbHVlKz1mLnRvTG93ZXJDYXNlKCk7bGV0IG09KGwudmFsdWUhPT1udWxsP28udmFsdWUuc2xpY2UobC52YWx1ZStoKS5jb25jYXQoby52YWx1ZS5zbGljZSgwLGwudmFsdWUraCkpOm8udmFsdWUpLmZpbmQoaz0+ay5kYXRhUmVmLnRleHRWYWx1ZS5zdGFydHNXaXRoKGEudmFsdWUpJiYhay5kYXRhUmVmLmRpc2FibGVkKSxwPW0/by52YWx1ZS5pbmRleE9mKG0pOi0xO3A9PT0tMXx8cD09PWwudmFsdWV8fChsLnZhbHVlPXAsYy52YWx1ZT0xKX0sY2xlYXJTZWFyY2goKXthLnZhbHVlPSIifSxyZWdpc3Rlckl0ZW0oZixoKXtsZXQgbT11KHA9PlsuLi5wLHtpZDpmLGRhdGFSZWY6aH1dKTtvLnZhbHVlPW0uaXRlbXMsbC52YWx1ZT1tLmFjdGl2ZUl0ZW1JbmRleCxjLnZhbHVlPTF9LHVucmVnaXN0ZXJJdGVtKGYpe2xldCBoPXUobT0+e2xldCBwPW0uZmluZEluZGV4KGs9PmsuaWQ9PT1mKTtyZXR1cm4gcCE9PS0xJiZtLnNwbGljZShwLDEpLG19KTtvLnZhbHVlPWguaXRlbXMsbC52YWx1ZT1oLmFjdGl2ZUl0ZW1JbmRleCxjLnZhbHVlPTF9fTtyZXR1cm4gcHYoW2ksc10sKGYsaCk9Pnt2YXIgbTtkLmNsb3NlTWVudSgpLE1kKGgsRGQuTG9vc2UpfHwoZi5wcmV2ZW50RGVmYXVsdCgpLChtPVdlKGkpKT09bnVsbHx8bS5mb2N1cygpKX0sb2UoKCk9PnIudmFsdWU9PT0wKSksWnQoSXYsZCksYnYob2UoKCk9PkhuKHIudmFsdWUsezA6THQuT3BlbiwxOkx0LkNsb3NlZH0pKSksKCk9PntsZXQgZj17b3BlbjpyLnZhbHVlPT09MCxjbG9zZTpkLmNsb3NlTWVudX07cmV0dXJuIFh0KHtvdXJQcm9wczp7fSx0aGVpclByb3BzOnQsc2xvdDpmLHNsb3RzOmUsYXR0cnM6bixuYW1lOiJNZW51In0pfX19KSxHMj1OZSh7bmFtZToiTWVudUJ1dHRvbiIscHJvcHM6e2Rpc2FibGVkOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0sYXM6e3R5cGU6W09iamVjdCxTdHJpbmddLGRlZmF1bHQ6ImJ1dHRvbiJ9LGlkOnt0eXBlOlN0cmluZyxkZWZhdWx0Om51bGx9fSxzZXR1cCh0LHthdHRyczplLHNsb3RzOm4sZXhwb3NlOnJ9KXt2YXIgaTtsZXQgcz0oaT10LmlkKSE9bnVsbD9pOmBoZWFkbGVzc3VpLW1lbnUtYnV0dG9uLSR7WXIoKX1gLG89VGwoIk1lbnVCdXR0b24iKTtyKHtlbDpvLmJ1dHRvblJlZiwkZWw6by5idXR0b25SZWZ9KTtmdW5jdGlvbiBhKGQpe3N3aXRjaChkLmtleSl7Y2FzZSBDdC5TcGFjZTpjYXNlIEN0LkVudGVyOmNhc2UgQ3QuQXJyb3dEb3duOmQucHJldmVudERlZmF1bHQoKSxkLnN0b3BQcm9wYWdhdGlvbigpLG8ub3Blbk1lbnUoKSxubigoKT0+e3ZhciBmOyhmPVdlKG8uaXRlbXNSZWYpKT09bnVsbHx8Zi5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLG8uZ29Ub0l0ZW0oZG4uRmlyc3QpfSk7YnJlYWs7Y2FzZSBDdC5BcnJvd1VwOmQucHJldmVudERlZmF1bHQoKSxkLnN0b3BQcm9wYWdhdGlvbigpLG8ub3Blbk1lbnUoKSxubigoKT0+e3ZhciBmOyhmPVdlKG8uaXRlbXNSZWYpKT09bnVsbHx8Zi5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLG8uZ29Ub0l0ZW0oZG4uTGFzdCl9KTticmVha319ZnVuY3Rpb24gbChkKXtzd2l0Y2goZC5rZXkpe2Nhc2UgQ3QuU3BhY2U6ZC5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrfX1mdW5jdGlvbiBjKGQpe3QuZGlzYWJsZWR8fChvLm1lbnVTdGF0ZS52YWx1ZT09PTA/KG8uY2xvc2VNZW51KCksbm4oKCk9Pnt2YXIgZjtyZXR1cm4oZj1XZShvLmJ1dHRvblJlZikpPT1udWxsP3ZvaWQgMDpmLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9KSk6KGQucHJldmVudERlZmF1bHQoKSxvLm9wZW5NZW51KCksVjIoKCk9Pnt2YXIgZjtyZXR1cm4oZj1XZShvLml0ZW1zUmVmKSk9PW51bGw/dm9pZCAwOmYuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX0pKSl9bGV0IHU9czIob2UoKCk9Pih7YXM6dC5hcyx0eXBlOmUudHlwZX0pKSxvLmJ1dHRvblJlZik7cmV0dXJuKCk9Pnt2YXIgZDtsZXQgZj17b3BlbjpvLm1lbnVTdGF0ZS52YWx1ZT09PTB9LHsuLi5ofT10LG09e3JlZjpvLmJ1dHRvblJlZixpZDpzLHR5cGU6dS52YWx1ZSwiYXJpYS1oYXNwb3B1cCI6Im1lbnUiLCJhcmlhLWNvbnRyb2xzIjooZD1XZShvLml0ZW1zUmVmKSk9PW51bGw/dm9pZCAwOmQuaWQsImFyaWEtZXhwYW5kZWQiOm8ubWVudVN0YXRlLnZhbHVlPT09MCxvbktleWRvd246YSxvbktleXVwOmwsb25DbGljazpjfTtyZXR1cm4gWHQoe291clByb3BzOm0sdGhlaXJQcm9wczpoLHNsb3Q6ZixhdHRyczplLHNsb3RzOm4sbmFtZToiTWVudUJ1dHRvbiJ9KX19fSksejI9TmUoe25hbWU6Ik1lbnVJdGVtcyIscHJvcHM6e2FzOnt0eXBlOltPYmplY3QsU3RyaW5nXSxkZWZhdWx0OiJkaXYifSxzdGF0aWM6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSx1bm1vdW50Ont0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0saWQ6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6bnVsbH19LHNldHVwKHQse2F0dHJzOmUsc2xvdHM6bixleHBvc2U6cn0pe3ZhciBpO2xldCBzPShpPXQuaWQpIT1udWxsP2k6YGhlYWRsZXNzdWktbWVudS1pdGVtcy0ke1lyKCl9YCxvPVRsKCJNZW51SXRlbXMiKSxhPXNlKG51bGwpO3Ioe2VsOm8uaXRlbXNSZWYsJGVsOm8uaXRlbXNSZWZ9KSxhMih7Y29udGFpbmVyOm9lKCgpPT5XZShvLml0ZW1zUmVmKSksZW5hYmxlZDpvZSgoKT0+by5tZW51U3RhdGUudmFsdWU9PT0wKSxhY2NlcHQoZil7cmV0dXJuIGYuZ2V0QXR0cmlidXRlKCJyb2xlIik9PT0ibWVudWl0ZW0iP05vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVDpmLmhhc0F0dHJpYnV0ZSgicm9sZSIpP05vZGVGaWx0ZXIuRklMVEVSX1NLSVA6Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUfSx3YWxrKGYpe2Yuc2V0QXR0cmlidXRlKCJyb2xlIiwibm9uZSIpfX0pO2Z1bmN0aW9uIGwoZil7dmFyIGg7c3dpdGNoKGEudmFsdWUmJmNsZWFyVGltZW91dChhLnZhbHVlKSxmLmtleSl7Y2FzZSBDdC5TcGFjZTppZihvLnNlYXJjaFF1ZXJ5LnZhbHVlIT09IiIpcmV0dXJuIGYucHJldmVudERlZmF1bHQoKSxmLnN0b3BQcm9wYWdhdGlvbigpLG8uc2VhcmNoKGYua2V5KTtjYXNlIEN0LkVudGVyOmlmKGYucHJldmVudERlZmF1bHQoKSxmLnN0b3BQcm9wYWdhdGlvbigpLG8uYWN0aXZlSXRlbUluZGV4LnZhbHVlIT09bnVsbCl7bGV0IG09by5pdGVtcy52YWx1ZVtvLmFjdGl2ZUl0ZW1JbmRleC52YWx1ZV07KGg9V2UobS5kYXRhUmVmLmRvbVJlZikpPT1udWxsfHxoLmNsaWNrKCl9by5jbG9zZU1lbnUoKSxkdihXZShvLmJ1dHRvblJlZikpO2JyZWFrO2Nhc2UgQ3QuQXJyb3dEb3duOnJldHVybiBmLnByZXZlbnREZWZhdWx0KCksZi5zdG9wUHJvcGFnYXRpb24oKSxvLmdvVG9JdGVtKGRuLk5leHQpO2Nhc2UgQ3QuQXJyb3dVcDpyZXR1cm4gZi5wcmV2ZW50RGVmYXVsdCgpLGYuc3RvcFByb3BhZ2F0aW9uKCksby5nb1RvSXRlbShkbi5QcmV2aW91cyk7Y2FzZSBDdC5Ib21lOmNhc2UgQ3QuUGFnZVVwOnJldHVybiBmLnByZXZlbnREZWZhdWx0KCksZi5zdG9wUHJvcGFnYXRpb24oKSxvLmdvVG9JdGVtKGRuLkZpcnN0KTtjYXNlIEN0LkVuZDpjYXNlIEN0LlBhZ2VEb3duOnJldHVybiBmLnByZXZlbnREZWZhdWx0KCksZi5zdG9wUHJvcGFnYXRpb24oKSxvLmdvVG9JdGVtKGRuLkxhc3QpO2Nhc2UgQ3QuRXNjYXBlOmYucHJldmVudERlZmF1bHQoKSxmLnN0b3BQcm9wYWdhdGlvbigpLG8uY2xvc2VNZW51KCksbm4oKCk9Pnt2YXIgbTtyZXR1cm4obT1XZShvLmJ1dHRvblJlZikpPT1udWxsP3ZvaWQgMDptLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9KTticmVhaztjYXNlIEN0LlRhYjpmLnByZXZlbnREZWZhdWx0KCksZi5zdG9wUHJvcGFnYXRpb24oKSxvLmNsb3NlTWVudSgpLG5uKCgpPT5uMihXZShvLmJ1dHRvblJlZiksZi5zaGlmdEtleT9Zbi5QcmV2aW91czpZbi5OZXh0KSk7YnJlYWs7ZGVmYXVsdDpmLmtleS5sZW5ndGg9PT0xJiYoby5zZWFyY2goZi5rZXkpLGEudmFsdWU9c2V0VGltZW91dCgoKT0+by5jbGVhclNlYXJjaCgpLDM1MCkpO2JyZWFrfX1mdW5jdGlvbiBjKGYpe3N3aXRjaChmLmtleSl7Y2FzZSBDdC5TcGFjZTpmLnByZXZlbnREZWZhdWx0KCk7YnJlYWt9fWxldCB1PWtsKCksZD1vZSgoKT0+dSE9PW51bGw/KHUudmFsdWUmTHQuT3Blbik9PT1MdC5PcGVuOm8ubWVudVN0YXRlLnZhbHVlPT09MCk7cmV0dXJuKCk9Pnt2YXIgZixoO2xldCBtPXtvcGVuOm8ubWVudVN0YXRlLnZhbHVlPT09MH0sey4uLnB9PXQsaz17ImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6by5hY3RpdmVJdGVtSW5kZXgudmFsdWU9PT1udWxsfHwoZj1vLml0ZW1zLnZhbHVlW28uYWN0aXZlSXRlbUluZGV4LnZhbHVlXSk9PW51bGw/dm9pZCAwOmYuaWQsImFyaWEtbGFiZWxsZWRieSI6KGg9V2Uoby5idXR0b25SZWYpKT09bnVsbD92b2lkIDA6aC5pZCxpZDpzLG9uS2V5ZG93bjpsLG9uS2V5dXA6Yyxyb2xlOiJtZW51Iix0YWJJbmRleDowLHJlZjpvLml0ZW1zUmVmfTtyZXR1cm4gWHQoe291clByb3BzOmssdGhlaXJQcm9wczpwLHNsb3Q6bSxhdHRyczplLHNsb3RzOm4sZmVhdHVyZXM6Y3MuUmVuZGVyU3RyYXRlZ3l8Y3MuU3RhdGljLHZpc2libGU6ZC52YWx1ZSxuYW1lOiJNZW51SXRlbXMifSl9fX0pLFhoPU5lKHtuYW1lOiJNZW51SXRlbSIsaW5oZXJpdEF0dHJzOiExLHByb3BzOnthczp7dHlwZTpbT2JqZWN0LFN0cmluZ10sZGVmYXVsdDoidGVtcGxhdGUifSxkaXNhYmxlZDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGlkOnt0eXBlOlN0cmluZyxkZWZhdWx0Om51bGx9fSxzZXR1cCh0LHtzbG90czplLGF0dHJzOm4sZXhwb3NlOnJ9KXt2YXIgaTtsZXQgcz0oaT10LmlkKSE9bnVsbD9pOmBoZWFkbGVzc3VpLW1lbnUtaXRlbS0ke1lyKCl9YCxvPVRsKCJNZW51SXRlbSIpLGE9c2UobnVsbCk7cih7ZWw6YSwkZWw6YX0pO2xldCBsPW9lKCgpPT5vLmFjdGl2ZUl0ZW1JbmRleC52YWx1ZSE9PW51bGw/by5pdGVtcy52YWx1ZVtvLmFjdGl2ZUl0ZW1JbmRleC52YWx1ZV0uaWQ9PT1zOiExKSxjPWoyKGEpLHU9b2UoKCk9Pih7ZGlzYWJsZWQ6dC5kaXNhYmxlZCxnZXQgdGV4dFZhbHVlKCl7cmV0dXJuIGMoKX0sZG9tUmVmOmF9KSk7eXQoKCk9Pm8ucmVnaXN0ZXJJdGVtKHMsdSkpLGFuKCgpPT5vLnVucmVnaXN0ZXJJdGVtKHMpKSxLdCgoKT0+e28ubWVudVN0YXRlLnZhbHVlPT09MCYmbC52YWx1ZSYmby5hY3RpdmF0aW9uVHJpZ2dlci52YWx1ZSE9PTAmJm5uKCgpPT57dmFyIHgsQztyZXR1cm4oQz0oeD1XZShhKSk9PW51bGw/dm9pZCAwOnguc2Nyb2xsSW50b1ZpZXcpPT1udWxsP3ZvaWQgMDpDLmNhbGwoeCx7YmxvY2s6Im5lYXJlc3QifSl9KX0pO2Z1bmN0aW9uIGQoeCl7aWYodC5kaXNhYmxlZClyZXR1cm4geC5wcmV2ZW50RGVmYXVsdCgpO28uY2xvc2VNZW51KCksZHYoV2Uoby5idXR0b25SZWYpKX1mdW5jdGlvbiBmKCl7aWYodC5kaXNhYmxlZClyZXR1cm4gby5nb1RvSXRlbShkbi5Ob3RoaW5nKTtvLmdvVG9JdGVtKGRuLlNwZWNpZmljLHMpfWxldCBoPW8yKCk7ZnVuY3Rpb24gbSh4KXtoLnVwZGF0ZSh4KX1mdW5jdGlvbiBwKHgpe2gud2FzTW92ZWQoeCkmJih0LmRpc2FibGVkfHxsLnZhbHVlfHxvLmdvVG9JdGVtKGRuLlNwZWNpZmljLHMsMCkpfWZ1bmN0aW9uIGsoeCl7aC53YXNNb3ZlZCh4KSYmKHQuZGlzYWJsZWR8fGwudmFsdWUmJm8uZ29Ub0l0ZW0oZG4uTm90aGluZykpfXJldHVybigpPT57bGV0e2Rpc2FibGVkOngsLi4uQ309dCxiPXthY3RpdmU6bC52YWx1ZSxkaXNhYmxlZDp4LGNsb3NlOm8uY2xvc2VNZW51fTtyZXR1cm4gWHQoe291clByb3BzOntpZDpzLHJlZjphLHJvbGU6Im1lbnVpdGVtIix0YWJJbmRleDp4PT09ITA/dm9pZCAwOi0xLCJhcmlhLWRpc2FibGVkIjp4PT09ITA/ITA6dm9pZCAwLG9uQ2xpY2s6ZCxvbkZvY3VzOmYsb25Qb2ludGVyZW50ZXI6bSxvbk1vdXNlZW50ZXI6bSxvblBvaW50ZXJtb3ZlOnAsb25Nb3VzZW1vdmU6cCxvblBvaW50ZXJsZWF2ZTprLG9uTW91c2VsZWF2ZTprfSx0aGVpclByb3BzOnsuLi5uLC4uLkN9LHNsb3Q6YixhdHRyczpuLHNsb3RzOmUsbmFtZToiTWVudUl0ZW0ifSl9fX0pO2Z1bmN0aW9uIEgyKHQpe2xldCBlPXtjYWxsZWQ6ITF9O3JldHVybiguLi5uKT0+e2lmKCFlLmNhbGxlZClyZXR1cm4gZS5jYWxsZWQ9ITAsdCguLi5uKX19ZnVuY3Rpb24gb2ModCwuLi5lKXt0JiZlLmxlbmd0aD4wJiZ0LmNsYXNzTGlzdC5hZGQoLi4uZSl9ZnVuY3Rpb24gaWEodCwuLi5lKXt0JiZlLmxlbmd0aD4wJiZ0LmNsYXNzTGlzdC5yZW1vdmUoLi4uZSl9dmFyIHJ1PSh0PT4odC5GaW5pc2hlZD0iZmluaXNoZWQiLHQuQ2FuY2VsbGVkPSJjYW5jZWxsZWQiLHQpKShydXx8e30pO2Z1bmN0aW9uIEoyKHQsZSl7bGV0IG49JG8oKTtpZighdClyZXR1cm4gbi5kaXNwb3NlO2xldHt0cmFuc2l0aW9uRHVyYXRpb246cix0cmFuc2l0aW9uRGVsYXk6aX09Z2V0Q29tcHV0ZWRTdHlsZSh0KSxbcyxvXT1bcixpXS5tYXAoYT0+e2xldFtsPTBdPWEuc3BsaXQoIiwiKS5maWx0ZXIoQm9vbGVhbikubWFwKGM9PmMuaW5jbHVkZXMoIm1zIik/cGFyc2VGbG9hdChjKTpwYXJzZUZsb2F0KGMpKjFlMykuc29ydCgoYyx1KT0+dS1jKTtyZXR1cm4gbH0pO3JldHVybiBzIT09MD9uLnNldFRpbWVvdXQoKCk9PmUoImZpbmlzaGVkIikscytvKTplKCJmaW5pc2hlZCIpLG4uYWRkKCgpPT5lKCJjYW5jZWxsZWQiKSksbi5kaXNwb3NlfWZ1bmN0aW9uIFFoKHQsZSxuLHIsaSxzKXtsZXQgbz0kbygpLGE9cyE9PXZvaWQgMD9IMihzKTooKT0+e307cmV0dXJuIGlhKHQsLi4uaSksb2ModCwuLi5lLC4uLm4pLG8ubmV4dEZyYW1lKCgpPT57aWEodCwuLi5uKSxvYyh0LC4uLnIpLG8uYWRkKEoyKHQsbD0+KGlhKHQsLi4uciwuLi5lKSxvYyh0LC4uLmkpLGEobCkpKSl9KSxvLmFkZCgoKT0+aWEodCwuLi5lLC4uLm4sLi4uciwuLi5pKSksby5hZGQoKCk9PmEoImNhbmNlbGxlZCIpKSxvLmRpc3Bvc2V9ZnVuY3Rpb24gb2kodD0iIil7cmV0dXJuIHQuc3BsaXQoL1xzKy8pLmZpbHRlcihlPT5lLmxlbmd0aD4xKX1sZXQgRmQ9U3ltYm9sKCJUcmFuc2l0aW9uQ29udGV4dCIpO3ZhciBxMj0odD0+KHQuVmlzaWJsZT0idmlzaWJsZSIsdC5IaWRkZW49ImhpZGRlbiIsdCkpKHEyfHx7fSk7ZnVuY3Rpb24gWjIoKXtyZXR1cm4gdXQoRmQsbnVsbCkhPT1udWxsfWZ1bmN0aW9uIEsyKCl7bGV0IHQ9dXQoRmQsbnVsbCk7aWYodD09PW51bGwpdGhyb3cgbmV3IEVycm9yKCJBIDxUcmFuc2l0aW9uQ2hpbGQgLz4gaXMgdXNlZCBidXQgaXQgaXMgbWlzc2luZyBhIHBhcmVudCA8VHJhbnNpdGlvblJvb3QgLz4uIik7cmV0dXJuIHR9ZnVuY3Rpb24gWTIoKXtsZXQgdD11dCgkZCxudWxsKTtpZih0PT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIkEgPFRyYW5zaXRpb25DaGlsZCAvPiBpcyB1c2VkIGJ1dCBpdCBpcyBtaXNzaW5nIGEgcGFyZW50IDxUcmFuc2l0aW9uUm9vdCAvPi4iKTtyZXR1cm4gdH1sZXQgJGQ9U3ltYm9sKCJOZXN0aW5nQ29udGV4dCIpO2Z1bmN0aW9uIEVsKHQpe3JldHVybiJjaGlsZHJlbiJpbiB0P0VsKHQuY2hpbGRyZW4pOnQudmFsdWUuZmlsdGVyKCh7c3RhdGU6ZX0pPT5lPT09InZpc2libGUiKS5sZW5ndGg+MH1mdW5jdGlvbiBOdih0KXtsZXQgZT1zZShbXSksbj1zZSghMSk7eXQoKCk9Pm4udmFsdWU9ITApLGFuKCgpPT5uLnZhbHVlPSExKTtmdW5jdGlvbiByKHMsbz1Vci5IaWRkZW4pe2xldCBhPWUudmFsdWUuZmluZEluZGV4KCh7aWQ6bH0pPT5sPT09cyk7YSE9PS0xJiYoSG4obyx7W1VyLlVubW91bnRdKCl7ZS52YWx1ZS5zcGxpY2UoYSwxKX0sW1VyLkhpZGRlbl0oKXtlLnZhbHVlW2FdLnN0YXRlPSJoaWRkZW4ifX0pLCFFbChlKSYmbi52YWx1ZSYmKHQ9PW51bGx8fHQoKSkpfWZ1bmN0aW9uIGkocyl7bGV0IG89ZS52YWx1ZS5maW5kKCh7aWQ6YX0pPT5hPT09cyk7cmV0dXJuIG8/by5zdGF0ZSE9PSJ2aXNpYmxlIiYmKG8uc3RhdGU9InZpc2libGUiKTplLnZhbHVlLnB1c2goe2lkOnMsc3RhdGU6InZpc2libGUifSksKCk9PnIocyxVci5Vbm1vdW50KX1yZXR1cm57Y2hpbGRyZW46ZSxyZWdpc3RlcjppLHVucmVnaXN0ZXI6cn19bGV0IFJ2PWNzLlJlbmRlclN0cmF0ZWd5LHlvPU5lKHtwcm9wczp7YXM6e3R5cGU6W09iamVjdCxTdHJpbmddLGRlZmF1bHQ6ImRpdiJ9LHNob3c6e3R5cGU6W0Jvb2xlYW5dLGRlZmF1bHQ6bnVsbH0sdW5tb3VudDp7dHlwZTpbQm9vbGVhbl0sZGVmYXVsdDohMH0sYXBwZWFyOnt0eXBlOltCb29sZWFuXSxkZWZhdWx0OiExfSxlbnRlcjp7dHlwZTpbU3RyaW5nXSxkZWZhdWx0OiIifSxlbnRlckZyb206e3R5cGU6W1N0cmluZ10sZGVmYXVsdDoiIn0sZW50ZXJUbzp7dHlwZTpbU3RyaW5nXSxkZWZhdWx0OiIifSxlbnRlcmVkOnt0eXBlOltTdHJpbmddLGRlZmF1bHQ6IiJ9LGxlYXZlOnt0eXBlOltTdHJpbmddLGRlZmF1bHQ6IiJ9LGxlYXZlRnJvbTp7dHlwZTpbU3RyaW5nXSxkZWZhdWx0OiIifSxsZWF2ZVRvOnt0eXBlOltTdHJpbmddLGRlZmF1bHQ6IiJ9fSxlbWl0czp7YmVmb3JlRW50ZXI6KCk9PiEwLGFmdGVyRW50ZXI6KCk9PiEwLGJlZm9yZUxlYXZlOigpPT4hMCxhZnRlckxlYXZlOigpPT4hMH0sc2V0dXAodCx7ZW1pdDplLGF0dHJzOm4sc2xvdHM6cixleHBvc2U6aX0pe2xldCBzPXNlKDApO2Z1bmN0aW9uIG8oKXtzLnZhbHVlfD1MdC5PcGVuaW5nLGUoImJlZm9yZUVudGVyIil9ZnVuY3Rpb24gYSgpe3MudmFsdWUmPX5MdC5PcGVuaW5nLGUoImFmdGVyRW50ZXIiKX1mdW5jdGlvbiBsKCl7cy52YWx1ZXw9THQuQ2xvc2luZyxlKCJiZWZvcmVMZWF2ZSIpfWZ1bmN0aW9uIGMoKXtzLnZhbHVlJj1+THQuQ2xvc2luZyxlKCJhZnRlckxlYXZlIil9aWYoIVoyKCkmJmMyKCkpcmV0dXJuKCk9PmJ0KGpkLHsuLi50LG9uQmVmb3JlRW50ZXI6byxvbkFmdGVyRW50ZXI6YSxvbkJlZm9yZUxlYXZlOmwsb25BZnRlckxlYXZlOmN9LHIpO2xldCB1PXNlKG51bGwpLGQ9b2UoKCk9PnQudW5tb3VudD9Vci5Vbm1vdW50OlVyLkhpZGRlbik7aSh7ZWw6dSwkZWw6dX0pO2xldHtzaG93OmYsYXBwZWFyOmh9PUsyKCkse3JlZ2lzdGVyOm0sdW5yZWdpc3RlcjpwfT1ZMigpLGs9c2UoZi52YWx1ZT8idmlzaWJsZSI6ImhpZGRlbiIpLHg9e3ZhbHVlOiEwfSxDPVlyKCksYj17dmFsdWU6ITF9LFQ9TnYoKCk9PnshYi52YWx1ZSYmay52YWx1ZSE9PSJoaWRkZW4iJiYoay52YWx1ZT0iaGlkZGVuIixwKEMpLGMoKSl9KTt5dCgoKT0+e2xldCByZT1tKEMpO2FuKHJlKX0pLEt0KCgpPT57aWYoZC52YWx1ZT09PVVyLkhpZGRlbiYmQyl7aWYoZi52YWx1ZSYmay52YWx1ZSE9PSJ2aXNpYmxlIil7ay52YWx1ZT0idmlzaWJsZSI7cmV0dXJufUhuKGsudmFsdWUse2hpZGRlbjooKT0+cChDKSx2aXNpYmxlOigpPT5tKEMpfSl9fSk7bGV0IEU9b2kodC5lbnRlciksdz1vaSh0LmVudGVyRnJvbSksUj1vaSh0LmVudGVyVG8pLEQ9b2kodC5lbnRlcmVkKSxJPW9pKHQubGVhdmUpLEI9b2kodC5sZWF2ZUZyb20pLEw9b2kodC5sZWF2ZVRvKTt5dCgoKT0+e0t0KCgpPT57aWYoay52YWx1ZT09PSJ2aXNpYmxlIil7bGV0IHJlPVdlKHUpO2lmKHJlIGluc3RhbmNlb2YgQ29tbWVudCYmcmUuZGF0YT09PSIiKXRocm93IG5ldyBFcnJvcigiRGlkIHlvdSBmb3JnZXQgdG8gcGFzc3Rocm91Z2ggdGhlIGByZWZgIHRvIHRoZSBhY3R1YWwgRE9NIG5vZGU/Iil9fSl9KTtmdW5jdGlvbiBqKHJlKXtsZXQgeGU9eC52YWx1ZSYmIWgudmFsdWUsVGU9V2UodSk7IVRlfHwhKFRlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpfHx4ZXx8KGIudmFsdWU9ITAsZi52YWx1ZSYmbygpLGYudmFsdWV8fGwoKSxyZShmLnZhbHVlP1FoKFRlLEUsdyxSLEQsbGU9PntiLnZhbHVlPSExLGxlPT09cnUuRmluaXNoZWQmJmEoKX0pOlFoKFRlLEksQixMLEQsbGU9PntiLnZhbHVlPSExLGxlPT09cnUuRmluaXNoZWQmJihFbChUKXx8KGsudmFsdWU9ImhpZGRlbiIscChDKSxjKCkpKX0pKSl9cmV0dXJuIHl0KCgpPT57Z3QoW2ZdLChyZSx4ZSxUZSk9PntqKFRlKSx4LnZhbHVlPSExfSx7aW1tZWRpYXRlOiEwfSl9KSxadCgkZCxUKSxidihvZSgoKT0+SG4oay52YWx1ZSx7dmlzaWJsZTpMdC5PcGVuLGhpZGRlbjpMdC5DbG9zZWR9KXxzLnZhbHVlKSksKCk9PntsZXR7YXBwZWFyOnJlLHNob3c6eGUsZW50ZXI6VGUsZW50ZXJGcm9tOmxlLGVudGVyVG86eWUsZW50ZXJlZDpBZSxsZWF2ZTpaZSxsZWF2ZUZyb206cnQsbGVhdmVUbzp3ZSwuLi5KfT10LEllPXtyZWY6dX0semU9ey4uLkosLi4uaC52YWx1ZSYmZi52YWx1ZSYmRm8uaXNTZXJ2ZXI/e2NsYXNzOkRlKFtuLmNsYXNzLEouY2xhc3MsLi4uRSwuLi53XSl9Ont9fTtyZXR1cm4gWHQoe3RoZWlyUHJvcHM6emUsb3VyUHJvcHM6SWUsc2xvdDp7fSxzbG90czpyLGF0dHJzOm4sZmVhdHVyZXM6UnYsdmlzaWJsZTprLnZhbHVlPT09InZpc2libGUiLG5hbWU6IlRyYW5zaXRpb25DaGlsZCJ9KX19fSksWDI9eW8samQ9TmUoe2luaGVyaXRBdHRyczohMSxwcm9wczp7YXM6e3R5cGU6W09iamVjdCxTdHJpbmddLGRlZmF1bHQ6ImRpdiJ9LHNob3c6e3R5cGU6W0Jvb2xlYW5dLGRlZmF1bHQ6bnVsbH0sdW5tb3VudDp7dHlwZTpbQm9vbGVhbl0sZGVmYXVsdDohMH0sYXBwZWFyOnt0eXBlOltCb29sZWFuXSxkZWZhdWx0OiExfSxlbnRlcjp7dHlwZTpbU3RyaW5nXSxkZWZhdWx0OiIifSxlbnRlckZyb206e3R5cGU6W1N0cmluZ10sZGVmYXVsdDoiIn0sZW50ZXJUbzp7dHlwZTpbU3RyaW5nXSxkZWZhdWx0OiIifSxlbnRlcmVkOnt0eXBlOltTdHJpbmddLGRlZmF1bHQ6IiJ9LGxlYXZlOnt0eXBlOltTdHJpbmddLGRlZmF1bHQ6IiJ9LGxlYXZlRnJvbTp7dHlwZTpbU3RyaW5nXSxkZWZhdWx0OiIifSxsZWF2ZVRvOnt0eXBlOltTdHJpbmddLGRlZmF1bHQ6IiJ9fSxlbWl0czp7YmVmb3JlRW50ZXI6KCk9PiEwLGFmdGVyRW50ZXI6KCk9PiEwLGJlZm9yZUxlYXZlOigpPT4hMCxhZnRlckxlYXZlOigpPT4hMH0sc2V0dXAodCx7ZW1pdDplLGF0dHJzOm4sc2xvdHM6cn0pe2xldCBpPWtsKCkscz1vZSgoKT0+dC5zaG93PT09bnVsbCYmaSE9PW51bGw/KGkudmFsdWUmTHQuT3Blbik9PT1MdC5PcGVuOnQuc2hvdyk7S3QoKCk9PntpZighWyEwLCExXS5pbmNsdWRlcyhzLnZhbHVlKSl0aHJvdyBuZXcgRXJyb3IoJ0EgPFRyYW5zaXRpb24gLz4gaXMgdXNlZCBidXQgaXQgaXMgbWlzc2luZyBhIGA6c2hvdz0idHJ1ZSB8IGZhbHNlImAgcHJvcC4nKX0pO2xldCBvPXNlKHMudmFsdWU/InZpc2libGUiOiJoaWRkZW4iKSxhPU52KCgpPT57by52YWx1ZT0iaGlkZGVuIn0pLGw9c2UoITApLGM9e3Nob3c6cyxhcHBlYXI6b2UoKCk9PnQuYXBwZWFyfHwhbC52YWx1ZSl9O3JldHVybiB5dCgoKT0+e0t0KCgpPT57bC52YWx1ZT0hMSxzLnZhbHVlP28udmFsdWU9InZpc2libGUiOkVsKGEpfHwoby52YWx1ZT0iaGlkZGVuIil9KX0pLFp0KCRkLGEpLFp0KEZkLGMpLCgpPT57bGV0IHU9dnYodCxbInNob3ciLCJhcHBlYXIiLCJ1bm1vdW50Iiwib25CZWZvcmVFbnRlciIsIm9uQmVmb3JlTGVhdmUiLCJvbkFmdGVyRW50ZXIiLCJvbkFmdGVyTGVhdmUiXSksZD17dW5tb3VudDp0LnVubW91bnR9O3JldHVybiBYdCh7b3VyUHJvcHM6ey4uLmQsYXM6InRlbXBsYXRlIn0sdGhlaXJQcm9wczp7fSxzbG90Ont9LHNsb3RzOnsuLi5yLGRlZmF1bHQ6KCk9PltidChYMix7b25CZWZvcmVFbnRlcjooKT0+ZSgiYmVmb3JlRW50ZXIiKSxvbkFmdGVyRW50ZXI6KCk9PmUoImFmdGVyRW50ZXIiKSxvbkJlZm9yZUxlYXZlOigpPT5lKCJiZWZvcmVMZWF2ZSIpLG9uQWZ0ZXJMZWF2ZTooKT0+ZSgiYWZ0ZXJMZWF2ZSIpLC4uLm4sLi4uZCwuLi51fSxyLmRlZmF1bHQpXX0sYXR0cnM6e30sZmVhdHVyZXM6UnYsdmlzaWJsZTpvLnZhbHVlPT09InZpc2libGUiLG5hbWU6IlRyYW5zaXRpb24ifSl9fX0pO2NvbnN0IFEyPXtjbGFzczoiZmxleCBtaW4taC1zY3JlZW4gaXRlbXMtc3RhcnQganVzdGlmeS1jZW50ZXIgcHgtNCBwdC00IHRleHQtY2VudGVyIG1kOml0ZW1zLWNlbnRlciBtZDpwYi0wIn0sZXg9QSgic3BhbiIse2NsYXNzOiJoaWRkZW4gc206aW5saW5lLWJsb2NrIHNtOmgtc2NyZWVuIHNtOmFsaWduLW1pZGRsZSIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LCLigIsiLC0xKSx0eD17Y2xhc3M6InNtOmZsZXggc206aXRlbXMtY2VudGVyIn0sbng9e2NsYXNzOiJtdC0zIHRleHQtY2VudGVyIHNtOm10LTAgc206dGV4dC1sZWZ0In0scng9e2tleTowLGNsYXNzOiJtdC0yIn0saXg9WyJpbm5lckhUTUwiXSxzeD17Y2xhc3M6Im10LTQgZmxleCBmbGV4LWNvbCBzcGFjZS15LTIgc206ZmxleC1yb3cgc206anVzdGlmeS1lbmQgc206c3BhY2UteC0yIHNtOnNwYWNlLXktMCJ9LER2PU5lKHtfX25hbWU6IkRpYWxvZyIscHJvcHM6Y28oe3RpdGxlOnt9LHN1YnRpdGxlOnt9LHN1Ym1pdDp7dHlwZTpGdW5jdGlvbn19LHttb2RlbFZhbHVlOnt0eXBlOkJvb2xlYW59LG1vZGVsTW9kaWZpZXJzOnt9fSksZW1pdHM6WyJ1cGRhdGU6bW9kZWxWYWx1ZSJdLHNldHVwKHQpe2NvbnN0IGU9Y2wodCwibW9kZWxWYWx1ZSIpO3JldHVybihuLHIpPT4oVSgpLHR0KFMoamQpLHthczoidGVtcGxhdGUiLHNob3c6ZS52YWx1ZX0se2RlZmF1bHQ6bmUoKCk9PltlZShTKE92KSx7YXM6ImRpdiIsY2xhc3M6ImZpeGVkIGluc2V0LTAgei0zMCBvdmVyZmxvdy15LWhpZGRlbiIsb25DbG9zZTpyWzFdfHwoclsxXT1pPT5lLnZhbHVlPSExKX0se2RlZmF1bHQ6bmUoKCk9PltBKCJkaXYiLFEyLFtlZShTKHlvKSx7YXM6InRlbXBsYXRlIixlbnRlcjoiZWFzZS1vdXQgZHVyYXRpb24tMzAwIiwiZW50ZXItZnJvbSI6Im9wYWNpdHktMCIsImVudGVyLXRvIjoib3BhY2l0eS0xMDAiLGxlYXZlOiJlYXNlLWluIGR1cmF0aW9uLTIwMCIsImxlYXZlLWZyb20iOiJvcGFjaXR5LTEwMCIsImxlYXZlLXRvIjoib3BhY2l0eS0wIn0se2RlZmF1bHQ6bmUoKCk9PltlZShTKEN2KSx7Y2xhc3M6ImZpeGVkIGluc2V0LTAgYmctZ3JheS01MDAgYmctb3BhY2l0eS03NSBiYWNrZHJvcC1ibHVyLXNtIHRyYW5zaXRpb24tb3BhY2l0eSJ9KV0pLF86MX0pLGV4LGVlKFMoeW8pLHthczoidGVtcGxhdGUiLGVudGVyOiJlYXNlLW91dCBkdXJhdGlvbi0zMDAiLCJlbnRlci1mcm9tIjoib3BhY2l0eS0wIHRyYW5zbGF0ZS15LTQgc206dHJhbnNsYXRlLXktMCBzbTpzY2FsZS05NSIsImVudGVyLXRvIjoib3BhY2l0eS0xMDAgdHJhbnNsYXRlLXktMCBzbTpzY2FsZS0xMDAiLGxlYXZlOiJlYXNlLWluIGR1cmF0aW9uLTIwMCIsImxlYXZlLWZyb20iOiJvcGFjaXR5LTEwMCB0cmFuc2xhdGUteS0wIHNtOnNjYWxlLTEwMCIsImxlYXZlLXRvIjoib3BhY2l0eS0wIHRyYW5zbGF0ZS15LTQgc206dHJhbnNsYXRlLXktMCBzbTpzY2FsZS05NSJ9LHtkZWZhdWx0Om5lKCgpPT5bZWUoUyhGMikse2NsYXNzOiJyZWxhdGl2ZSB0cmFuc2Zvcm0gc3BhY2UteS00IG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLWxnIGJnLXdoaXRlIHB4LTQgcGItNCBwdC01IHRleHQtbGVmdCBzaGFkb3cteGwgdHJhbnNpdGlvbi1hbGwgc206bXktOCBzbTp3LWZ1bGwgc206bWF4LXctbGcgc206cC02In0se2RlZmF1bHQ6bmUoKCk9PltBKCJkaXYiLHR4LFtBKCJkaXYiLG54LFtVdChuLiRzbG90cywidGl0bGUiLHt9LCgpPT5bZWUoUyhQdikse2FzOiJoMyIsY2xhc3M6InRleHQtYmFzZSBmb250LXNlbWlib2xkIGxlYWRpbmctNiB0ZXh0LWdyYXktOTAwIn0se2RlZmF1bHQ6bmUoKCk9PlskZShLKG4udGl0bGUpLDEpXSksXzoxfSksbi5zdWJ0aXRsZT8oVSgpLFooImRpdiIscngsW0EoInAiLHtjbGFzczoidGV4dC1zbSB0ZXh0LWdyYXktNTAwIixpbm5lckhUTUw6bi5zdWJ0aXRsZX0sbnVsbCw4LGl4KV0pKTpNZSgiIiwhMCldKV0pXSksQSgiZm9ybSIse29uU3VibWl0OnJbMF18fChyWzBdPUpzKGk9Pm4uc3VibWl0JiZuLnN1Ym1pdCgpLFsicHJldmVudCJdKSl9LFtVdChuLiRzbG90cywiY29udGVudCIpLEEoImRpdiIsc3gsW1V0KG4uJHNsb3RzLCJhY3Rpb25zIildKV0sMzIpXSksXzozfSldKSxfOjN9KV0pXSksXzozfSldKSxfOjN9LDgsWyJzaG93Il0pKX19KTtmdW5jdGlvbiBNdih0KXtyZXR1cm57YWxsOnQ9dHx8bmV3IE1hcCxvbjpmdW5jdGlvbihlLG4pe3ZhciByPXQuZ2V0KGUpO3I/ci5wdXNoKG4pOnQuc2V0KGUsW25dKX0sb2ZmOmZ1bmN0aW9uKGUsbil7dmFyIHI9dC5nZXQoZSk7ciYmKG4/ci5zcGxpY2Uoci5pbmRleE9mKG4pPj4+MCwxKTp0LnNldChlLFtdKSl9LGVtaXQ6ZnVuY3Rpb24oZSxuKXt2YXIgcj10LmdldChlKTtyJiZyLnNsaWNlKCkubWFwKGZ1bmN0aW9uKGkpe2kobil9KSwocj10LmdldCgiKiIpKSYmci5zbGljZSgpLm1hcChmdW5jdGlvbihpKXtpKGUsbil9KX19fWNvbnN0IGVtPU12KCksb3g9KCk9Pih7Y29uZmlybTphc3luYyhlLG4scixpPSJwcmltYXJ5Iik9Pm5ldyBQcm9taXNlKHM9PntlbS5lbWl0KCJjb25maXJtIix7dGl0bGU6ZSxzdWJ0aXRsZTpuLGNvbmZpcm1CdXR0b25UZXh0OnIsY29uZmlybUJ1dHRvbkNvbG9yOmkscmVzb2x2ZTpzfSl9KSxlbWl0dGVyOmVtfSk7LyohCiAgKiBzaGFyZWQgdjkuMTMuMQogICogKGMpIDIwMjQga2F6dXlhIGthd2FndWNoaQogICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLgogICovY29uc3QgTGE9dHlwZW9mIHdpbmRvdzwidSIsUXI9KHQsZT0hMSk9PmU/U3ltYm9sLmZvcih0KTpTeW1ib2wodCksYXg9KHQsZSxuKT0+bHgoe2w6dCxrOmUsczpufSksbHg9dD0+SlNPTi5zdHJpbmdpZnkodCkucmVwbGFjZSgvXHUyMDI4L2csIlxcdTIwMjgiKS5yZXBsYWNlKC9cdTIwMjkvZywiXFx1MjAyOSIpLnJlcGxhY2UoL1x1MDAyNy9nLCJcXHUwMDI3IikseHQ9dD0+dHlwZW9mIHQ9PSJudW1iZXIiJiZpc0Zpbml0ZSh0KSxjeD10PT5Gdih0KT09PSJbb2JqZWN0IERhdGVdIixIcj10PT5Gdih0KT09PSJbb2JqZWN0IFJlZ0V4cF0iLHhsPXQ9PkxlKHQpJiZPYmplY3Qua2V5cyh0KS5sZW5ndGg9PT0wLEZ0PU9iamVjdC5hc3NpZ247bGV0IHRtO2NvbnN0IHByPSgpPT50bXx8KHRtPXR5cGVvZiBnbG9iYWxUaGlzPCJ1Ij9nbG9iYWxUaGlzOnR5cGVvZiBzZWxmPCJ1Ij9zZWxmOnR5cGVvZiB3aW5kb3c8InUiP3dpbmRvdzp0eXBlb2YgZ2xvYmFsPCJ1Ij9nbG9iYWw6e30pO2Z1bmN0aW9uIG5tKHQpe3JldHVybiB0LnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7IikucmVwbGFjZSgvJy9nLCImYXBvczsiKX1jb25zdCB1eD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIEZhKHQsZSl7cmV0dXJuIHV4LmNhbGwodCxlKX1jb25zdCBmdD1BcnJheS5pc0FycmF5LGN0PXQ9PnR5cGVvZiB0PT0iZnVuY3Rpb24iLHBlPXQ9PnR5cGVvZiB0PT0ic3RyaW5nIixHZT10PT50eXBlb2YgdD09ImJvb2xlYW4iLGl0PXQ9PnQhPT1udWxsJiZ0eXBlb2YgdD09Im9iamVjdCIsZHg9dD0+aXQodCkmJmN0KHQudGhlbikmJmN0KHQuY2F0Y2gpLEx2PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsRnY9dD0+THYuY2FsbCh0KSxMZT10PT57aWYoIWl0KHQpKXJldHVybiExO2NvbnN0IGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO3JldHVybiBlPT09bnVsbHx8ZS5jb25zdHJ1Y3Rvcj09PU9iamVjdH0sZng9dD0+dD09bnVsbD8iIjpmdCh0KXx8TGUodCkmJnQudG9TdHJpbmc9PT1Mdj9KU09OLnN0cmluZ2lmeSh0LG51bGwsMik6U3RyaW5nKHQpO2Z1bmN0aW9uIGh4KHQsZT0iIil7cmV0dXJuIHQucmVkdWNlKChuLHIsaSk9Pmk9PT0wP24rcjpuK2UrciwiIil9ZnVuY3Rpb24gQWwodCl7bGV0IGU9dDtyZXR1cm4oKT0+KytlfWZ1bmN0aW9uIG14KHQsZSl7dHlwZW9mIGNvbnNvbGU8InUiJiYoY29uc29sZS53YXJuKCJbaW50bGlmeV0gIit0KSxlJiZjb25zb2xlLndhcm4oZS5zdGFjaykpfWNvbnN0IHNhPXQ9PiFpdCh0KXx8ZnQodCk7ZnVuY3Rpb24gYmEodCxlKXtpZihzYSh0KXx8c2EoZSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHZhbHVlIik7Y29uc3Qgbj1be3NyYzp0LGRlczplfV07Zm9yKDtuLmxlbmd0aDspe2NvbnN0e3NyYzpyLGRlczppfT1uLnBvcCgpO09iamVjdC5rZXlzKHIpLmZvckVhY2gocz0+e3NhKHJbc10pfHxzYShpW3NdKT9pW3NdPXJbc106bi5wdXNoKHtzcmM6cltzXSxkZXM6aVtzXX0pfSl9fS8qIQogICogbWVzc2FnZS1jb21waWxlciB2OS4xMy4xCiAgKiAoYykgMjAyNCBrYXp1eWEga2F3YWd1Y2hpCiAgKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuCiAgKi9mdW5jdGlvbiBweCh0LGUsbil7cmV0dXJue2xpbmU6dCxjb2x1bW46ZSxvZmZzZXQ6bn19ZnVuY3Rpb24gJGEodCxlLG4pe3JldHVybntzdGFydDp0LGVuZDplfX1jb25zdCBneD0vXHsoWzAtOWEtekEtWl0rKVx9L2c7ZnVuY3Rpb24gJHYodCwuLi5lKXtyZXR1cm4gZS5sZW5ndGg9PT0xJiZ5eChlWzBdKSYmKGU9ZVswXSksKCFlfHwhZS5oYXNPd25Qcm9wZXJ0eSkmJihlPXt9KSx0LnJlcGxhY2UoZ3gsKG4scik9PmUuaGFzT3duUHJvcGVydHkocik/ZVtyXToiIil9Y29uc3QganY9T2JqZWN0LmFzc2lnbixybT10PT50eXBlb2YgdD09InN0cmluZyIseXg9dD0+dCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0IjtmdW5jdGlvbiBCdih0LGU9IiIpe3JldHVybiB0LnJlZHVjZSgobixyLGkpPT5pPT09MD9uK3I6bitlK3IsIiIpfWNvbnN0IEJkPXtVU0VfTU9EVUxPX1NZTlRBWDoxLF9fRVhURU5EX1BPSU5UX186Mn0sdng9e1tCZC5VU0VfTU9EVUxPX1NZTlRBWF06IlVzZSBtb2R1bG8gYmVmb3JlICd7ezB9fScuIn07ZnVuY3Rpb24gX3godCxlLC4uLm4pe2NvbnN0IHI9JHYodnhbdF0sLi4ubnx8W10pLGk9e21lc3NhZ2U6U3RyaW5nKHIpLGNvZGU6dH07cmV0dXJuIGUmJihpLmxvY2F0aW9uPWUpLGl9Y29uc3QgQ2U9e0VYUEVDVEVEX1RPS0VOOjEsSU5WQUxJRF9UT0tFTl9JTl9QTEFDRUhPTERFUjoyLFVOVEVSTUlOQVRFRF9TSU5HTEVfUVVPVEVfSU5fUExBQ0VIT0xERVI6MyxVTktOT1dOX0VTQ0FQRV9TRVFVRU5DRTo0LElOVkFMSURfVU5JQ09ERV9FU0NBUEVfU0VRVUVOQ0U6NSxVTkJBTEFOQ0VEX0NMT1NJTkdfQlJBQ0U6NixVTlRFUk1JTkFURURfQ0xPU0lOR19CUkFDRTo3LEVNUFRZX1BMQUNFSE9MREVSOjgsTk9UX0FMTE9XX05FU1RfUExBQ0VIT0xERVI6OSxJTlZBTElEX0xJTktFRF9GT1JNQVQ6MTAsTVVTVF9IQVZFX01FU1NBR0VTX0lOX1BMVVJBTDoxMSxVTkVYUEVDVEVEX0VNUFRZX0xJTktFRF9NT0RJRklFUjoxMixVTkVYUEVDVEVEX0VNUFRZX0xJTktFRF9LRVk6MTMsVU5FWFBFQ1RFRF9MRVhJQ0FMX0FOQUxZU0lTOjE0LFVOSEFORExFRF9DT0RFR0VOX05PREVfVFlQRToxNSxVTkhBTkRMRURfTUlOSUZJRVJfTk9ERV9UWVBFOjE2LF9fRVhURU5EX1BPSU5UX186MTd9LGJ4PXtbQ2UuRVhQRUNURURfVE9LRU5dOiJFeHBlY3RlZCB0b2tlbjogJ3swfSciLFtDZS5JTlZBTElEX1RPS0VOX0lOX1BMQUNFSE9MREVSXToiSW52YWxpZCB0b2tlbiBpbiBwbGFjZWhvbGRlcjogJ3swfSciLFtDZS5VTlRFUk1JTkFURURfU0lOR0xFX1FVT1RFX0lOX1BMQUNFSE9MREVSXToiVW50ZXJtaW5hdGVkIHNpbmdsZSBxdW90ZSBpbiBwbGFjZWhvbGRlciIsW0NlLlVOS05PV05fRVNDQVBFX1NFUVVFTkNFXToiVW5rbm93biBlc2NhcGUgc2VxdWVuY2U6IFxcezB9IixbQ2UuSU5WQUxJRF9VTklDT0RFX0VTQ0FQRV9TRVFVRU5DRV06IkludmFsaWQgdW5pY29kZSBlc2NhcGUgc2VxdWVuY2U6IHswfSIsW0NlLlVOQkFMQU5DRURfQ0xPU0lOR19CUkFDRV06IlVuYmFsYW5jZWQgY2xvc2luZyBicmFjZSIsW0NlLlVOVEVSTUlOQVRFRF9DTE9TSU5HX0JSQUNFXToiVW50ZXJtaW5hdGVkIGNsb3NpbmcgYnJhY2UiLFtDZS5FTVBUWV9QTEFDRUhPTERFUl06IkVtcHR5IHBsYWNlaG9sZGVyIixbQ2UuTk9UX0FMTE9XX05FU1RfUExBQ0VIT0xERVJdOiJOb3QgYWxsb3dlZCBuZXN0IHBsYWNlaG9sZGVyIixbQ2UuSU5WQUxJRF9MSU5LRURfRk9STUFUXToiSW52YWxpZCBsaW5rZWQgZm9ybWF0IixbQ2UuTVVTVF9IQVZFX01FU1NBR0VTX0lOX1BMVVJBTF06IlBsdXJhbCBtdXN0IGhhdmUgbWVzc2FnZXMiLFtDZS5VTkVYUEVDVEVEX0VNUFRZX0xJTktFRF9NT0RJRklFUl06IlVuZXhwZWN0ZWQgZW1wdHkgbGlua2VkIG1vZGlmaWVyIixbQ2UuVU5FWFBFQ1RFRF9FTVBUWV9MSU5LRURfS0VZXToiVW5leHBlY3RlZCBlbXB0eSBsaW5rZWQga2V5IixbQ2UuVU5FWFBFQ1RFRF9MRVhJQ0FMX0FOQUxZU0lTXToiVW5leHBlY3RlZCBsZXhpY2FsIGFuYWx5c2lzIGluIHRva2VuOiAnezB9JyIsW0NlLlVOSEFORExFRF9DT0RFR0VOX05PREVfVFlQRV06InVuaGFuZGxlZCBjb2RlZ2VuIG5vZGUgdHlwZTogJ3swfSciLFtDZS5VTkhBTkRMRURfTUlOSUZJRVJfTk9ERV9UWVBFXToidW5oYW5kbGVkIG1pbWlmaWVyIG5vZGUgdHlwZTogJ3swfScifTtmdW5jdGlvbiB3cyh0LGUsbj17fSl7Y29uc3R7ZG9tYWluOnIsbWVzc2FnZXM6aSxhcmdzOnN9PW4sbz0kdigoaXx8YngpW3RdfHwiIiwuLi5zfHxbXSksYT1uZXcgU3ludGF4RXJyb3IoU3RyaW5nKG8pKTtyZXR1cm4gYS5jb2RlPXQsZSYmKGEubG9jYXRpb249ZSksYS5kb21haW49cixhfWZ1bmN0aW9uIHd4KHQpe3Rocm93IHR9Y29uc3QgZHI9IiAiLGt4PSJcciIsenQ9YApgLFN4PSJcdTIwMjgiLFR4PSJcdTIwMjkiO2Z1bmN0aW9uIEV4KHQpe2NvbnN0IGU9dDtsZXQgbj0wLHI9MSxpPTEscz0wO2NvbnN0IG89Uj0+ZVtSXT09PWt4JiZlW1IrMV09PT16dCxhPVI9PmVbUl09PT16dCxsPVI9PmVbUl09PT1UeCxjPVI9PmVbUl09PT1TeCx1PVI9Pm8oUil8fGEoUil8fGwoUil8fGMoUiksZD0oKT0+bixmPSgpPT5yLGg9KCk9PmksbT0oKT0+cyxwPVI9Pm8oUil8fGwoUil8fGMoUik/enQ6ZVtSXSxrPSgpPT5wKG4pLHg9KCk9PnAobitzKTtmdW5jdGlvbiBDKCl7cmV0dXJuIHM9MCx1KG4pJiYocisrLGk9MCksbyhuKSYmbisrLG4rKyxpKyssZVtuXX1mdW5jdGlvbiBiKCl7cmV0dXJuIG8obitzKSYmcysrLHMrKyxlW24rc119ZnVuY3Rpb24gVCgpe249MCxyPTEsaT0xLHM9MH1mdW5jdGlvbiBFKFI9MCl7cz1SfWZ1bmN0aW9uIHcoKXtjb25zdCBSPW4rcztmb3IoO1IhPT1uOylDKCk7cz0wfXJldHVybntpbmRleDpkLGxpbmU6Zixjb2x1bW46aCxwZWVrT2Zmc2V0Om0sY2hhckF0OnAsY3VycmVudENoYXI6ayxjdXJyZW50UGVlazp4LG5leHQ6QyxwZWVrOmIscmVzZXQ6VCxyZXNldFBlZWs6RSxza2lwVG9QZWVrOnd9fWNvbnN0IHhyPXZvaWQgMCx4eD0iLiIsaW09IiciLEF4PSJ0b2tlbml6ZXIiO2Z1bmN0aW9uIE94KHQsZT17fSl7Y29uc3Qgbj1lLmxvY2F0aW9uIT09ITEscj1FeCh0KSxpPSgpPT5yLmluZGV4KCkscz0oKT0+cHgoci5saW5lKCksci5jb2x1bW4oKSxyLmluZGV4KCkpLG89cygpLGE9aSgpLGw9e2N1cnJlbnRUeXBlOjE0LG9mZnNldDphLHN0YXJ0TG9jOm8sZW5kTG9jOm8sbGFzdFR5cGU6MTQsbGFzdE9mZnNldDphLGxhc3RTdGFydExvYzpvLGxhc3RFbmRMb2M6byxicmFjZU5lc3Q6MCxpbkxpbmtlZDohMSx0ZXh0OiIifSxjPSgpPT5sLHtvbkVycm9yOnV9PWU7ZnVuY3Rpb24gZCh2LHksTSwuLi5YKXtjb25zdCB1ZT1jKCk7aWYoeS5jb2x1bW4rPU0seS5vZmZzZXQrPU0sdSl7Y29uc3QgaWU9bj8kYSh1ZS5zdGFydExvYyx5KTpudWxsLCQ9d3ModixpZSx7ZG9tYWluOkF4LGFyZ3M6WH0pO3UoJCl9fWZ1bmN0aW9uIGYodix5LE0pe3YuZW5kTG9jPXMoKSx2LmN1cnJlbnRUeXBlPXk7Y29uc3QgWD17dHlwZTp5fTtyZXR1cm4gbiYmKFgubG9jPSRhKHYuc3RhcnRMb2Msdi5lbmRMb2MpKSxNIT1udWxsJiYoWC52YWx1ZT1NKSxYfWNvbnN0IGg9dj0+Zih2LDE0KTtmdW5jdGlvbiBtKHYseSl7cmV0dXJuIHYuY3VycmVudENoYXIoKT09PXk/KHYubmV4dCgpLHkpOihkKENlLkVYUEVDVEVEX1RPS0VOLHMoKSwwLHkpLCIiKX1mdW5jdGlvbiBwKHYpe2xldCB5PSIiO2Zvcig7di5jdXJyZW50UGVlaygpPT09ZHJ8fHYuY3VycmVudFBlZWsoKT09PXp0Oyl5Kz12LmN1cnJlbnRQZWVrKCksdi5wZWVrKCk7cmV0dXJuIHl9ZnVuY3Rpb24gayh2KXtjb25zdCB5PXAodik7cmV0dXJuIHYuc2tpcFRvUGVlaygpLHl9ZnVuY3Rpb24geCh2KXtpZih2PT09eHIpcmV0dXJuITE7Y29uc3QgeT12LmNoYXJDb2RlQXQoMCk7cmV0dXJuIHk+PTk3JiZ5PD0xMjJ8fHk+PTY1JiZ5PD05MHx8eT09PTk1fWZ1bmN0aW9uIEModil7aWYodj09PXhyKXJldHVybiExO2NvbnN0IHk9di5jaGFyQ29kZUF0KDApO3JldHVybiB5Pj00OCYmeTw9NTd9ZnVuY3Rpb24gYih2LHkpe2NvbnN0e2N1cnJlbnRUeXBlOk19PXk7aWYoTSE9PTIpcmV0dXJuITE7cCh2KTtjb25zdCBYPXgodi5jdXJyZW50UGVlaygpKTtyZXR1cm4gdi5yZXNldFBlZWsoKSxYfWZ1bmN0aW9uIFQodix5KXtjb25zdHtjdXJyZW50VHlwZTpNfT15O2lmKE0hPT0yKXJldHVybiExO3Aodik7Y29uc3QgWD12LmN1cnJlbnRQZWVrKCk9PT0iLSI/di5wZWVrKCk6di5jdXJyZW50UGVlaygpLHVlPUMoWCk7cmV0dXJuIHYucmVzZXRQZWVrKCksdWV9ZnVuY3Rpb24gRSh2LHkpe2NvbnN0e2N1cnJlbnRUeXBlOk19PXk7aWYoTSE9PTIpcmV0dXJuITE7cCh2KTtjb25zdCBYPXYuY3VycmVudFBlZWsoKT09PWltO3JldHVybiB2LnJlc2V0UGVlaygpLFh9ZnVuY3Rpb24gdyh2LHkpe2NvbnN0e2N1cnJlbnRUeXBlOk19PXk7aWYoTSE9PTgpcmV0dXJuITE7cCh2KTtjb25zdCBYPXYuY3VycmVudFBlZWsoKT09PSIuIjtyZXR1cm4gdi5yZXNldFBlZWsoKSxYfWZ1bmN0aW9uIFIodix5KXtjb25zdHtjdXJyZW50VHlwZTpNfT15O2lmKE0hPT05KXJldHVybiExO3Aodik7Y29uc3QgWD14KHYuY3VycmVudFBlZWsoKSk7cmV0dXJuIHYucmVzZXRQZWVrKCksWH1mdW5jdGlvbiBEKHYseSl7Y29uc3R7Y3VycmVudFR5cGU6TX09eTtpZighKE09PT04fHxNPT09MTIpKXJldHVybiExO3Aodik7Y29uc3QgWD12LmN1cnJlbnRQZWVrKCk9PT0iOiI7cmV0dXJuIHYucmVzZXRQZWVrKCksWH1mdW5jdGlvbiBJKHYseSl7Y29uc3R7Y3VycmVudFR5cGU6TX09eTtpZihNIT09MTApcmV0dXJuITE7Y29uc3QgWD0oKT0+e2NvbnN0IGllPXYuY3VycmVudFBlZWsoKTtyZXR1cm4gaWU9PT0ieyI/eCh2LnBlZWsoKSk6aWU9PT0iQCJ8fGllPT09IiUifHxpZT09PSJ8Inx8aWU9PT0iOiJ8fGllPT09Ii4ifHxpZT09PWRyfHwhaWU/ITE6aWU9PT16dD8odi5wZWVrKCksWCgpKTpqKHYsITEpfSx1ZT1YKCk7cmV0dXJuIHYucmVzZXRQZWVrKCksdWV9ZnVuY3Rpb24gQih2KXtwKHYpO2NvbnN0IHk9di5jdXJyZW50UGVlaygpPT09InwiO3JldHVybiB2LnJlc2V0UGVlaygpLHl9ZnVuY3Rpb24gTCh2KXtjb25zdCB5PXAodiksTT12LmN1cnJlbnRQZWVrKCk9PT0iJSImJnYucGVlaygpPT09InsiO3JldHVybiB2LnJlc2V0UGVlaygpLHtpc01vZHVsbzpNLGhhc1NwYWNlOnkubGVuZ3RoPjB9fWZ1bmN0aW9uIGoodix5PSEwKXtjb25zdCBNPSh1ZT0hMSxpZT0iIiwkPSExKT0+e2NvbnN0IEc9di5jdXJyZW50UGVlaygpO3JldHVybiBHPT09InsiP2llPT09IiUiPyExOnVlOkc9PT0iQCJ8fCFHP2llPT09IiUiPyEwOnVlOkc9PT0iJSI/KHYucGVlaygpLE0odWUsIiUiLCEwKSk6Rz09PSJ8Ij9pZT09PSIlInx8JD8hMDohKGllPT09ZHJ8fGllPT09enQpOkc9PT1kcj8odi5wZWVrKCksTSghMCxkciwkKSk6Rz09PXp0Pyh2LnBlZWsoKSxNKCEwLHp0LCQpKTohMH0sWD1NKCk7cmV0dXJuIHkmJnYucmVzZXRQZWVrKCksWH1mdW5jdGlvbiByZSh2LHkpe2NvbnN0IE09di5jdXJyZW50Q2hhcigpO3JldHVybiBNPT09eHI/eHI6eShNKT8odi5uZXh0KCksTSk6bnVsbH1mdW5jdGlvbiB4ZSh2KXtjb25zdCB5PXYuY2hhckNvZGVBdCgwKTtyZXR1cm4geT49OTcmJnk8PTEyMnx8eT49NjUmJnk8PTkwfHx5Pj00OCYmeTw9NTd8fHk9PT05NXx8eT09PTM2fWZ1bmN0aW9uIFRlKHYpe3JldHVybiByZSh2LHhlKX1mdW5jdGlvbiBsZSh2KXtjb25zdCB5PXYuY2hhckNvZGVBdCgwKTtyZXR1cm4geT49OTcmJnk8PTEyMnx8eT49NjUmJnk8PTkwfHx5Pj00OCYmeTw9NTd8fHk9PT05NXx8eT09PTM2fHx5PT09NDV9ZnVuY3Rpb24geWUodil7cmV0dXJuIHJlKHYsbGUpfWZ1bmN0aW9uIEFlKHYpe2NvbnN0IHk9di5jaGFyQ29kZUF0KDApO3JldHVybiB5Pj00OCYmeTw9NTd9ZnVuY3Rpb24gWmUodil7cmV0dXJuIHJlKHYsQWUpfWZ1bmN0aW9uIHJ0KHYpe2NvbnN0IHk9di5jaGFyQ29kZUF0KDApO3JldHVybiB5Pj00OCYmeTw9NTd8fHk+PTY1JiZ5PD03MHx8eT49OTcmJnk8PTEwMn1mdW5jdGlvbiB3ZSh2KXtyZXR1cm4gcmUodixydCl9ZnVuY3Rpb24gSih2KXtsZXQgeT0iIixNPSIiO2Zvcig7eT1aZSh2KTspTSs9eTtyZXR1cm4gTX1mdW5jdGlvbiBJZSh2KXtrKHYpO2NvbnN0IHk9di5jdXJyZW50Q2hhcigpO3JldHVybiB5IT09IiUiJiZkKENlLkVYUEVDVEVEX1RPS0VOLHMoKSwwLHkpLHYubmV4dCgpLCIlIn1mdW5jdGlvbiB6ZSh2KXtsZXQgeT0iIjtmb3IoOzspe2NvbnN0IE09di5jdXJyZW50Q2hhcigpO2lmKE09PT0ieyJ8fE09PT0ifSJ8fE09PT0iQCJ8fE09PT0ifCJ8fCFNKWJyZWFrO2lmKE09PT0iJSIpaWYoaih2KSl5Kz1NLHYubmV4dCgpO2Vsc2UgYnJlYWs7ZWxzZSBpZihNPT09ZHJ8fE09PT16dClpZihqKHYpKXkrPU0sdi5uZXh0KCk7ZWxzZXtpZihCKHYpKWJyZWFrO3krPU0sdi5uZXh0KCl9ZWxzZSB5Kz1NLHYubmV4dCgpfXJldHVybiB5fWZ1bmN0aW9uIFJlKHYpe2sodik7bGV0IHk9IiIsTT0iIjtmb3IoO3k9eWUodik7KU0rPXk7cmV0dXJuIHYuY3VycmVudENoYXIoKT09PXhyJiZkKENlLlVOVEVSTUlOQVRFRF9DTE9TSU5HX0JSQUNFLHMoKSwwKSxNfWZ1bmN0aW9uIFVlKHYpe2sodik7bGV0IHk9IiI7cmV0dXJuIHYuY3VycmVudENoYXIoKT09PSItIj8odi5uZXh0KCkseSs9YC0ke0oodil9YCk6eSs9Sih2KSx2LmN1cnJlbnRDaGFyKCk9PT14ciYmZChDZS5VTlRFUk1JTkFURURfQ0xPU0lOR19CUkFDRSxzKCksMCkseX1mdW5jdGlvbiBIKHYpe3JldHVybiB2IT09aW0mJnYhPT16dH1mdW5jdGlvbiBjZSh2KXtrKHYpLG0odiwiJyIpO2xldCB5PSIiLE09IiI7Zm9yKDt5PXJlKHYsSCk7KXk9PT0iXFwiP00rPWFlKHYpOk0rPXk7Y29uc3QgWD12LmN1cnJlbnRDaGFyKCk7cmV0dXJuIFg9PT16dHx8WD09PXhyPyhkKENlLlVOVEVSTUlOQVRFRF9TSU5HTEVfUVVPVEVfSU5fUExBQ0VIT0xERVIscygpLDApLFg9PT16dCYmKHYubmV4dCgpLG0odiwiJyIpKSxNKToobSh2LCInIiksTSl9ZnVuY3Rpb24gYWUodil7Y29uc3QgeT12LmN1cnJlbnRDaGFyKCk7c3dpdGNoKHkpe2Nhc2UiXFwiOmNhc2UiJyI6cmV0dXJuIHYubmV4dCgpLGBcXCR7eX1gO2Nhc2UidSI6cmV0dXJuIGZlKHYseSw0KTtjYXNlIlUiOnJldHVybiBmZSh2LHksNik7ZGVmYXVsdDpyZXR1cm4gZChDZS5VTktOT1dOX0VTQ0FQRV9TRVFVRU5DRSxzKCksMCx5KSwiIn19ZnVuY3Rpb24gZmUodix5LE0pe20odix5KTtsZXQgWD0iIjtmb3IobGV0IHVlPTA7dWU8TTt1ZSsrKXtjb25zdCBpZT13ZSh2KTtpZighaWUpe2QoQ2UuSU5WQUxJRF9VTklDT0RFX0VTQ0FQRV9TRVFVRU5DRSxzKCksMCxgXFwke3l9JHtYfSR7di5jdXJyZW50Q2hhcigpfWApO2JyZWFrfVgrPWllfXJldHVybmBcXCR7eX0ke1h9YH1mdW5jdGlvbiBqZSh2KXtyZXR1cm4gdiE9PSJ7IiYmdiE9PSJ9IiYmdiE9PWRyJiZ2IT09enR9ZnVuY3Rpb24gTyh2KXtrKHYpO2xldCB5PSIiLE09IiI7Zm9yKDt5PXJlKHYsamUpOylNKz15O3JldHVybiBNfWZ1bmN0aW9uIFAodil7bGV0IHk9IiIsTT0iIjtmb3IoO3k9VGUodik7KU0rPXk7cmV0dXJuIE19ZnVuY3Rpb24gZyh2KXtjb25zdCB5PU09Pntjb25zdCBYPXYuY3VycmVudENoYXIoKTtyZXR1cm4gWD09PSJ7Inx8WD09PSIlInx8WD09PSJAInx8WD09PSJ8Inx8WD09PSIoInx8WD09PSIpInx8IVh8fFg9PT1kcj9NOihNKz1YLHYubmV4dCgpLHkoTSkpfTtyZXR1cm4geSgiIil9ZnVuY3Rpb24gTih2KXtrKHYpO2NvbnN0IHk9bSh2LCJ8Iik7cmV0dXJuIGsodikseX1mdW5jdGlvbiBXKHYseSl7bGV0IE09bnVsbDtzd2l0Y2godi5jdXJyZW50Q2hhcigpKXtjYXNlInsiOnJldHVybiB5LmJyYWNlTmVzdD49MSYmZChDZS5OT1RfQUxMT1dfTkVTVF9QTEFDRUhPTERFUixzKCksMCksdi5uZXh0KCksTT1mKHksMiwieyIpLGsodikseS5icmFjZU5lc3QrKyxNO2Nhc2UifSI6cmV0dXJuIHkuYnJhY2VOZXN0PjAmJnkuY3VycmVudFR5cGU9PT0yJiZkKENlLkVNUFRZX1BMQUNFSE9MREVSLHMoKSwwKSx2Lm5leHQoKSxNPWYoeSwzLCJ9IikseS5icmFjZU5lc3QtLSx5LmJyYWNlTmVzdD4wJiZrKHYpLHkuaW5MaW5rZWQmJnkuYnJhY2VOZXN0PT09MCYmKHkuaW5MaW5rZWQ9ITEpLE07Y2FzZSJAIjpyZXR1cm4geS5icmFjZU5lc3Q+MCYmZChDZS5VTlRFUk1JTkFURURfQ0xPU0lOR19CUkFDRSxzKCksMCksTT16KHYseSl8fGgoeSkseS5icmFjZU5lc3Q9MCxNO2RlZmF1bHQ6e2xldCB1ZT0hMCxpZT0hMCwkPSEwO2lmKEIodikpcmV0dXJuIHkuYnJhY2VOZXN0PjAmJmQoQ2UuVU5URVJNSU5BVEVEX0NMT1NJTkdfQlJBQ0UscygpLDApLE09Zih5LDEsTih2KSkseS5icmFjZU5lc3Q9MCx5LmluTGlua2VkPSExLE07aWYoeS5icmFjZU5lc3Q+MCYmKHkuY3VycmVudFR5cGU9PT01fHx5LmN1cnJlbnRUeXBlPT09Nnx8eS5jdXJyZW50VHlwZT09PTcpKXJldHVybiBkKENlLlVOVEVSTUlOQVRFRF9DTE9TSU5HX0JSQUNFLHMoKSwwKSx5LmJyYWNlTmVzdD0wLHRlKHYseSk7aWYodWU9Yih2LHkpKXJldHVybiBNPWYoeSw1LFJlKHYpKSxrKHYpLE07aWYoaWU9VCh2LHkpKXJldHVybiBNPWYoeSw2LFVlKHYpKSxrKHYpLE07aWYoJD1FKHYseSkpcmV0dXJuIE09Zih5LDcsY2UodikpLGsodiksTTtpZighdWUmJiFpZSYmISQpcmV0dXJuIE09Zih5LDEzLE8odikpLGQoQ2UuSU5WQUxJRF9UT0tFTl9JTl9QTEFDRUhPTERFUixzKCksMCxNLnZhbHVlKSxrKHYpLE07YnJlYWt9fXJldHVybiBNfWZ1bmN0aW9uIHoodix5KXtjb25zdHtjdXJyZW50VHlwZTpNfT15O2xldCBYPW51bGw7Y29uc3QgdWU9di5jdXJyZW50Q2hhcigpO3N3aXRjaCgoTT09PTh8fE09PT05fHxNPT09MTJ8fE09PT0xMCkmJih1ZT09PXp0fHx1ZT09PWRyKSYmZChDZS5JTlZBTElEX0xJTktFRF9GT1JNQVQscygpLDApLHVlKXtjYXNlIkAiOnJldHVybiB2Lm5leHQoKSxYPWYoeSw4LCJAIikseS5pbkxpbmtlZD0hMCxYO2Nhc2UiLiI6cmV0dXJuIGsodiksdi5uZXh0KCksZih5LDksIi4iKTtjYXNlIjoiOnJldHVybiBrKHYpLHYubmV4dCgpLGYoeSwxMCwiOiIpO2RlZmF1bHQ6cmV0dXJuIEIodik/KFg9Zih5LDEsTih2KSkseS5icmFjZU5lc3Q9MCx5LmluTGlua2VkPSExLFgpOncodix5KXx8RCh2LHkpPyhrKHYpLHoodix5KSk6Uih2LHkpPyhrKHYpLGYoeSwxMixQKHYpKSk6SSh2LHkpPyhrKHYpLHVlPT09InsiP1codix5KXx8WDpmKHksMTEsZyh2KSkpOihNPT09OCYmZChDZS5JTlZBTElEX0xJTktFRF9GT1JNQVQscygpLDApLHkuYnJhY2VOZXN0PTAseS5pbkxpbmtlZD0hMSx0ZSh2LHkpKX19ZnVuY3Rpb24gdGUodix5KXtsZXQgTT17dHlwZToxNH07aWYoeS5icmFjZU5lc3Q+MClyZXR1cm4gVyh2LHkpfHxoKHkpO2lmKHkuaW5MaW5rZWQpcmV0dXJuIHoodix5KXx8aCh5KTtzd2l0Y2godi5jdXJyZW50Q2hhcigpKXtjYXNlInsiOnJldHVybiBXKHYseSl8fGgoeSk7Y2FzZSJ9IjpyZXR1cm4gZChDZS5VTkJBTEFOQ0VEX0NMT1NJTkdfQlJBQ0UscygpLDApLHYubmV4dCgpLGYoeSwzLCJ9Iik7Y2FzZSJAIjpyZXR1cm4geih2LHkpfHxoKHkpO2RlZmF1bHQ6e2lmKEIodikpcmV0dXJuIE09Zih5LDEsTih2KSkseS5icmFjZU5lc3Q9MCx5LmluTGlua2VkPSExLE07Y29uc3R7aXNNb2R1bG86dWUsaGFzU3BhY2U6aWV9PUwodik7aWYodWUpcmV0dXJuIGllP2YoeSwwLHplKHYpKTpmKHksNCxJZSh2KSk7aWYoaih2KSlyZXR1cm4gZih5LDAsemUodikpO2JyZWFrfX1yZXR1cm4gTX1mdW5jdGlvbiBRKCl7Y29uc3R7Y3VycmVudFR5cGU6dixvZmZzZXQ6eSxzdGFydExvYzpNLGVuZExvYzpYfT1sO3JldHVybiBsLmxhc3RUeXBlPXYsbC5sYXN0T2Zmc2V0PXksbC5sYXN0U3RhcnRMb2M9TSxsLmxhc3RFbmRMb2M9WCxsLm9mZnNldD1pKCksbC5zdGFydExvYz1zKCksci5jdXJyZW50Q2hhcigpPT09eHI/ZihsLDE0KTp0ZShyLGwpfXJldHVybntuZXh0VG9rZW46USxjdXJyZW50T2Zmc2V0OmksY3VycmVudFBvc2l0aW9uOnMsY29udGV4dDpjfX1jb25zdCBDeD0icGFyc2VyIixQeD0vKD86XFxcXHxcXCd8XFx1KFswLTlhLWZBLUZdezR9KXxcXFUoWzAtOWEtZkEtRl17Nn0pKS9nO2Z1bmN0aW9uIEl4KHQsZSxuKXtzd2l0Y2godCl7Y2FzZSJcXFxcIjpyZXR1cm4iXFwiO2Nhc2UiXFwnIjpyZXR1cm4iJyI7ZGVmYXVsdDp7Y29uc3Qgcj1wYXJzZUludChlfHxuLDE2KTtyZXR1cm4gcjw9NTUyOTV8fHI+PTU3MzQ0P1N0cmluZy5mcm9tQ29kZVBvaW50KHIpOiLvv70ifX19ZnVuY3Rpb24gTngodD17fSl7Y29uc3QgZT10LmxvY2F0aW9uIT09ITEse29uRXJyb3I6bixvbldhcm46cn09dDtmdW5jdGlvbiBpKGIsVCxFLHcsLi4uUil7Y29uc3QgRD1iLmN1cnJlbnRQb3NpdGlvbigpO2lmKEQub2Zmc2V0Kz13LEQuY29sdW1uKz13LG4pe2NvbnN0IEk9ZT8kYShFLEQpOm51bGwsQj13cyhULEkse2RvbWFpbjpDeCxhcmdzOlJ9KTtuKEIpfX1mdW5jdGlvbiBzKGIsVCxFLHcsLi4uUil7Y29uc3QgRD1iLmN1cnJlbnRQb3NpdGlvbigpO2lmKEQub2Zmc2V0Kz13LEQuY29sdW1uKz13LHIpe2NvbnN0IEk9ZT8kYShFLEQpOm51bGw7cihfeChULEksUikpfX1mdW5jdGlvbiBvKGIsVCxFKXtjb25zdCB3PXt0eXBlOmJ9O3JldHVybiBlJiYody5zdGFydD1ULHcuZW5kPVQsdy5sb2M9e3N0YXJ0OkUsZW5kOkV9KSx3fWZ1bmN0aW9uIGEoYixULEUsdyl7ZSYmKGIuZW5kPVQsYi5sb2MmJihiLmxvYy5lbmQ9RSkpfWZ1bmN0aW9uIGwoYixUKXtjb25zdCBFPWIuY29udGV4dCgpLHc9bygzLEUub2Zmc2V0LEUuc3RhcnRMb2MpO3JldHVybiB3LnZhbHVlPVQsYSh3LGIuY3VycmVudE9mZnNldCgpLGIuY3VycmVudFBvc2l0aW9uKCkpLHd9ZnVuY3Rpb24gYyhiLFQpe2NvbnN0IEU9Yi5jb250ZXh0KCkse2xhc3RPZmZzZXQ6dyxsYXN0U3RhcnRMb2M6Un09RSxEPW8oNSx3LFIpO3JldHVybiBELmluZGV4PXBhcnNlSW50KFQsMTApLGIubmV4dFRva2VuKCksYShELGIuY3VycmVudE9mZnNldCgpLGIuY3VycmVudFBvc2l0aW9uKCkpLER9ZnVuY3Rpb24gdShiLFQsRSl7Y29uc3Qgdz1iLmNvbnRleHQoKSx7bGFzdE9mZnNldDpSLGxhc3RTdGFydExvYzpEfT13LEk9byg0LFIsRCk7cmV0dXJuIEkua2V5PVQsRT09PSEwJiYoSS5tb2R1bG89ITApLGIubmV4dFRva2VuKCksYShJLGIuY3VycmVudE9mZnNldCgpLGIuY3VycmVudFBvc2l0aW9uKCkpLEl9ZnVuY3Rpb24gZChiLFQpe2NvbnN0IEU9Yi5jb250ZXh0KCkse2xhc3RPZmZzZXQ6dyxsYXN0U3RhcnRMb2M6Un09RSxEPW8oOSx3LFIpO3JldHVybiBELnZhbHVlPVQucmVwbGFjZShQeCxJeCksYi5uZXh0VG9rZW4oKSxhKEQsYi5jdXJyZW50T2Zmc2V0KCksYi5jdXJyZW50UG9zaXRpb24oKSksRH1mdW5jdGlvbiBmKGIpe2NvbnN0IFQ9Yi5uZXh0VG9rZW4oKSxFPWIuY29udGV4dCgpLHtsYXN0T2Zmc2V0OncsbGFzdFN0YXJ0TG9jOlJ9PUUsRD1vKDgsdyxSKTtyZXR1cm4gVC50eXBlIT09MTI/KGkoYixDZS5VTkVYUEVDVEVEX0VNUFRZX0xJTktFRF9NT0RJRklFUixFLmxhc3RTdGFydExvYywwKSxELnZhbHVlPSIiLGEoRCx3LFIpLHtuZXh0Q29uc3VtZVRva2VuOlQsbm9kZTpEfSk6KFQudmFsdWU9PW51bGwmJmkoYixDZS5VTkVYUEVDVEVEX0xFWElDQUxfQU5BTFlTSVMsRS5sYXN0U3RhcnRMb2MsMCxMbihUKSksRC52YWx1ZT1ULnZhbHVlfHwiIixhKEQsYi5jdXJyZW50T2Zmc2V0KCksYi5jdXJyZW50UG9zaXRpb24oKSkse25vZGU6RH0pfWZ1bmN0aW9uIGgoYixUKXtjb25zdCBFPWIuY29udGV4dCgpLHc9byg3LEUub2Zmc2V0LEUuc3RhcnRMb2MpO3JldHVybiB3LnZhbHVlPVQsYSh3LGIuY3VycmVudE9mZnNldCgpLGIuY3VycmVudFBvc2l0aW9uKCkpLHd9ZnVuY3Rpb24gbShiKXtjb25zdCBUPWIuY29udGV4dCgpLEU9byg2LFQub2Zmc2V0LFQuc3RhcnRMb2MpO2xldCB3PWIubmV4dFRva2VuKCk7aWYody50eXBlPT09OSl7Y29uc3QgUj1mKGIpO0UubW9kaWZpZXI9Ui5ub2RlLHc9Ui5uZXh0Q29uc3VtZVRva2VufHxiLm5leHRUb2tlbigpfXN3aXRjaCh3LnR5cGUhPT0xMCYmaShiLENlLlVORVhQRUNURURfTEVYSUNBTF9BTkFMWVNJUyxULmxhc3RTdGFydExvYywwLExuKHcpKSx3PWIubmV4dFRva2VuKCksdy50eXBlPT09MiYmKHc9Yi5uZXh0VG9rZW4oKSksdy50eXBlKXtjYXNlIDExOncudmFsdWU9PW51bGwmJmkoYixDZS5VTkVYUEVDVEVEX0xFWElDQUxfQU5BTFlTSVMsVC5sYXN0U3RhcnRMb2MsMCxMbih3KSksRS5rZXk9aChiLHcudmFsdWV8fCIiKTticmVhaztjYXNlIDU6dy52YWx1ZT09bnVsbCYmaShiLENlLlVORVhQRUNURURfTEVYSUNBTF9BTkFMWVNJUyxULmxhc3RTdGFydExvYywwLExuKHcpKSxFLmtleT11KGIsdy52YWx1ZXx8IiIpO2JyZWFrO2Nhc2UgNjp3LnZhbHVlPT1udWxsJiZpKGIsQ2UuVU5FWFBFQ1RFRF9MRVhJQ0FMX0FOQUxZU0lTLFQubGFzdFN0YXJ0TG9jLDAsTG4odykpLEUua2V5PWMoYix3LnZhbHVlfHwiIik7YnJlYWs7Y2FzZSA3OncudmFsdWU9PW51bGwmJmkoYixDZS5VTkVYUEVDVEVEX0xFWElDQUxfQU5BTFlTSVMsVC5sYXN0U3RhcnRMb2MsMCxMbih3KSksRS5rZXk9ZChiLHcudmFsdWV8fCIiKTticmVhaztkZWZhdWx0OntpKGIsQ2UuVU5FWFBFQ1RFRF9FTVBUWV9MSU5LRURfS0VZLFQubGFzdFN0YXJ0TG9jLDApO2NvbnN0IFI9Yi5jb250ZXh0KCksRD1vKDcsUi5vZmZzZXQsUi5zdGFydExvYyk7cmV0dXJuIEQudmFsdWU9IiIsYShELFIub2Zmc2V0LFIuc3RhcnRMb2MpLEUua2V5PUQsYShFLFIub2Zmc2V0LFIuc3RhcnRMb2MpLHtuZXh0Q29uc3VtZVRva2VuOncsbm9kZTpFfX19cmV0dXJuIGEoRSxiLmN1cnJlbnRPZmZzZXQoKSxiLmN1cnJlbnRQb3NpdGlvbigpKSx7bm9kZTpFfX1mdW5jdGlvbiBwKGIpe2NvbnN0IFQ9Yi5jb250ZXh0KCksRT1ULmN1cnJlbnRUeXBlPT09MT9iLmN1cnJlbnRPZmZzZXQoKTpULm9mZnNldCx3PVQuY3VycmVudFR5cGU9PT0xP1QuZW5kTG9jOlQuc3RhcnRMb2MsUj1vKDIsRSx3KTtSLml0ZW1zPVtdO2xldCBEPW51bGwsST1udWxsO2Rve2NvbnN0IGo9RHx8Yi5uZXh0VG9rZW4oKTtzd2l0Y2goRD1udWxsLGoudHlwZSl7Y2FzZSAwOmoudmFsdWU9PW51bGwmJmkoYixDZS5VTkVYUEVDVEVEX0xFWElDQUxfQU5BTFlTSVMsVC5sYXN0U3RhcnRMb2MsMCxMbihqKSksUi5pdGVtcy5wdXNoKGwoYixqLnZhbHVlfHwiIikpO2JyZWFrO2Nhc2UgNjpqLnZhbHVlPT1udWxsJiZpKGIsQ2UuVU5FWFBFQ1RFRF9MRVhJQ0FMX0FOQUxZU0lTLFQubGFzdFN0YXJ0TG9jLDAsTG4oaikpLFIuaXRlbXMucHVzaChjKGIsai52YWx1ZXx8IiIpKTticmVhaztjYXNlIDQ6ST0hMDticmVhaztjYXNlIDU6ai52YWx1ZT09bnVsbCYmaShiLENlLlVORVhQRUNURURfTEVYSUNBTF9BTkFMWVNJUyxULmxhc3RTdGFydExvYywwLExuKGopKSxSLml0ZW1zLnB1c2godShiLGoudmFsdWV8fCIiLCEhSSkpLEkmJihzKGIsQmQuVVNFX01PRFVMT19TWU5UQVgsVC5sYXN0U3RhcnRMb2MsMCxMbihqKSksST1udWxsKTticmVhaztjYXNlIDc6ai52YWx1ZT09bnVsbCYmaShiLENlLlVORVhQRUNURURfTEVYSUNBTF9BTkFMWVNJUyxULmxhc3RTdGFydExvYywwLExuKGopKSxSLml0ZW1zLnB1c2goZChiLGoudmFsdWV8fCIiKSk7YnJlYWs7Y2FzZSA4Ontjb25zdCByZT1tKGIpO1IuaXRlbXMucHVzaChyZS5ub2RlKSxEPXJlLm5leHRDb25zdW1lVG9rZW58fG51bGw7YnJlYWt9fX13aGlsZShULmN1cnJlbnRUeXBlIT09MTQmJlQuY3VycmVudFR5cGUhPT0xKTtjb25zdCBCPVQuY3VycmVudFR5cGU9PT0xP1QubGFzdE9mZnNldDpiLmN1cnJlbnRPZmZzZXQoKSxMPVQuY3VycmVudFR5cGU9PT0xP1QubGFzdEVuZExvYzpiLmN1cnJlbnRQb3NpdGlvbigpO3JldHVybiBhKFIsQixMKSxSfWZ1bmN0aW9uIGsoYixULEUsdyl7Y29uc3QgUj1iLmNvbnRleHQoKTtsZXQgRD13Lml0ZW1zLmxlbmd0aD09PTA7Y29uc3QgST1vKDEsVCxFKTtJLmNhc2VzPVtdLEkuY2FzZXMucHVzaCh3KTtkb3tjb25zdCBCPXAoYik7RHx8KEQ9Qi5pdGVtcy5sZW5ndGg9PT0wKSxJLmNhc2VzLnB1c2goQil9d2hpbGUoUi5jdXJyZW50VHlwZSE9PTE0KTtyZXR1cm4gRCYmaShiLENlLk1VU1RfSEFWRV9NRVNTQUdFU19JTl9QTFVSQUwsRSwwKSxhKEksYi5jdXJyZW50T2Zmc2V0KCksYi5jdXJyZW50UG9zaXRpb24oKSksSX1mdW5jdGlvbiB4KGIpe2NvbnN0IFQ9Yi5jb250ZXh0KCkse29mZnNldDpFLHN0YXJ0TG9jOnd9PVQsUj1wKGIpO3JldHVybiBULmN1cnJlbnRUeXBlPT09MTQ/UjprKGIsRSx3LFIpfWZ1bmN0aW9uIEMoYil7Y29uc3QgVD1PeChiLGp2KHt9LHQpKSxFPVQuY29udGV4dCgpLHc9bygwLEUub2Zmc2V0LEUuc3RhcnRMb2MpO3JldHVybiBlJiZ3LmxvYyYmKHcubG9jLnNvdXJjZT1iKSx3LmJvZHk9eChUKSx0Lm9uQ2FjaGVLZXkmJih3LmNhY2hlS2V5PXQub25DYWNoZUtleShiKSksRS5jdXJyZW50VHlwZSE9PTE0JiZpKFQsQ2UuVU5FWFBFQ1RFRF9MRVhJQ0FMX0FOQUxZU0lTLEUubGFzdFN0YXJ0TG9jLDAsYltFLm9mZnNldF18fCIiKSxhKHcsVC5jdXJyZW50T2Zmc2V0KCksVC5jdXJyZW50UG9zaXRpb24oKSksd31yZXR1cm57cGFyc2U6Q319ZnVuY3Rpb24gTG4odCl7aWYodC50eXBlPT09MTQpcmV0dXJuIkVPRiI7Y29uc3QgZT0odC52YWx1ZXx8IiIpLnJlcGxhY2UoL1xyP1xuL2d1LCJcXG4iKTtyZXR1cm4gZS5sZW5ndGg+MTA/ZS5zbGljZSgwLDkpKyLigKYiOmV9ZnVuY3Rpb24gUngodCxlPXt9KXtjb25zdCBuPXthc3Q6dCxoZWxwZXJzOm5ldyBTZXR9O3JldHVybntjb250ZXh0OigpPT5uLGhlbHBlcjpzPT4obi5oZWxwZXJzLmFkZChzKSxzKX19ZnVuY3Rpb24gc20odCxlKXtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKylVZCh0W25dLGUpfWZ1bmN0aW9uIFVkKHQsZSl7c3dpdGNoKHQudHlwZSl7Y2FzZSAxOnNtKHQuY2FzZXMsZSksZS5oZWxwZXIoInBsdXJhbCIpO2JyZWFrO2Nhc2UgMjpzbSh0Lml0ZW1zLGUpO2JyZWFrO2Nhc2UgNjp7VWQodC5rZXksZSksZS5oZWxwZXIoImxpbmtlZCIpLGUuaGVscGVyKCJ0eXBlIik7YnJlYWt9Y2FzZSA1OmUuaGVscGVyKCJpbnRlcnBvbGF0ZSIpLGUuaGVscGVyKCJsaXN0Iik7YnJlYWs7Y2FzZSA0OmUuaGVscGVyKCJpbnRlcnBvbGF0ZSIpLGUuaGVscGVyKCJuYW1lZCIpO2JyZWFrfX1mdW5jdGlvbiBEeCh0LGU9e30pe2NvbnN0IG49UngodCk7bi5oZWxwZXIoIm5vcm1hbGl6ZSIpLHQuYm9keSYmVWQodC5ib2R5LG4pO2NvbnN0IHI9bi5jb250ZXh0KCk7dC5oZWxwZXJzPUFycmF5LmZyb20oci5oZWxwZXJzKX1mdW5jdGlvbiBNeCh0KXtjb25zdCBlPXQuYm9keTtyZXR1cm4gZS50eXBlPT09Mj9vbShlKTplLmNhc2VzLmZvckVhY2gobj0+b20obikpLHR9ZnVuY3Rpb24gb20odCl7aWYodC5pdGVtcy5sZW5ndGg9PT0xKXtjb25zdCBlPXQuaXRlbXNbMF07KGUudHlwZT09PTN8fGUudHlwZT09PTkpJiYodC5zdGF0aWM9ZS52YWx1ZSxkZWxldGUgZS52YWx1ZSl9ZWxzZXtjb25zdCBlPVtdO2ZvcihsZXQgbj0wO248dC5pdGVtcy5sZW5ndGg7bisrKXtjb25zdCByPXQuaXRlbXNbbl07aWYoIShyLnR5cGU9PT0zfHxyLnR5cGU9PT05KXx8ci52YWx1ZT09bnVsbClicmVhaztlLnB1c2goci52YWx1ZSl9aWYoZS5sZW5ndGg9PT10Lml0ZW1zLmxlbmd0aCl7dC5zdGF0aWM9QnYoZSk7Zm9yKGxldCBuPTA7bjx0Lml0ZW1zLmxlbmd0aDtuKyspe2NvbnN0IHI9dC5pdGVtc1tuXTsoci50eXBlPT09M3x8ci50eXBlPT09OSkmJmRlbGV0ZSByLnZhbHVlfX19fWNvbnN0IEx4PSJtaW5pZmllciI7ZnVuY3Rpb24gTGkodCl7c3dpdGNoKHQudD10LnR5cGUsdC50eXBlKXtjYXNlIDA6e2NvbnN0IGU9dDtMaShlLmJvZHkpLGUuYj1lLmJvZHksZGVsZXRlIGUuYm9keTticmVha31jYXNlIDE6e2NvbnN0IGU9dCxuPWUuY2FzZXM7Zm9yKGxldCByPTA7cjxuLmxlbmd0aDtyKyspTGkobltyXSk7ZS5jPW4sZGVsZXRlIGUuY2FzZXM7YnJlYWt9Y2FzZSAyOntjb25zdCBlPXQsbj1lLml0ZW1zO2ZvcihsZXQgcj0wO3I8bi5sZW5ndGg7cisrKUxpKG5bcl0pO2UuaT1uLGRlbGV0ZSBlLml0ZW1zLGUuc3RhdGljJiYoZS5zPWUuc3RhdGljLGRlbGV0ZSBlLnN0YXRpYyk7YnJlYWt9Y2FzZSAzOmNhc2UgOTpjYXNlIDg6Y2FzZSA3Ontjb25zdCBlPXQ7ZS52YWx1ZSYmKGUudj1lLnZhbHVlLGRlbGV0ZSBlLnZhbHVlKTticmVha31jYXNlIDY6e2NvbnN0IGU9dDtMaShlLmtleSksZS5rPWUua2V5LGRlbGV0ZSBlLmtleSxlLm1vZGlmaWVyJiYoTGkoZS5tb2RpZmllciksZS5tPWUubW9kaWZpZXIsZGVsZXRlIGUubW9kaWZpZXIpO2JyZWFrfWNhc2UgNTp7Y29uc3QgZT10O2UuaT1lLmluZGV4LGRlbGV0ZSBlLmluZGV4O2JyZWFrfWNhc2UgNDp7Y29uc3QgZT10O2Uuaz1lLmtleSxkZWxldGUgZS5rZXk7YnJlYWt9ZGVmYXVsdDp0aHJvdyB3cyhDZS5VTkhBTkRMRURfTUlOSUZJRVJfTk9ERV9UWVBFLG51bGwse2RvbWFpbjpMeCxhcmdzOlt0LnR5cGVdfSl9ZGVsZXRlIHQudHlwZX1jb25zdCBGeD0icGFyc2VyIjtmdW5jdGlvbiAkeCh0LGUpe2NvbnN0e2ZpbGVuYW1lOm4sYnJlYWtMaW5lQ29kZTpyLG5lZWRJbmRlbnQ6aX09ZSxzPWUubG9jYXRpb24hPT0hMSxvPXtmaWxlbmFtZTpuLGNvZGU6IiIsY29sdW1uOjEsbGluZToxLG9mZnNldDowLG1hcDp2b2lkIDAsYnJlYWtMaW5lQ29kZTpyLG5lZWRJbmRlbnQ6aSxpbmRlbnRMZXZlbDowfTtzJiZ0LmxvYyYmKG8uc291cmNlPXQubG9jLnNvdXJjZSk7Y29uc3QgYT0oKT0+bztmdW5jdGlvbiBsKHAsayl7by5jb2RlKz1wfWZ1bmN0aW9uIGMocCxrPSEwKXtjb25zdCB4PWs/cjoiIjtsKGk/eCsiICAiLnJlcGVhdChwKTp4KX1mdW5jdGlvbiB1KHA9ITApe2NvbnN0IGs9KytvLmluZGVudExldmVsO3AmJmMoayl9ZnVuY3Rpb24gZChwPSEwKXtjb25zdCBrPS0tby5pbmRlbnRMZXZlbDtwJiZjKGspfWZ1bmN0aW9uIGYoKXtjKG8uaW5kZW50TGV2ZWwpfXJldHVybntjb250ZXh0OmEscHVzaDpsLGluZGVudDp1LGRlaW5kZW50OmQsbmV3bGluZTpmLGhlbHBlcjpwPT5gXyR7cH1gLG5lZWRJbmRlbnQ6KCk9Pm8ubmVlZEluZGVudH19ZnVuY3Rpb24gangodCxlKXtjb25zdHtoZWxwZXI6bn09dDt0LnB1c2goYCR7bigibGlua2VkIil9KGApLHVzKHQsZS5rZXkpLGUubW9kaWZpZXI/KHQucHVzaCgiLCAiKSx1cyh0LGUubW9kaWZpZXIpLHQucHVzaCgiLCBfdHlwZSIpKTp0LnB1c2goIiwgdW5kZWZpbmVkLCBfdHlwZSIpLHQucHVzaCgiKSIpfWZ1bmN0aW9uIEJ4KHQsZSl7Y29uc3R7aGVscGVyOm4sbmVlZEluZGVudDpyfT10O3QucHVzaChgJHtuKCJub3JtYWxpemUiKX0oW2ApLHQuaW5kZW50KHIoKSk7Y29uc3QgaT1lLml0ZW1zLmxlbmd0aDtmb3IobGV0IHM9MDtzPGkmJih1cyh0LGUuaXRlbXNbc10pLHMhPT1pLTEpO3MrKyl0LnB1c2goIiwgIik7dC5kZWluZGVudChyKCkpLHQucHVzaCgiXSkiKX1mdW5jdGlvbiBVeCh0LGUpe2NvbnN0e2hlbHBlcjpuLG5lZWRJbmRlbnQ6cn09dDtpZihlLmNhc2VzLmxlbmd0aD4xKXt0LnB1c2goYCR7bigicGx1cmFsIil9KFtgKSx0LmluZGVudChyKCkpO2NvbnN0IGk9ZS5jYXNlcy5sZW5ndGg7Zm9yKGxldCBzPTA7czxpJiYodXModCxlLmNhc2VzW3NdKSxzIT09aS0xKTtzKyspdC5wdXNoKCIsICIpO3QuZGVpbmRlbnQocigpKSx0LnB1c2goIl0pIil9fWZ1bmN0aW9uIFZ4KHQsZSl7ZS5ib2R5P3VzKHQsZS5ib2R5KTp0LnB1c2goIm51bGwiKX1mdW5jdGlvbiB1cyh0LGUpe2NvbnN0e2hlbHBlcjpufT10O3N3aXRjaChlLnR5cGUpe2Nhc2UgMDpWeCh0LGUpO2JyZWFrO2Nhc2UgMTpVeCh0LGUpO2JyZWFrO2Nhc2UgMjpCeCh0LGUpO2JyZWFrO2Nhc2UgNjpqeCh0LGUpO2JyZWFrO2Nhc2UgODp0LnB1c2goSlNPTi5zdHJpbmdpZnkoZS52YWx1ZSksZSk7YnJlYWs7Y2FzZSA3OnQucHVzaChKU09OLnN0cmluZ2lmeShlLnZhbHVlKSxlKTticmVhaztjYXNlIDU6dC5wdXNoKGAke24oImludGVycG9sYXRlIil9KCR7bigibGlzdCIpfSgke2UuaW5kZXh9KSlgLGUpO2JyZWFrO2Nhc2UgNDp0LnB1c2goYCR7bigiaW50ZXJwb2xhdGUiKX0oJHtuKCJuYW1lZCIpfSgke0pTT04uc3RyaW5naWZ5KGUua2V5KX0pKWAsZSk7YnJlYWs7Y2FzZSA5OnQucHVzaChKU09OLnN0cmluZ2lmeShlLnZhbHVlKSxlKTticmVhaztjYXNlIDM6dC5wdXNoKEpTT04uc3RyaW5naWZ5KGUudmFsdWUpLGUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgd3MoQ2UuVU5IQU5ETEVEX0NPREVHRU5fTk9ERV9UWVBFLG51bGwse2RvbWFpbjpGeCxhcmdzOltlLnR5cGVdfSl9fWNvbnN0IFd4PSh0LGU9e30pPT57Y29uc3Qgbj1ybShlLm1vZGUpP2UubW9kZToibm9ybWFsIixyPXJtKGUuZmlsZW5hbWUpP2UuZmlsZW5hbWU6Im1lc3NhZ2UuaW50bCI7ZS5zb3VyY2VNYXA7Y29uc3QgaT1lLmJyZWFrTGluZUNvZGUhPW51bGw/ZS5icmVha0xpbmVDb2RlOm49PT0iYXJyb3ciPyI7IjpgCmAscz1lLm5lZWRJbmRlbnQ/ZS5uZWVkSW5kZW50Om4hPT0iYXJyb3ciLG89dC5oZWxwZXJzfHxbXSxhPSR4KHQse2ZpbGVuYW1lOnIsYnJlYWtMaW5lQ29kZTppLG5lZWRJbmRlbnQ6c30pO2EucHVzaChuPT09Im5vcm1hbCI/ImZ1bmN0aW9uIF9fbXNnX18gKGN0eCkgeyI6IihjdHgpID0+IHsiKSxhLmluZGVudChzKSxvLmxlbmd0aD4wJiYoYS5wdXNoKGBjb25zdCB7ICR7QnYoby5tYXAodT0+YCR7dX06IF8ke3V9YCksIiwgIil9IH0gPSBjdHhgKSxhLm5ld2xpbmUoKSksYS5wdXNoKCJyZXR1cm4gIiksdXMoYSx0KSxhLmRlaW5kZW50KHMpLGEucHVzaCgifSIpLGRlbGV0ZSB0LmhlbHBlcnM7Y29uc3R7Y29kZTpsLG1hcDpjfT1hLmNvbnRleHQoKTtyZXR1cm57YXN0OnQsY29kZTpsLG1hcDpjP2MudG9KU09OKCk6dm9pZCAwfX07ZnVuY3Rpb24gR3godCxlPXt9KXtjb25zdCBuPWp2KHt9LGUpLHI9ISFuLmppdCxpPSEhbi5taW5pZnkscz1uLm9wdGltaXplPT1udWxsPyEwOm4ub3B0aW1pemUsYT1OeChuKS5wYXJzZSh0KTtyZXR1cm4gcj8ocyYmTXgoYSksaSYmTGkoYSkse2FzdDphLGNvZGU6IiJ9KTooRHgoYSxuKSxXeChhLG4pKX0vKiEKICAqIGNvcmUtYmFzZSB2OS4xMy4xCiAgKiAoYykgMjAyNCBrYXp1eWEga2F3YWd1Y2hpCiAgKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuCiAgKi9mdW5jdGlvbiB6eCgpe3R5cGVvZiBfX0lOVExJRllfUFJPRF9ERVZUT09MU19fIT0iYm9vbGVhbiImJihwcigpLl9fSU5UTElGWV9QUk9EX0RFVlRPT0xTX189ITEpLHR5cGVvZiBfX0lOVExJRllfSklUX0NPTVBJTEFUSU9OX18hPSJib29sZWFuIiYmKHByKCkuX19JTlRMSUZZX0pJVF9DT01QSUxBVElPTl9fPSExKSx0eXBlb2YgX19JTlRMSUZZX0RST1BfTUVTU0FHRV9DT01QSUxFUl9fIT0iYm9vbGVhbiImJihwcigpLl9fSU5UTElGWV9EUk9QX01FU1NBR0VfQ09NUElMRVJfXz0hMSl9Y29uc3QgZWk9W107ZWlbMF09e3c6WzBdLGk6WzMsMF0sIlsiOls0XSxvOls3XX07ZWlbMV09e3c6WzFdLCIuIjpbMl0sIlsiOls0XSxvOls3XX07ZWlbMl09e3c6WzJdLGk6WzMsMF0sMDpbMywwXX07ZWlbM109e2k6WzMsMF0sMDpbMywwXSx3OlsxLDFdLCIuIjpbMiwxXSwiWyI6WzQsMV0sbzpbNywxXX07ZWlbNF09eyInIjpbNSwwXSwnIic6WzYsMF0sIlsiOls0LDJdLCJdIjpbMSwzXSxvOjgsbDpbNCwwXX07ZWlbNV09eyInIjpbNCwwXSxvOjgsbDpbNSwwXX07ZWlbNl09eyciJzpbNCwwXSxvOjgsbDpbNiwwXX07Y29uc3QgSHg9L15ccz8oPzp0cnVlfGZhbHNlfC0/W1xkLl0rfCdbXiddKid8IlteIl0qIilccz8kLztmdW5jdGlvbiBKeCh0KXtyZXR1cm4gSHgudGVzdCh0KX1mdW5jdGlvbiBxeCh0KXtjb25zdCBlPXQuY2hhckNvZGVBdCgwKSxuPXQuY2hhckNvZGVBdCh0Lmxlbmd0aC0xKTtyZXR1cm4gZT09PW4mJihlPT09MzR8fGU9PT0zOSk/dC5zbGljZSgxLC0xKTp0fWZ1bmN0aW9uIFp4KHQpe2lmKHQ9PW51bGwpcmV0dXJuIm8iO3N3aXRjaCh0LmNoYXJDb2RlQXQoMCkpe2Nhc2UgOTE6Y2FzZSA5MzpjYXNlIDQ2OmNhc2UgMzQ6Y2FzZSAzOTpyZXR1cm4gdDtjYXNlIDk1OmNhc2UgMzY6Y2FzZSA0NTpyZXR1cm4iaSI7Y2FzZSA5OmNhc2UgMTA6Y2FzZSAxMzpjYXNlIDE2MDpjYXNlIDY1Mjc5OmNhc2UgODIzMjpjYXNlIDgyMzM6cmV0dXJuIncifXJldHVybiJpIn1mdW5jdGlvbiBLeCh0KXtjb25zdCBlPXQudHJpbSgpO3JldHVybiB0LmNoYXJBdCgwKT09PSIwIiYmaXNOYU4ocGFyc2VJbnQodCkpPyExOkp4KGUpP3F4KGUpOiIqIitlfWZ1bmN0aW9uIFl4KHQpe2NvbnN0IGU9W107bGV0IG49LTEscj0wLGk9MCxzLG8sYSxsLGMsdSxkO2NvbnN0IGY9W107ZlswXT0oKT0+e289PT12b2lkIDA/bz1hOm8rPWF9LGZbMV09KCk9PntvIT09dm9pZCAwJiYoZS5wdXNoKG8pLG89dm9pZCAwKX0sZlsyXT0oKT0+e2ZbMF0oKSxpKyt9LGZbM109KCk9PntpZihpPjApaS0tLHI9NCxmWzBdKCk7ZWxzZXtpZihpPTAsbz09PXZvaWQgMHx8KG89S3gobyksbz09PSExKSlyZXR1cm4hMTtmWzFdKCl9fTtmdW5jdGlvbiBoKCl7Y29uc3QgbT10W24rMV07aWYocj09PTUmJm09PT0iJyJ8fHI9PT02JiZtPT09JyInKXJldHVybiBuKyssYT0iXFwiK20sZlswXSgpLCEwfWZvcig7ciE9PW51bGw7KWlmKG4rKyxzPXRbbl0sIShzPT09IlxcIiYmaCgpKSl7aWYobD1aeChzKSxkPWVpW3JdLGM9ZFtsXXx8ZC5sfHw4LGM9PT04fHwocj1jWzBdLGNbMV0hPT12b2lkIDAmJih1PWZbY1sxXV0sdSYmKGE9cyx1KCk9PT0hMSkpKSlyZXR1cm47aWYocj09PTcpcmV0dXJuIGV9fWNvbnN0IGFtPW5ldyBNYXA7ZnVuY3Rpb24gWHgodCxlKXtyZXR1cm4gaXQodCk/dFtlXTpudWxsfWZ1bmN0aW9uIFF4KHQsZSl7aWYoIWl0KHQpKXJldHVybiBudWxsO2xldCBuPWFtLmdldChlKTtpZihufHwobj1ZeChlKSxuJiZhbS5zZXQoZSxuKSksIW4pcmV0dXJuIG51bGw7Y29uc3Qgcj1uLmxlbmd0aDtsZXQgaT10LHM9MDtmb3IoO3M8cjspe2NvbnN0IG89aVtuW3NdXTtpZihvPT09dm9pZCAwfHxjdChpKSlyZXR1cm4gbnVsbDtpPW8scysrfXJldHVybiBpfWNvbnN0IGVBPXQ9PnQsdEE9dD0+IiIsbkE9InRleHQiLHJBPXQ9PnQubGVuZ3RoPT09MD8iIjpoeCh0KSxpQT1meDtmdW5jdGlvbiBsbSh0LGUpe3JldHVybiB0PU1hdGguYWJzKHQpLGU9PT0yP3Q/dD4xPzE6MDoxOnQ/TWF0aC5taW4odCwyKTowfWZ1bmN0aW9uIHNBKHQpe2NvbnN0IGU9eHQodC5wbHVyYWxJbmRleCk/dC5wbHVyYWxJbmRleDotMTtyZXR1cm4gdC5uYW1lZCYmKHh0KHQubmFtZWQuY291bnQpfHx4dCh0Lm5hbWVkLm4pKT94dCh0Lm5hbWVkLmNvdW50KT90Lm5hbWVkLmNvdW50Onh0KHQubmFtZWQubik/dC5uYW1lZC5uOmU6ZX1mdW5jdGlvbiBvQSh0LGUpe2UuY291bnR8fChlLmNvdW50PXQpLGUubnx8KGUubj10KX1mdW5jdGlvbiBhQSh0PXt9KXtjb25zdCBlPXQubG9jYWxlLG49c0EodCkscj1pdCh0LnBsdXJhbFJ1bGVzKSYmcGUoZSkmJmN0KHQucGx1cmFsUnVsZXNbZV0pP3QucGx1cmFsUnVsZXNbZV06bG0saT1pdCh0LnBsdXJhbFJ1bGVzKSYmcGUoZSkmJmN0KHQucGx1cmFsUnVsZXNbZV0pP2xtOnZvaWQgMCxzPXg9PnhbcihuLHgubGVuZ3RoLGkpXSxvPXQubGlzdHx8W10sYT14PT5vW3hdLGw9dC5uYW1lZHx8e307eHQodC5wbHVyYWxJbmRleCkmJm9BKG4sbCk7Y29uc3QgYz14PT5sW3hdO2Z1bmN0aW9uIHUoeCl7Y29uc3QgQz1jdCh0Lm1lc3NhZ2VzKT90Lm1lc3NhZ2VzKHgpOml0KHQubWVzc2FnZXMpP3QubWVzc2FnZXNbeF06ITE7cmV0dXJuIEN8fCh0LnBhcmVudD90LnBhcmVudC5tZXNzYWdlKHgpOnRBKX1jb25zdCBkPXg9PnQubW9kaWZpZXJzP3QubW9kaWZpZXJzW3hdOmVBLGY9TGUodC5wcm9jZXNzb3IpJiZjdCh0LnByb2Nlc3Nvci5ub3JtYWxpemUpP3QucHJvY2Vzc29yLm5vcm1hbGl6ZTpyQSxoPUxlKHQucHJvY2Vzc29yKSYmY3QodC5wcm9jZXNzb3IuaW50ZXJwb2xhdGUpP3QucHJvY2Vzc29yLmludGVycG9sYXRlOmlBLG09TGUodC5wcm9jZXNzb3IpJiZwZSh0LnByb2Nlc3Nvci50eXBlKT90LnByb2Nlc3Nvci50eXBlOm5BLGs9e2xpc3Q6YSxuYW1lZDpjLHBsdXJhbDpzLGxpbmtlZDooeCwuLi5DKT0+e2NvbnN0W2IsVF09QztsZXQgRT0idGV4dCIsdz0iIjtDLmxlbmd0aD09PTE/aXQoYik/KHc9Yi5tb2RpZmllcnx8dyxFPWIudHlwZXx8RSk6cGUoYikmJih3PWJ8fHcpOkMubGVuZ3RoPT09MiYmKHBlKGIpJiYodz1ifHx3KSxwZShUKSYmKEU9VHx8RSkpO2NvbnN0IFI9dSh4KShrKSxEPUU9PT0idm5vZGUiJiZmdChSKSYmdz9SWzBdOlI7cmV0dXJuIHc/ZCh3KShELEUpOkR9LG1lc3NhZ2U6dSx0eXBlOm0saW50ZXJwb2xhdGU6aCxub3JtYWxpemU6Zix2YWx1ZXM6RnQoe30sbyxsKX07cmV0dXJuIGt9bGV0IHZvPW51bGw7ZnVuY3Rpb24gbEEodCl7dm89dH1mdW5jdGlvbiBjQSh0LGUsbil7dm8mJnZvLmVtaXQoImkxOG46aW5pdCIse3RpbWVzdGFtcDpEYXRlLm5vdygpLGkxOG46dCx2ZXJzaW9uOmUsbWV0YTpufSl9Y29uc3QgdUE9ZEEoImZ1bmN0aW9uOnRyYW5zbGF0ZSIpO2Z1bmN0aW9uIGRBKHQpe3JldHVybiBlPT52byYmdm8uZW1pdCh0LGUpfWNvbnN0IGZBPUJkLl9fRVhURU5EX1BPSU5UX18sYWk9QWwoZkEpLGhBPXtGQUxMQkFDS19UT19UUkFOU0xBVEU6YWkoKSxDQU5OT1RfRk9STUFUX05VTUJFUjphaSgpLEZBTExCQUNLX1RPX05VTUJFUl9GT1JNQVQ6YWkoKSxDQU5OT1RfRk9STUFUX0RBVEU6YWkoKSxGQUxMQkFDS19UT19EQVRFX0ZPUk1BVDphaSgpLEVYUEVSSU1FTlRBTF9DVVNUT01fTUVTU0FHRV9DT01QSUxFUjphaSgpLF9fRVhURU5EX1BPSU5UX186YWkoKX0sVXY9Q2UuX19FWFRFTkRfUE9JTlRfXyxsaT1BbChVdiksVm49e0lOVkFMSURfQVJHVU1FTlQ6VXYsSU5WQUxJRF9EQVRFX0FSR1VNRU5UOmxpKCksSU5WQUxJRF9JU09fREFURV9BUkdVTUVOVDpsaSgpLE5PVF9TVVBQT1JUX05PTl9TVFJJTkdfTUVTU0FHRTpsaSgpLE5PVF9TVVBQT1JUX0xPQ0FMRV9QUk9NSVNFX1ZBTFVFOmxpKCksTk9UX1NVUFBPUlRfTE9DQUxFX0FTWU5DX0ZVTkNUSU9OOmxpKCksTk9UX1NVUFBPUlRfTE9DQUxFX1RZUEU6bGkoKSxfX0VYVEVORF9QT0lOVF9fOmxpKCl9O2Z1bmN0aW9uIHRyKHQpe3JldHVybiB3cyh0LG51bGwsdm9pZCAwKX1mdW5jdGlvbiBWZCh0LGUpe3JldHVybiBlLmxvY2FsZSE9bnVsbD9jbShlLmxvY2FsZSk6Y20odC5sb2NhbGUpfWxldCBhYztmdW5jdGlvbiBjbSh0KXtpZihwZSh0KSlyZXR1cm4gdDtpZihjdCh0KSl7aWYodC5yZXNvbHZlZE9uY2UmJmFjIT1udWxsKXJldHVybiBhYztpZih0LmNvbnN0cnVjdG9yLm5hbWU9PT0iRnVuY3Rpb24iKXtjb25zdCBlPXQoKTtpZihkeChlKSl0aHJvdyB0cihWbi5OT1RfU1VQUE9SVF9MT0NBTEVfUFJPTUlTRV9WQUxVRSk7cmV0dXJuIGFjPWV9ZWxzZSB0aHJvdyB0cihWbi5OT1RfU1VQUE9SVF9MT0NBTEVfQVNZTkNfRlVOQ1RJT04pfWVsc2UgdGhyb3cgdHIoVm4uTk9UX1NVUFBPUlRfTE9DQUxFX1RZUEUpfWZ1bmN0aW9uIG1BKHQsZSxuKXtyZXR1cm5bLi4ubmV3IFNldChbbiwuLi5mdChlKT9lOml0KGUpP09iamVjdC5rZXlzKGUpOnBlKGUpP1tlXTpbbl1dKV19ZnVuY3Rpb24gVnYodCxlLG4pe2NvbnN0IHI9cGUobik/bjpkcyxpPXQ7aS5fX2xvY2FsZUNoYWluQ2FjaGV8fChpLl9fbG9jYWxlQ2hhaW5DYWNoZT1uZXcgTWFwKTtsZXQgcz1pLl9fbG9jYWxlQ2hhaW5DYWNoZS5nZXQocik7aWYoIXMpe3M9W107bGV0IG89W25dO2Zvcig7ZnQobyk7KW89dW0ocyxvLGUpO2NvbnN0IGE9ZnQoZSl8fCFMZShlKT9lOmUuZGVmYXVsdD9lLmRlZmF1bHQ6bnVsbDtvPXBlKGEpP1thXTphLGZ0KG8pJiZ1bShzLG8sITEpLGkuX19sb2NhbGVDaGFpbkNhY2hlLnNldChyLHMpfXJldHVybiBzfWZ1bmN0aW9uIHVtKHQsZSxuKXtsZXQgcj0hMDtmb3IobGV0IGk9MDtpPGUubGVuZ3RoJiZHZShyKTtpKyspe2NvbnN0IHM9ZVtpXTtwZShzKSYmKHI9cEEodCxlW2ldLG4pKX1yZXR1cm4gcn1mdW5jdGlvbiBwQSh0LGUsbil7bGV0IHI7Y29uc3QgaT1lLnNwbGl0KCItIik7ZG97Y29uc3Qgcz1pLmpvaW4oIi0iKTtyPWdBKHQscyxuKSxpLnNwbGljZSgtMSwxKX13aGlsZShpLmxlbmd0aCYmcj09PSEwKTtyZXR1cm4gcn1mdW5jdGlvbiBnQSh0LGUsbil7bGV0IHI9ITE7aWYoIXQuaW5jbHVkZXMoZSkmJihyPSEwLGUpKXtyPWVbZS5sZW5ndGgtMV0hPT0iISI7Y29uc3QgaT1lLnJlcGxhY2UoLyEvZywiIik7dC5wdXNoKGkpLChmdChuKXx8TGUobikpJiZuW2ldJiYocj1uW2ldKX1yZXR1cm4gcn1jb25zdCB5QT0iOS4xMy4xIixPbD0tMSxkcz0iZW4tVVMiLGRtPSIiLGZtPXQ9PmAke3QuY2hhckF0KDApLnRvTG9jYWxlVXBwZXJDYXNlKCl9JHt0LnN1YnN0cigxKX1gO2Z1bmN0aW9uIHZBKCl7cmV0dXJue3VwcGVyOih0LGUpPT5lPT09InRleHQiJiZwZSh0KT90LnRvVXBwZXJDYXNlKCk6ZT09PSJ2bm9kZSImJml0KHQpJiYiX192X2lzVk5vZGUiaW4gdD90LmNoaWxkcmVuLnRvVXBwZXJDYXNlKCk6dCxsb3dlcjoodCxlKT0+ZT09PSJ0ZXh0IiYmcGUodCk/dC50b0xvd2VyQ2FzZSgpOmU9PT0idm5vZGUiJiZpdCh0KSYmIl9fdl9pc1ZOb2RlImluIHQ/dC5jaGlsZHJlbi50b0xvd2VyQ2FzZSgpOnQsY2FwaXRhbGl6ZToodCxlKT0+ZT09PSJ0ZXh0IiYmcGUodCk/Zm0odCk6ZT09PSJ2bm9kZSImJml0KHQpJiYiX192X2lzVk5vZGUiaW4gdD9mbSh0LmNoaWxkcmVuKTp0fX1sZXQgV3Y7ZnVuY3Rpb24gaG0odCl7V3Y9dH1sZXQgR3Y7ZnVuY3Rpb24gX0EodCl7R3Y9dH1sZXQgenY7ZnVuY3Rpb24gYkEodCl7enY9dH1sZXQgSHY9bnVsbDtjb25zdCB3QT10PT57SHY9dH0sa0E9KCk9Pkh2O2xldCBKdj1udWxsO2NvbnN0IG1tPXQ9PntKdj10fSxTQT0oKT0+SnY7bGV0IHBtPTA7ZnVuY3Rpb24gVEEodD17fSl7Y29uc3QgZT1jdCh0Lm9uV2Fybik/dC5vbldhcm46bXgsbj1wZSh0LnZlcnNpb24pP3QudmVyc2lvbjp5QSxyPXBlKHQubG9jYWxlKXx8Y3QodC5sb2NhbGUpP3QubG9jYWxlOmRzLGk9Y3Qocik/ZHM6cixzPWZ0KHQuZmFsbGJhY2tMb2NhbGUpfHxMZSh0LmZhbGxiYWNrTG9jYWxlKXx8cGUodC5mYWxsYmFja0xvY2FsZSl8fHQuZmFsbGJhY2tMb2NhbGU9PT0hMT90LmZhbGxiYWNrTG9jYWxlOmksbz1MZSh0Lm1lc3NhZ2VzKT90Lm1lc3NhZ2VzOntbaV06e319LGE9TGUodC5kYXRldGltZUZvcm1hdHMpP3QuZGF0ZXRpbWVGb3JtYXRzOntbaV06e319LGw9TGUodC5udW1iZXJGb3JtYXRzKT90Lm51bWJlckZvcm1hdHM6e1tpXTp7fX0sYz1GdCh7fSx0Lm1vZGlmaWVyc3x8e30sdkEoKSksdT10LnBsdXJhbFJ1bGVzfHx7fSxkPWN0KHQubWlzc2luZyk/dC5taXNzaW5nOm51bGwsZj1HZSh0Lm1pc3NpbmdXYXJuKXx8SHIodC5taXNzaW5nV2Fybik/dC5taXNzaW5nV2FybjohMCxoPUdlKHQuZmFsbGJhY2tXYXJuKXx8SHIodC5mYWxsYmFja1dhcm4pP3QuZmFsbGJhY2tXYXJuOiEwLG09ISF0LmZhbGxiYWNrRm9ybWF0LHA9ISF0LnVucmVzb2x2aW5nLGs9Y3QodC5wb3N0VHJhbnNsYXRpb24pP3QucG9zdFRyYW5zbGF0aW9uOm51bGwseD1MZSh0LnByb2Nlc3Nvcik/dC5wcm9jZXNzb3I6bnVsbCxDPUdlKHQud2Fybkh0bWxNZXNzYWdlKT90Lndhcm5IdG1sTWVzc2FnZTohMCxiPSEhdC5lc2NhcGVQYXJhbWV0ZXIsVD1jdCh0Lm1lc3NhZ2VDb21waWxlcik/dC5tZXNzYWdlQ29tcGlsZXI6V3YsRT1jdCh0Lm1lc3NhZ2VSZXNvbHZlcik/dC5tZXNzYWdlUmVzb2x2ZXI6R3Z8fFh4LHc9Y3QodC5sb2NhbGVGYWxsYmFja2VyKT90LmxvY2FsZUZhbGxiYWNrZXI6enZ8fG1BLFI9aXQodC5mYWxsYmFja0NvbnRleHQpP3QuZmFsbGJhY2tDb250ZXh0OnZvaWQgMCxEPXQsST1pdChELl9fZGF0ZXRpbWVGb3JtYXR0ZXJzKT9ELl9fZGF0ZXRpbWVGb3JtYXR0ZXJzOm5ldyBNYXAsQj1pdChELl9fbnVtYmVyRm9ybWF0dGVycyk/RC5fX251bWJlckZvcm1hdHRlcnM6bmV3IE1hcCxMPWl0KEQuX19tZXRhKT9ELl9fbWV0YTp7fTtwbSsrO2NvbnN0IGo9e3ZlcnNpb246bixjaWQ6cG0sbG9jYWxlOnIsZmFsbGJhY2tMb2NhbGU6cyxtZXNzYWdlczpvLG1vZGlmaWVyczpjLHBsdXJhbFJ1bGVzOnUsbWlzc2luZzpkLG1pc3NpbmdXYXJuOmYsZmFsbGJhY2tXYXJuOmgsZmFsbGJhY2tGb3JtYXQ6bSx1bnJlc29sdmluZzpwLHBvc3RUcmFuc2xhdGlvbjprLHByb2Nlc3Nvcjp4LHdhcm5IdG1sTWVzc2FnZTpDLGVzY2FwZVBhcmFtZXRlcjpiLG1lc3NhZ2VDb21waWxlcjpULG1lc3NhZ2VSZXNvbHZlcjpFLGxvY2FsZUZhbGxiYWNrZXI6dyxmYWxsYmFja0NvbnRleHQ6Uixvbldhcm46ZSxfX21ldGE6TH07cmV0dXJuIGouZGF0ZXRpbWVGb3JtYXRzPWEsai5udW1iZXJGb3JtYXRzPWwsai5fX2RhdGV0aW1lRm9ybWF0dGVycz1JLGouX19udW1iZXJGb3JtYXR0ZXJzPUIsX19JTlRMSUZZX1BST0RfREVWVE9PTFNfXyYmY0EoaixuLEwpLGp9ZnVuY3Rpb24gV2QodCxlLG4scixpKXtjb25zdHttaXNzaW5nOnMsb25XYXJuOm99PXQ7aWYocyE9PW51bGwpe2NvbnN0IGE9cyh0LG4sZSxpKTtyZXR1cm4gcGUoYSk/YTplfWVsc2UgcmV0dXJuIGV9ZnVuY3Rpb24gTnModCxlLG4pe2NvbnN0IHI9dDtyLl9fbG9jYWxlQ2hhaW5DYWNoZT1uZXcgTWFwLHQubG9jYWxlRmFsbGJhY2tlcih0LG4sZSl9ZnVuY3Rpb24gRUEodCxlKXtyZXR1cm4gdD09PWU/ITE6dC5zcGxpdCgiLSIpWzBdPT09ZS5zcGxpdCgiLSIpWzBdfWZ1bmN0aW9uIHhBKHQsZSl7Y29uc3Qgbj1lLmluZGV4T2YodCk7aWYobj09PS0xKXJldHVybiExO2ZvcihsZXQgcj1uKzE7cjxlLmxlbmd0aDtyKyspaWYoRUEodCxlW3JdKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBsYyh0KXtyZXR1cm4gbj0+QUEobix0KX1mdW5jdGlvbiBBQSh0LGUpe2NvbnN0IG49ZS5ifHxlLmJvZHk7aWYoKG4udHx8bi50eXBlKT09PTEpe2NvbnN0IHI9bixpPXIuY3x8ci5jYXNlcztyZXR1cm4gdC5wbHVyYWwoaS5yZWR1Y2UoKHMsbyk9PlsuLi5zLGdtKHQsbyldLFtdKSl9ZWxzZSByZXR1cm4gZ20odCxuKX1mdW5jdGlvbiBnbSh0LGUpe2NvbnN0IG49ZS5zfHxlLnN0YXRpYztpZihuKXJldHVybiB0LnR5cGU9PT0idGV4dCI/bjp0Lm5vcm1hbGl6ZShbbl0pO3tjb25zdCByPShlLml8fGUuaXRlbXMpLnJlZHVjZSgoaSxzKT0+Wy4uLmksaXUodCxzKV0sW10pO3JldHVybiB0Lm5vcm1hbGl6ZShyKX19ZnVuY3Rpb24gaXUodCxlKXtjb25zdCBuPWUudHx8ZS50eXBlO3N3aXRjaChuKXtjYXNlIDM6e2NvbnN0IHI9ZTtyZXR1cm4gci52fHxyLnZhbHVlfWNhc2UgOTp7Y29uc3Qgcj1lO3JldHVybiByLnZ8fHIudmFsdWV9Y2FzZSA0Ontjb25zdCByPWU7cmV0dXJuIHQuaW50ZXJwb2xhdGUodC5uYW1lZChyLmt8fHIua2V5KSl9Y2FzZSA1Ontjb25zdCByPWU7cmV0dXJuIHQuaW50ZXJwb2xhdGUodC5saXN0KHIuaSE9bnVsbD9yLmk6ci5pbmRleCkpfWNhc2UgNjp7Y29uc3Qgcj1lLGk9ci5tfHxyLm1vZGlmaWVyO3JldHVybiB0LmxpbmtlZChpdSh0LHIua3x8ci5rZXkpLGk/aXUodCxpKTp2b2lkIDAsdC50eXBlKX1jYXNlIDc6e2NvbnN0IHI9ZTtyZXR1cm4gci52fHxyLnZhbHVlfWNhc2UgODp7Y29uc3Qgcj1lO3JldHVybiByLnZ8fHIudmFsdWV9ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYHVuaGFuZGxlZCBub2RlIHR5cGUgb24gZm9ybWF0IG1lc3NhZ2UgcGFydDogJHtufWApfX1jb25zdCBxdj10PT50O2xldCAkaT1PYmplY3QuY3JlYXRlKG51bGwpO2NvbnN0IGZzPXQ9Pml0KHQpJiYodC50PT09MHx8dC50eXBlPT09MCkmJigiYiJpbiB0fHwiYm9keSJpbiB0KTtmdW5jdGlvbiBadih0LGU9e30pe2xldCBuPSExO2NvbnN0IHI9ZS5vbkVycm9yfHx3eDtyZXR1cm4gZS5vbkVycm9yPWk9PntuPSEwLHIoaSl9LHsuLi5HeCh0LGUpLGRldGVjdEVycm9yOm59fWNvbnN0IE9BPSh0LGUpPT57aWYoIXBlKHQpKXRocm93IHRyKFZuLk5PVF9TVVBQT1JUX05PTl9TVFJJTkdfTUVTU0FHRSk7e0dlKGUud2Fybkh0bWxNZXNzYWdlKSYmZS53YXJuSHRtbE1lc3NhZ2U7Y29uc3Qgcj0oZS5vbkNhY2hlS2V5fHxxdikodCksaT0kaVtyXTtpZihpKXJldHVybiBpO2NvbnN0e2NvZGU6cyxkZXRlY3RFcnJvcjpvfT1adih0LGUpLGE9bmV3IEZ1bmN0aW9uKGByZXR1cm4gJHtzfWApKCk7cmV0dXJuIG8/YTokaVtyXT1hfX07ZnVuY3Rpb24gQ0EodCxlKXtpZihfX0lOVExJRllfSklUX0NPTVBJTEFUSU9OX18mJiFfX0lOVExJRllfRFJPUF9NRVNTQUdFX0NPTVBJTEVSX18mJnBlKHQpKXtHZShlLndhcm5IdG1sTWVzc2FnZSkmJmUud2Fybkh0bWxNZXNzYWdlO2NvbnN0IHI9KGUub25DYWNoZUtleXx8cXYpKHQpLGk9JGlbcl07aWYoaSlyZXR1cm4gaTtjb25zdHthc3Q6cyxkZXRlY3RFcnJvcjpvfT1adih0LHsuLi5lLGxvY2F0aW9uOiExLGppdDohMH0pLGE9bGMocyk7cmV0dXJuIG8/YTokaVtyXT1hfWVsc2V7Y29uc3Qgbj10LmNhY2hlS2V5O2lmKG4pe2NvbnN0IHI9JGlbbl07cmV0dXJuIHJ8fCgkaVtuXT1sYyh0KSl9ZWxzZSByZXR1cm4gbGModCl9fWNvbnN0IHltPSgpPT4iIix2bj10PT5jdCh0KTtmdW5jdGlvbiB2bSh0LC4uLmUpe2NvbnN0e2ZhbGxiYWNrRm9ybWF0Om4scG9zdFRyYW5zbGF0aW9uOnIsdW5yZXNvbHZpbmc6aSxtZXNzYWdlQ29tcGlsZXI6cyxmYWxsYmFja0xvY2FsZTpvLG1lc3NhZ2VzOmF9PXQsW2wsY109c3UoLi4uZSksdT1HZShjLm1pc3NpbmdXYXJuKT9jLm1pc3NpbmdXYXJuOnQubWlzc2luZ1dhcm4sZD1HZShjLmZhbGxiYWNrV2Fybik/Yy5mYWxsYmFja1dhcm46dC5mYWxsYmFja1dhcm4sZj1HZShjLmVzY2FwZVBhcmFtZXRlcik/Yy5lc2NhcGVQYXJhbWV0ZXI6dC5lc2NhcGVQYXJhbWV0ZXIsaD0hIWMucmVzb2x2ZWRNZXNzYWdlLG09cGUoYy5kZWZhdWx0KXx8R2UoYy5kZWZhdWx0KT9HZShjLmRlZmF1bHQpP3M/bDooKT0+bDpjLmRlZmF1bHQ6bj9zP2w6KCk9Pmw6IiIscD1ufHxtIT09IiIsaz1WZCh0LGMpO2YmJlBBKGMpO2xldFt4LEMsYl09aD9bbCxrLGFba118fHt9XTpLdih0LGwsayxvLGQsdSksVD14LEU9bDtpZighaCYmIShwZShUKXx8ZnMoVCl8fHZuKFQpKSYmcCYmKFQ9bSxFPVQpLCFoJiYoIShwZShUKXx8ZnMoVCl8fHZuKFQpKXx8IXBlKEMpKSlyZXR1cm4gaT9PbDpsO2xldCB3PSExO2NvbnN0IFI9KCk9Pnt3PSEwfSxEPXZuKFQpP1Q6WXYodCxsLEMsVCxFLFIpO2lmKHcpcmV0dXJuIFQ7Y29uc3QgST1SQSh0LEMsYixjKSxCPWFBKEkpLEw9SUEodCxELEIpLGo9cj9yKEwsbCk6TDtpZihfX0lOVExJRllfUFJPRF9ERVZUT09MU19fKXtjb25zdCByZT17dGltZXN0YW1wOkRhdGUubm93KCksa2V5OnBlKGwpP2w6dm4oVCk/VC5rZXk6IiIsbG9jYWxlOkN8fCh2bihUKT9ULmxvY2FsZToiIiksZm9ybWF0OnBlKFQpP1Q6dm4oVCk/VC5zb3VyY2U6IiIsbWVzc2FnZTpqfTtyZS5tZXRhPUZ0KHt9LHQuX19tZXRhLGtBKCl8fHt9KSx1QShyZSl9cmV0dXJuIGp9ZnVuY3Rpb24gUEEodCl7ZnQodC5saXN0KT90Lmxpc3Q9dC5saXN0Lm1hcChlPT5wZShlKT9ubShlKTplKTppdCh0Lm5hbWVkKSYmT2JqZWN0LmtleXModC5uYW1lZCkuZm9yRWFjaChlPT57cGUodC5uYW1lZFtlXSkmJih0Lm5hbWVkW2VdPW5tKHQubmFtZWRbZV0pKX0pfWZ1bmN0aW9uIEt2KHQsZSxuLHIsaSxzKXtjb25zdHttZXNzYWdlczpvLG9uV2FybjphLG1lc3NhZ2VSZXNvbHZlcjpsLGxvY2FsZUZhbGxiYWNrZXI6Y309dCx1PWModCxyLG4pO2xldCBkPXt9LGYsaD1udWxsO2NvbnN0IG09InRyYW5zbGF0ZSI7Zm9yKGxldCBwPTA7cDx1Lmxlbmd0aCYmKGY9dVtwXSxkPW9bZl18fHt9LChoPWwoZCxlKSk9PT1udWxsJiYoaD1kW2VdKSwhKHBlKGgpfHxmcyhoKXx8dm4oaCkpKTtwKyspaWYoIXhBKGYsdSkpe2NvbnN0IGs9V2QodCxlLGYscyxtKTtrIT09ZSYmKGg9ayl9cmV0dXJuW2gsZixkXX1mdW5jdGlvbiBZdih0LGUsbixyLGkscyl7Y29uc3R7bWVzc2FnZUNvbXBpbGVyOm8sd2Fybkh0bWxNZXNzYWdlOmF9PXQ7aWYodm4ocikpe2NvbnN0IGM9cjtyZXR1cm4gYy5sb2NhbGU9Yy5sb2NhbGV8fG4sYy5rZXk9Yy5rZXl8fGUsY31pZihvPT1udWxsKXtjb25zdCBjPSgpPT5yO3JldHVybiBjLmxvY2FsZT1uLGMua2V5PWUsY31jb25zdCBsPW8ocixOQSh0LG4saSxyLGEscykpO3JldHVybiBsLmxvY2FsZT1uLGwua2V5PWUsbC5zb3VyY2U9cixsfWZ1bmN0aW9uIElBKHQsZSxuKXtyZXR1cm4gZShuKX1mdW5jdGlvbiBzdSguLi50KXtjb25zdFtlLG4scl09dCxpPXt9O2lmKCFwZShlKSYmIXh0KGUpJiYhdm4oZSkmJiFmcyhlKSl0aHJvdyB0cihWbi5JTlZBTElEX0FSR1VNRU5UKTtjb25zdCBzPXh0KGUpP1N0cmluZyhlKToodm4oZSksZSk7cmV0dXJuIHh0KG4pP2kucGx1cmFsPW46cGUobik/aS5kZWZhdWx0PW46TGUobikmJiF4bChuKT9pLm5hbWVkPW46ZnQobikmJihpLmxpc3Q9bikseHQocik/aS5wbHVyYWw9cjpwZShyKT9pLmRlZmF1bHQ9cjpMZShyKSYmRnQoaSxyKSxbcyxpXX1mdW5jdGlvbiBOQSh0LGUsbixyLGkscyl7cmV0dXJue2xvY2FsZTplLGtleTpuLHdhcm5IdG1sTWVzc2FnZTppLG9uRXJyb3I6bz0+e3Rocm93IHMmJnMobyksb30sb25DYWNoZUtleTpvPT5heChlLG4sbyl9fWZ1bmN0aW9uIFJBKHQsZSxuLHIpe2NvbnN0e21vZGlmaWVyczppLHBsdXJhbFJ1bGVzOnMsbWVzc2FnZVJlc29sdmVyOm8sZmFsbGJhY2tMb2NhbGU6YSxmYWxsYmFja1dhcm46bCxtaXNzaW5nV2FybjpjLGZhbGxiYWNrQ29udGV4dDp1fT10LGY9e2xvY2FsZTplLG1vZGlmaWVyczppLHBsdXJhbFJ1bGVzOnMsbWVzc2FnZXM6aD0+e2xldCBtPW8obixoKTtpZihtPT1udWxsJiZ1KXtjb25zdFssLHBdPUt2KHUsaCxlLGEsbCxjKTttPW8ocCxoKX1pZihwZShtKXx8ZnMobSkpe2xldCBwPSExO2NvbnN0IHg9WXYodCxoLGUsbSxoLCgpPT57cD0hMH0pO3JldHVybiBwP3ltOnh9ZWxzZSByZXR1cm4gdm4obSk/bTp5bX19O3JldHVybiB0LnByb2Nlc3NvciYmKGYucHJvY2Vzc29yPXQucHJvY2Vzc29yKSxyLmxpc3QmJihmLmxpc3Q9ci5saXN0KSxyLm5hbWVkJiYoZi5uYW1lZD1yLm5hbWVkKSx4dChyLnBsdXJhbCkmJihmLnBsdXJhbEluZGV4PXIucGx1cmFsKSxmfWZ1bmN0aW9uIF9tKHQsLi4uZSl7Y29uc3R7ZGF0ZXRpbWVGb3JtYXRzOm4sdW5yZXNvbHZpbmc6cixmYWxsYmFja0xvY2FsZTppLG9uV2FybjpzLGxvY2FsZUZhbGxiYWNrZXI6b309dCx7X19kYXRldGltZUZvcm1hdHRlcnM6YX09dCxbbCxjLHUsZF09b3UoLi4uZSksZj1HZSh1Lm1pc3NpbmdXYXJuKT91Lm1pc3NpbmdXYXJuOnQubWlzc2luZ1dhcm47R2UodS5mYWxsYmFja1dhcm4pP3UuZmFsbGJhY2tXYXJuOnQuZmFsbGJhY2tXYXJuO2NvbnN0IGg9ISF1LnBhcnQsbT1WZCh0LHUpLHA9byh0LGksbSk7aWYoIXBlKGwpfHxsPT09IiIpcmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KG0sZCkuZm9ybWF0KGMpO2xldCBrPXt9LHgsQz1udWxsO2NvbnN0IGI9ImRhdGV0aW1lIGZvcm1hdCI7Zm9yKGxldCB3PTA7dzxwLmxlbmd0aCYmKHg9cFt3XSxrPW5beF18fHt9LEM9a1tsXSwhTGUoQykpO3crKylXZCh0LGwseCxmLGIpO2lmKCFMZShDKXx8IXBlKHgpKXJldHVybiByP09sOmw7bGV0IFQ9YCR7eH1fXyR7bH1gO3hsKGQpfHwoVD1gJHtUfV9fJHtKU09OLnN0cmluZ2lmeShkKX1gKTtsZXQgRT1hLmdldChUKTtyZXR1cm4gRXx8KEU9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoeCxGdCh7fSxDLGQpKSxhLnNldChULEUpKSxoP0UuZm9ybWF0VG9QYXJ0cyhjKTpFLmZvcm1hdChjKX1jb25zdCBYdj1bImxvY2FsZU1hdGNoZXIiLCJ3ZWVrZGF5IiwiZXJhIiwieWVhciIsIm1vbnRoIiwiZGF5IiwiaG91ciIsIm1pbnV0ZSIsInNlY29uZCIsInRpbWVab25lTmFtZSIsImZvcm1hdE1hdGNoZXIiLCJob3VyMTIiLCJ0aW1lWm9uZSIsImRhdGVTdHlsZSIsInRpbWVTdHlsZSIsImNhbGVuZGFyIiwiZGF5UGVyaW9kIiwibnVtYmVyaW5nU3lzdGVtIiwiaG91ckN5Y2xlIiwiZnJhY3Rpb25hbFNlY29uZERpZ2l0cyJdO2Z1bmN0aW9uIG91KC4uLnQpe2NvbnN0W2UsbixyLGldPXQscz17fTtsZXQgbz17fSxhO2lmKHBlKGUpKXtjb25zdCBsPWUubWF0Y2goLyhcZHs0fS1cZHsyfS1cZHsyfSkoVHxccyk/KC4qKS8pO2lmKCFsKXRocm93IHRyKFZuLklOVkFMSURfSVNPX0RBVEVfQVJHVU1FTlQpO2NvbnN0IGM9bFszXT9sWzNdLnRyaW0oKS5zdGFydHNXaXRoKCJUIik/YCR7bFsxXS50cmltKCl9JHtsWzNdLnRyaW0oKX1gOmAke2xbMV0udHJpbSgpfVQke2xbM10udHJpbSgpfWA6bFsxXS50cmltKCk7YT1uZXcgRGF0ZShjKTt0cnl7YS50b0lTT1N0cmluZygpfWNhdGNoe3Rocm93IHRyKFZuLklOVkFMSURfSVNPX0RBVEVfQVJHVU1FTlQpfX1lbHNlIGlmKGN4KGUpKXtpZihpc05hTihlLmdldFRpbWUoKSkpdGhyb3cgdHIoVm4uSU5WQUxJRF9EQVRFX0FSR1VNRU5UKTthPWV9ZWxzZSBpZih4dChlKSlhPWU7ZWxzZSB0aHJvdyB0cihWbi5JTlZBTElEX0FSR1VNRU5UKTtyZXR1cm4gcGUobik/cy5rZXk9bjpMZShuKSYmT2JqZWN0LmtleXMobikuZm9yRWFjaChsPT57WHYuaW5jbHVkZXMobCk/b1tsXT1uW2xdOnNbbF09bltsXX0pLHBlKHIpP3MubG9jYWxlPXI6TGUocikmJihvPXIpLExlKGkpJiYobz1pKSxbcy5rZXl8fCIiLGEscyxvXX1mdW5jdGlvbiBibSh0LGUsbil7Y29uc3Qgcj10O2Zvcihjb25zdCBpIGluIG4pe2NvbnN0IHM9YCR7ZX1fXyR7aX1gO3IuX19kYXRldGltZUZvcm1hdHRlcnMuaGFzKHMpJiZyLl9fZGF0ZXRpbWVGb3JtYXR0ZXJzLmRlbGV0ZShzKX19ZnVuY3Rpb24gd20odCwuLi5lKXtjb25zdHtudW1iZXJGb3JtYXRzOm4sdW5yZXNvbHZpbmc6cixmYWxsYmFja0xvY2FsZTppLG9uV2FybjpzLGxvY2FsZUZhbGxiYWNrZXI6b309dCx7X19udW1iZXJGb3JtYXR0ZXJzOmF9PXQsW2wsYyx1LGRdPWF1KC4uLmUpLGY9R2UodS5taXNzaW5nV2Fybik/dS5taXNzaW5nV2Fybjp0Lm1pc3NpbmdXYXJuO0dlKHUuZmFsbGJhY2tXYXJuKT91LmZhbGxiYWNrV2Fybjp0LmZhbGxiYWNrV2Fybjtjb25zdCBoPSEhdS5wYXJ0LG09VmQodCx1KSxwPW8odCxpLG0pO2lmKCFwZShsKXx8bD09PSIiKXJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQobSxkKS5mb3JtYXQoYyk7bGV0IGs9e30seCxDPW51bGw7Y29uc3QgYj0ibnVtYmVyIGZvcm1hdCI7Zm9yKGxldCB3PTA7dzxwLmxlbmd0aCYmKHg9cFt3XSxrPW5beF18fHt9LEM9a1tsXSwhTGUoQykpO3crKylXZCh0LGwseCxmLGIpO2lmKCFMZShDKXx8IXBlKHgpKXJldHVybiByP09sOmw7bGV0IFQ9YCR7eH1fXyR7bH1gO3hsKGQpfHwoVD1gJHtUfV9fJHtKU09OLnN0cmluZ2lmeShkKX1gKTtsZXQgRT1hLmdldChUKTtyZXR1cm4gRXx8KEU9bmV3IEludGwuTnVtYmVyRm9ybWF0KHgsRnQoe30sQyxkKSksYS5zZXQoVCxFKSksaD9FLmZvcm1hdFRvUGFydHMoYyk6RS5mb3JtYXQoYyl9Y29uc3QgUXY9WyJsb2NhbGVNYXRjaGVyIiwic3R5bGUiLCJjdXJyZW5jeSIsImN1cnJlbmN5RGlzcGxheSIsImN1cnJlbmN5U2lnbiIsInVzZUdyb3VwaW5nIiwibWluaW11bUludGVnZXJEaWdpdHMiLCJtaW5pbXVtRnJhY3Rpb25EaWdpdHMiLCJtYXhpbXVtRnJhY3Rpb25EaWdpdHMiLCJtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHMiLCJtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMiLCJjb21wYWN0RGlzcGxheSIsIm5vdGF0aW9uIiwic2lnbkRpc3BsYXkiLCJ1bml0IiwidW5pdERpc3BsYXkiLCJyb3VuZGluZ01vZGUiLCJyb3VuZGluZ1ByaW9yaXR5Iiwicm91bmRpbmdJbmNyZW1lbnQiLCJ0cmFpbGluZ1plcm9EaXNwbGF5Il07ZnVuY3Rpb24gYXUoLi4udCl7Y29uc3RbZSxuLHIsaV09dCxzPXt9O2xldCBvPXt9O2lmKCF4dChlKSl0aHJvdyB0cihWbi5JTlZBTElEX0FSR1VNRU5UKTtjb25zdCBhPWU7cmV0dXJuIHBlKG4pP3Mua2V5PW46TGUobikmJk9iamVjdC5rZXlzKG4pLmZvckVhY2gobD0+e1F2LmluY2x1ZGVzKGwpP29bbF09bltsXTpzW2xdPW5bbF19KSxwZShyKT9zLmxvY2FsZT1yOkxlKHIpJiYobz1yKSxMZShpKSYmKG89aSksW3Mua2V5fHwiIixhLHMsb119ZnVuY3Rpb24ga20odCxlLG4pe2NvbnN0IHI9dDtmb3IoY29uc3QgaSBpbiBuKXtjb25zdCBzPWAke2V9X18ke2l9YDtyLl9fbnVtYmVyRm9ybWF0dGVycy5oYXMocykmJnIuX19udW1iZXJGb3JtYXR0ZXJzLmRlbGV0ZShzKX19engoKTsvKiEKICAqIHZ1ZS1pMThuIHY5LjEzLjEKICAqIChjKSAyMDI0IGthenV5YSBrYXdhZ3VjaGkKICAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KICAqL2NvbnN0IERBPSI5LjEzLjEiO2Z1bmN0aW9uIE1BKCl7dHlwZW9mIF9fVlVFX0kxOE5fRlVMTF9JTlNUQUxMX18hPSJib29sZWFuIiYmKHByKCkuX19WVUVfSTE4Tl9GVUxMX0lOU1RBTExfXz0hMCksdHlwZW9mIF9fVlVFX0kxOE5fTEVHQUNZX0FQSV9fIT0iYm9vbGVhbiImJihwcigpLl9fVlVFX0kxOE5fTEVHQUNZX0FQSV9fPSEwKSx0eXBlb2YgX19JTlRMSUZZX0pJVF9DT01QSUxBVElPTl9fIT0iYm9vbGVhbiImJihwcigpLl9fSU5UTElGWV9KSVRfQ09NUElMQVRJT05fXz0hMSksdHlwZW9mIF9fSU5UTElGWV9EUk9QX01FU1NBR0VfQ09NUElMRVJfXyE9ImJvb2xlYW4iJiYocHIoKS5fX0lOVExJRllfRFJPUF9NRVNTQUdFX0NPTVBJTEVSX189ITEpLHR5cGVvZiBfX0lOVExJRllfUFJPRF9ERVZUT09MU19fIT0iYm9vbGVhbiImJihwcigpLl9fSU5UTElGWV9QUk9EX0RFVlRPT0xTX189ITEpfWNvbnN0IExBPWhBLl9fRVhURU5EX1BPSU5UX18sZnI9QWwoTEEpO2ZyKCksZnIoKSxmcigpLGZyKCksZnIoKSxmcigpLGZyKCksZnIoKSxmcigpO2NvbnN0IGVfPVZuLl9fRVhURU5EX1BPSU5UX18sUXQ9QWwoZV8pLEF0PXtVTkVYUEVDVEVEX1JFVFVSTl9UWVBFOmVfLElOVkFMSURfQVJHVU1FTlQ6UXQoKSxNVVNUX0JFX0NBTExfU0VUVVBfVE9QOlF0KCksTk9UX0lOU1RBTExFRDpRdCgpLE5PVF9BVkFJTEFCTEVfSU5fTEVHQUNZX01PREU6UXQoKSxSRVFVSVJFRF9WQUxVRTpRdCgpLElOVkFMSURfVkFMVUU6UXQoKSxDQU5OT1RfU0VUVVBfVlVFX0RFVlRPT0xTX1BMVUdJTjpRdCgpLE5PVF9JTlNUQUxMRURfV0lUSF9QUk9WSURFOlF0KCksVU5FWFBFQ1RFRF9FUlJPUjpRdCgpLE5PVF9DT01QQVRJQkxFX0xFR0FDWV9WVUVfSTE4TjpRdCgpLEJSSURHRV9TVVBQT1JUX1ZVRV8yX09OTFk6UXQoKSxNVVNUX0RFRklORV9JMThOX09QVElPTl9JTl9BTExPV19DT01QT1NJVElPTjpRdCgpLE5PVF9BVkFJTEFCTEVfQ09NUE9TSVRJT05fSU5fTEVHQUNZOlF0KCksX19FWFRFTkRfUE9JTlRfXzpRdCgpfTtmdW5jdGlvbiBSdCh0LC4uLmUpe3JldHVybiB3cyh0LG51bGwsdm9pZCAwKX1jb25zdCBsdT1RcigiX190cmFuc2xhdGVWTm9kZSIpLGN1PVFyKCJfX2RhdGV0aW1lUGFydHMiKSx1dT1RcigiX19udW1iZXJQYXJ0cyIpLHRfPVFyKCJfX3NldFBsdXJhbFJ1bGVzIiksbl89UXIoIl9faW5qZWN0V2l0aE9wdGlvbiIpLGR1PVFyKCJfX2Rpc3Bvc2UiKTtmdW5jdGlvbiBfbyh0KXtpZighaXQodCkpcmV0dXJuIHQ7Zm9yKGNvbnN0IGUgaW4gdClpZihGYSh0LGUpKWlmKCFlLmluY2x1ZGVzKCIuIikpaXQodFtlXSkmJl9vKHRbZV0pO2Vsc2V7Y29uc3Qgbj1lLnNwbGl0KCIuIikscj1uLmxlbmd0aC0xO2xldCBpPXQscz0hMTtmb3IobGV0IG89MDtvPHI7bysrKXtpZihuW29daW4gaXx8KGlbbltvXV09e30pLCFpdChpW25bb11dKSl7cz0hMDticmVha31pPWlbbltvXV19c3x8KGlbbltyXV09dFtlXSxkZWxldGUgdFtlXSksaXQoaVtuW3JdXSkmJl9vKGlbbltyXV0pfXJldHVybiB0fWZ1bmN0aW9uIENsKHQsZSl7Y29uc3R7bWVzc2FnZXM6bixfX2kxOG46cixtZXNzYWdlUmVzb2x2ZXI6aSxmbGF0SnNvbjpzfT1lLG89TGUobik/bjpmdChyKT97fTp7W3RdOnt9fTtpZihmdChyKSYmci5mb3JFYWNoKGE9PntpZigibG9jYWxlImluIGEmJiJyZXNvdXJjZSJpbiBhKXtjb25zdHtsb2NhbGU6bCxyZXNvdXJjZTpjfT1hO2w/KG9bbF09b1tsXXx8e30sYmEoYyxvW2xdKSk6YmEoYyxvKX1lbHNlIHBlKGEpJiZiYShKU09OLnBhcnNlKGEpLG8pfSksaT09bnVsbCYmcylmb3IoY29uc3QgYSBpbiBvKUZhKG8sYSkmJl9vKG9bYV0pO3JldHVybiBvfWZ1bmN0aW9uIHJfKHQpe3JldHVybiB0LnR5cGV9ZnVuY3Rpb24gaV8odCxlLG4pe2xldCByPWl0KGUubWVzc2FnZXMpP2UubWVzc2FnZXM6e307Il9faTE4bkdsb2JhbCJpbiBuJiYocj1DbCh0LmxvY2FsZS52YWx1ZSx7bWVzc2FnZXM6cixfX2kxOG46bi5fX2kxOG5HbG9iYWx9KSk7Y29uc3QgaT1PYmplY3Qua2V5cyhyKTtpLmxlbmd0aCYmaS5mb3JFYWNoKHM9Pnt0Lm1lcmdlTG9jYWxlTWVzc2FnZShzLHJbc10pfSk7e2lmKGl0KGUuZGF0ZXRpbWVGb3JtYXRzKSl7Y29uc3Qgcz1PYmplY3Qua2V5cyhlLmRhdGV0aW1lRm9ybWF0cyk7cy5sZW5ndGgmJnMuZm9yRWFjaChvPT57dC5tZXJnZURhdGVUaW1lRm9ybWF0KG8sZS5kYXRldGltZUZvcm1hdHNbb10pfSl9aWYoaXQoZS5udW1iZXJGb3JtYXRzKSl7Y29uc3Qgcz1PYmplY3Qua2V5cyhlLm51bWJlckZvcm1hdHMpO3MubGVuZ3RoJiZzLmZvckVhY2gobz0+e3QubWVyZ2VOdW1iZXJGb3JtYXQobyxlLm51bWJlckZvcm1hdHNbb10pfSl9fX1mdW5jdGlvbiBTbSh0KXtyZXR1cm4gZWUoTm8sbnVsbCx0LDApfWNvbnN0IFRtPSJfX0lOVExJRllfTUVUQV9fIixFbT0oKT0+W10sRkE9KCk9PiExO2xldCB4bT0wO2Z1bmN0aW9uIEFtKHQpe3JldHVybihlLG4scixpKT0+dChuLHIsQ24oKXx8dm9pZCAwLGkpfWNvbnN0ICRBPSgpPT57Y29uc3QgdD1DbigpO2xldCBlPW51bGw7cmV0dXJuIHQmJihlPXJfKHQpW1RtXSk/e1tUbV06ZX06bnVsbH07ZnVuY3Rpb24gR2QodD17fSxlKXtjb25zdHtfX3Jvb3Q6bixfX2luamVjdFdpdGhPcHRpb246cn09dCxpPW49PT12b2lkIDAscz10LmZsYXRKc29uLG89TGE/c2U6UG8sYT0hIXQudHJhbnNsYXRlRXhpc3RDb21wYXRpYmxlO2xldCBsPUdlKHQuaW5oZXJpdExvY2FsZSk/dC5pbmhlcml0TG9jYWxlOiEwO2NvbnN0IGM9byhuJiZsP24ubG9jYWxlLnZhbHVlOnBlKHQubG9jYWxlKT90LmxvY2FsZTpkcyksdT1vKG4mJmw/bi5mYWxsYmFja0xvY2FsZS52YWx1ZTpwZSh0LmZhbGxiYWNrTG9jYWxlKXx8ZnQodC5mYWxsYmFja0xvY2FsZSl8fExlKHQuZmFsbGJhY2tMb2NhbGUpfHx0LmZhbGxiYWNrTG9jYWxlPT09ITE/dC5mYWxsYmFja0xvY2FsZTpjLnZhbHVlKSxkPW8oQ2woYy52YWx1ZSx0KSksZj1vKExlKHQuZGF0ZXRpbWVGb3JtYXRzKT90LmRhdGV0aW1lRm9ybWF0czp7W2MudmFsdWVdOnt9fSksaD1vKExlKHQubnVtYmVyRm9ybWF0cyk/dC5udW1iZXJGb3JtYXRzOntbYy52YWx1ZV06e319KTtsZXQgbT1uP24ubWlzc2luZ1dhcm46R2UodC5taXNzaW5nV2Fybil8fEhyKHQubWlzc2luZ1dhcm4pP3QubWlzc2luZ1dhcm46ITAscD1uP24uZmFsbGJhY2tXYXJuOkdlKHQuZmFsbGJhY2tXYXJuKXx8SHIodC5mYWxsYmFja1dhcm4pP3QuZmFsbGJhY2tXYXJuOiEwLGs9bj9uLmZhbGxiYWNrUm9vdDpHZSh0LmZhbGxiYWNrUm9vdCk/dC5mYWxsYmFja1Jvb3Q6ITAseD0hIXQuZmFsbGJhY2tGb3JtYXQsQz1jdCh0Lm1pc3NpbmcpP3QubWlzc2luZzpudWxsLGI9Y3QodC5taXNzaW5nKT9BbSh0Lm1pc3NpbmcpOm51bGwsVD1jdCh0LnBvc3RUcmFuc2xhdGlvbik/dC5wb3N0VHJhbnNsYXRpb246bnVsbCxFPW4/bi53YXJuSHRtbE1lc3NhZ2U6R2UodC53YXJuSHRtbE1lc3NhZ2UpP3Qud2Fybkh0bWxNZXNzYWdlOiEwLHc9ISF0LmVzY2FwZVBhcmFtZXRlcjtjb25zdCBSPW4/bi5tb2RpZmllcnM6TGUodC5tb2RpZmllcnMpP3QubW9kaWZpZXJzOnt9O2xldCBEPXQucGx1cmFsUnVsZXN8fG4mJm4ucGx1cmFsUnVsZXMsSTtJPSgoKT0+e2kmJm1tKG51bGwpO2NvbnN0ICQ9e3ZlcnNpb246REEsbG9jYWxlOmMudmFsdWUsZmFsbGJhY2tMb2NhbGU6dS52YWx1ZSxtZXNzYWdlczpkLnZhbHVlLG1vZGlmaWVyczpSLHBsdXJhbFJ1bGVzOkQsbWlzc2luZzpiPT09bnVsbD92b2lkIDA6YixtaXNzaW5nV2FybjptLGZhbGxiYWNrV2FybjpwLGZhbGxiYWNrRm9ybWF0OngsdW5yZXNvbHZpbmc6ITAscG9zdFRyYW5zbGF0aW9uOlQ9PT1udWxsP3ZvaWQgMDpULHdhcm5IdG1sTWVzc2FnZTpFLGVzY2FwZVBhcmFtZXRlcjp3LG1lc3NhZ2VSZXNvbHZlcjp0Lm1lc3NhZ2VSZXNvbHZlcixtZXNzYWdlQ29tcGlsZXI6dC5tZXNzYWdlQ29tcGlsZXIsX19tZXRhOntmcmFtZXdvcms6InZ1ZSJ9fTskLmRhdGV0aW1lRm9ybWF0cz1mLnZhbHVlLCQubnVtYmVyRm9ybWF0cz1oLnZhbHVlLCQuX19kYXRldGltZUZvcm1hdHRlcnM9TGUoSSk/SS5fX2RhdGV0aW1lRm9ybWF0dGVyczp2b2lkIDAsJC5fX251bWJlckZvcm1hdHRlcnM9TGUoSSk/SS5fX251bWJlckZvcm1hdHRlcnM6dm9pZCAwO2NvbnN0IEc9VEEoJCk7cmV0dXJuIGkmJm1tKEcpLEd9KSgpLE5zKEksYy52YWx1ZSx1LnZhbHVlKTtmdW5jdGlvbiBMKCl7cmV0dXJuW2MudmFsdWUsdS52YWx1ZSxkLnZhbHVlLGYudmFsdWUsaC52YWx1ZV19Y29uc3Qgaj1vZSh7Z2V0OigpPT5jLnZhbHVlLHNldDokPT57Yy52YWx1ZT0kLEkubG9jYWxlPWMudmFsdWV9fSkscmU9b2Uoe2dldDooKT0+dS52YWx1ZSxzZXQ6JD0+e3UudmFsdWU9JCxJLmZhbGxiYWNrTG9jYWxlPXUudmFsdWUsTnMoSSxjLnZhbHVlLCQpfX0pLHhlPW9lKCgpPT5kLnZhbHVlKSxUZT1vZSgoKT0+Zi52YWx1ZSksbGU9b2UoKCk9PmgudmFsdWUpO2Z1bmN0aW9uIHllKCl7cmV0dXJuIGN0KFQpP1Q6bnVsbH1mdW5jdGlvbiBBZSgkKXtUPSQsSS5wb3N0VHJhbnNsYXRpb249JH1mdW5jdGlvbiBaZSgpe3JldHVybiBDfWZ1bmN0aW9uIHJ0KCQpeyQhPT1udWxsJiYoYj1BbSgkKSksQz0kLEkubWlzc2luZz1ifWNvbnN0IHdlPSgkLEcsRWUsVmUsaHQsRik9PntMKCk7bGV0IFY7dHJ5e19fSU5UTElGWV9QUk9EX0RFVlRPT0xTX18saXx8KEkuZmFsbGJhY2tDb250ZXh0PW4/U0EoKTp2b2lkIDApLFY9JChJKX1maW5hbGx5e19fSU5UTElGWV9QUk9EX0RFVlRPT0xTX18saXx8KEkuZmFsbGJhY2tDb250ZXh0PXZvaWQgMCl9aWYoRWUhPT0idHJhbnNsYXRlIGV4aXN0cyImJnh0KFYpJiZWPT09T2x8fEVlPT09InRyYW5zbGF0ZSBleGlzdHMiJiYhVil7Y29uc3RbcSxkZV09RygpO3JldHVybiBuJiZrP1ZlKG4pOmh0KHEpfWVsc2V7aWYoRihWKSlyZXR1cm4gVjt0aHJvdyBSdChBdC5VTkVYUEVDVEVEX1JFVFVSTl9UWVBFKX19O2Z1bmN0aW9uIEooLi4uJCl7cmV0dXJuIHdlKEc9PlJlZmxlY3QuYXBwbHkodm0sbnVsbCxbRywuLi4kXSksKCk9PnN1KC4uLiQpLCJ0cmFuc2xhdGUiLEc9PlJlZmxlY3QuYXBwbHkoRy50LEcsWy4uLiRdKSxHPT5HLEc9PnBlKEcpKX1mdW5jdGlvbiBJZSguLi4kKXtjb25zdFtHLEVlLFZlXT0kO2lmKFZlJiYhaXQoVmUpKXRocm93IFJ0KEF0LklOVkFMSURfQVJHVU1FTlQpO3JldHVybiBKKEcsRWUsRnQoe3Jlc29sdmVkTWVzc2FnZTohMH0sVmV8fHt9KSl9ZnVuY3Rpb24gemUoLi4uJCl7cmV0dXJuIHdlKEc9PlJlZmxlY3QuYXBwbHkoX20sbnVsbCxbRywuLi4kXSksKCk9Pm91KC4uLiQpLCJkYXRldGltZSBmb3JtYXQiLEc9PlJlZmxlY3QuYXBwbHkoRy5kLEcsWy4uLiRdKSwoKT0+ZG0sRz0+cGUoRykpfWZ1bmN0aW9uIFJlKC4uLiQpe3JldHVybiB3ZShHPT5SZWZsZWN0LmFwcGx5KHdtLG51bGwsW0csLi4uJF0pLCgpPT5hdSguLi4kKSwibnVtYmVyIGZvcm1hdCIsRz0+UmVmbGVjdC5hcHBseShHLm4sRyxbLi4uJF0pLCgpPT5kbSxHPT5wZShHKSl9ZnVuY3Rpb24gVWUoJCl7cmV0dXJuICQubWFwKEc9PnBlKEcpfHx4dChHKXx8R2UoRyk/U20oU3RyaW5nKEcpKTpHKX1jb25zdCBjZT17bm9ybWFsaXplOlVlLGludGVycG9sYXRlOiQ9PiQsdHlwZToidm5vZGUifTtmdW5jdGlvbiBhZSguLi4kKXtyZXR1cm4gd2UoRz0+e2xldCBFZTtjb25zdCBWZT1HO3RyeXtWZS5wcm9jZXNzb3I9Y2UsRWU9UmVmbGVjdC5hcHBseSh2bSxudWxsLFtWZSwuLi4kXSl9ZmluYWxseXtWZS5wcm9jZXNzb3I9bnVsbH1yZXR1cm4gRWV9LCgpPT5zdSguLi4kKSwidHJhbnNsYXRlIixHPT5HW2x1XSguLi4kKSxHPT5bU20oRyldLEc9PmZ0KEcpKX1mdW5jdGlvbiBmZSguLi4kKXtyZXR1cm4gd2UoRz0+UmVmbGVjdC5hcHBseSh3bSxudWxsLFtHLC4uLiRdKSwoKT0+YXUoLi4uJCksIm51bWJlciBmb3JtYXQiLEc9PkdbdXVdKC4uLiQpLEVtLEc9PnBlKEcpfHxmdChHKSl9ZnVuY3Rpb24gamUoLi4uJCl7cmV0dXJuIHdlKEc9PlJlZmxlY3QuYXBwbHkoX20sbnVsbCxbRywuLi4kXSksKCk9Pm91KC4uLiQpLCJkYXRldGltZSBmb3JtYXQiLEc9PkdbY3VdKC4uLiQpLEVtLEc9PnBlKEcpfHxmdChHKSl9ZnVuY3Rpb24gTygkKXtEPSQsSS5wbHVyYWxSdWxlcz1EfWZ1bmN0aW9uIFAoJCxHKXtyZXR1cm4gd2UoKCk9PntpZighJClyZXR1cm4hMTtjb25zdCBFZT1wZShHKT9HOmMudmFsdWUsVmU9VyhFZSksaHQ9SS5tZXNzYWdlUmVzb2x2ZXIoVmUsJCk7cmV0dXJuIGE/aHQhPW51bGw6ZnMoaHQpfHx2bihodCl8fHBlKGh0KX0sKCk9PlskXSwidHJhbnNsYXRlIGV4aXN0cyIsRWU9PlJlZmxlY3QuYXBwbHkoRWUudGUsRWUsWyQsR10pLEZBLEVlPT5HZShFZSkpfWZ1bmN0aW9uIGcoJCl7bGV0IEc9bnVsbDtjb25zdCBFZT1WdihJLHUudmFsdWUsYy52YWx1ZSk7Zm9yKGxldCBWZT0wO1ZlPEVlLmxlbmd0aDtWZSsrKXtjb25zdCBodD1kLnZhbHVlW0VlW1ZlXV18fHt9LEY9SS5tZXNzYWdlUmVzb2x2ZXIoaHQsJCk7aWYoRiE9bnVsbCl7Rz1GO2JyZWFrfX1yZXR1cm4gR31mdW5jdGlvbiBOKCQpe2NvbnN0IEc9ZygkKTtyZXR1cm4gRz8/KG4/bi50bSgkKXx8e306e30pfWZ1bmN0aW9uIFcoJCl7cmV0dXJuIGQudmFsdWVbJF18fHt9fWZ1bmN0aW9uIHooJCxHKXtpZihzKXtjb25zdCBFZT17WyRdOkd9O2Zvcihjb25zdCBWZSBpbiBFZSlGYShFZSxWZSkmJl9vKEVlW1ZlXSk7Rz1FZVskXX1kLnZhbHVlWyRdPUcsSS5tZXNzYWdlcz1kLnZhbHVlfWZ1bmN0aW9uIHRlKCQsRyl7ZC52YWx1ZVskXT1kLnZhbHVlWyRdfHx7fTtjb25zdCBFZT17WyRdOkd9O2lmKHMpZm9yKGNvbnN0IFZlIGluIEVlKUZhKEVlLFZlKSYmX28oRWVbVmVdKTtHPUVlWyRdLGJhKEcsZC52YWx1ZVskXSksSS5tZXNzYWdlcz1kLnZhbHVlfWZ1bmN0aW9uIFEoJCl7cmV0dXJuIGYudmFsdWVbJF18fHt9fWZ1bmN0aW9uIHYoJCxHKXtmLnZhbHVlWyRdPUcsSS5kYXRldGltZUZvcm1hdHM9Zi52YWx1ZSxibShJLCQsRyl9ZnVuY3Rpb24geSgkLEcpe2YudmFsdWVbJF09RnQoZi52YWx1ZVskXXx8e30sRyksSS5kYXRldGltZUZvcm1hdHM9Zi52YWx1ZSxibShJLCQsRyl9ZnVuY3Rpb24gTSgkKXtyZXR1cm4gaC52YWx1ZVskXXx8e319ZnVuY3Rpb24gWCgkLEcpe2gudmFsdWVbJF09RyxJLm51bWJlckZvcm1hdHM9aC52YWx1ZSxrbShJLCQsRyl9ZnVuY3Rpb24gdWUoJCxHKXtoLnZhbHVlWyRdPUZ0KGgudmFsdWVbJF18fHt9LEcpLEkubnVtYmVyRm9ybWF0cz1oLnZhbHVlLGttKEksJCxHKX14bSsrLG4mJkxhJiYoZ3Qobi5sb2NhbGUsJD0+e2wmJihjLnZhbHVlPSQsSS5sb2NhbGU9JCxOcyhJLGMudmFsdWUsdS52YWx1ZSkpfSksZ3Qobi5mYWxsYmFja0xvY2FsZSwkPT57bCYmKHUudmFsdWU9JCxJLmZhbGxiYWNrTG9jYWxlPSQsTnMoSSxjLnZhbHVlLHUudmFsdWUpKX0pKTtjb25zdCBpZT17aWQ6eG0sbG9jYWxlOmosZmFsbGJhY2tMb2NhbGU6cmUsZ2V0IGluaGVyaXRMb2NhbGUoKXtyZXR1cm4gbH0sc2V0IGluaGVyaXRMb2NhbGUoJCl7bD0kLCQmJm4mJihjLnZhbHVlPW4ubG9jYWxlLnZhbHVlLHUudmFsdWU9bi5mYWxsYmFja0xvY2FsZS52YWx1ZSxOcyhJLGMudmFsdWUsdS52YWx1ZSkpfSxnZXQgYXZhaWxhYmxlTG9jYWxlcygpe3JldHVybiBPYmplY3Qua2V5cyhkLnZhbHVlKS5zb3J0KCl9LG1lc3NhZ2VzOnhlLGdldCBtb2RpZmllcnMoKXtyZXR1cm4gUn0sZ2V0IHBsdXJhbFJ1bGVzKCl7cmV0dXJuIER8fHt9fSxnZXQgaXNHbG9iYWwoKXtyZXR1cm4gaX0sZ2V0IG1pc3NpbmdXYXJuKCl7cmV0dXJuIG19LHNldCBtaXNzaW5nV2FybigkKXttPSQsSS5taXNzaW5nV2Fybj1tfSxnZXQgZmFsbGJhY2tXYXJuKCl7cmV0dXJuIHB9LHNldCBmYWxsYmFja1dhcm4oJCl7cD0kLEkuZmFsbGJhY2tXYXJuPXB9LGdldCBmYWxsYmFja1Jvb3QoKXtyZXR1cm4ga30sc2V0IGZhbGxiYWNrUm9vdCgkKXtrPSR9LGdldCBmYWxsYmFja0Zvcm1hdCgpe3JldHVybiB4fSxzZXQgZmFsbGJhY2tGb3JtYXQoJCl7eD0kLEkuZmFsbGJhY2tGb3JtYXQ9eH0sZ2V0IHdhcm5IdG1sTWVzc2FnZSgpe3JldHVybiBFfSxzZXQgd2Fybkh0bWxNZXNzYWdlKCQpe0U9JCxJLndhcm5IdG1sTWVzc2FnZT0kfSxnZXQgZXNjYXBlUGFyYW1ldGVyKCl7cmV0dXJuIHd9LHNldCBlc2NhcGVQYXJhbWV0ZXIoJCl7dz0kLEkuZXNjYXBlUGFyYW1ldGVyPSR9LHQ6SixnZXRMb2NhbGVNZXNzYWdlOlcsc2V0TG9jYWxlTWVzc2FnZTp6LG1lcmdlTG9jYWxlTWVzc2FnZTp0ZSxnZXRQb3N0VHJhbnNsYXRpb25IYW5kbGVyOnllLHNldFBvc3RUcmFuc2xhdGlvbkhhbmRsZXI6QWUsZ2V0TWlzc2luZ0hhbmRsZXI6WmUsc2V0TWlzc2luZ0hhbmRsZXI6cnQsW3RfXTpPfTtyZXR1cm4gaWUuZGF0ZXRpbWVGb3JtYXRzPVRlLGllLm51bWJlckZvcm1hdHM9bGUsaWUucnQ9SWUsaWUudGU9UCxpZS50bT1OLGllLmQ9emUsaWUubj1SZSxpZS5nZXREYXRlVGltZUZvcm1hdD1RLGllLnNldERhdGVUaW1lRm9ybWF0PXYsaWUubWVyZ2VEYXRlVGltZUZvcm1hdD15LGllLmdldE51bWJlckZvcm1hdD1NLGllLnNldE51bWJlckZvcm1hdD1YLGllLm1lcmdlTnVtYmVyRm9ybWF0PXVlLGllW25fXT1yLGllW2x1XT1hZSxpZVtjdV09amUsaWVbdXVdPWZlLGllfWZ1bmN0aW9uIGpBKHQpe2NvbnN0IGU9cGUodC5sb2NhbGUpP3QubG9jYWxlOmRzLG49cGUodC5mYWxsYmFja0xvY2FsZSl8fGZ0KHQuZmFsbGJhY2tMb2NhbGUpfHxMZSh0LmZhbGxiYWNrTG9jYWxlKXx8dC5mYWxsYmFja0xvY2FsZT09PSExP3QuZmFsbGJhY2tMb2NhbGU6ZSxyPWN0KHQubWlzc2luZyk/dC5taXNzaW5nOnZvaWQgMCxpPUdlKHQuc2lsZW50VHJhbnNsYXRpb25XYXJuKXx8SHIodC5zaWxlbnRUcmFuc2xhdGlvbldhcm4pPyF0LnNpbGVudFRyYW5zbGF0aW9uV2FybjohMCxzPUdlKHQuc2lsZW50RmFsbGJhY2tXYXJuKXx8SHIodC5zaWxlbnRGYWxsYmFja1dhcm4pPyF0LnNpbGVudEZhbGxiYWNrV2FybjohMCxvPUdlKHQuZmFsbGJhY2tSb290KT90LmZhbGxiYWNrUm9vdDohMCxhPSEhdC5mb3JtYXRGYWxsYmFja01lc3NhZ2VzLGw9TGUodC5tb2RpZmllcnMpP3QubW9kaWZpZXJzOnt9LGM9dC5wbHVyYWxpemF0aW9uUnVsZXMsdT1jdCh0LnBvc3RUcmFuc2xhdGlvbik/dC5wb3N0VHJhbnNsYXRpb246dm9pZCAwLGQ9cGUodC53YXJuSHRtbEluTWVzc2FnZSk/dC53YXJuSHRtbEluTWVzc2FnZSE9PSJvZmYiOiEwLGY9ISF0LmVzY2FwZVBhcmFtZXRlckh0bWwsaD1HZSh0LnN5bmMpP3Quc3luYzohMDtsZXQgbT10Lm1lc3NhZ2VzO2lmKExlKHQuc2hhcmVkTWVzc2FnZXMpKXtjb25zdCB3PXQuc2hhcmVkTWVzc2FnZXM7bT1PYmplY3Qua2V5cyh3KS5yZWR1Y2UoKEQsSSk9Pntjb25zdCBCPURbSV18fChEW0ldPXt9KTtyZXR1cm4gRnQoQix3W0ldKSxEfSxtfHx7fSl9Y29uc3R7X19pMThuOnAsX19yb290OmssX19pbmplY3RXaXRoT3B0aW9uOnh9PXQsQz10LmRhdGV0aW1lRm9ybWF0cyxiPXQubnVtYmVyRm9ybWF0cyxUPXQuZmxhdEpzb24sRT10LnRyYW5zbGF0ZUV4aXN0Q29tcGF0aWJsZTtyZXR1cm57bG9jYWxlOmUsZmFsbGJhY2tMb2NhbGU6bixtZXNzYWdlczptLGZsYXRKc29uOlQsZGF0ZXRpbWVGb3JtYXRzOkMsbnVtYmVyRm9ybWF0czpiLG1pc3Npbmc6cixtaXNzaW5nV2FybjppLGZhbGxiYWNrV2FybjpzLGZhbGxiYWNrUm9vdDpvLGZhbGxiYWNrRm9ybWF0OmEsbW9kaWZpZXJzOmwscGx1cmFsUnVsZXM6Yyxwb3N0VHJhbnNsYXRpb246dSx3YXJuSHRtbE1lc3NhZ2U6ZCxlc2NhcGVQYXJhbWV0ZXI6ZixtZXNzYWdlUmVzb2x2ZXI6dC5tZXNzYWdlUmVzb2x2ZXIsaW5oZXJpdExvY2FsZTpoLHRyYW5zbGF0ZUV4aXN0Q29tcGF0aWJsZTpFLF9faTE4bjpwLF9fcm9vdDprLF9faW5qZWN0V2l0aE9wdGlvbjp4fX1mdW5jdGlvbiBmdSh0PXt9LGUpe3tjb25zdCBuPUdkKGpBKHQpKSx7X19leHRlbmRlcjpyfT10LGk9e2lkOm4uaWQsZ2V0IGxvY2FsZSgpe3JldHVybiBuLmxvY2FsZS52YWx1ZX0sc2V0IGxvY2FsZShzKXtuLmxvY2FsZS52YWx1ZT1zfSxnZXQgZmFsbGJhY2tMb2NhbGUoKXtyZXR1cm4gbi5mYWxsYmFja0xvY2FsZS52YWx1ZX0sc2V0IGZhbGxiYWNrTG9jYWxlKHMpe24uZmFsbGJhY2tMb2NhbGUudmFsdWU9c30sZ2V0IG1lc3NhZ2VzKCl7cmV0dXJuIG4ubWVzc2FnZXMudmFsdWV9LGdldCBkYXRldGltZUZvcm1hdHMoKXtyZXR1cm4gbi5kYXRldGltZUZvcm1hdHMudmFsdWV9LGdldCBudW1iZXJGb3JtYXRzKCl7cmV0dXJuIG4ubnVtYmVyRm9ybWF0cy52YWx1ZX0sZ2V0IGF2YWlsYWJsZUxvY2FsZXMoKXtyZXR1cm4gbi5hdmFpbGFibGVMb2NhbGVzfSxnZXQgZm9ybWF0dGVyKCl7cmV0dXJue2ludGVycG9sYXRlKCl7cmV0dXJuW119fX0sc2V0IGZvcm1hdHRlcihzKXt9LGdldCBtaXNzaW5nKCl7cmV0dXJuIG4uZ2V0TWlzc2luZ0hhbmRsZXIoKX0sc2V0IG1pc3Npbmcocyl7bi5zZXRNaXNzaW5nSGFuZGxlcihzKX0sZ2V0IHNpbGVudFRyYW5zbGF0aW9uV2Fybigpe3JldHVybiBHZShuLm1pc3NpbmdXYXJuKT8hbi5taXNzaW5nV2FybjpuLm1pc3NpbmdXYXJufSxzZXQgc2lsZW50VHJhbnNsYXRpb25XYXJuKHMpe24ubWlzc2luZ1dhcm49R2Uocyk/IXM6c30sZ2V0IHNpbGVudEZhbGxiYWNrV2Fybigpe3JldHVybiBHZShuLmZhbGxiYWNrV2Fybik/IW4uZmFsbGJhY2tXYXJuOm4uZmFsbGJhY2tXYXJufSxzZXQgc2lsZW50RmFsbGJhY2tXYXJuKHMpe24uZmFsbGJhY2tXYXJuPUdlKHMpPyFzOnN9LGdldCBtb2RpZmllcnMoKXtyZXR1cm4gbi5tb2RpZmllcnN9LGdldCBmb3JtYXRGYWxsYmFja01lc3NhZ2VzKCl7cmV0dXJuIG4uZmFsbGJhY2tGb3JtYXR9LHNldCBmb3JtYXRGYWxsYmFja01lc3NhZ2VzKHMpe24uZmFsbGJhY2tGb3JtYXQ9c30sZ2V0IHBvc3RUcmFuc2xhdGlvbigpe3JldHVybiBuLmdldFBvc3RUcmFuc2xhdGlvbkhhbmRsZXIoKX0sc2V0IHBvc3RUcmFuc2xhdGlvbihzKXtuLnNldFBvc3RUcmFuc2xhdGlvbkhhbmRsZXIocyl9LGdldCBzeW5jKCl7cmV0dXJuIG4uaW5oZXJpdExvY2FsZX0sc2V0IHN5bmMocyl7bi5pbmhlcml0TG9jYWxlPXN9LGdldCB3YXJuSHRtbEluTWVzc2FnZSgpe3JldHVybiBuLndhcm5IdG1sTWVzc2FnZT8id2FybiI6Im9mZiJ9LHNldCB3YXJuSHRtbEluTWVzc2FnZShzKXtuLndhcm5IdG1sTWVzc2FnZT1zIT09Im9mZiJ9LGdldCBlc2NhcGVQYXJhbWV0ZXJIdG1sKCl7cmV0dXJuIG4uZXNjYXBlUGFyYW1ldGVyfSxzZXQgZXNjYXBlUGFyYW1ldGVySHRtbChzKXtuLmVzY2FwZVBhcmFtZXRlcj1zfSxnZXQgcHJlc2VydmVEaXJlY3RpdmVDb250ZW50KCl7cmV0dXJuITB9LHNldCBwcmVzZXJ2ZURpcmVjdGl2ZUNvbnRlbnQocyl7fSxnZXQgcGx1cmFsaXphdGlvblJ1bGVzKCl7cmV0dXJuIG4ucGx1cmFsUnVsZXN8fHt9fSxfX2NvbXBvc2VyOm4sdCguLi5zKXtjb25zdFtvLGEsbF09cyxjPXt9O2xldCB1PW51bGwsZD1udWxsO2lmKCFwZShvKSl0aHJvdyBSdChBdC5JTlZBTElEX0FSR1VNRU5UKTtjb25zdCBmPW87cmV0dXJuIHBlKGEpP2MubG9jYWxlPWE6ZnQoYSk/dT1hOkxlKGEpJiYoZD1hKSxmdChsKT91PWw6TGUobCkmJihkPWwpLFJlZmxlY3QuYXBwbHkobi50LG4sW2YsdXx8ZHx8e30sY10pfSxydCguLi5zKXtyZXR1cm4gUmVmbGVjdC5hcHBseShuLnJ0LG4sWy4uLnNdKX0sdGMoLi4ucyl7Y29uc3RbbyxhLGxdPXMsYz17cGx1cmFsOjF9O2xldCB1PW51bGwsZD1udWxsO2lmKCFwZShvKSl0aHJvdyBSdChBdC5JTlZBTElEX0FSR1VNRU5UKTtjb25zdCBmPW87cmV0dXJuIHBlKGEpP2MubG9jYWxlPWE6eHQoYSk/Yy5wbHVyYWw9YTpmdChhKT91PWE6TGUoYSkmJihkPWEpLHBlKGwpP2MubG9jYWxlPWw6ZnQobCk/dT1sOkxlKGwpJiYoZD1sKSxSZWZsZWN0LmFwcGx5KG4udCxuLFtmLHV8fGR8fHt9LGNdKX0sdGUocyxvKXtyZXR1cm4gbi50ZShzLG8pfSx0bShzKXtyZXR1cm4gbi50bShzKX0sZ2V0TG9jYWxlTWVzc2FnZShzKXtyZXR1cm4gbi5nZXRMb2NhbGVNZXNzYWdlKHMpfSxzZXRMb2NhbGVNZXNzYWdlKHMsbyl7bi5zZXRMb2NhbGVNZXNzYWdlKHMsbyl9LG1lcmdlTG9jYWxlTWVzc2FnZShzLG8pe24ubWVyZ2VMb2NhbGVNZXNzYWdlKHMsbyl9LGQoLi4ucyl7cmV0dXJuIFJlZmxlY3QuYXBwbHkobi5kLG4sWy4uLnNdKX0sZ2V0RGF0ZVRpbWVGb3JtYXQocyl7cmV0dXJuIG4uZ2V0RGF0ZVRpbWVGb3JtYXQocyl9LHNldERhdGVUaW1lRm9ybWF0KHMsbyl7bi5zZXREYXRlVGltZUZvcm1hdChzLG8pfSxtZXJnZURhdGVUaW1lRm9ybWF0KHMsbyl7bi5tZXJnZURhdGVUaW1lRm9ybWF0KHMsbyl9LG4oLi4ucyl7cmV0dXJuIFJlZmxlY3QuYXBwbHkobi5uLG4sWy4uLnNdKX0sZ2V0TnVtYmVyRm9ybWF0KHMpe3JldHVybiBuLmdldE51bWJlckZvcm1hdChzKX0sc2V0TnVtYmVyRm9ybWF0KHMsbyl7bi5zZXROdW1iZXJGb3JtYXQocyxvKX0sbWVyZ2VOdW1iZXJGb3JtYXQocyxvKXtuLm1lcmdlTnVtYmVyRm9ybWF0KHMsbyl9LGdldENob2ljZUluZGV4KHMsbyl7cmV0dXJuLTF9fTtyZXR1cm4gaS5fX2V4dGVuZGVyPXIsaX19Y29uc3QgemQ9e3RhZzp7dHlwZTpbU3RyaW5nLE9iamVjdF19LGxvY2FsZTp7dHlwZTpTdHJpbmd9LHNjb3BlOnt0eXBlOlN0cmluZyx2YWxpZGF0b3I6dD0+dD09PSJwYXJlbnQifHx0PT09Imdsb2JhbCIsZGVmYXVsdDoicGFyZW50In0saTE4bjp7dHlwZTpPYmplY3R9fTtmdW5jdGlvbiBCQSh7c2xvdHM6dH0sZSl7cmV0dXJuIGUubGVuZ3RoPT09MSYmZVswXT09PSJkZWZhdWx0Ij8odC5kZWZhdWx0P3QuZGVmYXVsdCgpOltdKS5yZWR1Y2UoKHIsaSk9PlsuLi5yLC4uLmkudHlwZT09PXFlP2kuY2hpbGRyZW46W2ldXSxbXSk6ZS5yZWR1Y2UoKG4scik9Pntjb25zdCBpPXRbcl07cmV0dXJuIGkmJihuW3JdPWkoKSksbn0se30pfWZ1bmN0aW9uIHNfKHQpe3JldHVybiBxZX1jb25zdCBVQT1OZSh7bmFtZToiaTE4bi10Iixwcm9wczpGdCh7a2V5cGF0aDp7dHlwZTpTdHJpbmcscmVxdWlyZWQ6ITB9LHBsdXJhbDp7dHlwZTpbTnVtYmVyLFN0cmluZ10sdmFsaWRhdG9yOnQ9Pnh0KHQpfHwhaXNOYU4odCl9fSx6ZCksc2V0dXAodCxlKXtjb25zdHtzbG90czpuLGF0dHJzOnJ9PWUsaT10LmkxOG58fFd0KHt1c2VTY29wZTp0LnNjb3BlLF9fdXNlQ29tcG9uZW50OiEwfSk7cmV0dXJuKCk9Pntjb25zdCBzPU9iamVjdC5rZXlzKG4pLmZpbHRlcihkPT5kIT09Il8iKSxvPXt9O3QubG9jYWxlJiYoby5sb2NhbGU9dC5sb2NhbGUpLHQucGx1cmFsIT09dm9pZCAwJiYoby5wbHVyYWw9cGUodC5wbHVyYWwpPyt0LnBsdXJhbDp0LnBsdXJhbCk7Y29uc3QgYT1CQShlLHMpLGw9aVtsdV0odC5rZXlwYXRoLGEsbyksYz1GdCh7fSxyKSx1PXBlKHQudGFnKXx8aXQodC50YWcpP3QudGFnOnNfKCk7cmV0dXJuIGJ0KHUsYyxsKX19fSksT209VUE7ZnVuY3Rpb24gVkEodCl7cmV0dXJuIGZ0KHQpJiYhcGUodFswXSl9ZnVuY3Rpb24gb18odCxlLG4scil7Y29uc3R7c2xvdHM6aSxhdHRyczpzfT1lO3JldHVybigpPT57Y29uc3Qgbz17cGFydDohMH07bGV0IGE9e307dC5sb2NhbGUmJihvLmxvY2FsZT10LmxvY2FsZSkscGUodC5mb3JtYXQpP28ua2V5PXQuZm9ybWF0Oml0KHQuZm9ybWF0KSYmKHBlKHQuZm9ybWF0LmtleSkmJihvLmtleT10LmZvcm1hdC5rZXkpLGE9T2JqZWN0LmtleXModC5mb3JtYXQpLnJlZHVjZSgoZixoKT0+bi5pbmNsdWRlcyhoKT9GdCh7fSxmLHtbaF06dC5mb3JtYXRbaF19KTpmLHt9KSk7Y29uc3QgbD1yKHQudmFsdWUsbyxhKTtsZXQgYz1bby5rZXldO2Z0KGwpP2M9bC5tYXAoKGYsaCk9Pntjb25zdCBtPWlbZi50eXBlXSxwPW0/bSh7W2YudHlwZV06Zi52YWx1ZSxpbmRleDpoLHBhcnRzOmx9KTpbZi52YWx1ZV07cmV0dXJuIFZBKHApJiYocFswXS5rZXk9YCR7Zi50eXBlfS0ke2h9YCkscH0pOnBlKGwpJiYoYz1bbF0pO2NvbnN0IHU9RnQoe30scyksZD1wZSh0LnRhZyl8fGl0KHQudGFnKT90LnRhZzpzXygpO3JldHVybiBidChkLHUsYyl9fWNvbnN0IFdBPU5lKHtuYW1lOiJpMThuLW4iLHByb3BzOkZ0KHt2YWx1ZTp7dHlwZTpOdW1iZXIscmVxdWlyZWQ6ITB9LGZvcm1hdDp7dHlwZTpbU3RyaW5nLE9iamVjdF19fSx6ZCksc2V0dXAodCxlKXtjb25zdCBuPXQuaTE4bnx8V3Qoe3VzZVNjb3BlOnQuc2NvcGUsX191c2VDb21wb25lbnQ6ITB9KTtyZXR1cm4gb18odCxlLFF2LCguLi5yKT0+blt1dV0oLi4ucikpfX0pLENtPVdBLEdBPU5lKHtuYW1lOiJpMThuLWQiLHByb3BzOkZ0KHt2YWx1ZTp7dHlwZTpbTnVtYmVyLERhdGVdLHJlcXVpcmVkOiEwfSxmb3JtYXQ6e3R5cGU6W1N0cmluZyxPYmplY3RdfX0semQpLHNldHVwKHQsZSl7Y29uc3Qgbj10LmkxOG58fFd0KHt1c2VTY29wZTp0LnNjb3BlLF9fdXNlQ29tcG9uZW50OiEwfSk7cmV0dXJuIG9fKHQsZSxYdiwoLi4ucik9Pm5bY3VdKC4uLnIpKX19KSxQbT1HQTtmdW5jdGlvbiB6QSh0LGUpe2NvbnN0IG49dDtpZih0Lm1vZGU9PT0iY29tcG9zaXRpb24iKXJldHVybiBuLl9fZ2V0SW5zdGFuY2UoZSl8fHQuZ2xvYmFsO3tjb25zdCByPW4uX19nZXRJbnN0YW5jZShlKTtyZXR1cm4gciE9bnVsbD9yLl9fY29tcG9zZXI6dC5nbG9iYWwuX19jb21wb3Nlcn19ZnVuY3Rpb24gSEEodCl7Y29uc3QgZT1vPT57Y29uc3R7aW5zdGFuY2U6YSxtb2RpZmllcnM6bCx2YWx1ZTpjfT1vO2lmKCFhfHwhYS4kKXRocm93IFJ0KEF0LlVORVhQRUNURURfRVJST1IpO2NvbnN0IHU9ekEodCxhLiQpLGQ9SW0oYyk7cmV0dXJuW1JlZmxlY3QuYXBwbHkodS50LHUsWy4uLk5tKGQpXSksdV19O3JldHVybntjcmVhdGVkOihvLGEpPT57Y29uc3RbbCxjXT1lKGEpO0xhJiZ0Lmdsb2JhbD09PWMmJihvLl9faTE4bldhdGNoZXI9Z3QoYy5sb2NhbGUsKCk9PnthLmluc3RhbmNlJiZhLmluc3RhbmNlLiRmb3JjZVVwZGF0ZSgpfSkpLG8uX19jb21wb3Nlcj1jLG8udGV4dENvbnRlbnQ9bH0sdW5tb3VudGVkOm89PntMYSYmby5fX2kxOG5XYXRjaGVyJiYoby5fX2kxOG5XYXRjaGVyKCksby5fX2kxOG5XYXRjaGVyPXZvaWQgMCxkZWxldGUgby5fX2kxOG5XYXRjaGVyKSxvLl9fY29tcG9zZXImJihvLl9fY29tcG9zZXI9dm9pZCAwLGRlbGV0ZSBvLl9fY29tcG9zZXIpfSxiZWZvcmVVcGRhdGU6KG8se3ZhbHVlOmF9KT0+e2lmKG8uX19jb21wb3Nlcil7Y29uc3QgbD1vLl9fY29tcG9zZXIsYz1JbShhKTtvLnRleHRDb250ZW50PVJlZmxlY3QuYXBwbHkobC50LGwsWy4uLk5tKGMpXSl9fSxnZXRTU1JQcm9wczpvPT57Y29uc3RbYV09ZShvKTtyZXR1cm57dGV4dENvbnRlbnQ6YX19fX1mdW5jdGlvbiBJbSh0KXtpZihwZSh0KSlyZXR1cm57cGF0aDp0fTtpZihMZSh0KSl7aWYoISgicGF0aCJpbiB0KSl0aHJvdyBSdChBdC5SRVFVSVJFRF9WQUxVRSwicGF0aCIpO3JldHVybiB0fWVsc2UgdGhyb3cgUnQoQXQuSU5WQUxJRF9WQUxVRSl9ZnVuY3Rpb24gTm0odCl7Y29uc3R7cGF0aDplLGxvY2FsZTpuLGFyZ3M6cixjaG9pY2U6aSxwbHVyYWw6c309dCxvPXt9LGE9cnx8e307cmV0dXJuIHBlKG4pJiYoby5sb2NhbGU9bikseHQoaSkmJihvLnBsdXJhbD1pKSx4dChzKSYmKG8ucGx1cmFsPXMpLFtlLGEsb119ZnVuY3Rpb24gSkEodCxlLC4uLm4pe2NvbnN0IHI9TGUoblswXSk/blswXTp7fSxpPSEhci51c2VJMThuQ29tcG9uZW50TmFtZTsoR2Uoci5nbG9iYWxJbnN0YWxsKT9yLmdsb2JhbEluc3RhbGw6ITApJiYoW2k/ImkxOG4iOk9tLm5hbWUsIkkxOG5UIl0uZm9yRWFjaChvPT50LmNvbXBvbmVudChvLE9tKSksW0NtLm5hbWUsIkkxOG5OIl0uZm9yRWFjaChvPT50LmNvbXBvbmVudChvLENtKSksW1BtLm5hbWUsIkkxOG5EIl0uZm9yRWFjaChvPT50LmNvbXBvbmVudChvLFBtKSkpLHQuZGlyZWN0aXZlKCJ0IixIQShlKSl9ZnVuY3Rpb24gcUEodCxlLG4pe3JldHVybntiZWZvcmVDcmVhdGUoKXtjb25zdCByPUNuKCk7aWYoIXIpdGhyb3cgUnQoQXQuVU5FWFBFQ1RFRF9FUlJPUik7Y29uc3QgaT10aGlzLiRvcHRpb25zO2lmKGkuaTE4bil7Y29uc3Qgcz1pLmkxOG47aWYoaS5fX2kxOG4mJihzLl9faTE4bj1pLl9faTE4bikscy5fX3Jvb3Q9ZSx0aGlzPT09dGhpcy4kcm9vdCl0aGlzLiRpMThuPVJtKHQscyk7ZWxzZXtzLl9faW5qZWN0V2l0aE9wdGlvbj0hMCxzLl9fZXh0ZW5kZXI9bi5fX3Z1ZUkxOG5FeHRlbmQsdGhpcy4kaTE4bj1mdShzKTtjb25zdCBvPXRoaXMuJGkxOG47by5fX2V4dGVuZGVyJiYoby5fX2Rpc3Bvc2VyPW8uX19leHRlbmRlcih0aGlzLiRpMThuKSl9fWVsc2UgaWYoaS5fX2kxOG4paWYodGhpcz09PXRoaXMuJHJvb3QpdGhpcy4kaTE4bj1SbSh0LGkpO2Vsc2V7dGhpcy4kaTE4bj1mdSh7X19pMThuOmkuX19pMThuLF9faW5qZWN0V2l0aE9wdGlvbjohMCxfX2V4dGVuZGVyOm4uX192dWVJMThuRXh0ZW5kLF9fcm9vdDplfSk7Y29uc3Qgcz10aGlzLiRpMThuO3MuX19leHRlbmRlciYmKHMuX19kaXNwb3Nlcj1zLl9fZXh0ZW5kZXIodGhpcy4kaTE4bikpfWVsc2UgdGhpcy4kaTE4bj10O2kuX19pMThuR2xvYmFsJiZpXyhlLGksaSksdGhpcy4kdD0oLi4ucyk9PnRoaXMuJGkxOG4udCguLi5zKSx0aGlzLiRydD0oLi4ucyk9PnRoaXMuJGkxOG4ucnQoLi4ucyksdGhpcy4kdGM9KC4uLnMpPT50aGlzLiRpMThuLnRjKC4uLnMpLHRoaXMuJHRlPShzLG8pPT50aGlzLiRpMThuLnRlKHMsbyksdGhpcy4kZD0oLi4ucyk9PnRoaXMuJGkxOG4uZCguLi5zKSx0aGlzLiRuPSguLi5zKT0+dGhpcy4kaTE4bi5uKC4uLnMpLHRoaXMuJHRtPXM9PnRoaXMuJGkxOG4udG0ocyksbi5fX3NldEluc3RhbmNlKHIsdGhpcy4kaTE4bil9LG1vdW50ZWQoKXt9LHVubW91bnRlZCgpe2NvbnN0IHI9Q24oKTtpZighcil0aHJvdyBSdChBdC5VTkVYUEVDVEVEX0VSUk9SKTtjb25zdCBpPXRoaXMuJGkxOG47ZGVsZXRlIHRoaXMuJHQsZGVsZXRlIHRoaXMuJHJ0LGRlbGV0ZSB0aGlzLiR0YyxkZWxldGUgdGhpcy4kdGUsZGVsZXRlIHRoaXMuJGQsZGVsZXRlIHRoaXMuJG4sZGVsZXRlIHRoaXMuJHRtLGkuX19kaXNwb3NlciYmKGkuX19kaXNwb3NlcigpLGRlbGV0ZSBpLl9fZGlzcG9zZXIsZGVsZXRlIGkuX19leHRlbmRlciksbi5fX2RlbGV0ZUluc3RhbmNlKHIpLGRlbGV0ZSB0aGlzLiRpMThufX19ZnVuY3Rpb24gUm0odCxlKXt0LmxvY2FsZT1lLmxvY2FsZXx8dC5sb2NhbGUsdC5mYWxsYmFja0xvY2FsZT1lLmZhbGxiYWNrTG9jYWxlfHx0LmZhbGxiYWNrTG9jYWxlLHQubWlzc2luZz1lLm1pc3Npbmd8fHQubWlzc2luZyx0LnNpbGVudFRyYW5zbGF0aW9uV2Fybj1lLnNpbGVudFRyYW5zbGF0aW9uV2Fybnx8dC5zaWxlbnRGYWxsYmFja1dhcm4sdC5zaWxlbnRGYWxsYmFja1dhcm49ZS5zaWxlbnRGYWxsYmFja1dhcm58fHQuc2lsZW50RmFsbGJhY2tXYXJuLHQuZm9ybWF0RmFsbGJhY2tNZXNzYWdlcz1lLmZvcm1hdEZhbGxiYWNrTWVzc2FnZXN8fHQuZm9ybWF0RmFsbGJhY2tNZXNzYWdlcyx0LnBvc3RUcmFuc2xhdGlvbj1lLnBvc3RUcmFuc2xhdGlvbnx8dC5wb3N0VHJhbnNsYXRpb24sdC53YXJuSHRtbEluTWVzc2FnZT1lLndhcm5IdG1sSW5NZXNzYWdlfHx0Lndhcm5IdG1sSW5NZXNzYWdlLHQuZXNjYXBlUGFyYW1ldGVySHRtbD1lLmVzY2FwZVBhcmFtZXRlckh0bWx8fHQuZXNjYXBlUGFyYW1ldGVySHRtbCx0LnN5bmM9ZS5zeW5jfHx0LnN5bmMsdC5fX2NvbXBvc2VyW3RfXShlLnBsdXJhbGl6YXRpb25SdWxlc3x8dC5wbHVyYWxpemF0aW9uUnVsZXMpO2NvbnN0IG49Q2wodC5sb2NhbGUse21lc3NhZ2VzOmUubWVzc2FnZXMsX19pMThuOmUuX19pMThufSk7cmV0dXJuIE9iamVjdC5rZXlzKG4pLmZvckVhY2gocj0+dC5tZXJnZUxvY2FsZU1lc3NhZ2UocixuW3JdKSksZS5kYXRldGltZUZvcm1hdHMmJk9iamVjdC5rZXlzKGUuZGF0ZXRpbWVGb3JtYXRzKS5mb3JFYWNoKHI9PnQubWVyZ2VEYXRlVGltZUZvcm1hdChyLGUuZGF0ZXRpbWVGb3JtYXRzW3JdKSksZS5udW1iZXJGb3JtYXRzJiZPYmplY3Qua2V5cyhlLm51bWJlckZvcm1hdHMpLmZvckVhY2gocj0+dC5tZXJnZU51bWJlckZvcm1hdChyLGUubnVtYmVyRm9ybWF0c1tyXSkpLHR9Y29uc3QgWkE9UXIoImdsb2JhbC12dWUtaTE4biIpO2Z1bmN0aW9uIEtBKHQ9e30sZSl7Y29uc3Qgbj1fX1ZVRV9JMThOX0xFR0FDWV9BUElfXyYmR2UodC5sZWdhY3kpP3QubGVnYWN5Ol9fVlVFX0kxOE5fTEVHQUNZX0FQSV9fLHI9R2UodC5nbG9iYWxJbmplY3Rpb24pP3QuZ2xvYmFsSW5qZWN0aW9uOiEwLGk9X19WVUVfSTE4Tl9MRUdBQ1lfQVBJX18mJm4/ISF0LmFsbG93Q29tcG9zaXRpb246ITAscz1uZXcgTWFwLFtvLGFdPVlBKHQsbiksbD1RcigiIik7ZnVuY3Rpb24gYyhmKXtyZXR1cm4gcy5nZXQoZil8fG51bGx9ZnVuY3Rpb24gdShmLGgpe3Muc2V0KGYsaCl9ZnVuY3Rpb24gZChmKXtzLmRlbGV0ZShmKX17Y29uc3QgZj17Z2V0IG1vZGUoKXtyZXR1cm4gX19WVUVfSTE4Tl9MRUdBQ1lfQVBJX18mJm4/ImxlZ2FjeSI6ImNvbXBvc2l0aW9uIn0sZ2V0IGFsbG93Q29tcG9zaXRpb24oKXtyZXR1cm4gaX0sYXN5bmMgaW5zdGFsbChoLC4uLm0pe2lmKGguX19WVUVfSTE4Tl9TWU1CT0xfXz1sLGgucHJvdmlkZShoLl9fVlVFX0kxOE5fU1lNQk9MX18sZiksTGUobVswXSkpe2NvbnN0IHg9bVswXTtmLl9fY29tcG9zZXJFeHRlbmQ9eC5fX2NvbXBvc2VyRXh0ZW5kLGYuX192dWVJMThuRXh0ZW5kPXguX192dWVJMThuRXh0ZW5kfWxldCBwPW51bGw7IW4mJnImJihwPW9PKGgsZi5nbG9iYWwpKSxfX1ZVRV9JMThOX0ZVTExfSU5TVEFMTF9fJiZKQShoLGYsLi4ubSksX19WVUVfSTE4Tl9MRUdBQ1lfQVBJX18mJm4mJmgubWl4aW4ocUEoYSxhLl9fY29tcG9zZXIsZikpO2NvbnN0IGs9aC51bm1vdW50O2gudW5tb3VudD0oKT0+e3AmJnAoKSxmLmRpc3Bvc2UoKSxrKCl9fSxnZXQgZ2xvYmFsKCl7cmV0dXJuIGF9LGRpc3Bvc2UoKXtvLnN0b3AoKX0sX19pbnN0YW5jZXM6cyxfX2dldEluc3RhbmNlOmMsX19zZXRJbnN0YW5jZTp1LF9fZGVsZXRlSW5zdGFuY2U6ZH07cmV0dXJuIGZ9fWZ1bmN0aW9uIFd0KHQ9e30pe2NvbnN0IGU9Q24oKTtpZihlPT1udWxsKXRocm93IFJ0KEF0Lk1VU1RfQkVfQ0FMTF9TRVRVUF9UT1ApO2lmKCFlLmlzQ0UmJmUuYXBwQ29udGV4dC5hcHAhPW51bGwmJiFlLmFwcENvbnRleHQuYXBwLl9fVlVFX0kxOE5fU1lNQk9MX18pdGhyb3cgUnQoQXQuTk9UX0lOU1RBTExFRCk7Y29uc3Qgbj1YQShlKSxyPWVPKG4pLGk9cl8oZSkscz1RQSh0LGkpO2lmKF9fVlVFX0kxOE5fTEVHQUNZX0FQSV9fJiZuLm1vZGU9PT0ibGVnYWN5IiYmIXQuX191c2VDb21wb25lbnQpe2lmKCFuLmFsbG93Q29tcG9zaXRpb24pdGhyb3cgUnQoQXQuTk9UX0FWQUlMQUJMRV9JTl9MRUdBQ1lfTU9ERSk7cmV0dXJuIGlPKGUscyxyLHQpfWlmKHM9PT0iZ2xvYmFsIilyZXR1cm4gaV8ocix0LGkpLHI7aWYocz09PSJwYXJlbnQiKXtsZXQgbD10TyhuLGUsdC5fX3VzZUNvbXBvbmVudCk7cmV0dXJuIGw9PW51bGwmJihsPXIpLGx9Y29uc3Qgbz1uO2xldCBhPW8uX19nZXRJbnN0YW5jZShlKTtpZihhPT1udWxsKXtjb25zdCBsPUZ0KHt9LHQpOyJfX2kxOG4iaW4gaSYmKGwuX19pMThuPWkuX19pMThuKSxyJiYobC5fX3Jvb3Q9ciksYT1HZChsKSxvLl9fY29tcG9zZXJFeHRlbmQmJihhW2R1XT1vLl9fY29tcG9zZXJFeHRlbmQoYSkpLHJPKG8sZSxhKSxvLl9fc2V0SW5zdGFuY2UoZSxhKX1yZXR1cm4gYX1mdW5jdGlvbiBZQSh0LGUsbil7Y29uc3Qgcj1uZCgpO3tjb25zdCBpPV9fVlVFX0kxOE5fTEVHQUNZX0FQSV9fJiZlP3IucnVuKCgpPT5mdSh0KSk6ci5ydW4oKCk9PkdkKHQpKTtpZihpPT1udWxsKXRocm93IFJ0KEF0LlVORVhQRUNURURfRVJST1IpO3JldHVybltyLGldfX1mdW5jdGlvbiBYQSh0KXt7Y29uc3QgZT11dCh0LmlzQ0U/WkE6dC5hcHBDb250ZXh0LmFwcC5fX1ZVRV9JMThOX1NZTUJPTF9fKTtpZighZSl0aHJvdyBSdCh0LmlzQ0U/QXQuTk9UX0lOU1RBTExFRF9XSVRIX1BST1ZJREU6QXQuVU5FWFBFQ1RFRF9FUlJPUik7cmV0dXJuIGV9fWZ1bmN0aW9uIFFBKHQsZSl7cmV0dXJuIHhsKHQpPyJfX2kxOG4iaW4gZT8ibG9jYWwiOiJnbG9iYWwiOnQudXNlU2NvcGU/dC51c2VTY29wZToibG9jYWwifWZ1bmN0aW9uIGVPKHQpe3JldHVybiB0Lm1vZGU9PT0iY29tcG9zaXRpb24iP3QuZ2xvYmFsOnQuZ2xvYmFsLl9fY29tcG9zZXJ9ZnVuY3Rpb24gdE8odCxlLG49ITEpe2xldCByPW51bGw7Y29uc3QgaT1lLnJvb3Q7bGV0IHM9bk8oZSxuKTtmb3IoO3MhPW51bGw7KXtjb25zdCBvPXQ7aWYodC5tb2RlPT09ImNvbXBvc2l0aW9uIilyPW8uX19nZXRJbnN0YW5jZShzKTtlbHNlIGlmKF9fVlVFX0kxOE5fTEVHQUNZX0FQSV9fKXtjb25zdCBhPW8uX19nZXRJbnN0YW5jZShzKTthIT1udWxsJiYocj1hLl9fY29tcG9zZXIsbiYmciYmIXJbbl9dJiYocj1udWxsKSl9aWYociE9bnVsbHx8aT09PXMpYnJlYWs7cz1zLnBhcmVudH1yZXR1cm4gcn1mdW5jdGlvbiBuTyh0LGU9ITEpe3JldHVybiB0PT1udWxsP251bGw6ZSYmdC52bm9kZS5jdHh8fHQucGFyZW50fWZ1bmN0aW9uIHJPKHQsZSxuKXt5dCgoKT0+e30sZSksYW4oKCk9Pntjb25zdCByPW47dC5fX2RlbGV0ZUluc3RhbmNlKGUpO2NvbnN0IGk9cltkdV07aSYmKGkoKSxkZWxldGUgcltkdV0pfSxlKX1mdW5jdGlvbiBpTyh0LGUsbixyPXt9KXtjb25zdCBpPWU9PT0ibG9jYWwiLHM9UG8obnVsbCk7aWYoaSYmdC5wcm94eSYmISh0LnByb3h5LiRvcHRpb25zLmkxOG58fHQucHJveHkuJG9wdGlvbnMuX19pMThuKSl0aHJvdyBSdChBdC5NVVNUX0RFRklORV9JMThOX09QVElPTl9JTl9BTExPV19DT01QT1NJVElPTik7Y29uc3Qgbz1HZShyLmluaGVyaXRMb2NhbGUpP3IuaW5oZXJpdExvY2FsZTohcGUoci5sb2NhbGUpLGE9c2UoIWl8fG8/bi5sb2NhbGUudmFsdWU6cGUoci5sb2NhbGUpP3IubG9jYWxlOmRzKSxsPXNlKCFpfHxvP24uZmFsbGJhY2tMb2NhbGUudmFsdWU6cGUoci5mYWxsYmFja0xvY2FsZSl8fGZ0KHIuZmFsbGJhY2tMb2NhbGUpfHxMZShyLmZhbGxiYWNrTG9jYWxlKXx8ci5mYWxsYmFja0xvY2FsZT09PSExP3IuZmFsbGJhY2tMb2NhbGU6YS52YWx1ZSksYz1zZShDbChhLnZhbHVlLHIpKSx1PXNlKExlKHIuZGF0ZXRpbWVGb3JtYXRzKT9yLmRhdGV0aW1lRm9ybWF0czp7W2EudmFsdWVdOnt9fSksZD1zZShMZShyLm51bWJlckZvcm1hdHMpP3IubnVtYmVyRm9ybWF0czp7W2EudmFsdWVdOnt9fSksZj1pP24ubWlzc2luZ1dhcm46R2Uoci5taXNzaW5nV2Fybil8fEhyKHIubWlzc2luZ1dhcm4pP3IubWlzc2luZ1dhcm46ITAsaD1pP24uZmFsbGJhY2tXYXJuOkdlKHIuZmFsbGJhY2tXYXJuKXx8SHIoci5mYWxsYmFja1dhcm4pP3IuZmFsbGJhY2tXYXJuOiEwLG09aT9uLmZhbGxiYWNrUm9vdDpHZShyLmZhbGxiYWNrUm9vdCk/ci5mYWxsYmFja1Jvb3Q6ITAscD0hIXIuZmFsbGJhY2tGb3JtYXQsaz1jdChyLm1pc3NpbmcpP3IubWlzc2luZzpudWxsLHg9Y3Qoci5wb3N0VHJhbnNsYXRpb24pP3IucG9zdFRyYW5zbGF0aW9uOm51bGwsQz1pP24ud2Fybkh0bWxNZXNzYWdlOkdlKHIud2Fybkh0bWxNZXNzYWdlKT9yLndhcm5IdG1sTWVzc2FnZTohMCxiPSEhci5lc2NhcGVQYXJhbWV0ZXIsVD1pP24ubW9kaWZpZXJzOkxlKHIubW9kaWZpZXJzKT9yLm1vZGlmaWVyczp7fSxFPXIucGx1cmFsUnVsZXN8fGkmJm4ucGx1cmFsUnVsZXM7ZnVuY3Rpb24gdygpe3JldHVyblthLnZhbHVlLGwudmFsdWUsYy52YWx1ZSx1LnZhbHVlLGQudmFsdWVdfWNvbnN0IFI9b2Uoe2dldDooKT0+cy52YWx1ZT9zLnZhbHVlLmxvY2FsZS52YWx1ZTphLnZhbHVlLHNldDpnPT57cy52YWx1ZSYmKHMudmFsdWUubG9jYWxlLnZhbHVlPWcpLGEudmFsdWU9Z319KSxEPW9lKHtnZXQ6KCk9PnMudmFsdWU/cy52YWx1ZS5mYWxsYmFja0xvY2FsZS52YWx1ZTpsLnZhbHVlLHNldDpnPT57cy52YWx1ZSYmKHMudmFsdWUuZmFsbGJhY2tMb2NhbGUudmFsdWU9ZyksbC52YWx1ZT1nfX0pLEk9b2UoKCk9PnMudmFsdWU/cy52YWx1ZS5tZXNzYWdlcy52YWx1ZTpjLnZhbHVlKSxCPW9lKCgpPT51LnZhbHVlKSxMPW9lKCgpPT5kLnZhbHVlKTtmdW5jdGlvbiBqKCl7cmV0dXJuIHMudmFsdWU/cy52YWx1ZS5nZXRQb3N0VHJhbnNsYXRpb25IYW5kbGVyKCk6eH1mdW5jdGlvbiByZShnKXtzLnZhbHVlJiZzLnZhbHVlLnNldFBvc3RUcmFuc2xhdGlvbkhhbmRsZXIoZyl9ZnVuY3Rpb24geGUoKXtyZXR1cm4gcy52YWx1ZT9zLnZhbHVlLmdldE1pc3NpbmdIYW5kbGVyKCk6a31mdW5jdGlvbiBUZShnKXtzLnZhbHVlJiZzLnZhbHVlLnNldE1pc3NpbmdIYW5kbGVyKGcpfWZ1bmN0aW9uIGxlKGcpe3JldHVybiB3KCksZygpfWZ1bmN0aW9uIHllKC4uLmcpe3JldHVybiBzLnZhbHVlP2xlKCgpPT5SZWZsZWN0LmFwcGx5KHMudmFsdWUudCxudWxsLFsuLi5nXSkpOmxlKCgpPT4iIil9ZnVuY3Rpb24gQWUoLi4uZyl7cmV0dXJuIHMudmFsdWU/UmVmbGVjdC5hcHBseShzLnZhbHVlLnJ0LG51bGwsWy4uLmddKToiIn1mdW5jdGlvbiBaZSguLi5nKXtyZXR1cm4gcy52YWx1ZT9sZSgoKT0+UmVmbGVjdC5hcHBseShzLnZhbHVlLmQsbnVsbCxbLi4uZ10pKTpsZSgoKT0+IiIpfWZ1bmN0aW9uIHJ0KC4uLmcpe3JldHVybiBzLnZhbHVlP2xlKCgpPT5SZWZsZWN0LmFwcGx5KHMudmFsdWUubixudWxsLFsuLi5nXSkpOmxlKCgpPT4iIil9ZnVuY3Rpb24gd2UoZyl7cmV0dXJuIHMudmFsdWU/cy52YWx1ZS50bShnKTp7fX1mdW5jdGlvbiBKKGcsTil7cmV0dXJuIHMudmFsdWU/cy52YWx1ZS50ZShnLE4pOiExfWZ1bmN0aW9uIEllKGcpe3JldHVybiBzLnZhbHVlP3MudmFsdWUuZ2V0TG9jYWxlTWVzc2FnZShnKTp7fX1mdW5jdGlvbiB6ZShnLE4pe3MudmFsdWUmJihzLnZhbHVlLnNldExvY2FsZU1lc3NhZ2UoZyxOKSxjLnZhbHVlW2ddPU4pfWZ1bmN0aW9uIFJlKGcsTil7cy52YWx1ZSYmcy52YWx1ZS5tZXJnZUxvY2FsZU1lc3NhZ2UoZyxOKX1mdW5jdGlvbiBVZShnKXtyZXR1cm4gcy52YWx1ZT9zLnZhbHVlLmdldERhdGVUaW1lRm9ybWF0KGcpOnt9fWZ1bmN0aW9uIEgoZyxOKXtzLnZhbHVlJiYocy52YWx1ZS5zZXREYXRlVGltZUZvcm1hdChnLE4pLHUudmFsdWVbZ109Til9ZnVuY3Rpb24gY2UoZyxOKXtzLnZhbHVlJiZzLnZhbHVlLm1lcmdlRGF0ZVRpbWVGb3JtYXQoZyxOKX1mdW5jdGlvbiBhZShnKXtyZXR1cm4gcy52YWx1ZT9zLnZhbHVlLmdldE51bWJlckZvcm1hdChnKTp7fX1mdW5jdGlvbiBmZShnLE4pe3MudmFsdWUmJihzLnZhbHVlLnNldE51bWJlckZvcm1hdChnLE4pLGQudmFsdWVbZ109Til9ZnVuY3Rpb24gamUoZyxOKXtzLnZhbHVlJiZzLnZhbHVlLm1lcmdlTnVtYmVyRm9ybWF0KGcsTil9Y29uc3QgTz17Z2V0IGlkKCl7cmV0dXJuIHMudmFsdWU/cy52YWx1ZS5pZDotMX0sbG9jYWxlOlIsZmFsbGJhY2tMb2NhbGU6RCxtZXNzYWdlczpJLGRhdGV0aW1lRm9ybWF0czpCLG51bWJlckZvcm1hdHM6TCxnZXQgaW5oZXJpdExvY2FsZSgpe3JldHVybiBzLnZhbHVlP3MudmFsdWUuaW5oZXJpdExvY2FsZTpvfSxzZXQgaW5oZXJpdExvY2FsZShnKXtzLnZhbHVlJiYocy52YWx1ZS5pbmhlcml0TG9jYWxlPWcpfSxnZXQgYXZhaWxhYmxlTG9jYWxlcygpe3JldHVybiBzLnZhbHVlP3MudmFsdWUuYXZhaWxhYmxlTG9jYWxlczpPYmplY3Qua2V5cyhjLnZhbHVlKX0sZ2V0IG1vZGlmaWVycygpe3JldHVybiBzLnZhbHVlP3MudmFsdWUubW9kaWZpZXJzOlR9LGdldCBwbHVyYWxSdWxlcygpe3JldHVybiBzLnZhbHVlP3MudmFsdWUucGx1cmFsUnVsZXM6RX0sZ2V0IGlzR2xvYmFsKCl7cmV0dXJuIHMudmFsdWU/cy52YWx1ZS5pc0dsb2JhbDohMX0sZ2V0IG1pc3NpbmdXYXJuKCl7cmV0dXJuIHMudmFsdWU/cy52YWx1ZS5taXNzaW5nV2FybjpmfSxzZXQgbWlzc2luZ1dhcm4oZyl7cy52YWx1ZSYmKHMudmFsdWUubWlzc2luZ1dhcm49Zyl9LGdldCBmYWxsYmFja1dhcm4oKXtyZXR1cm4gcy52YWx1ZT9zLnZhbHVlLmZhbGxiYWNrV2FybjpofSxzZXQgZmFsbGJhY2tXYXJuKGcpe3MudmFsdWUmJihzLnZhbHVlLm1pc3NpbmdXYXJuPWcpfSxnZXQgZmFsbGJhY2tSb290KCl7cmV0dXJuIHMudmFsdWU/cy52YWx1ZS5mYWxsYmFja1Jvb3Q6bX0sc2V0IGZhbGxiYWNrUm9vdChnKXtzLnZhbHVlJiYocy52YWx1ZS5mYWxsYmFja1Jvb3Q9Zyl9LGdldCBmYWxsYmFja0Zvcm1hdCgpe3JldHVybiBzLnZhbHVlP3MudmFsdWUuZmFsbGJhY2tGb3JtYXQ6cH0sc2V0IGZhbGxiYWNrRm9ybWF0KGcpe3MudmFsdWUmJihzLnZhbHVlLmZhbGxiYWNrRm9ybWF0PWcpfSxnZXQgd2Fybkh0bWxNZXNzYWdlKCl7cmV0dXJuIHMudmFsdWU/cy52YWx1ZS53YXJuSHRtbE1lc3NhZ2U6Q30sc2V0IHdhcm5IdG1sTWVzc2FnZShnKXtzLnZhbHVlJiYocy52YWx1ZS53YXJuSHRtbE1lc3NhZ2U9Zyl9LGdldCBlc2NhcGVQYXJhbWV0ZXIoKXtyZXR1cm4gcy52YWx1ZT9zLnZhbHVlLmVzY2FwZVBhcmFtZXRlcjpifSxzZXQgZXNjYXBlUGFyYW1ldGVyKGcpe3MudmFsdWUmJihzLnZhbHVlLmVzY2FwZVBhcmFtZXRlcj1nKX0sdDp5ZSxnZXRQb3N0VHJhbnNsYXRpb25IYW5kbGVyOmosc2V0UG9zdFRyYW5zbGF0aW9uSGFuZGxlcjpyZSxnZXRNaXNzaW5nSGFuZGxlcjp4ZSxzZXRNaXNzaW5nSGFuZGxlcjpUZSxydDpBZSxkOlplLG46cnQsdG06d2UsdGU6SixnZXRMb2NhbGVNZXNzYWdlOkllLHNldExvY2FsZU1lc3NhZ2U6emUsbWVyZ2VMb2NhbGVNZXNzYWdlOlJlLGdldERhdGVUaW1lRm9ybWF0OlVlLHNldERhdGVUaW1lRm9ybWF0OkgsbWVyZ2VEYXRlVGltZUZvcm1hdDpjZSxnZXROdW1iZXJGb3JtYXQ6YWUsc2V0TnVtYmVyRm9ybWF0OmZlLG1lcmdlTnVtYmVyRm9ybWF0OmplfTtmdW5jdGlvbiBQKGcpe2cubG9jYWxlLnZhbHVlPWEudmFsdWUsZy5mYWxsYmFja0xvY2FsZS52YWx1ZT1sLnZhbHVlLE9iamVjdC5rZXlzKGMudmFsdWUpLmZvckVhY2goTj0+e2cubWVyZ2VMb2NhbGVNZXNzYWdlKE4sYy52YWx1ZVtOXSl9KSxPYmplY3Qua2V5cyh1LnZhbHVlKS5mb3JFYWNoKE49PntnLm1lcmdlRGF0ZVRpbWVGb3JtYXQoTix1LnZhbHVlW05dKX0pLE9iamVjdC5rZXlzKGQudmFsdWUpLmZvckVhY2goTj0+e2cubWVyZ2VOdW1iZXJGb3JtYXQoTixkLnZhbHVlW05dKX0pLGcuZXNjYXBlUGFyYW1ldGVyPWIsZy5mYWxsYmFja0Zvcm1hdD1wLGcuZmFsbGJhY2tSb290PW0sZy5mYWxsYmFja1dhcm49aCxnLm1pc3NpbmdXYXJuPWYsZy53YXJuSHRtbE1lc3NhZ2U9Q31yZXR1cm4gSGcoKCk9PntpZih0LnByb3h5PT1udWxsfHx0LnByb3h5LiRpMThuPT1udWxsKXRocm93IFJ0KEF0Lk5PVF9BVkFJTEFCTEVfQ09NUE9TSVRJT05fSU5fTEVHQUNZKTtjb25zdCBnPXMudmFsdWU9dC5wcm94eS4kaTE4bi5fX2NvbXBvc2VyO2U9PT0iZ2xvYmFsIj8oYS52YWx1ZT1nLmxvY2FsZS52YWx1ZSxsLnZhbHVlPWcuZmFsbGJhY2tMb2NhbGUudmFsdWUsYy52YWx1ZT1nLm1lc3NhZ2VzLnZhbHVlLHUudmFsdWU9Zy5kYXRldGltZUZvcm1hdHMudmFsdWUsZC52YWx1ZT1nLm51bWJlckZvcm1hdHMudmFsdWUpOmkmJlAoZyl9KSxPfWNvbnN0IHNPPVsibG9jYWxlIiwiZmFsbGJhY2tMb2NhbGUiLCJhdmFpbGFibGVMb2NhbGVzIl0sRG09WyJ0IiwicnQiLCJkIiwibiIsInRtIiwidGUiXTtmdW5jdGlvbiBvTyh0LGUpe2NvbnN0IG49T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gc08uZm9yRWFjaChpPT57Y29uc3Qgcz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsaSk7aWYoIXMpdGhyb3cgUnQoQXQuVU5FWFBFQ1RFRF9FUlJPUik7Y29uc3Qgbz1FdChzLnZhbHVlKT97Z2V0KCl7cmV0dXJuIHMudmFsdWUudmFsdWV9LHNldChhKXtzLnZhbHVlLnZhbHVlPWF9fTp7Z2V0KCl7cmV0dXJuIHMuZ2V0JiZzLmdldCgpfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KG4saSxvKX0pLHQuY29uZmlnLmdsb2JhbFByb3BlcnRpZXMuJGkxOG49bixEbS5mb3JFYWNoKGk9Pntjb25zdCBzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxpKTtpZighc3x8IXMudmFsdWUpdGhyb3cgUnQoQXQuVU5FWFBFQ1RFRF9FUlJPUik7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQuY29uZmlnLmdsb2JhbFByb3BlcnRpZXMsYCQke2l9YCxzKX0pLCgpPT57ZGVsZXRlIHQuY29uZmlnLmdsb2JhbFByb3BlcnRpZXMuJGkxOG4sRG0uZm9yRWFjaChpPT57ZGVsZXRlIHQuY29uZmlnLmdsb2JhbFByb3BlcnRpZXNbYCQke2l9YF19KX19TUEoKTtfX0lOVExJRllfSklUX0NPTVBJTEFUSU9OX18/aG0oQ0EpOmhtKE9BKTtfQShReCk7YkEoVnYpO2lmKF9fSU5UTElGWV9QUk9EX0RFVlRPT0xTX18pe2NvbnN0IHQ9cHIoKTt0Ll9fSU5UTElGWV9fPSEwLGxBKHQuX19JTlRMSUZZX0RFVlRPT0xTX0dMT0JBTF9IT09LX18pfWNvbnN0IGFPPU5lKHtfX25hbWU6IkNvbmZpcm1EaWFsb2ciLHNldHVwKHQpe2NvbnN0e3Q6ZX09V3QoKSx7ZW1pdHRlcjpufT1veCgpLHI9c2UoITEpLGk9c2UoIiIpLHM9c2UoIiIpLG89c2UoIiIpLGE9c2UoInByaW1hcnkiKTtsZXQgbD0oKT0+e307bi5vbigiY29uZmlybSIsZD0+e2w9ZC5yZXNvbHZlLGkudmFsdWU9ZC50aXRsZSxzLnZhbHVlPWQuc3VidGl0bGUsby52YWx1ZT1kLmNvbmZpcm1CdXR0b25UZXh0LGEudmFsdWU9ZC5jb25maXJtQnV0dG9uQ29sb3Isci52YWx1ZT0hMH0pO2NvbnN0IGM9KCk9PntsKCExKSxyLnZhbHVlPSExfSx1PSgpPT57bCghMCksci52YWx1ZT0hMX07cmV0dXJuKGQsZik9PihVKCksdHQoRHYse21vZGVsVmFsdWU6ci52YWx1ZSwib25VcGRhdGU6bW9kZWxWYWx1ZSI6ZlswXXx8KGZbMF09aD0+ci52YWx1ZT1oKSx0aXRsZTppLnZhbHVlLHN1YnRpdGxlOnMudmFsdWV9LHthY3Rpb25zOm5lKCgpPT5bZWUoU3Qse3R5cGU6ImJ1dHRvbiIsY29sb3I6InNlY29uZGFyeSIsb25DbGljazpjfSx7ZGVmYXVsdDpuZSgoKT0+WyRlKEsoUyhlKSgiYm9va2luZ19kcm9wZG93bi5va19jYW5jZWxfbW9kYWwuY2FuY2VsIikpLDEpXSksXzoxfSksZWUoU3Qse2NvbG9yOmEudmFsdWUsdHlwZToiYnV0dG9uIixvbkNsaWNrOnV9LHtkZWZhdWx0Om5lKCgpPT5bJGUoSyhvLnZhbHVlKSwxKV0pLF86MX0sOCxbImNvbG9yIl0pXSksXzoxfSw4LFsibW9kZWxWYWx1ZSIsInRpdGxlIiwic3VidGl0bGUiXSkpfX0pLE1tPU12KCksUGw9KCk9Pih7bm90aWZ5OmU9PntNbS5lbWl0KCJub3RpZnkiLGUpfSxlbWl0dGVyOk1tfSk7ZnVuY3Rpb24gYV8odCxlKXtyZXR1cm4gVSgpLFooInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDIwIDIwIixmaWxsOiJjdXJyZW50Q29sb3IiLCJhcmlhLWhpZGRlbiI6InRydWUiLCJkYXRhLXNsb3QiOiJpY29uIn0sW0EoInBhdGgiLHtkOiJNMTAuNzUgMi43NWEuNzUuNzUgMCAwIDAtMS41IDB2OC42MTRMNi4yOTUgOC4yMzVhLjc1Ljc1IDAgMSAwLTEuMDkgMS4wM2w0LjI1IDQuNWEuNzUuNzUgMCAwIDAgMS4wOSAwbDQuMjUtNC41YS43NS43NSAwIDAgMC0xLjA5LTEuMDNsLTIuOTU1IDMuMTI5VjIuNzVaIn0pLEEoInBhdGgiLHtkOiJNMy41IDEyLjc1YS43NS43NSAwIDAgMC0xLjUgMHYyLjVBMi43NSAyLjc1IDAgMCAwIDQuNzUgMThoMTAuNUEyLjc1IDIuNzUgMCAwIDAgMTggMTUuMjV2LTIuNWEuNzUuNzUgMCAwIDAtMS41IDB2Mi41YzAgLjY5LS41NiAxLjI1LTEuMjUgMS4yNUg0Ljc1Yy0uNjkgMC0xLjI1LS41Ni0xLjI1LTEuMjV2LTIuNVoifSldKX1mdW5jdGlvbiBsTyh0LGUpe3JldHVybiBVKCksWigic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsImRhdGEtc2xvdCI6Imljb24ifSxbQSgicGF0aCIse2Q6Ik05LjI1IDEzLjI1YS43NS43NSAwIDAgMCAxLjUgMFY0LjYzNmwyLjk1NSAzLjEyOWEuNzUuNzUgMCAwIDAgMS4wOS0xLjAzbC00LjI1LTQuNWEuNzUuNzUgMCAwIDAtMS4wOSAwbC00LjI1IDQuNWEuNzUuNzUgMCAxIDAgMS4wOSAxLjAzTDkuMjUgNC42MzZ2OC42MTRaIn0pLEEoInBhdGgiLHtkOiJNMy41IDEyLjc1YS43NS43NSAwIDAgMC0xLjUgMHYyLjVBMi43NSAyLjc1IDAgMCAwIDQuNzUgMThoMTAuNUEyLjc1IDIuNzUgMCAwIDAgMTggMTUuMjV2LTIuNWEuNzUuNzUgMCAwIDAtMS41IDB2Mi41YzAgLjY5LS41NiAxLjI1LTEuMjUgMS4yNUg0Ljc1Yy0uNjkgMC0xLjI1LS41Ni0xLjI1LTEuMjV2LTIuNVoifSldKX1mdW5jdGlvbiBjTyh0LGUpe3JldHVybiBVKCksWigic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsImRhdGEtc2xvdCI6Imljb24ifSxbQSgicGF0aCIseyJmaWxsLXJ1bGUiOiJldmVub2RkIixkOiJNNS40MDQgMTQuNTk2QTYuNSA2LjUgMCAxIDEgMTYuNSAxMGExLjI1IDEuMjUgMCAwIDEtMi41IDAgNCA0IDAgMSAwLS41NzEgMi4wNkEyLjc1IDIuNzUgMCAwIDAgMTggMTBhOCA4IDAgMSAwLTIuMzQzIDUuNjU3Ljc1Ljc1IDAgMCAwLTEuMDYtMS4wNiA2LjUgNi41IDAgMCAxLTkuMTkzIDBaTTEwIDcuNWEyLjUgMi41IDAgMSAwIDAgNSAyLjUgMi41IDAgMCAwIDAtNVoiLCJjbGlwLXJ1bGUiOiJldmVub2RkIn0pXSl9ZnVuY3Rpb24gdU8odCxlKXtyZXR1cm4gVSgpLFooInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDIwIDIwIixmaWxsOiJjdXJyZW50Q29sb3IiLCJhcmlhLWhpZGRlbiI6InRydWUiLCJkYXRhLXNsb3QiOiJpY29uIn0sW0EoInBhdGgiLHtkOiJNMyAxMGExLjUgMS41IDAgMSAxIDMgMCAxLjUgMS41IDAgMCAxLTMgMFpNOC41IDEwYTEuNSAxLjUgMCAxIDEgMyAwIDEuNSAxLjUgMCAwIDEtMyAwWk0xNS41IDguNWExLjUgMS41IDAgMSAwIDAgMyAxLjUgMS41IDAgMCAwIDAtM1oifSldKX1mdW5jdGlvbiBkTyh0LGUpe3JldHVybiBVKCksWigic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsImRhdGEtc2xvdCI6Imljb24ifSxbQSgicGF0aCIseyJmaWxsLXJ1bGUiOiJldmVub2RkIixkOiJNMTggMTBhOCA4IDAgMSAxLTE2IDAgOCA4IDAgMCAxIDE2IDBabS03LTRhMSAxIDAgMSAxLTIgMCAxIDEgMCAwIDEgMiAwWk05IDlhLjc1Ljc1IDAgMCAwIDAgMS41aC4yNTNhLjI1LjI1IDAgMCAxIC4yNDQuMzA0bC0uNDU5IDIuMDY2QTEuNzUgMS43NSAwIDAgMCAxMC43NDcgMTVIMTFhLjc1Ljc1IDAgMCAwIDAtMS41aC0uMjUzYS4yNS4yNSAwIDAgMS0uMjQ0LS4zMDRsLjQ1OS0yLjA2NkExLjc1IDEuNzUgMCAwIDAgOS4yNTMgOUg5WiIsImNsaXAtcnVsZSI6ImV2ZW5vZGQifSldKX1mdW5jdGlvbiBmTyh0LGUpe3JldHVybiBVKCksWigic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsImRhdGEtc2xvdCI6Imljb24ifSxbQSgicGF0aCIse2Q6Im01LjQzMyAxMy45MTcgMS4yNjItMy4xNTVBNCA0IDAgMCAxIDcuNTggOS40Mmw2LjkyLTYuOTE4YTIuMTIxIDIuMTIxIDAgMCAxIDMgM2wtNi45MiA2LjkxOGMtLjM4My4zODMtLjg0LjY4NS0xLjM0My44ODZsLTMuMTU0IDEuMjYyYS41LjUgMCAwIDEtLjY1LS42NVoifSksQSgicGF0aCIse2Q6Ik0zLjUgNS43NWMwLS42OS41Ni0xLjI1IDEuMjUtMS4yNUgxMEEuNzUuNzUgMCAwIDAgMTAgM0g0Ljc1QTIuNzUgMi43NSAwIDAgMCAyIDUuNzV2OS41QTIuNzUgMi43NSAwIDAgMCA0Ljc1IDE4aDkuNUEyLjc1IDIuNzUgMCAwIDAgMTcgMTUuMjVWMTBhLjc1Ljc1IDAgMCAwLTEuNSAwdjUuMjVjMCAuNjktLjU2IDEuMjUtMS4yNSAxLjI1aC05LjVjLS42OSAwLTEuMjUtLjU2LTEuMjUtMS4yNXYtOS41WiJ9KV0pfWZ1bmN0aW9uIGhPKHQsZSl7cmV0dXJuIFUoKSxaKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHZpZXdCb3g6IjAgMCAyMCAyMCIsZmlsbDoiY3VycmVudENvbG9yIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIiwiZGF0YS1zbG90IjoiaWNvbiJ9LFtBKCJwYXRoIix7ImZpbGwtcnVsZSI6ImV2ZW5vZGQiLGQ6Ik0yIDMuNUExLjUgMS41IDAgMCAxIDMuNSAyaDEuMTQ4YTEuNSAxLjUgMCAwIDEgMS40NjUgMS4xNzVsLjcxNiAzLjIyM2ExLjUgMS41IDAgMCAxLTEuMDUyIDEuNzY3bC0uOTMzLjI2N2MtLjQxLjExNy0uNjQzLjU1NS0uNDguOTVhMTEuNTQyIDExLjU0MiAwIDAgMCA2LjI1NCA2LjI1NGMuMzk1LjE2My44MzMtLjA3Ljk1LS40OGwuMjY3LS45MzNhMS41IDEuNSAwIDAgMSAxLjc2Ny0xLjA1MmwzLjIyMy43MTZBMS41IDEuNSAwIDAgMSAxOCAxNS4zNTJWMTYuNWExLjUgMS41IDAgMCAxLTEuNSAxLjVIMTVjLTEuMTQ5IDAtMi4yNjMtLjE1LTMuMzI2LS40M0ExMy4wMjIgMTMuMDIyIDAgMCAxIDIuNDMgOC4zMjYgMTMuMDE5IDEzLjAxOSAwIDAgMSAyIDVWMy41WiIsImNsaXAtcnVsZSI6ImV2ZW5vZGQifSldKX1mdW5jdGlvbiBodSh0LGUpe3JldHVybiBVKCksWigic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsImRhdGEtc2xvdCI6Imljb24ifSxbQSgicGF0aCIse2Q6Ik02LjI4IDUuMjJhLjc1Ljc1IDAgMCAwLTEuMDYgMS4wNkw4Ljk0IDEwbC0zLjcyIDMuNzJhLjc1Ljc1IDAgMSAwIDEuMDYgMS4wNkwxMCAxMS4wNmwzLjcyIDMuNzJhLjc1Ljc1IDAgMSAwIDEuMDYtMS4wNkwxMS4wNiAxMGwzLjcyLTMuNzJhLjc1Ljc1IDAgMCAwLTEuMDYtMS4wNkwxMCA4Ljk0IDYuMjggNS4yMloifSldKX1mdW5jdGlvbiBtTyh0LGUpe3JldHVybiBVKCksWigic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJub25lIix2aWV3Qm94OiIwIDAgMjQgMjQiLCJzdHJva2Utd2lkdGgiOiIxLjUiLHN0cm9rZToiY3VycmVudENvbG9yIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIiwiZGF0YS1zbG90IjoiaWNvbiJ9LFtBKCJwYXRoIix7InN0cm9rZS1saW5lY2FwIjoicm91bmQiLCJzdHJva2UtbGluZWpvaW4iOiJyb3VuZCIsZDoiTTkgMTIuNzUgMTEuMjUgMTUgMTUgOS43NU0yMSAxMmE5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMFoifSldKX1mdW5jdGlvbiBwTyh0LGUpe3JldHVybiBVKCksWigic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJub25lIix2aWV3Qm94OiIwIDAgMjQgMjQiLCJzdHJva2Utd2lkdGgiOiIxLjUiLHN0cm9rZToiY3VycmVudENvbG9yIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIiwiZGF0YS1zbG90IjoiaWNvbiJ9LFtBKCJwYXRoIix7InN0cm9rZS1saW5lY2FwIjoicm91bmQiLCJzdHJva2UtbGluZWpvaW4iOiJyb3VuZCIsZDoibTQuNSAxMi43NSA2IDYgOS0xMy41In0pXSl9ZnVuY3Rpb24gZ08odCxlKXtyZXR1cm4gVSgpLFooInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoibm9uZSIsdmlld0JveDoiMCAwIDI0IDI0Iiwic3Ryb2tlLXdpZHRoIjoiMS41IixzdHJva2U6ImN1cnJlbnRDb2xvciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsImRhdGEtc2xvdCI6Imljb24ifSxbQSgicGF0aCIseyJzdHJva2UtbGluZWNhcCI6InJvdW5kIiwic3Ryb2tlLWxpbmVqb2luIjoicm91bmQiLGQ6Ik0xMiA5djMuNzVtLTkuMzAzIDMuMzc2Yy0uODY2IDEuNS4yMTcgMy4zNzQgMS45NDggMy4zNzRoMTQuNzFjMS43MyAwIDIuODEzLTEuODc0IDEuOTQ4LTMuMzc0TDEzLjk0OSAzLjM3OGMtLjg2Ni0xLjUtMy4wMzItMS41LTMuODk4IDBMMi42OTcgMTYuMTI2Wk0xMiAxNS43NWguMDA3di4wMDhIMTJ2LS4wMDhaIn0pXSl9ZnVuY3Rpb24geU8odCxlKXtyZXR1cm4gVSgpLFooInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoibm9uZSIsdmlld0JveDoiMCAwIDI0IDI0Iiwic3Ryb2tlLXdpZHRoIjoiMS41IixzdHJva2U6ImN1cnJlbnRDb2xvciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsImRhdGEtc2xvdCI6Imljb24ifSxbQSgicGF0aCIseyJzdHJva2UtbGluZWNhcCI6InJvdW5kIiwic3Ryb2tlLWxpbmVqb2luIjoicm91bmQiLGQ6Im0yLjI1IDEyIDguOTU0LTguOTU1Yy40NC0uNDM5IDEuMTUyLS40MzkgMS41OTEgMEwyMS43NSAxMk00LjUgOS43NXYxMC4xMjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNUg5Ljc1di00Ljg3NWMwLS42MjEuNTA0LTEuMTI1IDEuMTI1LTEuMTI1aDIuMjVjLjYyMSAwIDEuMTI1LjUwNCAxLjEyNSAxLjEyNVYyMWg0LjEyNWMuNjIxIDAgMS4xMjUtLjUwNCAxLjEyNS0xLjEyNVY5Ljc1TTguMjUgMjFoOC4yNSJ9KV0pfWZ1bmN0aW9uIGxfKHQsZSl7cmV0dXJuIFUoKSxaKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6Im5vbmUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsInN0cm9rZS13aWR0aCI6IjEuNSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLCJhcmlhLWhpZGRlbiI6InRydWUiLCJkYXRhLXNsb3QiOiJpY29uIn0sW0EoInBhdGgiLHsic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIixkOiJtMTEuMjUgMTEuMjUuMDQxLS4wMmEuNzUuNzUgMCAwIDEgMS4wNjMuODUybC0uNzA4IDIuODM2YS43NS43NSAwIDAgMCAxLjA2My44NTNsLjA0MS0uMDIxTTIxIDEyYTkgOSAwIDEgMS0xOCAwIDkgOSAwIDAgMSAxOCAwWm0tOS0zLjc1aC4wMDh2LjAwOEgxMlY4LjI1WiJ9KV0pfWZ1bmN0aW9uIHZPKHQsZSl7cmV0dXJuIFUoKSxaKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6Im5vbmUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsInN0cm9rZS13aWR0aCI6IjEuNSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLCJhcmlhLWhpZGRlbiI6InRydWUiLCJkYXRhLXNsb3QiOiJpY29uIn0sW0EoInBhdGgiLHsic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIixkOiJNMTUuNzUgNS4yNWEzIDMgMCAwIDEgMyAzbTMgMGE2IDYgMCAwIDEtNy4wMjkgNS45MTJjLS41NjMtLjA5Ny0xLjE1OS4wMjYtMS41NjMuNDNMMTAuNSAxNy4yNUg4LjI1djIuMjVINnYyLjI1SDIuMjV2LTIuODE4YzAtLjU5Ny4yMzctMS4xNy42NTktMS41OTFsNi40OTktNi40OTljLjQwNC0uNDA0LjUyNy0xIC40My0xLjU2M0E2IDYgMCAxIDEgMjEuNzUgOC4yNVoifSldKX1mdW5jdGlvbiBfTyh0LGUpe3JldHVybiBVKCksWigic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJub25lIix2aWV3Qm94OiIwIDAgMjQgMjQiLCJzdHJva2Utd2lkdGgiOiIxLjUiLHN0cm9rZToiY3VycmVudENvbG9yIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIiwiZGF0YS1zbG90IjoiaWNvbiJ9LFtBKCJwYXRoIix7InN0cm9rZS1saW5lY2FwIjoicm91bmQiLCJzdHJva2UtbGluZWpvaW4iOiJyb3VuZCIsZDoiTTE2LjcxMiA0LjMzYTkuMDI3IDkuMDI3IDAgMCAxIDEuNjUyIDEuMzA2Yy41MS41MS45NDQgMS4wNjQgMS4zMDYgMS42NTJNMTYuNzEyIDQuMzNsLTMuNDQ4IDQuMTM4bTMuNDQ4LTQuMTM4YTkuMDE0IDkuMDE0IDAgMCAwLTkuNDI0IDBNMTkuNjcgNy4yODhsLTQuMTM4IDMuNDQ4bTQuMTM4LTMuNDQ4YTkuMDE0IDkuMDE0IDAgMCAxIDAgOS40MjRtLTQuMTM4LTUuOTc2YTMuNzM2IDMuNzM2IDAgMCAwLS44OC0xLjM4OCAzLjczNyAzLjczNyAwIDAgMC0xLjM4OC0uODhtMi4yNjggMi4yNjhhMy43NjUgMy43NjUgMCAwIDEgMCAyLjUyOG0tMi4yNjgtNC43OTZhMy43NjUgMy43NjUgMCAwIDAtMi41MjggMG00Ljc5NiA0Ljc5NmMtLjE4MS41MDYtLjQ3NS45ODItLjg4IDEuMzg4YTMuNzM2IDMuNzM2IDAgMCAxLTEuMzg4Ljg4bTIuMjY4LTIuMjY4IDQuMTM4IDMuNDQ4bTAgMGE5LjAyNyA5LjAyNyAwIDAgMS0xLjMwNiAxLjY1MmMtLjUxLjUxLTEuMDY0Ljk0NC0xLjY1MiAxLjMwNm0wIDAtMy40NDgtNC4xMzhtMy40NDggNC4xMzhhOS4wMTQgOS4wMTQgMCAwIDEtOS40MjQgMG01Ljk3Ni00LjEzOGEzLjc2NSAzLjc2NSAwIDAgMS0yLjUyOCAwbTAgMGEzLjczNiAzLjczNiAwIDAgMS0xLjM4OC0uODggMy43MzcgMy43MzcgMCAwIDEtLjg4LTEuMzg4bTIuMjY4IDIuMjY4TDcuMjg4IDE5LjY3bTAgMGE5LjAyNCA5LjAyNCAwIDAgMS0xLjY1Mi0xLjMwNiA5LjAyNyA5LjAyNyAwIDAgMS0xLjMwNi0xLjY1Mm0wIDAgNC4xMzgtMy40NDhNNC4zMyAxNi43MTJhOS4wMTQgOS4wMTQgMCAwIDEgMC05LjQyNG00LjEzOCA1Ljk3NmEzLjc2NSAzLjc2NSAwIDAgMSAwLTIuNTI4bTAgMGMuMTgxLS41MDYuNDc1LS45ODIuODgtMS4zODhhMy43MzYgMy43MzYgMCAwIDEgMS4zODgtLjg4bS0yLjI2OCAyLjI2OEw0LjMzIDcuMjg4bTYuNDA2IDEuMThMNy4yODggNC4zM20wIDBhOS4wMjQgOS4wMjQgMCAwIDAtMS42NTIgMS4zMDZBOS4wMjUgOS4wMjUgMCAwIDAgNC4zMyA3LjI4OCJ9KV0pfWZ1bmN0aW9uIGJPKHQsZSl7cmV0dXJuIFUoKSxaKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6Im5vbmUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsInN0cm9rZS13aWR0aCI6IjEuNSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLCJhcmlhLWhpZGRlbiI6InRydWUiLCJkYXRhLXNsb3QiOiJpY29uIn0sW0EoInBhdGgiLHsic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIixkOiJNMTMuNSAxMC41VjYuNzVhNC41IDQuNSAwIDEgMSA5IDB2My43NU0zLjc1IDIxLjc1aDEwLjVhMi4yNSAyLjI1IDAgMCAwIDIuMjUtMi4yNXYtNi43NWEyLjI1IDIuMjUgMCAwIDAtMi4yNS0yLjI1SDMuNzVhMi4yNSAyLjI1IDAgMCAwLTIuMjUgMi4yNXY2Ljc1YTIuMjUgMi4yNSAwIDAgMCAyLjI1IDIuMjVaIn0pXSl9ZnVuY3Rpb24gY18odCxlKXtyZXR1cm4gVSgpLFooInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoibm9uZSIsdmlld0JveDoiMCAwIDI0IDI0Iiwic3Ryb2tlLXdpZHRoIjoiMS41IixzdHJva2U6ImN1cnJlbnRDb2xvciIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsImRhdGEtc2xvdCI6Imljb24ifSxbQSgicGF0aCIseyJzdHJva2UtbGluZWNhcCI6InJvdW5kIiwic3Ryb2tlLWxpbmVqb2luIjoicm91bmQiLGQ6Im05IDE0LjI1IDYtNm00LjUtMy40OTNWMjEuNzVsLTMuNzUtMS41LTMuNzUgMS41LTMuNzUtMS41LTMuNzUgMS41VjQuNzU3YzAtMS4xMDguODA2LTIuMDU3IDEuOTA3LTIuMTg1YTQ4LjUwNyA0OC41MDcgMCAwIDEgMTEuMTg2IDBjMS4xLjEyOCAxLjkwNyAxLjA3NyAxLjkwNyAyLjE4NVpNOS43NSA5aC4wMDh2LjAwOEg5Ljc1VjlabS4zNzUgMGEuMzc1LjM3NSAwIDEgMS0uNzUgMCAuMzc1LjM3NSAwIDAgMSAuNzUgMFptNC4xMjUgNC41aC4wMDh2LjAwOGgtLjAwOFYxMy41Wm0uMzc1IDBhLjM3NS4zNzUgMCAxIDEtLjc1IDAgLjM3NS4zNzUgMCAwIDEgLjc1IDBaIn0pXSl9Y29uc3Qgd089eyJhcmlhLWxpdmUiOiJhc3NlcnRpdmUiLGNsYXNzOiJwb2ludGVyLWV2ZW50cy1ub25lIGZpeGVkIGluc2V0LTAgei01MCBmbGV4IGl0ZW1zLWVuZCBweC00IHB5LTYgdHJhbnNpdGlvbiBkdXJhdGlvbi0xNTAgZWFzZS1pbi1vdXQgc206cC02IG1kOml0ZW1zLXN0YXJ0In0sa089e2NsYXNzOiJmbGV4IHctZnVsbCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgc3BhY2UteS00IHNtOml0ZW1zLWVuZCJ9LFNPPXtjbGFzczoicC00In0sVE89e2NsYXNzOiJmbGV4IGl0ZW1zLXN0YXJ0In0sRU89e2NsYXNzOiJmbGV4LXNocmluay0wIn0seE89e2NsYXNzOiJtbC0zIHctMCBmbGV4LTEgcHQtMC41In0sQU89e2NsYXNzOiJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAifSxPTz17Y2xhc3M6Im10LTEgdGV4dC1zbSB0ZXh0LWdyYXktNTAwIn0sQ089e2NsYXNzOiJtbC00IGZsZXggc2hyaW5rLTAifSxQTz1bIm9uQ2xpY2siXSxJTz1BKCJzcGFuIix7Y2xhc3M6InNyLW9ubHkifSwiQ2xvc2UiLC0xKSxOTz1OZSh7X19uYW1lOiJOb3RpZmljYXRpb24iLHNldHVwKHQpe2NvbnN0e2VtaXR0ZXI6ZX09UGwoKSx7dDpufT1XdCgpLHI9c2UoW10pO2Uub24oIm5vdGlmeSIsbz0+e2NvbnN0IGE9e3R5cGU6by50eXBlLHRpdGxlOm8udGl0bGUsdGV4dDpvLnRleHQsc2hvdzohMH07ci52YWx1ZS5wdXNoKGEpLHNldFRpbWVvdXQoKCk9Pntjb25zdCBsPXIudmFsdWUuaW5kZXhPZihhKTtsPj0wJiZyLnZhbHVlLnNwbGljZShsLDEpfSwxMCoxZTMpfSk7Y29uc3QgaT1vPT57c3dpdGNoKG8udHlwZSl7Y2FzZSJpbmZvIjpyZXR1cm4idGV4dC1ibHVlLTQwMCI7Y2FzZSJzdWNjZXNzIjpyZXR1cm4idGV4dC1ncmVlbi00MDAiO2Nhc2Uid2FybmluZyI6cmV0dXJuInRleHQteWVsbG93LTQwMCI7Y2FzZSJlcnJvciI6cmV0dXJuInRleHQtcmVkLTQwMCJ9fSxzPW89Pntzd2l0Y2goby50eXBlKXtjYXNlImluZm8iOnJldHVybiBsXztjYXNlInN1Y2Nlc3MiOnJldHVybiBtTztjYXNlIndhcm5pbmciOnJldHVybiBnTztjYXNlImVycm9yIjpyZXR1cm4gaHV9fTtyZXR1cm4obyxhKT0+KFUoKSxaKCJkaXYiLHdPLFtBKCJkaXYiLGtPLFtlZShNMSx7ImVudGVyLWFjdGl2ZS1jbGFzcyI6InRyYW5zaXRpb24gZHVyYXRpb24tMzAwIGVhc2Utb3V0IiwiZW50ZXItZnJvbS1jbGFzcyI6InRyYW5zbGF0ZS15LTIgb3BhY2l0eS0wIHNtOnRyYW5zbGF0ZS15LTAgc206dHJhbnNsYXRlLXgtMiIsImVudGVyLXRvLWNsYXNzIjoidHJhbnNsYXRlLXktMCBvcGFjaXR5LTEwMCBzbTp0cmFuc2xhdGUteC0wIiwibGVhdmUtYWN0aXZlLWNsYXNzIjoidHJhbnNpdGlvbiBkdXJhdGlvbi0xMDAgZWFzZS1pbiIsImxlYXZlLWZyb20tY2xhc3MiOiJvcGFjaXR5LTEwMCIsImxlYXZlLXRvLWNsYXNzIjoib3BhY2l0eS0wIn0se2RlZmF1bHQ6bmUoKCk9PlsoVSghMCksWihxZSxudWxsLHRuKHIudmFsdWUsKGwsYyk9PihVKCksWigiZGl2Iix7a2V5OmMsY2xhc3M6InBvaW50ZXItZXZlbnRzLWF1dG8gdy1mdWxsIG1heC13LXNtIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLWxnIGJnLXdoaXRlIHNoYWRvdy0yeGwgcmluZy0xIHJpbmctYmxhY2sgcmluZy1vcGFjaXR5LTUifSxbQSgiZGl2IixTTyxbQSgiZGl2IixUTyxbQSgiZGl2IixFTyxbKFUoKSx0dCgkZyhzKGwpKSx7Y2xhc3M6RGUoWyJoLTYgdy02IixpKGwpXSksImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LG51bGwsOCxbImNsYXNzIl0pKV0pLEEoImRpdiIseE8sW0EoInAiLEFPLEsobC50aXRsZSksMSksQSgicCIsT08sSyhsLnRleHQpLDEpXSksQSgiZGl2IixDTyxbQSgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOnU9PnIudmFsdWUuc3BsaWNlKHIudmFsdWUuaW5kZXhPZihsKSwxKSxjbGFzczoiaW5saW5lLWZsZXggcm91bmRlZC1tZCBiZy10cmFuc3BhcmVudCB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtZ3JheS01MDAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXByaW1hcnktNTAwIGZvY3VzOnJpbmctb2Zmc2V0LTIifSxbSU8sZWUoUyhodSkse2NsYXNzOiJoLTUgdy01IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pXSw4LFBPKV0pXSldKV0pKSksMTI4KSldKSxfOjF9KV0pXSkpfX0pLFJPPXtjbGFzczoiaC1zY3JlZW4ifSxETz1OZSh7X19uYW1lOiJBcHAiLHNldHVwKHQpe3JldHVybihlLG4pPT4oVSgpLFoocWUsbnVsbCxbQSgiZGl2IixSTyxbZWUobHYpXSksZWUoTk8pLGVlKGFPKV0sNjQpKX19KSxNTz17ZXJyb3I6IkJlbnV0emVybmFtZSBvZGVyIFBhc3N3b3J0IGZhbHNjaC4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBlcm5ldXQuIixlbWFpbDoiRS1NYWlsIixwYXNzd29yZDoiUGFzc3dvcnQiLGxvZ2luOiJBbm1lbGRlbiJ9LExPPXt0aXRsZToiRXJoYWx0ZSBkZWluZW4gUHJlLUNoZWNrLUluLUxpbmsiLHN1YnRpdGxlOiJHaWIgZGVpbmVuIEJ1Y2h1bmdzY29kZSB1bmQgZGVpbmVuIE5hbWVuIGVpbiwgdW0gZGVpbmVuIHBlcnPDtm5saWNoZW4gQ2hlY2stSW4tTGluayB6dSBlcmhhbHRlbi4iLGNvZGU6IkJ1Y2h1bmdzY29kZSIsbmFtZToiTmFjaG5hbWUiLG5hbWVfaGludDoiV2llIGluIGRlaW5lciBCdWNodW5nLiIsZW1haWw6IkRlaW5lIEUtTWFpbC1BZHJlc3NlIixzdWJtaXQ6IkxpbmsgenVzZW5kZW4iLHN1Y2Nlc3NfdGl0bGU6IkJpdHRlIHByw7xmZSBkZWluIFBvc3RmYWNoIixzdWNjZXNzX3RleHQ6IkZhbGxzIGRlaW5lIEJ1Y2h1bmcgZ2VmdW5kZW4gd3VyZGUsIGhhYmVuIHdpciBkZWluZW4gQ2hlY2stSW4tTGluayBhbiBkaWUgYW5nZWdlYmVuZSBFLU1haWwtQWRyZXNzZSBnZXNlbmRldC4iLHJhdGVfbGltaXRlZDoiWnUgdmllbGUgVmVyc3VjaGUuIEJpdHRlIHZlcnN1Y2hlIGVzIHNww6R0ZXIgZXJuZXV0LiIsZXJyb3I6IkV0d2FzIGlzdCBzY2hpZWZnZWxhdWZlbi4gQml0dGUgdmVyc3VjaGUgZXMgZXJuZXV0LiJ9LEZPPXtwcm9maWxlOiJQcm9maWwiLGxvZ291dDoiQWJtZWxkZW4iLG9wZW5fc2lkZWJhcjoiU2lkZWJhciDDtmZmbmVuIixjbG9zZV9zaWRlYmFyOiJTaWRlYmFyIHNjaGxpZcOfZW4iLGNyZWF0ZV9ib29raW5nOiJCdWNodW5nIGVyc3RlbGxlbiIsb3Blbl9zZWFyY2g6IlN1Y2hlIMO2ZmZuZW4iLG9wZW5fc2V0dGluZ3M6IkVpbnN0ZWxsdW5nZW4gw7ZmZm5lbiIsb3Blbl9wcm9maWxlOiJQcm9maWwgw7ZmZm5lbiIsdGVzdHN5c3RlbToiVGVzdHN5c3RlbSJ9LCRPPXtwcm9wZXJ0eToiSGF1cyIscm9vbV9wbGFuOiJaaW1tZXJwbGFuIixkYXNoYm9hcmQ6IkRhc2hib2FyZCIsYm9va2luZ3M6IkJ1Y2h1bmdlbiIsY29udGFjdHM6IktvbnRha3RlIixncm91cHM6IkdydXBwZW4iLGludm9pY2VzOiJSZWNobnVuZ2VuIixyb29tX2xvY2tzOiJaaW1tZXJzcGVycmVuIixob3VzZWtlZXBpbmc6IkhhdXNoYWx0IixyZXBvcnRzOiJCZXJpY2h0ZSIsYmFzZWRhdGE6e2Jhc2VkYXRhOiJTdGFtbWRhdGVuIixwcm9wZXJ0eToiVW50ZXJrdW5mdCIscm9vbV90eXBlczoiWmltbWVydHlwZW4iLHJvb21zOiJaaW1tZXIiLHRheF9yYXRlczoiU3RldWVyc8OkdHplIixpdGVtczoiQXJ0aWtlbCIscGF5bWVudF9tZXRob2RzOiJaYWhsdW5nc21ldGhvZGVuIixyYXRlczoiUmF0ZW4ifX0sak89e2Nob2ljZToiQXVzdy4iLHNlbGVjdGVkX2Jvb2tpbmdzOiJ7bnVtYmVyT2ZCb29raW5nc30gYXVzZ2V3w6RobHRlIHtib29raW5nfSIsYm9va2luZzoiQnVjaHVuZyIsYm9va2luZ3M6IkJ1Y2h1bmdlbiIsZGlzY2FyZF9zZWxlY3Rpb246IkF1c3dhaGwgdmVyd2VyZmVuIixjcmVhdGVfYm9va2luZzoie2Jvb2tpbmd9IGVyc3RlbGxlbiIscHJldmVudF9kcm9wX3Jvb21fZml4ZWQ6IkJ1Y2h1bmcga2FubiBuaWNodCB2ZXJzY2hvYmVuIHdlcmRlbiwgd2VpbCBkYXMgWmltbWVyIGZpeGllcnQgd3VyZGUuIixwcmV2ZW50X2Ryb3BfbWF4X29jY3VwYW5jeToiRGllIG1heGltYWxlIEJlbGVndW5nIGbDvHIgZGFzIFppbW1lciB7cm9vbU51bWJlcn0gaXN0IHttYXhPY2N1cGFuY3l9IHtwZXJzb259LCB3ZWxjaGUgZGllIGFrdHVlbGxlIEJlbGVndW5nIHZvbiB7Y3VycmVudE9jY3VwYW5jeX0gUGVyc29uZW4gw7xiZXJzY2hyZWl0ZXQuIixwZXJzb246IlBlcnNvbiIscGVvcGxlOiJQZXJzb25lbiIsY29uZmlybV9tb3ZlOidTaW5kIFNpZSBzaWNoZXIsIGRhc3MgU2llIGRpZSBCdWNodW5nIDxzcGFuIGNsYXNzPSJmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIj57Ym9va2luZ0NvZGV9PC9zcGFuPiB2ZXJzY2hpZWJlbiBtw7ZjaHRlbj88YnIvPjxici8+JyxzdGF5OiJBdWZlbnRoYWx0Iixyb29tOiJaaW1tZXIiLG1vdmVfYm9va2luZzoiQnVjaHVuZyB2ZXJzY2hpZWJlbiJ9LEJPPXthY3Rpb25zOiJBa3Rpb25lbiIsZ3Vlc3Q6Ikdhc3QiLGd1ZXN0czoiR8Okc3RlIixncm91cDoiR3J1cHBlIixvcGVuX2Jvb2tpbmc6IkJ1Y2h1bmcgw7ZmZm5lbiIsb3Blbl9ncm91cDoiR3J1cHBlIMO2ZmZuZW4iLGNoZWNrX2luOiJFaW5jaGVja2VuIix1bmRvX2NoZWNrX2luOiJDaGVjay1pbiByw7xja2fDpG5naWciLGNoZWNrX291dDoiQXVzY2hlY2tlbiIsdW5kb19jaGVja19vdXQ6IkNoZWNrLW91dCByw7xja2fDpG5naWciLG5vX3Nob3c6IkF1ZiBOby1TaG93IHNldHplbiIsY2FuY2VsOiJTdG9ybmllcmVuIix1bmRvX25vX3Nob3c6Ik5vLXNob3cgcsO8Y2tnw6RuZ2lnIix1bmRvX2NhbmNlbDoiU3Rvcm5vIHLDvGNrZ8OkbmdpZyIsY2hhbmdlX2N1c3RvbWVyOiJLdW5kZSDDpG5kZXJuIixjaGFuZ2Vfcm9vbToiWmltbWVyIMOkbmRlcm4iLGNoYW5nZV9zdGF5OiJBdWZlbnRoYWx0IMOkbmRlcm4iLGNoYW5nZV9yYXRlOiJSYXRlIMOkbmRlcm4iLGNoYW5nZV9vY2N1cGFuY3k6IkJlbGVndW5nIMOkbmRlcm4iLGNoYW5nZV9wcmljZToiUHJlaXMgw6RuZGVybiIsYWRkX2d1ZXN0OiJHYXN0IGhpbnp1ZsO8Z2VuIixhZGRfdG9fZ3JvdXA6Ilp1IEdydXBwZSBoaW56dWbDvGdlbiIscmVtb3ZlX2Zyb21fZ3JvdXA6IkF1cyBHcnVwcGUgZW50ZmVybmVuIixjb25maXJtYXRpb246IkJlc3TDpHRpZ3VuZyIsaW52b2ljZV9wcmV2aWV3OiJSZWNobnVuZ3N2b3JzY2hhdSIsbm9fcm9vbToiS2VpbiBaaW1tZXIiLG1vcmVfbm90ZXM6IldlaXRlcmUgTm90aXplbiIsb3Blbl9vcHRpb25zOiJPcHRpb25lbiDDtmZmbmVuIixva19jYW5jZWxfbW9kYWw6e2Fzc2lnbl9ndWVzdDoiR2FzdCBoaW56dWbDvGdlbiIsZ3Vlc3Q6Ikdhc3QiLHVwZGF0ZV9jdXN0b21lcjoiS3VuZGUgw6RuZGVybiIsY3VzdG9tZXI6Ikt1bmRlIix1cGRhdGVfcm9vbToiWmltbWVyIMOkbmRlcm4iLHJvb206IlppbW1lciIsdXBkYXRlX3N0YXk6IkF1ZmVudGhhbHQgw6RuZGVybiIsY2hlY2tfaW46IkNoZWNrLUluIixjaGVja19vdXQ6IkNoZWNrLU91dCIsYWRkX3RvX2dyb3VwOiJadSBHcnVwcGUgaGluenVmw7xnZW4iLGdyb3VwOiJHcnVwcGUiLHVwZGF0ZV9yYXRlOiJSYXRlIMOkbmRlcm4iLHJhdGU6IlJhdGUiLHVwZGF0ZV9wcmljZToiUHJlaXMgw6RuZGVybiIscHJpY2VfcGVyX25pZ2h0OiJQcmVpcyBwcm8gTmFjaHQiLHVwZGF0ZV9vY2N1cGFuY3k6IkJlbGVndW5nIMOkbmRlcm4iLG9jY3VwYW5jeToiQmVsZWd1bmciLGZvbGlvX2Nsb3NlZF9pbmZvOiJEYXMgRm9saW8gaXN0IGJlcmVpdHMgZ2VzY2hsb3NzZW4sIHdvZHVyY2ggZGllc2Ugw4RuZGVydW5nIGtlaW5lbiBFaW5mbHVzcyBtZWhyIGF1ZiBkaWUgTGVpc3R1bmdlbiBvZGVyIGRlbiBQcmVpcyBoYXQuIixjYW5jZWw6IkFiYnJlY2hlbiJ9fSxVTz17ZWRpdDoiQmVhcmJlaXRlbiIsZGVsZXRlOiJMw7ZzY2hlbiIsb3Blbl9pbnZvaWNlOiJSZWNobnVuZyDDtmZmbmVuIixhZGRfcGF5bWVudDoiWmFobHVuZyB2ZXJidWNoZW4iLHN3aXRjaF90b19ib29raW5nOiJadXIgQnVjaHVuZyB3ZWNoc2VsbiIsc3dpdGNoX3RvX2dyb3VwOiJadXIgR3J1cHBlIHdlY2hzZWxuIixjYW5jZWw6IlN0b3JuaWVyZW4ifSxWTz17ZGFzaGJvYXJkOiJEYXNoYm9hcmQiLGtleV9kYXRhOiJLZW5uemFobGVuIixncm9zc19yZXZlbnVlOiJCcnV0dG91bXNhdHoiLG5ldF9yZXZlbnVlOiJOZXR0dW1zYXR6Iix0YXhlczoiU3RldWVybiIsdXRpbGl6YXRpb246IkF1c2xhc3R1bmciLGdyb3NzX3JldmVudWVfcGVyX2l0ZW06IkJydXR0b3Vtc2F0eiBwcm8gQXJ0aWtlbCIsbG9jYWxfdGF4OiJPcnRzdGF4ZSIsYnJlYWtmYXN0OiJGcsO8aHN0w7xjayIsb3Zlcm5pZ2h0X3N0YXk6IsOcYmVybmFjaHR1bmcifSxXTz17Ym9va2luZ3M6IkJ1Y2h1bmdlbiIsY3JlYXRlX2Jvb2tpbmc6IkJ1Y2h1bmcgZXJzdGVsbGVuIix0YWJsZTp7Y29kZToiQ29kZSIsc3RhdHVzOiJQTVMtU3RhdHVzIixwcmVfY2hlY2tfaW46IlByZS1DaGVjay1pbiIsY3VzdG9tZXI6Ikt1bmRlIixndWVzdHM6IkfDpHN0ZSIsY2hlY2tJbjoiQW5rdW5mdCIsY2hlY2tPdXQ6IkFicmVpc2UiLHJvb206IlppbW1lciIsb2NjdXBhbmN5OiJCZWxlZ3VuZyIsbnVtYmVyX29mX2Zvb2RfYW5kX2JldmVyYWdlOiJWZXJwZmxlZ3VuZy9UYWciLGFtb3VudDoiR2VzYW10YmV0cmFnIn0scHJlX2NoZWNrX2luX3N0YXR1czp7Y29tcGxldGVkOiJFcmxlZGlndCIsb3BlbjoiT2ZmZW4ifSxib29raW5nX3NsaWRlb3Zlcjp7bmV3X2Jvb2tpbmc6Ik5ldWUgQnVjaHVuZyIsZW50ZXJfZGF0YToiQml0dGUgZ2ViZW4gU2llIGRpZSBlcmZvcmRlcmxpY2hlbiBEYXRlbiBlaW4uIixjcmVhdGVfYm9va2luZzoiQnVjaHVuZyBlcnN0ZWxsZW4iLGNyZWF0ZV9ib29raW5nX3N1Y2Nlc3M6IkRpZSBCdWNodW5nIHd1cmRlIGdlc3BlaWNoZXJ0LiIsY2FuY2VsOiJBYmJyZWNoZW4iLGNoZWNrX2luOiJBbnJlaXNlIixjaGVja19vdXQ6IkFicmVpc2UiLGN1c3RvbWVyOiJLdW5kZSIsb2NjdXBhbmN5OiJBbnphaGwgZGVyIEfDpHN0ZSIsYXZhaWxhYmxlX3Jvb21fdHlwZXM6IlZlcmbDvGdiYXJlIFppbW1lcnR5cGVuIixhdmFpbGFibGU6InZlcmbDvGdiYXIiLGdyb3NzX2Ftb3VudDoiR2VzYW10cHJlaXMiLG5vX2F2YWlsYWJpbGl0aWVzOiJLZWluZSBWZXJmw7xnYmFya2VpdGVuIixyb29tOiJaaW1tZXIifSxib29raW5nX3NlbGVjdGlvbl9zbGlkZW92ZXI6e2NyZWF0ZV9ib29raW5nOiJCdWNodW5nIGVyc3RlbGxlbiIsZW50ZXJfZGF0YToiQml0dGUgZ2ViZW4gU2llIGRpZSBlcmZvcmRlcmxpY2hlbiBEYXRlbiBlaW4uIixncm91cF9ib29raW5nczoiQnVjaHVuZ2VuICh7Y291bnR9KSBpbiBHcnVwcGUgenVzYW1tZW5mYXNzZW4iLGNhbmNlbDoiQWJicmVjaGVuIixjdXN0b21lcjoiS3VuZGUiLHJhdGU6IlJhdGUiLHNlbmRfZW1haWxfY29uZmlybWF0aW9uX3RvOiJFLU1haWwgQmVzdMOkdGlndW5nIGFuIHtlbWFpbH0gc2VuZGVuIixib29raW5nczoiQnVjaHVuZ2VuIixyb29tOiJaaW1tZXIiLGZpeGF0ZToiZml4aWVyZW4iLGd1ZXN0OiJHYXN0IixjaGVja19pbjoiQW5yZWlzZSIsY2hlY2tfb3V0OiJBYnJlaXNlIixvY2N1cGFuY3k6IkFuemFobCBkZXIgR8Okc3RlIn0sb2tfY2FuY2VsX21vZGFsOnthZGRfdG9fZ3JvdXA6Ilp1IEdydXBwZSBoaW56dWbDvGdlbiIsZ3JvdXA6IkdydXBwZSJ9LGRldGFpbDp7b3ZlcnZpZXc6e3RhYl90aXRsZToiw5xiZXJzaWNodCIsbm90ZXM6IkhpbndlaXNlIixub3Rlc19pbmZvOiJEaWUgQnVjaHVuZyBpc3QgYWxzIERlYml0b3IgbWFya2llcnQsIHdvZHVyY2ggb2huZSBCZXphaGx1bmcgZWluZ2VjaGVja3Qgd2VyZGVuIGthbm4uIixmaXhlZF9pbmZvOiJEYXMgWmltbWVyIGlzdCBmaXhpZXJ0IHVuZCBrYW5uIHNvbWl0IG5pY2h0IHZlcsOkbmRlcnQgd2VyZGVuLiIsY29sb3I6IkZhcmJlIixkZWJ0b3I6IkRlYml0b3IiLGRlYnRvcl9pbmZvMToiRGVyIEt1bmRlIixkZWJ0b3JfaW5mbzI6ImlzdCBhbHMgRGViaXRvciBtYXJraWVydCwgd29kdXJjaCBvaG5lIEJlemFobHVuZyBlaW5nZWNoZWNrdCB3ZXJkZW4ga2Fubi4iLHN0YXR1czoiUE1TLVN0YXR1cyIscHJlX2NoZWNrX2luOiJQcmUtQ2hlY2staW4iLGNvZGU6IkNvZGUiLGV4dGVybmFsX2lkOiJFeHRlcm5lIElEIixleHRlcm5hbF9jb2RlOiJFeHRlcm5lciBDb2RlIixjaGVja19pbjoiQW5yZWlzZSIsY2hlY2tfb3V0OiJBYnJlaXNlIixncm91cDoiR3J1cHBlIixjdXN0b21lcjoiS3VuZGUiLHJvb206IlppbW1lciIsbm9fcm9vbToiS2VpbiBaaW1tZXIiLGZpeGF0ZToiZml4aWVyZW4iLHJvb21fdHlwZToiWmltbWVydHlwIixyYXRlOiJSYXRlIixudW1iZXJfb2ZfZ3Vlc3RzOiJBbnphaGwgR8Okc3RlIixzb3VyY2U6IlF1ZWxsZSIsY29tbWVudDoiS29tbWVudGFyIixncm9zc19hbW91bnQ6Ikdlc2FtdGJldHJhZyIsZHVlX2Ftb3VudDoiT2ZmZW5lciBCZXRyYWciLGd1ZXN0czoiR8Okc3RlIixhZGRfZ3Vlc3Q6Ikdhc3QgaGluenVmw7xnZW4iLGRlbGV0ZToiTMO2c2NoZW4ifSxndWVzdHM6e3RhYl90aXRsZToiR8Okc3RlIix0YWJsZTp7bmFtZToiTmFtZSJ9fSxmb2xpb3M6e3RhYl90aXRsZToiRm9saW9zIixzZXJ2aWNlczoiTGVpc3R1bmdlbiIsdG90YWxfYW1vdW50OiJHZXNhbXRiZXRyYWciLGR1ZV9hbW91bnQ6Ilp1IHphaGxlbmRlciBCZXRyYWciLGFkZF9zZXJ2aWNlOiJMZWlzdHVuZyBoaW56dWbDvGdlbiIsZGVsZXRlOiJMw7ZzY2hlbiIscGF5bWVudHM6IlphaGx1bmdlbiIsY3JlYXRlX3BheW1lbnQ6IlphaGx1bmcgZXJzdGVsbGVuIixpbnZvaWNlX3ByZXZpZXc6IlJlY2hudW5nc3ZvcnNjaGF1IixjcmVhdGVfaW52b2ljZToiUmVjaG51bmcgZXJzdGVsbGVuIix2aXJ0dWFsOiJWaXJ0dWVsbCIsb2tfY2FuY2VsX21vZGFsOnthZGRfc2VydmljZToiTGVpc3R1bmcgaGluenVmw7xnZW4iLGl0ZW06IkFydGlrZWwiLGFkZF9zZXJ2aWNlX21hbnVhbGx5OiJMZWlzdHVuZyBtYW51ZWxsIGhpbnp1ZsO8Z2VuIixuYW1lOiJOYW1lIixib29raW5nX2RhdGU6IkJ1Y2h1bmdzZGF0dW0iLHF1YW50aXR5OiJBbnphaGwiLHRvdGFsX2Ftb3VudDoiR2VzYW10YmV0cmFnIix0YXhfcmF0ZToiU3RldWVyc2F0eiIsY3JlYXRlX3BheW1lbnQ6IlphaGx1bmcgZXJzdGVsbGVuIixhbW91bnQ6IkJldHJhZyIscGF5bWVudF9tZXRob2Q6IlphaGx1bmdzbWV0aG9kZSIscmVmZXJlbmNlOiJSZWZlcmVueiIscmVmZXJlbmNlX3BsYWNlaG9sZGVyOiJ6LkIuIEJhbmtiZWxlZyAob3B0aW9uYWwpIixjcmVhdGVfaW52b2ljZToiUmVjaG51bmcgZXJzdGVsbGVuIixkdWVfYW1vdW50X2FsZXJ0OiJEYXMgRm9saW8gaXN0IG5vY2ggbmljaHQgdm9sbHN0w6RuZGlnIGJlemFobHQuIFdlbm4gU2llIGpldHp0IGVpbmUgUmVjaG51bmcgZXJzdGVsbGVuLCBkYW5uIHdpcmQgZGFzIEZvbGlvIG1pdCBlaW5lbSBvZmZlbmVuIEJldHJhZyB2b24ge2ZvbGlvRHVlQW1vdW50fSBnZXNjaGxvc3Nlbi4iLGdyb3VwX3NlcnZpY2VzOiJMZWlzdHVuZ2VuIGdydXBwaWVyZW4iLGNoZWNrX291dF9ib29raW5nOiJCdWNodW5nIGF1c2NoZWNrZW4iLGFkZGl0aW9uYWxfdGV4dDoiWnVzYXR6dGV4dCIsYWRkaXRpb25hbF90ZXh0X3BsYWNlaG9sZGVyOiJXaXJkIGF1ZiBkZXIgUmVjaG51bmcgYW5nZXplaWd0IixhZnRlcl9pbnZvaWNlX2NyZWF0aW9uOiJOYWNoIFJlY2hudW5nc2Vyc3RlbGx1bmciLGFmdGVyX2ludm9pY2VfY3JlYXRpb25fYWxlcnQ6Ik5hY2ggUmVjaG51bmdzZXJzdGVsbHVuZyIscmVjaXBpZW50OiJFbXBmw6RuZ2VyIn0sY29uZmlybV9tb2RhbDp7ZGVsZXRlOiJMw7ZzY2hlbiJ9LGNvbmZpcm1fbW9kYWxfdmlydHVhbF9wYXltZW50Ont0aXRsZToiVmlydHVlbGxlIFphaGx1bmciLGluZm9fdGV4dDoiRGllc2VzIEZvbGlvIGhhdCBlaW5lIHZpcnR1ZWxsZSBaYWhsdW5nIHZlcmJ1Y2h0LiBTdGVsbGVuIFNpZSBzaWNoZXIsIGRhc3MgU2llIGRpZSBLYXJ0ZSBiZWxhc3RlbiwgYmV2b3IgU2llIGRpZSBCdWNodW5nIGF1c2NoZWNrZW4uIixjb25maXJtOiJBdXNjaGVja2VuIn0sb3Blbl9pbnZvaWNlOiJSZWNobnVuZyDDtmZmbmVuIixkb3dubG9hZF9wZGY6IlBERiBoZXJ1bnRlcmxhZGVuIixzZW5kX2VtYWlsOiJFLU1haWwgdmVyc2VuZGVuIixib29raW5nX2RhdGU6IkJ1Y2h1bmdzZGF0dW0iLHF1YW50aXR5OiJBbnphaGwiLG5hbWU6Ik5hbWUiLG5ldF9hbW91bnQ6Ik5ldHRvYmV0cmFnIix0YXg6IlN0ZXVlciIsYW1vdW50OiJCZXRyYWciLGdyb3NzX2Ftb3VudDoiQnJ1dHRvYmV0cmFnIixwYXltZW50X21ldGhvZDoiWmFobHVuZ3NtZXRob2RlIixyZWZlcmVuY2U6IlJlZmVyZW56Iixjb25maXJtX2RlbGV0ZV90aXRsZToiTGVpc3R1bmcgbMO2c2NoZW4/Iixjb25maXJtX2RlbGV0ZV90ZXh0OiJNw7ZjaHRlbiBTaWUgZGllIExlaXN0dW5nIHdpcmtsaWNoIGzDtnNjaGVuPyBEaWVzIGthbm4gbmljaHQgcsO8Y2tnw6RuZ2lnIGdlbWFjaHQgd2VyZGVuLiJ9LGludm9pY2VzOnt0YWJfdGl0bGU6IlJlY2hudW5nZW4ifSxub3Rlczp7dGFiX3RpdGxlOiJOb3RpemVuIixjcmVhdGVfbm90ZToiTm90aXogaGluenVmw7xnZW4iLGNyZWF0ZV9ub3RlX3BsYWNlaG9sZGVyOiJGw7xnZW4gU2llIGVpbmUgTm90aXogaGluenUuLi4iLG5vX25vdGVzOiJLZWluZSBOb3RpemVuIixjYW5jZWw6IkFiYnJlY2hlbiIsZGVsZXRlOiJMw7ZzY2hlbiIsZGVsZXRlX25vdGU6Ik5vdGl6IGzDtnNjaGVuIixkZWxldGVfbm90ZV90ZXh0OiJNw7ZjaHRlbiBTaWUgZGllIE5vdGl6IHdpcmtsaWNoIGzDtnNjaGVuPyBEaWVzIGthbm4gbmljaHQgcsO8Y2tnw6RuZ2lnIGdlbWFjaHQgd2VyZGVuLiJ9LGV2ZW50czp7dGFiX3RpdGxlOiJFcmVpZ25pc3NlIix0YWJsZTp7dHlwZToiRXJlaWduaXNzZSIsaW5mb3JtYXRpb25zOiJJbmZvcm1hdGlvbmVuIix1c2VyOiJCZW51dHplciIsY3JlYXRlZF9hdDoiWmVpdHB1bmt0Iixyb29tOiJaaW1tZXIiLG5vX3Jvb206IktlaW4gWmltbWVyIixyYXRlOiJSYXRlIixjdXN0b21lcjoiS3VuZGUiLG9jY3VwYW5jeToiR8Okc3RlIixncm9zc19hbW91bnQ6Ikdlc2FtdGJldHJhZyIscmVjaXBpZW50OiJFbXBmw6RuZ2VyIix0b3RhbF9hbW91bnQ6IlJlY2hudW5nc2JldHJhZyIscGFpZF9hbW91bnQ6IkJlemFobHRlciBCZXRyYWciLGR1ZV9hbW91bnQ6Ik9mZmVuZXIgQmV0cmFnIn19fX0sR089e2NvbnRhY3RzOiJLb250YWt0ZSIsYWRkX2NvbnRhY3Q6IktvbnRha3QgaGluenVmw7xnZW4iLGVkaXQ6IkJlYXJiZWl0ZW4iLGRlbGV0ZToiTMO2c2NoZW4iLHRhYmxlOnt0eXBlOiJUeXAiLG5hbWU6Ik5hbWUiLGVtYWlsOiJFLU1haWwiLGNyZWF0ZWRfYXQ6IkVyc3RlbGx0IGFtIix1cGRhdGVkX2F0OiJBa3R1YWxpc2llcnQgYW0ifSxkZXRhaWw6e2FjdGlvbnM6IkFrdGlvbmVuIixlZGl0OiJCZWFyYmVpdGVuIixkZWxldGU6IkzDtnNjaGVuIixkZWxldGVfY29udGFjdDoiS29udGFrdCBsw7ZzY2hlbiIsZGVsZXRlX2NvbnRhY3RfaW5mbzoiRGVyIEtvbnRha3Qgd2lyZCBnZWzDtnNjaHQuIERpZXNlciBWb3JnYW5nIGthbm4gbmljaHQgcsO8Y2tnw6RuZ2lnIGdlbWFjaHQgd2VyZGVuLiIsb3ZlcnZpZXc6e3RhYl90aXRsZToiw5xiZXJzaWNodCIsbm90ZXM6IkhpbndlaXNlIixub3Rlc19kZWJpdG9yOiJEZXIgS3VuZGUgaXN0IGFscyBEZWJpdG9yIG1hcmtpZXJ0LCB3b2R1cmNoIG9obmUgQmV6YWhsdW5nIGVpbmdlY2hlY2t0IHdlcmRlbiBrYW5uLiIsdHlwZToiVHlwIixuYW1lOiJOYW1lIixlbWFpbDoiRS1NYWlsIixwaG9uZToiVGVsZWZvbm51bW1lciIsZGF0ZV9vZl9iaXJ0aDoiR2VidXJ0c2RhdHVtIixuYXRpb25hbGl0eToiTmF0aW9uYWxpdMOkdCIsYWRkcmVzczoiQWRyZXNzZSIsZGVmYXVsdF9yYXRlOiJTdGFuZGFyZHJhdGUiLGRvd25sb2FkOiJIZXJ1bnRlcmxhZGVuIix1cGxvYWQ6IlVwbG9hZCJ9LGRvY3VtZW50czp7dGFiX3RpdGxlOiJEb2t1bWVudGUifSxib29raW5nczp7dGFiX3RpdGxlOiJCdWNodW5nZW4iLGFzX2N1c3RvbWVyOiJBbHMgS3VuZGUiLGFzX2d1ZXN0OiJBbHMgR2FzdCIsdGFibGU6e3N0YXR1czoiU3RhdHVzIixjb2RlOiJDb2RlIixjdXN0b21lcjoiS3VuZGUiLGNoZWNrX2luOiJBbnJlaXNlIixjaGVja19vdXQ6IkFicmVpc2UiLHJvb206IlppbW1lciJ9fSxpbnZvaWNlczp7dGFiX3RpdGxlOiJSZWNobnVuZ2VuIn0sbm90ZXM6e3RhYl90aXRsZToiTm90aXplbiJ9fX0sek89e2dyb3VwczoiR3J1cHBlbiIsYWRkX2dyb3VwOiJHcnVwcGUgaGluenVmw7xnZW4iLHRhYmxlOntuYW1lOiJOYW1lIixjdXN0b21lcjoiS3VuZGUiLGJvb2tpbmdzOiJCdWNodW5nZW4iLGNyZWF0ZWRfYXQ6IkVyc3RlbGx0IGFtIn0sZGV0YWlsOntvdmVydmlldzp7dGFiX3RpdGxlOiLDnGJlcnNpY2h0IixuYW1lOiJOYW1lIixjdXN0b21lcjoiS3VuZGUiLGFtb3VudF9vZl9ib29raW5nczoiQW56YWhsIEJ1Y2h1bmdlbiIsYW1vdW50X29mX2d1ZXN0czoiQW56YWhsIEfDpHN0ZSIsbnVtYmVyX29mX25pZ2h0czoiQW56YWhsIE7DpGNodGUiLHJvb21zOiJaaW1tZXIiLGVhcmxpZXN0X2NoZWNrX2luOiJGcsO8aGVzdGUgQW5yZWlzZSIsbGF0ZXN0X2NoZWNrX291dDoiU3DDpHRlc3RlIEFucmVpc2UiLGdyb3NzX2Ftb3VudDoiR2VzYW10YmV0cmFnIn0sYm9va2luZ3M6e3RhYl90aXRsZToiQnVjaHVuZ2VuIix0YWJsZTp7Y29kZToiQ29kZSIscm9vbToiWmltbWVyIixzdGF0dXM6IlN0YXR1cyIsZ3Vlc3Q6Ikdhc3QiLGNoZWNrX2luOiJBbnJlaXNlIixjaGVja19vdXQ6IkFicmVpc2UiLGdyb3NzX2Ftb3VudDoiR2VzYW10YmV0cmFnIixkZWxldGU6IkzDtnNjaGVuIixjb25maXJtX21vZGFsOnt0aXRsZToiV2lya2xpY2ggZW50ZmVybmVuPyIsdGV4dDoiRGllIEJ1Y2h1bmcgd2lyZCBhdXMgZGllc2VyIEdydXBwZSBlbnRmZXJudCwgZGllIEJ1Y2h1bmcgc2VsYnN0IGJsZWlidCBqZWRvY2ggYmVzdGVoZW4uIixkZWxldGU6IkVudGZlcm5lbiJ9fSxhZGRfYm9va2luZzoiQnVjaHVuZyBoaW56dWbDvGdlbiIsb2tfY2FuY2VsX21vZGFsOnt0aXRsZToiQnVjaHVuZyBoaW56dWbDvGdlbiIsYm9va2luZzoiQnVjaHVuZyJ9fSxmb2xpb3M6e3RhYl90aXRsZToiRm9saW9zIn0saW52b2ljZXM6e3RhYl90aXRsZToiUmVjaG51bmdlbiJ9LG5vdGVzOnt0YWJfdGl0bGU6Ik5vdGl6ZW4ifSxncm91cF9zbGlkZW92ZXI6e25ld19ncm91cDoiTmV1ZSBHcnVwcGUiLGVkaXRfZ3JvdXA6IkdydXBwZSBiZWFyYmVpdGVuIixlbnRlcl9kYXRhOiJCaXR0ZSBnZWJlbiBTaWUgZGllIGVyZm9yZGVybGljaGVuIERhdGVuIGVpbi4iLHNhdmVfZ3JvdXA6IkdydXBwZSBzcGVpY2hlcm4iLGNhbmNlbDoiQWJicmVjaGVuIixuYW1lOiJOYW1lIixjdXN0b21lcjoiS3VuZGUifX0sZ3JvdXBfY29uZmlybWF0aW9uX21vZGFsOntkb3dubG9hZF9jb25maXJtYXRpb246IkJlc3TDpHRpZ3VuZyBoZXJ1bnRlcmxhZGVuIixkb3dubG9hZDoiSGVydW50ZXJsYWRlbiIscHJpbnRfcmF0ZToiUmF0ZSBhbmRydWNrZW4iLHByaW50X3JhdGVfaW5mbzoiWnVzw6R0emxpY2ggZGllIFJhdGUgaW5rbC4gUHJlaXMgcHJvIE5hY2h0IGluIGRlciBCZXN0w6R0aWd1bmcgYW5kcnVja2VuLiJ9fSxITz17aW52b2ljZXM6IlJlY2hudW5nZW4iLGNyZWF0ZV9pbnZvaWNlOiJSZWNobnVuZyBlcnN0ZWxsZW4iLHRhYmxlOntzdGF0dXM6IlN0YXR1cyIsbnVtYmVyOiJOdW1tZXIiLGN1c3RvbWVyOiJLdW5kZSIsY3JlYXRlZF9hdDoiRXJzdGVsbHQgYW0iLHRvdGFsX2Ftb3VudDoiUmVjaG51bmdzYmV0cmFnIixwYWlkX2Ftb3VudDoiQmV6YWhsdGVyIEJldHJhZyIsZHVlX2Ftb3VudDoiT2ZmZW5lciBCZXRyYWcifSxva19jYW5jZWxfbW9kYWw6e3BheV9pbnZvaWNlOiJSZWNobnVuZyBiZXphaGxlbiIsbWFya19hc19wYWlkOiJBbHMgYmV6YWhsdCBtYXJraWVyZW4iLHBhcnRpYWxfcGF5bWVudDoiVGVpbHphaGx1bmcgdmVyYnVjaGVuIixudW1iZXI6Ik51bW1lciIsY3VzdG9tZXI6Ikt1bmRlIix0b3RhbF9hbW91bnQ6IlJlY2hudW5nc2JldHJhZyIsZHVlX2Ftb3VudDoiT2ZmZW5lciBCZXRyYWciLHBheW1lbnRfYW1vdW50OiJaYWhsdW5nc2JldHJhZyIscGF5bWVudF9tZXRob2Q6IlphaGx1bmdzbWV0aG9kZSIscmVmZXJlbmNlOiJSZWZlcmVueiIscmVmZXJlbmNlX3BsYWNlaG9sZGVyOiJ6LkIuIEJhbmtiZWxlZyAob3B0aW9uYWwpIn0sY29uZmlybV9jYW5jZWxfbW9kYWw6e3RpdGxlOiJXaXJrbGljaCBzdG9ybmllcmVuPyIsdGV4dDoiRGllIFJlY2hudW5nIHdpcmQgc3Rvcm5pZXJ0IHVuZCBlcyB3aXJkIGVpbmUgU3Rvcm5vLVJlY2hudW5nIGF1c2dlc3RlbGx0LiBEYXMgRm9saW8gd2lyZCB3aWVkZXIgZ2XDtmZmbmV0LiIsYnV0dG9uX3RleHQ6IlN0b3JuaWVyZW4ifSxjb25maXJtX2RlbGV0ZV9tb2RhbDp7dGl0bGU6IlJlY2hudW5nc2VudHd1cmYgbMO2c2NoZW4iLHRleHQ6IkRlciBSZWNobnVuZ3NlbnR3dXJmIHdpcmQgZ2Vsw7ZzY2h0LiBEaWVzZXIgVm9yZ2FuZyBrYW5uIG5pY2h0IHLDvGNrZ8OkbmdpZyBnZW1hY2h0IHdlcmRlbi4iLGJ1dHRvbl90ZXh0OiJMw7ZzY2hlbiJ9LGRldGFpbDp7bmV3X2ludm9pY2U6Ik5ldWUgUmVjaG51bmciLGludm9pY2U6IlJlY2hudW5nIixjdXN0b21lcjoiS3VuZGUifX0sSk89e3Jvb21fbG9ja3M6IlppbW1lcnNwZXJyZW4iLGNyZWF0ZV9yb29tX2xvY2s6IlppbW1lcnNwZXJyZSBoaW56dWbDvGdlbiIsY29uZmlybV9kZWxldGU6IldpcmtsaWNoIGzDtnNjaGVuPyIsY29uZmlybV9kZWxldGVfdGV4dDoiV29sbGVuIFNpZSBkaWUgWmltbWVyc3BlcnJlIGbDvHIgZGFzIFppbW1lciB7cm9vbU51bWJlcn0sIFplaXRyYXVtIHtzdGFydH0gLSB7ZW5kfSwgd2lya2xpY2ggbMO2c2NoZW4/IixkZWxldGU6IkzDtnNjaGVuIix0YWJsZTp7cm9vbToiWmltbWVyIixzdGFydDoiU3RhcnQiLGVuZDoiRW5kZSIscmVhc29uOiJCZWdyw7xuZHVuZyIsc3RhdHVzX2FmdGVyX3N0YXJ0OiJTdGF0dXMgbmFjaCBCZWdpbm4iLHN0YXR1c19hZnRlcl9lbmQ6IlN0YXR1cyBuYWNoIEVuZGUifSxyb29tX2xvY2tzX3NsaWRlb3Zlcjp7Y3JlYXRlX3Jvb21fbG9jazoiTmV1ZSBaaW1tZXJzcGVycmUiLGVkaXRfcm9vbV9sb2NrOiJaaW1tZXJzcGVycmUgYmVhcmJlaXRlbiIsZW50ZXJfZGF0YToiQml0dGUgZ2ViZW4gU2llIGRpZSBlcmZvcmRlcmxpY2hlbiBEYXRlbiBlaW4uIixyb29tOiJaaW1tZXIiLHJlYXNvbjoiQmVncsO8bmR1bmciLHN0YXJ0OiJTdGFydCIsZW5kOiJFbmRlIixzdGF0dXNfYWZ0ZXJfc3RhcnQ6IlN0YXR1cyBuYWNoIEJlZ2lubiIsc3RhdHVzX2FmdGVyX2VuZDoiU3RhdHVzIG5hY2ggRW5kZSIsc2F2ZToiWmltbWVyc3BlcnJlIHNwZWljaGVybiIsY2FuY2VsOiJBYmJyZWNoZW4ifX0scU89e2hvdXNlaG9sZDoiSGF1c2hhbHQiLG92ZXJ2aWV3OiLDnGJlcnNpY2h0IixjaGVja19pbnNfdG9kYXk6IkFucmVpc2VuIEhldXRlIixjaGVja19vdXRzX3RvZGF5OiJBYnJlaXNlbiBIZXV0ZSIsc3RheWVyc190b2RheToiQmxlaWJlciBIZXV0ZSIsb3V0X29mX3NlcnZpY2U6IkF1w59lciBCZXRyaWViIixjaGVja19pbjoiQW5yZWlzZSIsY2hlY2tfb3V0OiJBYnJlaXNlIixzdGF5ZXJzOiJCbGVpYmVyIixyb29tX2xvY2tlZDoiWmltbWVyIGdlc3BlcnJ0Iixyb29tX2NsZWFuOntyb29tOiJaaW1tZXIiLGNsZWFuaW5nX3F1ZXN0aW9uOiJNw7ZjaHRlbiBTaWUgZGFzIFppbW1lciBhdWYgJ1NhdWJlcicgc2V0emVuPyIsY2xlYW5pbmdfY29uZmlybWVkOiJEYXMgWmltbWVyIHd1cmRlIGF1ZiAnU2F1YmVyJyBnZXNldHp0LiIsY2xlYW5pbmdfY29uZmlybWVkX2J1dHRvbjoiSmEsIGRhcyBaaW1tZXIgaXN0IHNhdWJlciIsZ29fdG9faG91c2VrZWVwaW5nOiJadXIgSGF1c2hhbHRzbGlzdGUiLHJvb21fbm90X2ZvdW5kOiJaaW1tZXIgbmljaHQgdm9yaGFuZGVuLiIscm9vbXNfbm90X2xvYWRlZDoiRGllIFppbW1lciBrb25udGVuIG5pY2h0IGdlbGFkZW4gd2VyZGVuLiIscm9vbV9zdGF0dXNfdXBkYXRlX2ZhaWxlZDoiRGVyIFN0YXR1cyBkZXMgWmltbWVycyBrb25udGUgbmljaHQgYWt0dWFsaXNpZXJ0IHdlcmRlbi4ifX0sWk89e3JlcG9ydHM6IkJlcmljaHRlIixpdGVtczp7aXRlbXM6IkFydGlrZWwiLGl0ZW1zX2Rlc2NyaXB0aW9uOiJTdGVsbHQgZGllIEFydGlrZWwgZsO8ciBkZW4gZ2V3w6RobHRlbiBaZWl0cmF1bSB6dXIgVmVyZsO8Z3VuZy4iLGdyb3VwX2J5Ontncm91cF9ieToiR3J1cHBpZXJlbiBuYWNoIixncm91cGVkX2J5OiJncnVwcGllcnQgbmFjaCIscm9vbXM6IlppbW1lciJ9LGl0ZW1fdHlwZToiQXJ0aWtlbHR5cCIscXVlcnk6IkFiZnJhZ2VuIixzaG93X2l0ZW1zX29mX3R5cGU6IlplaWdlIEFydGlrZWwgdm9tIFR5cCIsaW5fcGVyaW9kOiJpbSBaZWl0cmF1bSIsdGFibGU6e3Jvb206IlppbW1lciIsaXRlbToiQXJ0a2VsIixxdWFudGl0eToiQW56YWhsIixjdXN0b21lcjoiS3VuZGUiLG5hbWVzOiJOYW1lKG4pIixub19yb29tOiJLZWluIFppbW1lciIsc3VtOiJTdW1tZSJ9fSxmaW5hbmNpYWxfYWNjb3VudGluZzp7ZmluYW5jaWFsX2FjY291bnRpbmc6IkZpbmFuemJ1Y2hoYWx0dW5nIixmaW5hbmNpYWxfYWNjb3VudGluZ19kZXNjcmlwdGlvbjoiU3RlbGx0IGFsbGUgTGVpc3R1bmdlbiB1bmQgS3VuZGVuIHZvbiBSZWNobnVuZ2VuIGluIGRlbSBnZXfDpGhsdGVuIFplaXRyYXVtIHp1ciBWZXJmw7xndW5nLiIsaW50ZXJmYWNlX2Zvcm1hdDoiU2Nobml0dHN0ZWxsZS9Gb3JtYXQiLGRvd25sb2FkOiJIZXJ1bnRlcmxhZGVuIn0sbmF0aW9uYWxpdHlfc3RhdGlzdGljczp7bmF0aW9uYWxpdHlfc3RhdGlzdGljczoiTmF0aW9uYWxpdMOkdGVuc3RhdGlzdGlrIixuYXRpb25hbGl0eV9zdGF0aXN0aWNzX2Rlc2NyaXB0aW9uOiJTdGVsbHQgZGllIE5hdGlvbmFsaXTDpHRlbnN0YXRpc3RpayBmw7xyIGRlbiBnZXfDpGhsdGVuIFplaXRyYXVtIHp1ciBWZXJmw7xndW5nLiIsZG93bmxvYWQ6IkhlcnVudGVybGFkZW4ifX0sS089e3Byb3BlcnR5Ontwcm9wZXJ0eToiVW50ZXJrdW5mdCIsZ2VuZXJhbDp7bG9nbzp7bG9nbzoiTG9nbyIsdXBsb2FkOiJIb2NobGFkZW4iLGRlbGV0ZToiTMO2c2NoZW4ifSxnZW5lcmFsOiJBbGxnZW1laW4iLG5hbWU6Ik5hbWUiLHNsdWc6IlNsdWciLGNoZWNrX2luX3RpbWU6IkNoZWNrLUluIFVocnplaXQiLGNoZWNrX291dF90aW1lOiJDaGVjay1PdXQgVWhyemVpdCJ9LGFkZHJlc3M6e2FkZHJlc3M6IkFkcmVzc2UiLGFkZHJlc3NfbGluZV8xOiJBZHJlc3N6ZWlsZSAxIixhZGRyZXNzX2xpbmVfMjoiQWRyZXNzemVpbGUgMiIscG9zdGFsX2NvZGU6IlBMWiIsY2l0eToiU3RhZHQiLHN0YXRlOiJCdW5kZXNsYW5kIixjb3VudHJ5OiJMYW5kIixjb3VudHJpZXM6e2F1c3RyaWE6IsOWc3RlcnJlaWNoIixnZXJtYW55OiJEZXV0c2NobGFuZCIsc3dpdHplcmxhbmQ6IlNjaHdlaXoifX0sY29udGFjdDp7Y29udGFjdDoiS29udGFrdCIsZW1haWw6IkUtTWFpbCIscGhvbmU6IlRlbGVmb25udW1tZXIiLHdlYnNpdGU6IldlYnNpdGUifSxiYW5rX2RldGFpbHM6e2JhbmtfZGV0YWlsczoiQmFua3ZlcmJpbmR1bmciLG5hbWU6Ik5hbWUiLGliYW46IklCQU4iLGJpYzoiQklDIn0sY29tcGFueTp7Y29tcGFueToiVW50ZXJuZWhtZW4iLG5hbWU6Ik5hbWUiLG1hbmFnaW5nX2RpcmVjdG9yOiJHZXNjaMOkZnRzZsO8aHJlciIsY29tcGFueV9yZWdpc3Rlcl9udW1iZXI6IkZpcm1lbmJ1Y2hudW1tZXIiLHRheF9udW1iZXI6IlN0ZXVlcm51bW1lciIsdmF0X251bWJlcjoiVUlELU51bW1lciIsY29zdF9jZW50ZXI6Iktvc3RlbnN0ZWxsZSJ9LGJvb2tpbmdzOntib29raW5nczoiQnVjaHVuZ2VuIixpbmZvX3RleHQ6IkRlZmluaWVyZW4gU2llIGhpZXIgSWhyZW4gZ2V3w7xuc2NodGVuIEJ1Y2h1bmdzY29kZS4gRGVyIEJ1Y2h1bmdzY29kZSBiZXN0ZWh0IGF1cyBlaW5lciA1LXN0ZWxsaWdlbiBadWZhbGxzemFobCB1bmQgZWluZW0gUHLDpGZpeCB1bmQgUG9zdGZpeCAob3B0aW9uYWwpLiBBa3R1ZWxsIHNpZWh0IGRlciBCdWNodW5nc2NvZGUgc28gYXVzICjDpG5kZXJuIFNpZSBQcsOkZml4IGJ6dy4gU3VmZml4LCB1bSDDhG5kZXJ1bmdlbiB6dSBzZWhlbik6IixwcmVmaXg6IlByw6RmaXgiLHByZWZpeF9wbGFjZWhvbGRlcjoiei5CLiBWSS0sIHdlbm4gaWhyIEhvdGVsIGluIFdpZW4gaXN0IixzdWZmaXg6IlN1ZmZpeCIsc3VmZml4X3BsYWNlaG9sZGVyOiJ6LkIuIC1WSSwgd2VubiBpaHIgSG90ZWwgaW4gV2llbiBpc3QifSxpbnZvaWNlczp7aW52b2ljZXM6IlJlY2hudW5nZW4iLHByZWZpeDoiUHLDpGZpeCIscHJlZml4X3BsYWNlaG9sZGVyOiJ6LkIuIFJFeXl5eSIsbmV4dF9pbnZvaWNlX251bWJlcjoiTsOkY2hzdGUgTnVtbWVyIn0sc2F2ZToiU3BlaWNoZXJuIixzYXZlX3N1Y2Nlc3M6IlVudGVya3VuZnRzZGF0ZW4gd3VyZGVuIGdlc3BlaWNoZXJ0LiJ9LHJvb21fdHlwZXM6e3Jvb21fdHlwZXM6IlppbW1lcnR5cGVuIixhZGRfcm9vbV90eXBlOiJaaW1tZXJ0eXAgaGluenVmw7xnZW4iLHRhYmxlOntuYW1lOiJOYW1lIixjb2RlOiJDb2RlIixtYXhfb2NjdXBhbmN5OiJNYXhpbWFsYmVsZWd1bmcifSxkZXRhaWw6e25ld19yb29tdHlwZToiTmV1ZXIgWmltbWVydHlwIixzYXZlOiJTcGVpY2hlcm4iLGRlbGV0ZToiTMO2c2NoZW4iLG5hbWU6Ik5hbWUiLG5hbWVfcGxhY2Vob2xkZXI6InouQi4gU3RvY2tiZXR0emltbWVyIixjb2RlOiJDb2RlIixjb2RlX3BsYWNlaG9sZGVyOiJ6LkIuIFNCWiIsZXh0ZXJuYWxfaWQ6IkV4dGVybmUgSUQiLGRlZmF1bHRfb2NjdXBhbmN5OiJTdGFuZGFyZGJlbGVndW5nIixkZWZhdWx0X29jY3VwYW5jeV9wbGFjZWhvbGRlcjoiei5CLiAxIixtaW5fb2NjdXBhbmN5OiJNaW5pbWFsYmVsZWd1bmciLG1pbl9vY2N1cGFuY3lfcGxhY2Vob2xkZXI6InouQi4gMSIsbWF4X29jY3VwYW5jeToiTWF4aW1hbGJlbGVndW5nIixtYXhfb2NjdXBhbmN5X3BsYWNlaG9sZGVyOiJ6LkIuIDEifX0scm9vbXM6e3Jvb21zOiJaaW1tZXIiLGNyZWF0ZV9yb29tOiJaaW1tZXIgaGluenVmw7xnZW4iLHRhYmxlOntudW1iZXI6Ik51bW1lciIscm9vbV90eXBlOiJaaW1tZXJ0eXAifSxkZXRhaWw6e2NyZWF0ZV9yb29tOiJOZXVlcyBaaW1tZXIiLHNhdmU6IlNwZWljaGVybiIsZGVsZXRlOiJMw7ZzY2hlbiIscm9vbToiWmltbWVyIixudW1iZXI6Ik51bW1lciIsbnVtYmVyX3BsYWNlaG9sZGVyOiJ6LkIuIDEwMSBvZGVyIDEwMS0xMTAgKGFsbGUgWmltbWVyIGluIGRpZXNlbSBCZXJlaWNoIGFubGVnZW4pIixyb29tX3R5cGU6IlppbW1lcnR5cCJ9fSx0YXhfcmF0ZXM6e3RheF9yYXRlczoiU3RldWVyc8OkdHplIixjcmVhdGVfdGF4X3JhdGU6IlN0ZXVlcnNhdHogaGluenVmw7xnZW4iLHRhYmxlOntuYW1lOiJOYW1lIixwZXJjZW50YWdlOiJQcm96ZW50c2F0eiIsZGVsZXRlOiJMw7ZzY2hlbiJ9LGRldGFpbDp7dGF4X3JhdGU6IlN0ZXVlcnNhdHoiLG5ld190YXhfcmF0ZToiTmV1ZXIgU3RldWVyc2F0eiIsc2F2ZToiU3BlaWNoZXJuIixkZWxldGU6IkzDtnNjaGVuIixuYW1lOiJOYW1lIixuYW1lX3BsYWNlaG9sZGVyOiJ6LkIuIFVtc2F0enN0ZXVlciDDlnN0ZXJyZWljaCIscGVyY2VudGFnZToiUHJvemVudHNhdHoiLHBlcmNlbnRhZ2VfcGxhY2Vob2xkZXI6InouQi4gMTAiLGFjY291bnRfbnVtYmVyOiJLb250b251bW1lciIsYWNjb3VudF9udW1iZXJfcGxhY2Vob2xkZXI6Ik9wdGlvbmFsZSBHdVYtS29udG9udW1tZXIgKGbDvHIgRmluYW56YnVjaGhhbHR1bmcsIHouQi4gMjMwMSkiLHRheF9jb2RlOiJTdGV1ZXJjb2RlIix0YXhfY29kZV9wbGFjZWhvbGRlcjoiT3B0aW9uYWxlciBTdGV1ZXJjb2RlIChmw7xyIEZpbmFuemJ1Y2hoYWx0dW5nLCB6LkIuIDEpIn19LGl0ZW1zOntpdGVtczoiQXJ0aWtlbCIsY3JlYXRlX2l0ZW06IkFydGlrZWwgaGluenVmw7xnZW4iLGRlbGV0ZToiTMO2c2NoZW4iLHRhYmxlOntzdGF0dXM6IlN0YXR1cyIsbmFtZToiTmFtZSIsYW1vdW50OiJQcmVpcyIsdGF4X3JhdGU6IlN0ZXVlcnNhdHoifSxkZXRhaWw6e2l0ZW06IkFydGlrZWwiLGNyZWF0ZV9pdGVtOiJOZXVlciBBcnRpa2VsIixzYXZlOiJTcGVpY2hlcm4iLGRlbGV0ZToiTMO2c2NoZW4iLG5hbWU6Ik5hbWUiLG5hbWVfcGxhY2Vob2xkZXI6InouQi4gRnLDvGhzdMO8Y2siLGFjdGl2ZToiQWt0aXYiLGJvb2tfb25fZm9sbG93aW5nX2RheToiQW0gRm9sZ2V0YWcgYnVjaGVuIixib29raW5nX3RleHQ6IkJ1Y2h1bmdzdGV4dCIsYm9va2luZ190ZXh0X3BsYWNlaG9sZGVyOiJPcHRpb25hbCAoei5CLiBGcsO8aHN0w7xjayAtIHdlbm4gbGVlciwgZGFubiB3aXJkIGRlciBOYW1lIHZlcndlbmRldCkiLHR5cGU6IlR5cCIsYW1vdW50OiJQcmVpcyIsdmlydHVhbF9pdGVtX3dpdGhvdXRfcHJpY2U6IkRlciDDnGJlcm5hY2h0dW5nc2FydGlrZWwgaXN0IHZpcnR1ZWxsIHVuZCBoYXQga2VpbmVuIGZpeGVuIFByZWlzLiIsdGF4X3JhdGU6IlN0ZXVlcnNhdHoiLGFjY291bnRfbnVtYmVyOiJLb250b251bW1lciIsYWNjb3VudF9udW1iZXJfcGxhY2Vob2xkZXI6Ik9wdGlvbmFsZSBHdVYtS29udG9udW1tZXIgKGbDvHIgRmluYW56YnVjaGhhbHR1bmcsIHouQi4gMzIwMSkiLGV4dGVybmFsX2lkOiJFeHRlcm5lIElEIixleHRlcm5hbF9pZF9wbGFjZWhvbGRlcjoiT3B0aW9uYWwgKGbDvHIgQ2hhbm5lbCBNYW5hZ2VyKSJ9fSxwYXltZW50X21ldGhvZHM6e3BheW1lbnRfbWV0aG9kczoiWmFobHVuZ3NtZXRob2RlbiIsY3JlYXRlX3BheW1lbnRfbWV0aG9kOiJaYWhsdW5nc21ldGhvZGUgaGluenVmw7xnZW4iLHRhYmxlOntuYW1lOiJOYW1lIn0sc2F2ZToiU3BlaWNoZXJuIixkZWxldGU6IkzDtnNjaGVuIixkZXRhaWw6e3BheW1lbnRfbWV0aG9kOiJaYWhsdW5nc21ldGhvZGUiLGNyZWF0ZV9wYXltZW50X21ldGhvZDoiTmV1ZSBaYWhsdW5nc21ldGhvZGUiLG5hbWU6Ik5hbWUiLG5hbWVfcGxhY2Vob2xkZXI6InouQi4gTWFzdGVyY2FyZCIsYm9va2luZ190ZXh0OiJCdWNodW5nc3RleHQiLGJvb2tpbmdfdGV4dF9wbGFjZWhvbGRlcjoiei5CLiBNQVNURVIiLGFjY291bnRfbnVtYmVyOiJLb250b251bW1lciIsYWNjb3VudF9udW1iZXJfcGxhY2Vob2xkZXI6Ik9wdGlvbmFsZSBHdVYtS29udG9udW1tZXIgKGbDvHIgRmluYW56YnVjaGhhbHR1bmcsIHouQi4gMjMwMSkifX0scmF0ZXM6e3JhdGVzOiJSYXRlbiIsc3luY19yYXRlczoiUmF0ZW4gc3luY2hyb25pc2llcmVuIixzeW5jX3JhdGVzX3N1Y2Nlc3M6IkRpZSBSYXRlbiB3dXJkZW4gZXJmb2xncmVpY2ggc3luY2hyb25pc2llcnQuIixjcmVhdGVfcmF0ZToiUmF0ZSBoaW56dWbDvGdlbiIsc3RhbmRhcmQ6IlN0YW5kYXJkIixzYXZlOiJTcGVpY2hlcm4iLGRlbGV0ZToiTMO2c2NoZW4iLHRhYmxlOntzdGF0dXM6IlN0YXR1cyIsbmFtZToiTmFtZSIsY29kZToiQ29kZSJ9LGRldGFpbDp7cmF0ZToiUmF0ZSIsY3JlYXRlX3JhdGU6Ik5ldWUgUmF0ZSIsYWN0aXZlOiJBa3RpdiIsc3RhbmRhcmQ6IlN0YW5kYXJkIixuYW1lOiJOYW1lIixuYW1lX3BsYWNlaG9sZGVyOiJ6LkIuIEJhc2lzcHJlaXMiLGNvZGU6IkNvZGUiLGNvZGVfcGxhY2Vob2xkZXI6InouQi4gQkFTSVMiLGV4dGVybmFsX2lkOiJFeHRlcm5lIElEIixleHRlcm5hbF9pZF9wbGFjZWhvbGRlcjoiT3B0aW9uYWwgKGbDvHIgQ2hhbm5lbCBNYW5hZ2VyKSIscHJpY2U6e3ByaWNlOiJQcmVpcyIsY3JlYXRlX3ByaWNlOiJQcmVpcyBoaW56dWbDvGdlbiIsdGFibGU6e3Jvb21fdHlwZToiWmltbWVydHlwIixvY2N1cGFuY3k6IkJlbGVndW5nIixhbW91bnQ6IlByZWlzIixlZGl0OiJCZWFyYmVpdGVuIixub19wcmljZXM6IktlaW5lIFByZWlzZSJ9LGNhbmNlbDoiQWJicmVjaGVuIixtb2RhbF9kZWxldGU6e3RpdGxlOiJQcmVpcyBsw7ZzY2hlbj8iLHRleHRfcHJpY2U6IkRlciBQcmVpcyB7Z3Jvc3NBbW91bnR9IGbDvHIgZGVuIFppbW1lcnR5cCB7cm9vbVR5cGV9IG1pdCBkZXIgQmVsZWd1bmcge29jY3VwYW5jeX0gd2lyZCBnZWzDtnNjaHQgdW5kIGthbm4gbmljaHQgd2VpdGVyIGdlYnVjaHQgd2VyZGVuLiIsdGV4dF9pdGVtOiJEZXIgQXJ0aWtlbCB7aXRlbU5hbWV9IHdpcmQgZ2Vsw7ZzY2h0IHVuZCB3aXJkIG5pY2h0IGzDpG5nZXIgdmVyYnVjaHQuIixidXR0b25fdGV4dDoiTMO2c2NoZW4ifX0saXRlbXM6e2l0ZW1zOiJBcnRpa2VsIixpdGVtOiJBcnRpa2VsIixjcmVhdGVfaXRlbToiQXJ0aWtlbCBoaW56dWbDvGdlbiIsdGFibGU6e25hbWU6Ik5hbWUiLHR5cGU6IlR5cCIsYm9va19wZXI6IkJ1Y2hlbiBwcm8iLGJvb2tpbmdfZnJlcXVlbmN5OiJCdWNodW5nc2ZyZXF1ZW56IixhbW91bnQ6IlByZWlzIixlZGl0OiJCZWFyYmVpdGVuIix2aXJ0dWFsOiJWaXJ0dWVsbCIsbm9faXRlbXM6IktlaW5lIEFydGlrZWwifSxpbmNsdXNpdmVfc2VydmljZToiSW5rbHVzaXZsZWlzdHVuZyIsYWRkaXRpb25hbF9zZXJ2aWNlOiJadXNhdHpsZWlzdHVuZyIsY2FuY2VsOiJBYmJyZWNoZW4iLG1vZGFsX2RlbGV0ZTp7dGl0bGU6IkFydGlrZWwgbMO2c2NoZW4/Iix0ZXh0OiJEZXIgQXJ0aWtlbCB7aXRlbU5hbWV9IHdpcmQgZ2Vsw7ZzY2h0IHVuZCB3aXJkIG5pY2h0IGzDpG5nZXIgdmVyYnVjaHQuIixidXR0b25fdGV4dDoiTMO2c2NoZW4ifX19fX0sWU89e3NlYXJjaF9tb2RhbDp7aW5wdXRfcGxhY2Vob2xkZXI6IlN1Y2hiZWdyaWZmIGVpbmdlYmVuLi4uIixub19yZXN1bHRzOiJLZWluZSBFcmdlYmlzc2UiLHRyeV9hbm90aGVyX3NlYXJjaF90ZXJtOiJCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIG1pdCBlaW5lbSBhbmRlcmVuIFN1Y2hiZWdyaWZmLiJ9fSxYTz17c2V0dGluZ3M6IkVpbnN0ZWxsdW5nZW4iLGdlbmVyYWw6e2dlbmVyYWw6IkFsbGdlbWVpbiIsY2FjaGU6Ilp3aXNjaGVuc3BlaWNoZXIiLGNhY2hlX2luZm9fdGV4dDoiRGllIFN0YW1tZGF0ZW4gd2VyZGVuIGF1cyBQZXJmb3JtYW5jZWdyw7xuZGVuIGxva2FsIHp3aXNjaGVuZ2VzcGVpY2hlcnQuIFNvbGx0ZW4gSWhyZSBEYXRlbiAoWmltbWVydHlwZW4sIFppbW1lciwgU3RldWVyc8OkdHplLCBldGMuKSBuaWNodCBha3R1ZWxsIHNlaW4sIHNvIGvDtm5uZW4gU2llIGRpZXNlIGhpZXIgbmV1IGluIGRlbiBad2lzY2hlbnNwZWljaGVyIGxhZGVuLiIsY2FjaGVfc2F2ZV9zdWNlc3M6IkRlciBad2lzY2hlbnNwZWljaGVyIHd1cmRlIG5ldSBnZWxhZGVuLiIsY2FjaGVfcmVsb2FkOiJad2lzY2hlbnNwZWljaGVyIG5ldSBsYWRlbiIsY29uZmlybWF0aW9uX2VtYWlsOiJCZXN0w6R0aWd1bmdzLUVtYWlsIixjb25maXJtYXRpb25fZW1haWxfaW5mb190ZXh0OiJLb25maWd1cmllcmVuIFNpZSBkZW4gQmV0cmVmZiB1bmQgZGVuIFRleHQgZGVyIEJlc3TDpHRpZ3VuZ3MtRW1haWwsIGRpZSBhdXRvbWF0aXNpZXJ0IGFuIGRlbiBLdW5kZW4gZ2VzZW5kZXQgd2VyZGVuIGthbm4uIixjb25maXJtYXRpb25fZW1haWxfcmVzZXRfdGl0bGU6IkJlc3TDpHRpZ3VuZ3MtRW1haWwgenVyw7xja3NldHplbiIsY29uZmlybWF0aW9uX2VtYWlsX3Jlc2V0X3RleHQ6IkJldHJlZmYgdW5kIFRleHQgd2VyZGVuIGF1ZiBkaWUgU3RhbmRhcmR3ZXJ0ZSB6dXLDvGNrZ2VzZXR6dC4gRGllIGFrdHVlbGxlbiBFaW5zdGVsbHVuZ2VuIGvDtm5uZW4gbmljaHQgd2llZGVyaGVyZ2VzdGVsbHQgd2VyZGVuLiBGb3J0ZmFocmVuPyIsc3ViamVjdDoiQmV0cmVmZiIsdGV4dDoiVGV4dCIsaW52b2ljZV9lbWFpbDoiUmVjaG51bmdzLUVtYWlsIixpbnZvaWNlX2VtYWlsX2luZm9fdGV4dDoiS29uZmlndXJpZXJlbiBTaWUgZGVuIEJldHJlZmYgdW5kIGRlbiBUZXh0IGRlciBSZWNobnVuZ3MtRW1haWwsIGRpZSBhdXRvbWF0aXNpZXJ0IGFuIGRlbiBLdW5kZW4gZ2VzZW5kZXQgd2VyZGVuIGthbm4uIixpbnZvaWNlX2VtYWlsX3Jlc2V0X3RpdGxlOiJSZWNobnVuZ3MtRW1haWwgenVyw7xja3NldHplbiIsaW52b2ljZV9lbWFpbF9yZXNldF90ZXh0OiJCZXRyZWZmIHVuZCBUZXh0IHdlcmRlbiBhdWYgZGllIFN0YW5kYXJkd2VydGUgenVyw7xja2dlc2V0enQuIERpZSBha3R1ZWxsZW4gRWluc3RlbGx1bmdlbiBrw7ZubmVuIG5pY2h0IHdpZWRlcmhlcmdlc3RlbGx0IHdlcmRlbi4gRm9ydGZhaHJlbj8iLHJlc2V0OiJadXLDvGNrc2V0emVuIixzYXZlOiJTcGVpY2hlcm4iLGRlbGV0ZToiTMO2c2NoZW4iLHNldHRpbmdzX3NhdmVfc3VjY2VzczoiRGllIEVpbnN0ZWxsdW5nZW4gd3VyZGVuIGdlc3BlaWNoZXJ0IixzZXR0aW5nc19zYXZlX2Vycm9yOiJEaWUgRWluc3RlbGx1bmdlbiBrb25udGVuIG5pY2h0IGdlc3BlaWNoZXJ0IHdlcmRlbi4ifSx0ZWFtOnt0ZWFtOiJUZWFtIixjcmVhdGVfdXNlcjoiQmVudXR6ZXIgaGluenVmw7xnZW4iLGRlbGV0ZV91c2VyOiJCZW51dHplciBlbnRmZXJuZW4iLGRlbGV0ZV91c2VyX2luZm9fdGV4dDoiRGVyIEJlbnV0emVyIHdpcmQgYXVzIGRlbSBUZWFtIGVudGZlcm50IHVuZCBrYW5uIHNpY2ggbmljaHQgbWVociBhbm1lbGRlbi4iLGRlbGV0ZToiRW50ZmVybmVuIix0YWJsZTp7ZW1haWw6IkUtTWFpbCIsbmFtZToiTmFtZSIscm9sZToiUm9sbGUiLGNyZWF0ZWRfYXQ6IkVyc3RlbGx0Iix5b3U6IlNpZSIsZGVsZXRlOiJMw7ZzY2hlbiJ9LGRlZmF1bHRfcGFzc3dvcmQ6IkRhcyBTdGFuZGFyZHBhc3N3b3J0IGxhdXRldCIsZGVmYXVsdF9wYXNzd29yZF9pbmZvX3RleHQ6IkZvcmRlcm4gU2llIGRlbiBCZW51dHplciBhdWYsIGRhcyBQYXNzd29ydCBuYWNoIGRlciBlcnN0ZW4gQW5tZWxkdW5nIHp1IMOkbmRlcm4uIn0sYnJhbmRpbmc6e2JyYW5kaW5nOiJCcmFuZGluZyIsdXBsb2FkOiJVcGxvYWQiLGxvZ286IkxvZ28iLHByaW1hcnlfY29sb3I6IlByaW3DpHJmYXJiZSJ9LGNvbmZpZ3VyYXRpb246e2NvbmZpZ3VyYXRpb246IktvbmZpZ3VyYXRpb24iLGRlc2NyaXB0aW9uOiJMZWdlbiBTaWUgZmVzdCwgd2VsY2hlIEZlbGRlciBpbSBDaGVjay1pbi1Gb3JtdWxhciBhbmdlemVpZ3Qgd2VyZGVuIHVuZCB3ZWxjaGUgUGZsaWNodGZlbGRlciBzaW5kIOKAkyBnZXRyZW5udCBmw7xyIGRlbiBIYXVwdGdhc3QgdW5kIHdlaXRlcmUgR8Okc3RlLiIsY29sbGVjdF9hZGRpdGlvbmFsX2d1ZXN0czoiRGF0ZW4gdm9uIHdlaXRlcmVuIEfDpHN0ZW4gZXJmYXNzZW4iLGNvbGxlY3RfYWRkaXRpb25hbF9ndWVzdHNfaGludDoiV2VubiBkZWFrdGl2aWVydCwgbXVzcyBudXIgZGVyIEhhdXB0Z2FzdCBkYXMgRm9ybXVsYXIgYXVzZsO8bGxlbi4iLGZpZWxkOiJGZWxkIixtYWluX2d1ZXN0OiJIYXVwdGdhc3QiLGFkZGl0aW9uYWxfZ3Vlc3RzOiJXZWl0ZXJlIEfDpHN0ZSIsc2hvdzoiQW56ZWlnZW4iLHJlcXVpcmVkOiJQZmxpY2h0IixmaWVsZHM6e25hbWU6Ik5hbWUiLGVtYWlsOiJFLU1haWwiLHBob25lOiJUZWxlZm9uIixkYXRlT2ZCaXJ0aDoiR2VidXJ0c2RhdHVtIixsaW5lMToiU3RyYcOfZSIscG9zdGFsQ29kZToiUExaIixjaXR5OiJTdGFkdCIsY291bnRyeToiTGFuZCIsbmF0aW9uYWxpdHk6Ik5hdGlvbmFsaXTDpHQiLGRvY3VtZW50czoiRG9rdW1lbnRlIn19LGFkdmFuY2VkOnthZHZhbmNlZDoiRXJ3ZWl0ZXJ0Iix0YWJsZTp7a2V5OiJTY2hsw7xzc2VsIix2YWx1ZToiV2VydCIsc2VjcmV0OiJHZWhlaW1uaXMiLGNyZWF0ZWRfYXQ6IkVyc3RlbGx0IGFtIn0sY29uZmlybV9kZWxldGVfdGV4dDoiTcO2Y2h0ZW4gU2llIGRpZSBFaW5zdGVsbHVuZyB3aXJrbGljaCBsw7ZzY2hlbj8gRGllcyBrYW5uIG5pY2h0IHLDvGNrZ8OkbmdpZyBnZW1hY2h0IHdlcmRlbi4iLGNyZWF0ZV9zZXR0aW5nOiJFaW5zdGVsbHVuZyBoaW56dWbDvGdlbiIsZWRpdF9zZXR0aW5nOiJFaW5zdGVsbHVuZyBiZWFyYmVpdGVuIixzYXZlOiJTcGVpY2hlcm4ifSx1c2Vyczp7dXNlcnM6IlRlYW0iLGFkZF91c2VyOiJCZW51dHplciBoaW56dWbDvGdlbiIscmVtb3ZlX3VzZXI6IkJlbnV0emVyIGVudGZlcm5lbiIsY29uZmlybV9kZWxldGVfdGV4dDoiTcO2Y2h0ZW4gU2llIGRpZXNlbiBCZW51dHplciBhdXMgZGllc2VyIFByb3BlcnR5IHdpcmtsaWNoIGVudGZlcm5lbj8iLGRlZmF1bHRfcGFzc3dvcmRfaGludDonTmV1ZSBCZW51dHplciBlcmhhbHRlbiBkYXMgU3RhbmRhcmRwYXNzd29ydCAiITFKYWNrPTAiIHVuZCBzb2xsdGVuIGVzIG5hY2ggZGVtIGVyc3RlbiBMb2dpbiDDpG5kZXJuLicsdGFibGU6e2VtYWlsOiJFLU1haWwiLG5hbWU6Ik5hbWUiLHJvbGU6IlJvbGxlIn0scm9sZTp7YWRtaW5pc3RyYXRvcjoiQWRtaW5pc3RyYXRvciIsbWFuYWdlcjoiTWFuYWdlciIsc3RhZmY6Ik1pdGFyYmVpdGVyIn19fSxRTz17cHJvZmlsZToiUHJvZmlsIixwYXNzd29yZDoiUGFzc3dvcnQiLGNoYW5nZV9wYXNzd29yZDoiUGFzc3dvcnQgw6RuZGVybiIsY3VycmVudF9wYXNzd29yZDoiQWt0dWVsbGVzIFBhc3N3b3J0IixuZXdfcGFzc3dvcmQ6Ik5ldWVzIFBhc3N3b3J0IixuZXdfcGFzc3dvcmRfcmVwZWF0OiJOZXVlcyBQYXNzd29ydCB3aWVkZXJob2xlbiIscGFzc3dvcmRfY2hhbmdlZF9zdWNjZXNzOiJEYXMgUGFzc3dvcnQgd3VyZGUgZXJmb2xncmVpY2ggZ2XDpG5kZXJ0LiIscGFzc3dvcmRfZXJyb3I6IkRhcyBlaW5nZWdlYmVuZSBha3R1ZWxsZSBQYXNzd29ydCBpc3QgbmljaHQga29ycmVrdC4ifSxlQz17ZmlsdGVyOiJGaWx0ZXIiLHR5cGU6IlR5cCIsYWxsOiJBbGxlIixjaGVja19pbl90b2RheToiQU5SRUlTRSBIZXV0ZSIsY2hlY2tfaW5fdG9tb3Jyb3c6Ik1vcmdlbiIsY2hlY2tfaW5feWVzdGVyZGF5OiJHZXN0ZXJuIixjaGVja19vdXRfdG9kYXk6IkFCUkVJU0UgSGV1dGUiLGNoZWNrX291dF90b21vcnJvdzoiTW9yZ2VuIixjaGVja19vdXRfeWVzdGVyZGF5OiJHZXN0ZXJuIixvcGVuOiJPZmZlbiIsY2xvc2VkOiJCZXphaGx0IixwZXJzb246IlBlcnNvbiIsY29tcGFueToiRmlybWEiLGRlYnRvcjoiRGViaXRvciIsY2FuY2VsZWQ6IlN0b3JuaWVydCIsZHJhZnQ6IkVudHd1cmYiLHBhaWQ6IkJlemFobHQiLHBheW1lbnRfbWV0aG9kOiJaYWhsdW5nc21ldGhvZGUiLGNhcmQ6IkthcnRlIixjYXNoOiJCYXIiLHRyYW5zZmVyOiLDnGJlcndlaXN1bmciLGN1cnJlbnQ6IkFrdHVlbGxlIixjbGVhbjoiU2F1YmVyIixkaXJ0eToiU2NobXV0emlnIixsb2NrZWQ6Ikdlc3BlcnJ0IixjaGVja19pbnNfdG9kYXk6IkFucmVpc2VuIGhldXRlIixjaGVja19vdXRzX3RvZGF5OiJBYnJlaXNlbiBoZXV0ZSIsZ3JvdXBfZm9saW86IkdydXBwZW5mb2xpbyJ9LHRDPXtkYXRlOiJEYXR1bSIsdG9kYXk6IkhldXRlIix0b21vcnJvdzoiTW9yZ2VuIixmcm9tOiJ2b24iLEZyb206IlZvbiIsdG86ImJpcyIsVG86IkJpcyIscGVyaW9kOiJaZWl0cmF1bSIsdGhpc193ZWVrOiJEaWVzZSBXb2NoZSIsdGhpc19tb250aDoiRGllc2VyIE1vbmF0IixsYXN0X21vbnRoOiJMZXR6dGVyIE1vbmF0IixiZWZvcmVfbGFzdF9tb250aDoiVm9ybGV0enRlciBNb25hdCIsdGhpc195ZWFyOiJEaWVzZXMgSmFociIsbGFzdF95ZWFyOiJMZXR6dGVzIEphaHIiLGN1c3RvbToiQmVudXR6ZXJkZWZpbmllcnQiLGRhdGVfcGlja2VyOnttbzoiTW8iLHR1ZToiRGkiLHdlZDoiTWkiLHRodToiRG8iLGZyOiJGciIsc2E6IlNhIixzdW46IlNvIn19LG5DPXtwbGFjZWhvbGRlcjoiei5CLiAyMCwwMCJ9LHJDPXtiYWNrOiJadXLDvGNrIn0saUM9e3Jlc3VsdDoiRXJnZWJuaXMiLHJlc3VsdHM6IkVyZ2Vibmlzc2UiLG5vX3Jlc3VsdHM6IktlaW5lIEVyZ2ViaXNzZSIscGFnZToiU2VpdGUiLG9mOiJ2b24iLHBlcl9wYWdlOiJwcm8gU2VpdGUiLHByZXZpb3VzOiJadXLDvGNrIixuZXh0OiJXZWl0ZXIifSxzQz17ZGVmYXVsdF90aXRsZToiV2lya2xpY2ggbMO2c2NoZW4/IixkZWZhdWx0X3RleHQ6IlNpbmQgU2llIHNpY2hlciwgZGFzcyBTaWUgZGllc2VzIEVsZW1lbnQgbMO2c2NoZW4gbcO2Y2h0ZW4/IERpZXMga2FubiBuaWNodCByw7xja2fDpG5naWcgZ2VtYWNodCB3ZXJkZW4uIixkZWZhdWx0X2J1dHRvbl90ZXh0OiJMw7ZzY2hlbiIsY2FuY2VsOiJBYmJyZWNoZW4ifSxvQz17YXBpX2tleXM6IkFQSSBTY2hsw7xzc2VsIixhZGRfYXBpX2tleToiQVBJIFNjaGzDvHNzZWwgaGluenVmw7xnZW4iLHRhYmxlOntuYW1lOiJOYW1lIixzZWNyZXQ6IkdlaGVpbW5pcyIsY3JlYXRlZF9hdDoiRXJzdGVsbHQgYW0iLGRlbGV0ZToiTMO2c2NoZW4ifSxkZXRhaWw6e25ld19hcGlfa2V5OiJOZXVlciBBUEkgU2NobMO8c3NlbCIsZGVsZXRlOiJMw7ZzY2hlbiIsc2F2ZToiU3BlaWNoZXJuIixuYW1lOiJOYW1lIixuYW1lX3BsYWNlaG9sZGVyOiJ6LkIuIENoZWNrLUluIEF1dG9tYXQiLHNlY3JldDoiR2VoZWltbmlzIn19LGFDPXtzdGF0dXM6e3BlbmRpbmc6Ik9mZmVuIixjb25maXJtZWQ6IkJlc3TDpHRpZ3QiLG5vX3Nob3c6Ik5vLVNob3ciLGNoZWNrZWRfaW46IkVpbmdlY2hlY2t0IixjaGVja2VkX291dDoiQXVzZ2VjaGVja3QiLGNhbmNlbGVkOiJTdG9ybmllcnQifSxzb3VyY2U6e2ludGVybmFsOiJJbnRlcm4iLGphY2s6IkphY2sgKFdhbGstSW4pIn19LGxDPXt0eXBlOntwZXJzb246IlBlcnNvbiIsY29tcGFueToiRmlybWEifSxnZW5kZXI6e21hbGU6Ik3DpG5ubGljaCIsZmVtYWxlOiJXZWlibGljaCIsdW5zcGVjaWZpZWQ6IktlaW5lIEFuZ2FiZSJ9fSxjQz17ImNvbnRhY3QvYWxyZWFkeV9leGlzdHMiOiJFaW4gS29udGFrdCBtaXQgZGllc2VyIEUtTWFpbCBBZHJlc3NlIGV4aXN0aWVydCBiZXJlaXRzLiIsInJhdGUvbm9fbWF0Y2hpbmdfcHJpY2UiOiJFcyB3dXJkZSBrZWluIHBhc3NlbmRlciBQcmVpcyBmw7xyIGRpZXNlbiBaaW1tZXJ0eXAgbWl0IGRpZXNlciBCZWxlZ3VuZyBnZWZ1bmRlbi4iLCJyYXRlL3ByaWNlX2FscmVhZHlfY29uZmlndXJlZCI6IkVpbiBQcmVpcyBmw7xyIGRpZXNlbiBaaW1tZXJ0eXAgbWl0IGdsZWljaGVyIEJlbGVndW5nIGlzdCBiZXJlaXRzIGtvbmZpZ3VyaWVydC4gQml0dGUgd8OkaGxlbiBTaWUgZWluZW4gYW5kZXJlbiBaaW1tZXJ0eXAgb2RlciBlaW5lIGFuZGVyZSBCZWxlZ3VuZy4iLCJyYXRlL3ByaWNlX2ludmFsaWRfb2NjdXBhbmN5IjoiRWluIFByZWlzIG1pdCBkaWVzZXIgQmVsZWd1bmcgaXN0IGbDvHIgZGllc2VuIFppbW1lcnR5cCBuaWNodCBnw7xsdGlnLiIsImZvbGlvL2N1c3RvbWVyX2FkZHJlc3NfaW5jb21wbGV0ZSI6IkRpZSBBZHJlc3NlIGRlcyBLdW5kZW4gaXN0IHVudm9sbHN0w6RuZGlnLiBCaXR0ZSBlcmfDpG56ZW4gU2llIGRpZSBBZHJlc3NlIGJldm9yIFNpZSBkaWUgUmVjaG51bmcgZXJzdGVsbGVuLiIsImZvbGlvL3BheW1lbnRzX3Bvc3RlZCI6IkRpZSBSZWNobnVuZyBrYW5uIG5pY2h0IGdlbMO2c2NodCB3ZXJkZW4sIGRhIGJlcmVpdHMgWmFobHVuZ2VuIHZlcmJ1Y2h0IHd1cmRlbi4gQml0dGUgc2NobGllw59lbiB1bmQgc3Rvcm5pZXJlbiBTaWUgZGllIFJlY2hudW5nIGFuc2NobGllw59lbmQuIiwiYm9va2luZy9yZWFkX29ubHkiOiJEaWUgQnVjaHVuZyBrYW5uIG5pY2h0IG1laHIgYmVhcmJlaXRldCB3ZXJkZW4sIGRhIGJlcmVpdHMgZWluZSBSZWNobnVuZyBlcnN0ZWxsdCB3dXJkZS4gQml0dGUgc3Rvcm5pZXJlbiBTaWUgZGllIFJlY2hudW5nLCB1bSBkaWUgQnVjaHVuZyB6dSBiZWFyYmVpdGVuLiIsImJvb2tpbmcvaW52YWxpZF9kYXRlcyI6IkRpZXNlcyBEYXR1bSBsaWVndCBpbiBkZXIgVmVyZ2FuZ2VuaGVpdC4iLCJib29raW5nL292ZXJsYXBfZGV0ZWN0ZWQiOiJEaWVzZSBCdWNodW5nIMO8YmVyc2NobmVpZGV0IHNpY2ggbWl0IGVpbmVyIGFuZGVyZW4gQnVjaHVuZyBvZGVyIGVpbmVyIFppbW1lcnNwZXJyZS4iLCJib29raW5nL292ZXJsYXBzX2RldGVjdGVkIjoiRGllIEJ1Y2h1bmdlbiBrb25udGVuIG5pY2h0IGJlc3TDpHRpZ3Qgd2VyZGVuLCBkYSBiZXJlaXRzIGVpbmUgYW5kZXJlIEJ1Y2h1bmcgaW4gZGllc2VtIFplaXRyYXVtIGV4aXN0aWVydC4iLCJib29raW5nL2ZhaWxlZF9hc3NpZ25tZW50IjoiRGllIEfDpHN0ZXp1b3JkbnVuZyBrb25udGUgbmljaHQgZ2VzcGVpY2hlcnQgd2VyZGVuLiIsInJvb21fbG9jay9vdmVybGFwX2RldGVjdGVkIjoiRGllc2UgWmltbWVyc3BlcnJlIMO8YmVyc2NobmVpZGV0IHNpY2ggbWl0IGVpbmVyIGFuZGVyZW4gWmltbWVyc3BlcnJlIG9kZXIgZWluZXIgQnVjaHVuZy4iLCJwcm9wZXJ0eS91c2VyX2FscmVhZHlfYXNzaWduZWQiOiJEaWVzZXIgQmVudXR6ZXIgaXN0IGJlcmVpdHMgZGllc2VtIFRlYW0genVnZW9yZG5ldC4iLCJzZXR0aW5nL2FscmVhZHlfZXhpc3RzIjoiRWluZSBFaW5zdGVsbHVuZyBtaXQgZGllc2VtIFNjaGzDvHNzZWwgZXhpc3RpZXJ0IGJlcmVpdHMuIix1bmtub3duOiJFaW4gdW5iZWthbm50ZXIgRmVobGVyIGlzdCBhdWZnZXRyZXRlbi4gQml0dGUgdmVyc3VjaGVuIFNpZSBlcyBlcm5ldXQuIFdlbm4gZGVyIEZlaGxlciB3ZWl0ZXJoaW4gYXVmdHJpdHQsIGtvbnRha3RpZXJlbiBTaWUgYml0dGUgZGVuIEFkbWluaXN0cmF0b3IuIixnZW5lcmFsOiJFcyBpc3QgZWluIEZlaGxlciBhdWZnZXRyZXRlbi4ifSx1Qz17Ym9va2luZzp7Y3JlYXRlZDoiQnVjaHVuZyBlcnN0ZWxsdCIsdXBkYXRlZDoiQnVjaHVuZyBiZWFyYmVpdGV0IixjaGVja2VkX2luOiJCdWNodW5nIGVpbmdlY2hlY2t0IixjaGVja2VkX291dDoiQnVjaHVuZyBhdXNnZWNoZWNrdCIsY29uZmlybWVkOiJCdWNodW5nIGJlc3TDpHRpZ3QiLG1hcmtlZF9ub19zaG93OiJCdWNodW5nIGF1ZiBOby1TaG93IGdlc2V0enQiLGNvbmZpcm1hdGlvbl9zZW50OiJCZXN0w6R0aWd1bmcgZ2VzZW5kZXQiLGNhbmNlbGVkOiJCdWNodW5nIHN0b3JuaWVydCIsZ3Vlc3Q6e2Fzc2lnbmVkOiJHYXN0IHp1Z2V3aWVzZW4iLHVuYXNzaWduZWQ6Ikdhc3QgZW50ZmVybnQifX0scGF5bWVudDp7Y3JlYXRlZDoiWmFobHVuZyBoaW56dWdlZsO8Z3QiLGRlbGV0ZWQ6IlphaGx1bmcgZ2Vsw7ZzY2h0In0sY2hhcmdlOntjcmVhdGVkOiJMZWlzdHVuZyBoaW56dWdlZsO8Z3QiLHVwZGF0ZWQ6IkxlaXN0dW5nIGJlYXJiZWl0ZXQiLGRlbGV0ZWQ6IkxlaXN0dW5nIGdlbMO2c2NodCJ9LGludm9pY2U6e2NyZWF0ZWQ6IlJlY2hudW5nIGVyc3RlbGx0IixjYW5jZWxlZDoiUmVjaG51bmcgc3Rvcm5pZXJ0IixwYWlkOiJSZWNobnVuZyBiZXphaGx0IixzZW50OiJSZWNobnVuZyBnZXNlbmRldCJ9fSxkQz17c3RhdHVzOntvcGVuOiJPZmZlbiIscGFpZDoiQmV6YWhsdCIsY2FuY2VsZWQ6IlN0b3JuaWVydCIsZHJhZnQ6IkVudHd1cmYiLGNvbXBsZXRlZDoiQWJnZXNjaGxvc3NlbiJ9fSxmQz17dHlwZTp7YWNjb21tb2RhdGlvbjoiw5xiZXJuYWNodHVuZyIsZm9vZF9hbmRfYmV2ZXJhZ2U6IlZlcnBmbGVndW5nIixsb2NhbF90YXg6Ik9ydHN0YXhlIixvdGhlcjoiU29uc3RpZ2VzIn19LGhDPXtib29raW5nOiJCdWNodW5nIixjb250YWN0OiJLb250YWt0Iixncm91cDoiR3J1cHBlIixpbnZvaWNlOiJSZWNobnVuZyJ9LG1DPXtpdGVtOnt1bml0Ontyb29tOiJaaW1tZXIiLHBlcnNvbjoiUGVyc29uIn0sZnJlcXVlbmN5OntkYWlseToiVMOkZ2xpY2giLGNoZWNrX2luOiJCZWkgQW5yZWlzZSIsY2hlY2tfb3V0OiJCZWkgQWJyZWlzZSJ9fX0scEM9e3N0YXR1czp7Y2xlYW46IlNhdWJlciIsZGlydHk6IlNjaG11dHppZyIsb3V0X29mX3NlcnZpY2U6IkF1w59lciBCZXRyaWViIn19LGdDPXtyb2xlOiJSb2xsZSIsYWRtaW46IkFkbWluaXN0cmF0b3IiLG1hbmFnZXI6Ik1hbmFnZXIiLHN0YWZmOiJNaXRhcmJlaXRlciIsY2xlYW5pbmc6IlJlaW5pZ3VuZyIsY2F0ZXJpbmc6Ikdhc3Ryb25vbWllIn0seUM9e2FsZXJ0X21vZGFsOnt0aXRsZToiVW5nw7xsdGlnZXMgQXVzd2Vpc2Rva3VtZW50Iix0ZXh0OiJJaHIgQXVzd2Vpc2Rva3VtZW50IGtvbm50ZSBuaWNodCB2ZXJpZml6aWVydCB3ZXJkZW4uIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgZXJuZXV0IG1pdCBlaW5lbSBhbmRlcmVuIERva3VtZW50IG9kZXIgZWluZW0gaG9jaGF1ZmzDtnNlbmRlcmVtIEJpbGQgdm9uIElocmVtIEF1c3dlaXMgKFJlaXNlZG9rdW1lbnQsIFBlcnNvbmFsYXVzd2VpcyBvZGVyIEbDvGhyZXJzY2hlaW4pLiIsYnV0dG9uX3RleHQ6IlZlcnN0YW5kZW4ifSxib29raW5nX3N1bW1hcnk6e3N0YXR1czp7Y29uZmlybWVkOiJCZXN0w6R0aWd0IixjYW5jZWxsZWQ6IlN0b3JuaWVydCIsY2hlY2tlZF9pbjoiRWluZ2VjaGVja3QiLGNoZWNrZWRfb3V0OiJBdXNnZWNoZWNrdCIsbm9fc2hvdzoiTmljaHQgZXJzY2hpZW5lbiIscGVuZGluZzoiQXVzc3RlaGVuZCJ9LGNhcmQ6e3RpdGxlOiJEZWluZSBCdWNodW5nIixib29raW5nX251bWJlcjoiQnVjaHVuZ3NudW1tZXIiLHN0YXR1czoiU3RhdHVzIixob3RlbDoiSG90ZWwiLHN0YXk6IkF1ZmVudGhhbHQiLHJvb206IlppbW1lciJ9fSxndWVzdF9mb3JtOntuYW1lOiJOYW1lIixlbWFpbDoiRS1NYWlsIixwaG9uZToiVGVsZWZvbiIsZGF0ZV9vZl9iaXJ0aDoiR2VidXJ0c2RhdHVtIixzdHJlZXQ6IlN0cmHDn2UiLHBvc3RhbF9jb2RlOiJQTFoiLGNpdHk6IlN0YWR0Iixjb3VudHJ5OiJMYW5kIixuYXRpb25hbGl0eToiTmF0aW9uYWxpdMOkdCIsZG9jdW1lbnRzOiJBdXN3ZWlzIChSZWlzZWRva3VtZW50LCBGw7xocmVyc2NoZWluLCDigKYpIixmaWVsZF9taXNzaW5nOiJQZmxpY2h0ZmVsZCDigJMgYml0dGUgYXVzZsO8bGxlbiIsZmllbGRfb2s6IlZvbGxzdMOkbmRpZyIsb3B0aW9uYWw6Im9wdGlvbmFsIn0sZ3Vlc3RfcGlja2VyOntsYWJlbF9zaW5ndWxhcjoiR2FzdCIsbGFiZWxfcGx1cmFsOiJHw6RzdGUiLGZhbGxiYWNrX25hbWU6Ikdhc3Qge2luZGV4fSIsaW5jb21wbGV0ZToie25hbWV9IHVudm9sbHN0w6RuZGlnIn0sZmlsZV9wcmV2aWV3Ontkb3dubG9hZDoiSGVydW50ZXJsYWRlbiJ9LGZpbGVfdXBsb2FkOnt1cGxvYWQ6IkhvY2hsYWRlbiJ9LHNpZ25hdHVyZV9wYWQ6e3NpZ25faGVyZToiSW4gZGllc2VtIEJlcmVpY2ggdW50ZXJzY2hyZWliZW4iLGRlbGV0ZV9zaWduYXR1cmU6IlVudGVyc2NocmlmdCBsw7ZzY2hlbiJ9LGhvbWVfdmlldzp7dW5sb2NrX2FjY2Vzc19wb2ludF9zdWNjZXNzOiJUw7xyw7ZmZm51bmcgaW5pdGlpZXJ0Iix1bmxvY2tfYWNjZXNzX3BvaW50X3N1Y2Nlc3NfdGV4dDoiRGllIFTDvHIg4oCee25hbWV94oCcIHdpcmQgaW4gS8O8cnplIGdlw7ZmZm5ldC4iLHVwZGF0ZV9pbnZvaWNlX3N1Y2Nlc3M6IlJlY2hudW5nIGFrdHVhbGlzaWVydCIsdXBkYXRlX2ludm9pY2Vfc3VjY2Vzc190ZXh0OiJEaWUgUmVjaG51bmcgd3VyZGUgZXJmb2xncmVpY2ggYWt0dWFsaXNpZXJ0LiIsdXBkYXRlX2ludm9pY2VfZXJyb3I6IlJlY2hudW5nIGtvbm50ZSBuaWNodCBha3R1YWxpc2llcnQgd2VyZGVuIix1cGRhdGVfaW52b2ljZV9lcnJvcl90ZXh0OiJEaWUgUmVjaG51bmcga29ubnRlIG5pY2h0IGFrdHVhbGlzaWVydCB3ZXJkZW4uIEJpdHRlIHZlcnN1Y2hlbiBTaWUgZXMgZXJuZXV0LiIsYWN0aW9uX2NhcmQ6e3RpdGxlOiJTY2huZWxsYWt0aW9uZW4iLG9wZW5fcm9vbToiWmltbWVyIHtyb29tX251bWJlcn0gw7ZmZm5lbiIsb3Blbl9tYWluOiJIYXVwdGVpbmdhbmcgw7ZmZm5lbiIsZG93bmxvYWRfaW52b2ljZToiUmVjaG51bmcgaGVydW50ZXJsYWRlbiIsY29udGFjdF9ob3N0OiJHYXN0Z2ViZXIga29udGFrdGllcmVuIn0sZG9vcnNfY2FyZDp7dGl0bGU6IlTDvHJlbiIsZGVzY3JpcHRpb246IsOWZmZuZSBkZWluZSBiZXJlY2h0aWd0ZW4gVMO8cmVuIGdhbnogZWluZmFjaCBtaXQgZGVpbmVtIFNtYXJ0cGhvbmUuIixkaXNhYmxlZF90ZXh0OiJEZWluZSBUw7xyZW4gc2luZCBhbSBBbnJlaXNldGFnIHZlcmbDvGdiYXIsIHNvYmFsZCBkZWluIFppbW1lciBiZXp1Z3NiZXJlaXQgaXN0LiIsb3Blbl9kb29yOiJUw7xyIMO2ZmZuZW4iLGNyZWF0ZV9hY2Nlc3NfdG9rZW46Ilp1dHJpdHRzYmVyZWNodGlndW5nIGVyc3RlbGxlbiJ9LHByZV9jaGVja19pbl9jYXJkOnt0aXRsZToiUHJlLUNoZWNrLWluIixkZXNjcmlwdGlvbjoiRsO8bGxlIHZvcmFiIGRlaW5lbiBNZWxkZXNjaGVpbiBhdXMsIGxhZGUgRG9rdW1lbnRlIGhvY2ggdW5kIGJlemFobGUgZGVpbmUgQnVjaHVuZy4iLGluZm9fdGV4dDoiQWJnZXNjaGxvc3NlbiIsY2hlY2tfaW46IkVpbmNoZWNrZW4iLGRldGFpbHM6IkRldGFpbHMifSxpbnZvaWNlX2NhcmQ6e3RpdGxlOiJSZWNobnVuZ2VuIixkZXNjcmlwdGlvbjoiQWxsZSBSZWNobnVuZ2VuIGF1ZiBlaW5lbiBCbGljayB1bmQgenVtIERvd25sb2FkZW4uIixhbGVydDoiRXMgd3VyZGUgYmVyZWl0cyBlaW5lIMOEbmRlcnVuZyBhbiBkZXIgUmVjaG51bmcgdm9yZ2Vub21tZW4uIFNvbGx0ZW4gU2llIHdlaXRlcmUgw4RuZGVydW5nZW4gYmVuw7Z0aWdlbiwgd2VuZGVuIFNpZSBzaWNoIGJpdHRlIGFuIHVuc2VyIFN1cHBvcnQtVGVhbS4iLHZpZXdfaW52b2ljZXM6IlJlY2hudW5nZW4gYW5zZWhlbiIsdGFibGVfaGVhZGVyczp7aW52b2ljZToiUmVjaG51bmciLGFtb3VudDoiQmV0cmFnIixzdGF0dXM6IlN0YXR1cyJ9LHRhYmxlX2FjdGlvbnM6e29wZW46IsOWZmZuZW4iLGVkaXQ6IkJlYXJiZWl0ZW4iLGRvd25sb2FkOiJIZXJ1bnRlcmxhZGVuIn19LGNvbnRhY3RfY2FyZDp7dGl0bGU6IktvbnRha3QiLGRlc2NyaXB0aW9uOiJEdSBiZW7DtnRpZ3N0IEhpbGZlPyBLb250YWt0aWVyZSB1bnMgdGVsZWZvbmlzY2ggb2RlciBwZXIgRS1NYWlsLiIsY2FsbDoiQW5ydWZlbiIsbWFpbDoiRS1NYWlsIHNjaHJlaWJlbiJ9LGVkaXRfaW52b2ljZV9kaWFsb2c6e3RpdGxlOiJSZWNobnVuZyBiZWFyYmVpdGVuIixhY3Rpb25zOntzYXZlOiJTcGVpY2hlcm4iLGNhbmNlbDoiQWJicmVjaGVuIn0sYmlsbGluZ19hZGRyZXNzOiJSZWNobnVuZ3NhZHJlc3NlIixiaWxsaW5nX2FkZHJlc3NfbGluZTFfcGxhY2Vob2xkZXI6Ik5hbWUgLyBGaXJtZW5uYW1lIixiaWxsaW5nX2FkZHJlc3NfbGluZTJfcGxhY2Vob2xkZXI6IkFkcmVzc2UiLGJpbGxpbmdfYWRkcmVzc19wb3N0YWxfY29kZV9wbGFjZWhvbGRlcjoiUExaIixiaWxsaW5nX2FkZHJlc3NfY2l0eV9wbGFjZWhvbGRlcjoiU3RhZHQiLGJpbGxpbmdfYWRkcmVzc19jb3VudHJ5X3BsYWNlaG9sZGVyOiJMYW5kIixhZGRpdGlvbmFsX3RleHQ6Ilp1c2F0enRleHQiLGFkZGl0aW9uYWxfdGV4dF9wbGFjZWhvbGRlcjoiV2lyZCBhdWYgZGVyIFJlY2hudW5nIGFuZ2V6ZWlndCAoei5CLiBVSUQtTnVtbWVyLCBLb3N0ZW5zdGVsbGUsIGV0Yy4pIn0sa2V5X2NhcmQ6e3RpdGxlOiJTY2hsw7xzc2Vsa2FydGUiLGRlc2NyaXB0aW9uOiJVbSBhbSBDaGVjay1JbiBBdXRvbWF0ZW4gdm9yIE9ydCB6dXPDpHR6bGljaGUgS2FydGVuIHp1IGVyaGFsdGVuLCB3w6RobGUgZGVuIE1lbsO8cHVua3QgwrtaaW1tZXJrYXJ0ZSBlcnN0ZWxsZW7CqyB1bmQgZ2liIGRpZSBmb2xnZW5kZW4gSW5mb3JtYXRpb25lbiBlaW4uIixkZXNjcmlwdGlvbl9kb2I6IkhvbGUgZGlyIGRlaW5lIFppbW1lcmthcnRlIGFtIENoZWNrLUluIEF1dG9tYXRlbiB2b3IgT3J0LiBXw6RobGUgZGVuIE1lbsO8cHVua3QgwrtaaW1tZXJrYXJ0ZSBlcnN0ZWxsZW7CqyB1bmQgZ2liIGRpZSBmb2xnZW5kZW4gSW5mb3JtYXRpb25lbiBlaW4uIixyb29tX251bWJlcjoiWmltbWVybnVtbWVyIixzZWN1cml0eV9jb2RlOiJTaWNoZXJoZWl0c2NvZGUiLGxhc3RfbmFtZToiTmFjaG5hbWUiLGRhdGVfb2ZfYmlydGg6IkdlYnVydHNkYXR1bSJ9LGhvdGVsX2luZm86e3RpdGxlOiJIb3RlbGluZm9zIixkZXNjcmlwdGlvbjoiQWxsZSB3ZWl0ZXJlbiBJbmZvcyBydW5kIHVtcyBIb3RlbCB1bmQgZGVpbmVuIEF1ZmVudGhhbHQgZmluZGVzdCBkdSBoaWVyLiIsYnV0dG9uX3RleHQ6IkhvdGVsaW5mb3Mg4oaSIn19LGNoZWNrX2luX3ZpZXc6e3BheW1lbnRfc3VjY2VzczoiWmFobHVuZyBlcmZvbGdyZWljaCIscGF5bWVudF9zdWNjZXNzX3RleHQ6IlZpZWxlbiBEYW5rIGbDvHIgZGVpbmUgWmFobHVuZy4gRGVpbmUgQnVjaHVuZyBpc3QgbnVuIHZvbGxzdMOkbmRpZyBiZXphaGx0LiIscGF5bWVudF9jYW5jZWw6IlphaGx1bmcgYWJnZWJyb2NoZW4iLHBheW1lbnRfY2FuY2VsX3RleHQ6IkRpZSBaYWhsdW5nIHd1cmRlIGFiZ2Vicm9jaGVuLiBCaXR0ZSB2ZXJzdWNoZSBlcyBlcm5ldXQuIixjaGVja19pbl9zdWNjZXNzOiJDaGVjay1pbiBlcmZvbGdyZWljaCIsY2hlY2tfaW5fc3VjY2Vzc190ZXh0OiJEZWluZSBCdWNodW5nIHd1cmRlIGVyZm9sZ3JlaWNoIGVpbmdlY2hlY2t0LiBWaWVsIFNwYcOfIGJlaSBkZWluZW0gQXVmZW50aGFsdCEiLHN0ZXBzOntyZWdpc3RyYXRpb25fZm9ybToiTWVsZGVzY2hlaW5lIixjb25maXJtYXRpb246IkJlc3TDpHRpZ3VuZyIscGF5bWVudDoiQmV6YWhsdW5nIixjaGVja19pbjoiQ2hlY2staW4ifSxzdGVwX29mOiJTY2hyaXR0IHtzdGVwfSB2b24ge29mfSIsc2F2aW5nOiJTcGVpY2hlcm4iLGJhY2s6Ilp1csO8Y2siLHJlZ2lzdHJhdGlvbl9mb3Jtc19jYXJkOnt0aXRsZToiTWVsZGVzY2hlaW5lIixkZXNjcmlwdGlvbjoiRsO8bGxlIGRpZSBNZWxkZXNjaGVpbmUgYWxsZXIgYW5yZWlzZW5kZW4gUGVyc29uZW4gYXVzLiJ9LGNvbmZpcm1hdGlvbl9jYXJkOnt0aXRsZToiQmVzdMOkdGlndW5nIixkZXNjcmlwdGlvbjoiQmVzdMOkdGlnZSBkaWUgUmljaHRpZ2tlaXQgZGVpbmVyIERhdGVuIG1pdCBlaW5lciBVbnRlcnNjaHJpZnQuIixkaXNhYmxlZF90ZXh0OiJNZWxkZXNjaGVpbiB2ZXJ2b2xsc3TDpG5kaWdlbiJ9LHBheW1lbnRfY2FyZDp7dGl0bGU6IkJlemFobHVuZyIsZGVzY3JpcHRpb246e3BheW1lbnRfY29tcGxldGU6IkhldXRlIGbDpGxsaWdlciBCZXRyYWc6IHtkdWVBbW91bnR9LiIscGF5bWVudF9pbmNvbXBsZXRlOiJadXIgWmFobHVuZyB3aXJzdCBkdSB6dSB1bnNlcmVtIFBhcnRuZXIgU3RyaXBlIHdlaXRlcmdlbGVpdGV0IChkZXIgaGV1dGUgZsOkbGxpZ2UgQmV0cmFnIGJldHLDpGd0IHtkdWVBbW91bnR9KS4ifSxkaXNhYmxlZF90ZXh0OiJEYXRlbiBiZXN0w6R0aWdlbiIscGF5OiJ7ZHVlQW1vdW50fSBiZXphaGxlbiJ9LGNoZWNrX2luX2NhcmQ6e3RpdGxlOiJDaGVjay1pbiIsZGVzY3JpcHRpb246e2NoZWNrX2luX2NvbXBsZXRlOiJEaWUgQnVjaHVuZyBpc3Qgdm9sbHN0w6RuZGlnIGVpbmdlY2hlY2t0LiIsY2hlY2tfaW5faW5jb21wbGV0ZToiQ2hlY2tlIGRlaW5lIEJ1Y2h1bmcgZWluIHVuZCBnZW5pZcOfZSBkZWluZW4gQXVmZW50aGFsdC4ifSxkaXNhYmxlZF90ZXh0OiJCdWNodW5nIGJlemFobGVuIixjaGVja19pbjoiRWluY2hlY2tlbiJ9fX0sdkM9e2xvZ2luOk1PLHJlcXVlc3RfbGluazpMTyxuYXZpZ2F0aW9uOkZPLHNpZGViYXI6JE8scm9vbV9wbGFuOmpPLGJvb2tpbmdfZHJvcGRvd246Qk8sb3B0aW9uc19kcm9wZG93bjpVTyxkYXNoYm9hcmQ6Vk8sYm9va2luZ3M6V08sY29udGFjdHM6R08sZ3JvdXBzOnpPLGludm9pY2VzOkhPLHJvb21fbG9ja3M6Sk8saG91c2VrZWVwaW5nOnFPLHJlcG9ydHM6Wk8sYmFzZWRhdGE6S08sc2VhcmNoOllPLHNldHRpbmdzOlhPLHByb2ZpbGU6UU8sZmlsdGVyOmVDLGRhdGU6dEMsYW1vdW50X2lucHV0Om5DLGJhY2tsaW5rOnJDLHRhYmxlOmlDLGNvbmZpcm1fbW9kYWw6c0MsYXBpX2tleXM6b0MsYm9va2luZzphQyxjb250YWN0OmxDLGVycm9yOmNDLGV2ZW50OnVDLGludm9pY2U6ZEMsaXRlbTpmQyxvYmplY3Q6aEMscmF0ZTptQyxyb29tOnBDLHJvbGU6Z0MscG9ydGFsOnlDfSxfQz17ZXJyb3I6IlVzZXJuYW1lIG9yIHBhc3N3b3JkIGluY29ycmVjdC4gUGxlYXNlIHRyeSBhZ2Fpbi4iLGVtYWlsOiJFbWFpbCIscGFzc3dvcmQ6IlBhc3N3b3JkIixsb2dpbjoiTG9naW4ifSxiQz17dGl0bGU6IkdldCB5b3VyIHByZS1jaGVjay1pbiBsaW5rIixzdWJ0aXRsZToiRW50ZXIgeW91ciBib29raW5nIGNvZGUgYW5kIG5hbWUgdG8gcmVjZWl2ZSB5b3VyIHBlcnNvbmFsIGNoZWNrLWluIGxpbmsuIixjb2RlOiJCb29raW5nIGNvZGUiLG5hbWU6Ikxhc3QgbmFtZSIsbmFtZV9oaW50OiJBcyBvbiB5b3VyIHJlc2VydmF0aW9uLiIsZW1haWw6IllvdXIgZW1haWwgYWRkcmVzcyIsc3VibWl0OiJTZW5kIG1lIHRoZSBsaW5rIixzdWNjZXNzX3RpdGxlOiJDaGVjayB5b3VyIGluYm94IixzdWNjZXNzX3RleHQ6IklmIHlvdXIgYm9va2luZyB3YXMgZm91bmQsIHdlJ3ZlIHNlbnQgeW91ciBjaGVjay1pbiBsaW5rIHRvIHRoZSBlbWFpbCBhZGRyZXNzIHlvdSBlbnRlcmVkLiIscmF0ZV9saW1pdGVkOiJUb28gbWFueSBhdHRlbXB0cy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLGVycm9yOiJTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2Fpbi4ifSx3Qz17cHJvZmlsZToiUHJvZmlsZSIsbG9nb3V0OiJMb2dvdXQiLG9wZW5fc2lkZWJhcjoiT3BlbiBTaWRlYmFyIixjbG9zZV9zaWRlYmFyOiJDbG9zZSBTaWRlYmFyIixjcmVhdGVfYm9va2luZzoiQ3JlYXRlIEJvb2tpbmciLG9wZW5fc2VhcmNoOiJPcGVuIFNlYXJjaCIsb3Blbl9zZXR0aW5nczoiT3BlbiBTZXR0aW5ncyIsb3Blbl9wcm9maWxlOiJPcGVuIFByb2ZpbGUiLHRlc3RzeXN0ZW06IlRlc3QgU3lzdGVtIn0sa0M9e3Byb3BlcnR5OiJQcm9wZXJ0eSIscm9vbV9wbGFuOiJSb29tIFBsYW4iLGRhc2hib2FyZDoiRGFzaGJvYXJkIixib29raW5nczoiQm9va2luZ3MiLGNvbnRhY3RzOiJDb250YWN0cyIsZ3JvdXBzOiJHcm91cHMiLGludm9pY2VzOiJJbnZvaWNlcyIscm9vbV9sb2NrczoiUm9vbSBMb2NrcyIsaG91c2VrZWVwaW5nOiJIb3VzZWtlZXBpbmciLHJlcG9ydHM6IlJlcG9ydHMiLGJhc2VkYXRhOntiYXNlZGF0YToiQmFzZSBEYXRhIixwcm9wZXJ0eToiUHJvcGVydHkiLHJvb21fdHlwZXM6IlJvb20gVHlwZXMiLHJvb21zOiJSb29tcyIsdGF4X3JhdGVzOiJUYXggUmF0ZXMiLGl0ZW1zOiJJdGVtcyIscGF5bWVudF9tZXRob2RzOiJQYXltZW50IE1ldGhvZHMiLHJhdGVzOiJSYXRlcyJ9fSxTQz17Y2hvaWNlOiJTZWwuIixzZWxlY3RlZF9ib29raW5nczoie251bWJlck9mQm9va2luZ3N9IHNlbGVjdGVkIHtib29raW5nfSIsYm9va2luZzoiQm9va2luZyIsYm9va2luZ3M6IkJvb2tpbmdzIixkaXNjYXJkX3NlbGVjdGlvbjoiRGlzY2FyZCBTZWxlY3Rpb24iLGNyZWF0ZV9ib29raW5nOiJDcmVhdGUge2Jvb2tpbmd9IixwcmV2ZW50X2Ryb3Bfcm9vbV9maXhlZDoiQm9va2luZyBjYW5ub3QgYmUgbW92ZWQgYmVjYXVzZSB0aGUgcm9vbSBoYXMgYmVlbiBmaXhlZC4iLHByZXZlbnRfZHJvcF9tYXhfb2NjdXBhbmN5OiJUaGUgbWF4aW11bSBvY2N1cGFuY3kgZm9yIHJvb20ge3Jvb21OdW1iZXJ9IGlzIHttYXhPY2N1cGFuY3l9IHtwZXJzb259LCB3aGljaCBleGNlZWRzIHRoZSBjdXJyZW50IG9jY3VwYW5jeSBvZiB7Y3VycmVudE9jY3VwYW5jeX0gJHtwZXJzb259LiIscGVyc29uOiJQZXJzb24iLHBlb3BsZToiUGVvcGxlIixjb25maXJtX21vdmU6J0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBtb3ZlIHRoZSBib29raW5nIDxzcGFuIGNsYXNzPSJmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIj57Ym9va2luZ0NvZGV9PC9zcGFuPj88YnIvPjxici8+JyxzdGF5OiJTdGF5Iixyb29tOiJSb29tIixtb3ZlX2Jvb2tpbmc6Ik1vdmUgQm9va2luZyJ9LFRDPXthY3Rpb25zOiJBY3Rpb25zIixndWVzdDoiR3Vlc3QiLGd1ZXN0czoiR3Vlc3RzIixncm91cDoiR3JvdXAiLG9wZW5fYm9va2luZzoiT3BlbiBCb29raW5nIixvcGVuX2dyb3VwOiJPcGVuIEdyb3VwIixjaGVja19pbjoiQ2hlY2sgSW4iLHVuZG9fY2hlY2tfaW46IlVuZG8gQ2hlY2stSW4iLGNoZWNrX291dDoiQ2hlY2sgT3V0Iix1bmRvX2NoZWNrX291dDoiVW5kbyBDaGVjay1PdXQiLG5vX3Nob3c6Ik1hcmsgYXMgTm8tU2hvdyIsY2FuY2VsOiJDYW5jZWwiLHVuZG9fbm9fc2hvdzoiVW5kbyBOby1TaG93Iix1bmRvX2NhbmNlbDoiVW5kbyBDYW5jZWxsYXRpb24iLGNoYW5nZV9jdXN0b21lcjoiQ2hhbmdlIEN1c3RvbWVyIixjaGFuZ2Vfcm9vbToiQ2hhbmdlIFJvb20iLGNoYW5nZV9zdGF5OiJDaGFuZ2UgU3RheSIsY2hhbmdlX3JhdGU6IkNoYW5nZSBSYXRlIixjaGFuZ2Vfb2NjdXBhbmN5OiJDaGFuZ2UgT2NjdXBhbmN5IixjaGFuZ2VfcHJpY2U6IkNoYW5nZSBQcmljZSIsYWRkX2d1ZXN0OiJBZGQgR3Vlc3QiLGFkZF90b19ncm91cDoiQWRkIHRvIEdyb3VwIixyZW1vdmVfZnJvbV9ncm91cDoiUmVtb3ZlIGZyb20gR3JvdXAiLGNvbmZpcm1hdGlvbjoiQ29uZmlybWF0aW9uIixpbnZvaWNlX3ByZXZpZXc6Ikludm9pY2UgUHJldmlldyIsbm9fcm9vbToiTm8gUm9vbSIsbW9yZV9ub3RlczoiTW9yZSBOb3RlcyIsb3Blbl9vcHRpb25zOiJPcGVuIE9wdGlvbnMiLG9rX2NhbmNlbF9tb2RhbDp7YXNzaWduX2d1ZXN0OiJBZGQgR3Vlc3QiLGd1ZXN0OiJHdWVzdCIsdXBkYXRlX2N1c3RvbWVyOiJDaGFuZ2UgQ3VzdG9tZXIiLGN1c3RvbWVyOiJDdXN0b21lciIsdXBkYXRlX3Jvb206IkNoYW5nZSBSb29tIixyb29tOiJSb29tIix1cGRhdGVfc3RheToiQ2hhbmdlIFN0YXkiLGNoZWNrX2luOiJDaGVjay1JbiIsY2hlY2tfb3V0OiJDaGVjay1PdXQiLGFkZF90b19ncm91cDoiQWRkIHRvIEdyb3VwIixncm91cDoiR3JvdXAiLHVwZGF0ZV9yYXRlOiJDaGFuZ2UgUmF0ZSIscmF0ZToiUmF0ZSIsdXBkYXRlX3ByaWNlOiJDaGFuZ2UgUHJpY2UiLHByaWNlX3Blcl9uaWdodDoiUHJpY2UgcGVyIE5pZ2h0Iix1cGRhdGVfb2NjdXBhbmN5OiJDaGFuZ2UgT2NjdXBhbmN5IixvY2N1cGFuY3k6Ik9jY3VwYW5jeSIsZm9saW9fY2xvc2VkX2luZm86IlRoZSBmb2xpbyBpcyBhbHJlYWR5IGNsb3NlZCwgc28gdGhpcyBjaGFuZ2Ugd2lsbCBubyBsb25nZXIgYWZmZWN0IHRoZSBjaGFyZ2VzIG9yIHRoZSBwcmljZS4iLGNhbmNlbDoiQ2FuY2VsIn19LEVDPXtlZGl0OiJFZGl0IixkZWxldGU6IkRlbGV0ZSIsb3Blbl9pbnZvaWNlOiJPcGVuIEludm9pY2UiLGFkZF9wYXltZW50OiJSZWNvcmQgUGF5bWVudCIsc3dpdGNoX3RvX2Jvb2tpbmc6IlN3aXRjaCB0byBCb29raW5nIixzd2l0Y2hfdG9fZ3JvdXA6IlN3aXRjaCB0byBHcm91cCIsY2FuY2VsOiJDYW5jZWwifSx4Qz17ZGFzaGJvYXJkOiJEYXNoYm9hcmQiLGtleV9kYXRhOiJLZXkgRmlndXJlcyIsZ3Jvc3NfcmV2ZW51ZToiR3Jvc3MgUmV2ZW51ZSIsbmV0X3JldmVudWU6Ik5ldCBSZXZlbnVlIix0YXhlczoiVGF4ZXMiLHV0aWxpemF0aW9uOiJVdGlsaXphdGlvbiIsZ3Jvc3NfcmV2ZW51ZV9wZXJfaXRlbToiR3Jvc3MgUmV2ZW51ZSBwZXIgSXRlbSIsbG9jYWxfdGF4OiJMb2NhbCBUYXgiLGJyZWFrZmFzdDoiQnJlYWtmYXN0IixvdmVybmlnaHRfc3RheToiT3Zlcm5pZ2h0IFN0YXkifSxBQz17Ym9va2luZ3M6IkJvb2tpbmdzIixjcmVhdGVfYm9va2luZzoiQ3JlYXRlIEJvb2tpbmciLHRhYmxlOntjb2RlOiJDb2RlIixzdGF0dXM6IlBNUyBTdGF0dXMiLHByZV9jaGVja19pbjoiUHJlLUNoZWNrLWluIixjdXN0b21lcjoiQ3VzdG9tZXIiLGd1ZXN0czoiR3Vlc3RzIixjaGVja0luOiJBcnJpdmFsIixjaGVja091dDoiRGVwYXJ0dXJlIixyb29tOiJSb29tIixvY2N1cGFuY3k6Ik9jY3VwYW5jeSIsbnVtYmVyX29mX2Zvb2RfYW5kX2JldmVyYWdlOiJDYXRlcmluZy9EYXkiLGFtb3VudDoiVG90YWwgQW1vdW50In0scHJlX2NoZWNrX2luX3N0YXR1czp7Y29tcGxldGVkOiJDb21wbGV0ZWQiLG9wZW46Ik9wZW4ifSxib29raW5nX3NsaWRlb3Zlcjp7bmV3X2Jvb2tpbmc6Ik5ldyBCb29raW5nIixlbnRlcl9kYXRhOiJQbGVhc2UgZW50ZXIgdGhlIHJlcXVpcmVkIGRhdGEuIixjcmVhdGVfYm9va2luZzoiQ3JlYXRlIEJvb2tpbmciLGNyZWF0ZV9ib29raW5nX3N1Y2Nlc3M6IlRoZSBib29raW5nIGhhcyBiZWVuIHNhdmVkLiIsY2FuY2VsOiJDYW5jZWwiLGNoZWNrX2luOiJBcnJpdmFsIixjaGVja19vdXQ6IkRlcGFydHVyZSIsY3VzdG9tZXI6IkN1c3RvbWVyIixvY2N1cGFuY3k6Ik51bWJlciBvZiBHdWVzdHMiLGF2YWlsYWJsZV9yb29tX3R5cGVzOiJBdmFpbGFibGUgUm9vbSBUeXBlcyIsYXZhaWxhYmxlOiJhdmFpbGFibGUiLGdyb3NzX2Ftb3VudDoiVG90YWwgUHJpY2UiLG5vX2F2YWlsYWJpbGl0aWVzOiJObyBBdmFpbGFiaWxpdGllcyIscm9vbToiUm9vbSJ9LGJvb2tpbmdfc2VsZWN0aW9uX3NsaWRlb3Zlcjp7Y3JlYXRlX2Jvb2tpbmc6IkNyZWF0ZSBCb29raW5nIixlbnRlcl9kYXRhOiJQbGVhc2UgZW50ZXIgdGhlIHJlcXVpcmVkIGRhdGEuIixncm91cF9ib29raW5nczoiQ29tYmluZSBib29raW5ncyAoe2NvdW50fSkgaW50byBhIGdyb3VwIixjYW5jZWw6IkNhbmNlbCIsY3VzdG9tZXI6IkN1c3RvbWVyIixyYXRlOiJSYXRlIixzZW5kX2VtYWlsX2NvbmZpcm1hdGlvbl90bzoiU2VuZCBlbWFpbCBjb25maXJtYXRpb24gdG8ge2VtYWlsfSIsYm9va2luZ3M6IkJvb2tpbmdzIixyb29tOiJSb29tIixmaXhhdGU6ImZpeCIsZ3Vlc3Q6Ikd1ZXN0IixjaGVja19pbjoiQXJyaXZhbCIsY2hlY2tfb3V0OiJEZXBhcnR1cmUiLG9jY3VwYW5jeToiTnVtYmVyIG9mIEd1ZXN0cyJ9LG9rX2NhbmNlbF9tb2RhbDp7YWRkX3RvX2dyb3VwOiJBZGQgdG8gR3JvdXAiLGdyb3VwOiJHcm91cCJ9LGRldGFpbDp7b3ZlcnZpZXc6e3RhYl90aXRsZToiT3ZlcnZpZXciLG5vdGVzOiJOb3RlcyIsbm90ZXNfaW5mbzoiVGhlIGJvb2tpbmcgaXMgbWFya2VkIGFzIGEgZGVidG9yLCBhbGxvd2luZyBjaGVjay1pbiB3aXRob3V0IHBheW1lbnQuIixmaXhlZF9pbmZvOiJUaGUgcm9vbSBpcyBmaXhlZCBhbmQgdGhlcmVmb3JlIGNhbm5vdCBiZSBjaGFuZ2VkLiIsY29sb3I6IkNvbG9yIixkZWJ0b3I6IkRlYnRvciIsZGVidG9yX2luZm8xOiJUaGUgY3VzdG9tZXIiLGRlYnRvcl9pbmZvMjoiaXMgbWFya2VkIGFzIGEgZGVidG9yLCBhbGxvd2luZyBjaGVjay1pbiB3aXRob3V0IHBheW1lbnQuIixzdGF0dXM6IlBNUyBTdGF0dXMiLHByZV9jaGVja19pbjoiUHJlLUNoZWNrLWluIixjb2RlOiJDb2RlIixleHRlcm5hbF9pZDoiRXh0ZXJuYWwgSUQiLGV4dGVybmFsX2NvZGU6IkV4dGVybmFsIENvZGUiLGNoZWNrX2luOiJBcnJpdmFsIixjaGVja19vdXQ6IkRlcGFydHVyZSIsZ3JvdXA6Ikdyb3VwIixjdXN0b21lcjoiQ3VzdG9tZXIiLHJvb206IlJvb20iLG5vX3Jvb206Ik5vIFJvb20iLGZpeGF0ZToiZml4YXRlIixyb29tX3R5cGU6IlJvb20gVHlwZSIscmF0ZToiUmF0ZSIsbnVtYmVyX29mX2d1ZXN0czoiTnVtYmVyIG9mIEd1ZXN0cyIsc291cmNlOiJTb3VyY2UiLGNvbW1lbnQ6IkNvbW1lbnQiLGdyb3NzX2Ftb3VudDoiVG90YWwgQW1vdW50IixkdWVfYW1vdW50OiJEdWUgQW1vdW50IixndWVzdHM6Ikd1ZXN0cyIsYWRkX2d1ZXN0OiJBZGQgR3Vlc3QiLGRlbGV0ZToiRGVsZXRlIn0sZ3Vlc3RzOnt0YWJfdGl0bGU6Ikd1ZXN0cyIsdGFibGU6e25hbWU6Ik5hbWUifX0sZm9saW9zOnt0YWJfdGl0bGU6IkZvbGlvcyIsc2VydmljZXM6IlNlcnZpY2VzIix0b3RhbF9hbW91bnQ6IlRvdGFsIEFtb3VudCIsZHVlX2Ftb3VudDoiQW1vdW50IER1ZSIsYWRkX3NlcnZpY2U6IkFkZCBTZXJ2aWNlIixkZWxldGU6IkRlbGV0ZSIscGF5bWVudHM6IlBheW1lbnRzIixjcmVhdGVfcGF5bWVudDoiQ3JlYXRlIFBheW1lbnQiLGludm9pY2VfcHJldmlldzoiSW52b2ljZSBQcmV2aWV3IixjcmVhdGVfaW52b2ljZToiQ3JlYXRlIEludm9pY2UiLHZpcnR1YWw6IlZpcnR1ZWxsIixva19jYW5jZWxfbW9kYWw6e2FkZF9zZXJ2aWNlOiJBZGQgU2VydmljZSIsaXRlbToiSXRlbSIsYWRkX3NlcnZpY2VfbWFudWFsbHk6IkFkZCBTZXJ2aWNlIE1hbnVhbGx5IixuYW1lOiJOYW1lIixib29raW5nX2RhdGU6IkJvb2tpbmcgRGF0ZSIscXVhbnRpdHk6IlF1YW50aXR5Iix0b3RhbF9hbW91bnQ6IlRvdGFsIEFtb3VudCIsdGF4X3JhdGU6IlRheCBSYXRlIixjcmVhdGVfcGF5bWVudDoiQ3JlYXRlIFBheW1lbnQiLGFtb3VudDoiQW1vdW50IixwYXltZW50X21ldGhvZDoiUGF5bWVudCBNZXRob2QiLHJlZmVyZW5jZToiUmVmZXJlbmNlIixyZWZlcmVuY2VfcGxhY2Vob2xkZXI6ImUuZy4sIGJhbmsgcmVjZWlwdCAob3B0aW9uYWwpIixjcmVhdGVfaW52b2ljZToiQ3JlYXRlIEludm9pY2UiLGR1ZV9hbW91bnRfYWxlcnQ6IlRoZSBmb2xpbyBpcyBub3QgZnVsbHkgcGFpZC4gSWYgeW91IGNyZWF0ZSBhbiBpbnZvaWNlIG5vdywgdGhlIGZvbGlvIHdpbGwgYmUgY2xvc2VkIHdpdGggYW4gb3V0c3RhbmRpbmcgYW1vdW50IG9mIHtmb2xpb0R1ZUFtb3VudH0uIixncm91cF9zZXJ2aWNlczoiR3JvdXAgU2VydmljZXMiLGNoZWNrX291dF9ib29raW5nOiJDaGVjay1PdXQgQm9va2luZyIsYWRkaXRpb25hbF90ZXh0OiJBZGRpdGlvbmFsIFRleHQiLGFkZGl0aW9uYWxfdGV4dF9wbGFjZWhvbGRlcjoiRGlzcGxheWVkIG9uIHRoZSBpbnZvaWNlIixhZnRlcl9pbnZvaWNlX2NyZWF0aW9uOiJBZnRlciBJbnZvaWNlIENyZWF0aW9uIixhZnRlcl9pbnZvaWNlX2NyZWF0aW9uX2FsZXJ0OiJBZnRlciBJbnZvaWNlIENyZWF0aW9uIixyZWNpcGllbnQ6IlJlY2lwaWVudCJ9LGNvbmZpcm1fbW9kYWw6e2RlbGV0ZToiRGVsZXRlIn0sY29uZmlybV9tb2RhbF92aXJ0dWFsX3BheW1lbnQ6e3RpdGxlOiJWaXJ0dWFsIFBheW1lbnQiLGluZm9fdGV4dDoiVGhpcyBmb2xpbyBoYXMgcmVjb3JkZWQgYSB2aXJ0dWFsIHBheW1lbnQuIE1ha2Ugc3VyZSB5b3UgY2hhcmdlIHRoZSBjYXJkIGJlZm9yZSBjaGVja2luZyBvdXQgdGhlIGJvb2tpbmcuIixjb25maXJtOiJDaGVjayBPdXQifSxvcGVuX2ludm9pY2U6Ik9wZW4gSW52b2ljZSIsZG93bmxvYWRfcGRmOiJEb3dubG9hZCBQREYiLHNlbmRfZW1haWw6IlNlbmQgRW1haWwiLGJvb2tpbmdfZGF0ZToiQm9va2luZyBEYXRlIixxdWFudGl0eToiUXVhbnRpdHkiLG5hbWU6Ik5hbWUiLG5ldF9hbW91bnQ6Ik5ldCBBbW91bnQiLHRheDoiVGF4IixhbW91bnQ6IkFtb3VudCIsZ3Jvc3NfYW1vdW50OiJHcm9zcyBBbW91bnQiLHBheW1lbnRfbWV0aG9kOiJQYXltZW50IE1ldGhvZCIscmVmZXJlbmNlOiJSZWZlcmVuY2UiLGNvbmZpcm1fZGVsZXRlX3RpdGxlOiJEZWxldGUgU2VydmljZT8iLGNvbmZpcm1fZGVsZXRlX3RleHQ6IkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBzZXJ2aWNlPyBUaGlzIGNhbm5vdCBiZSB1bmRvbmUuIn0saW52b2ljZXM6e3RhYl90aXRsZToiSW52b2ljZXMifSxub3Rlczp7dGFiX3RpdGxlOiJOb3RlcyIsY3JlYXRlX25vdGU6IkFkZCBOb3RlIixjcmVhdGVfbm90ZV9wbGFjZWhvbGRlcjoiQWRkIGEgbm90ZS4uLiIsbm9fbm90ZXM6Ik5vIE5vdGVzIixjYW5jZWw6IkNhbmNlbCIsZGVsZXRlOiJEZWxldGUiLGRlbGV0ZV9ub3RlOiJEZWxldGUgTm90ZSIsZGVsZXRlX25vdGVfdGV4dDoiRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIG5vdGU/IFRoaXMgY2Fubm90IGJlIHVuZG9uZS4ifSxldmVudHM6e3RhYl90aXRsZToiRXZlbnRzIix0YWJsZTp7dHlwZToiRXZlbnRzIixpbmZvcm1hdGlvbnM6IkluZm9ybWF0aW9uIix1c2VyOiJVc2VyIixjcmVhdGVkX2F0OiJUaW1lIixyb29tOiJSb29tIixub19yb29tOiJObyBSb29tIixyYXRlOiJSYXRlIixjdXN0b21lcjoiQ3VzdG9tZXIiLG9jY3VwYW5jeToiR3Vlc3RzIixncm9zc19hbW91bnQ6IlRvdGFsIEFtb3VudCIscmVjaXBpZW50OiJSZWNpcGllbnQiLHRvdGFsX2Ftb3VudDoiSW52b2ljZSBBbW91bnQiLHBhaWRfYW1vdW50OiJQYWlkIEFtb3VudCIsZHVlX2Ftb3VudDoiT3V0c3RhbmRpbmcgQW1vdW50In19fX0sT0M9e2NvbnRhY3RzOiJDb250YWN0cyIsYWRkX2NvbnRhY3Q6IkFkZCBDb250YWN0IixlZGl0OiJFZGl0IixkZWxldGU6IkRlbGV0ZSIsdGFibGU6e3R5cGU6IlR5cGUiLG5hbWU6Ik5hbWUiLGVtYWlsOiJFbWFpbCIsY3JlYXRlZF9hdDoiQ3JlYXRlZCBPbiIsdXBkYXRlZF9hdDoiVXBkYXRlZCBPbiJ9LGRldGFpbDp7YWN0aW9uczoiQWN0aW9ucyIsZWRpdDoiRWRpdCIsZGVsZXRlOiJEZWxldGUiLGRlbGV0ZV9jb250YWN0OiJEZWxldGUgQ29udGFjdCIsZGVsZXRlX2NvbnRhY3RfaW5mbzoiVGhlIGNvbnRhY3Qgd2lsbCBiZSBkZWxldGVkLiBUaGlzIGFjdGlvbiBjYW5ub3QgYmUgdW5kb25lLiIsb3ZlcnZpZXc6e3RhYl90aXRsZToiT3ZlcnZpZXciLG5vdGVzOiJOb3RlcyIsbm90ZXNfZGViaXRvcjoiVGhlIGN1c3RvbWVyIGlzIG1hcmtlZCBhcyBhIGRlYnRvciwgYWxsb3dpbmcgY2hlY2staW4gd2l0aG91dCBwYXltZW50LiIsdHlwZToiVHlwZSIsbmFtZToiTmFtZSIsZW1haWw6IkVtYWlsIixwaG9uZToiUGhvbmUgTnVtYmVyIixkYXRlX29mX2JpcnRoOiJEYXRlIG9mIEJpcnRoIixuYXRpb25hbGl0eToiTmF0aW9uYWxpdHkiLGFkZHJlc3M6IkFkZHJlc3MiLGRlZmF1bHRfcmF0ZToiRGVmYXVsdCBSYXRlIixkb3dubG9hZDoiRG93bmxvYWQiLHVwbG9hZDoiVXBsb2FkIn0sZG9jdW1lbnRzOnt0YWJfdGl0bGU6IkRvY3VtZW50cyJ9LGJvb2tpbmdzOnt0YWJfdGl0bGU6IkJvb2tpbmdzIixhc19jdXN0b21lcjoiQXMgQ3VzdG9tZXIiLGFzX2d1ZXN0OiJBcyBHdWVzdCIsdGFibGU6e3N0YXR1czoiU3RhdHVzIixjb2RlOiJDb2RlIixjdXN0b21lcjoiQ3VzdG9tZXIiLGNoZWNrX2luOiJDaGVjay1JbiIsY2hlY2tfb3V0OiJDaGVjay1PdXQiLHJvb206IlJvb20ifX0saW52b2ljZXM6e3RhYl90aXRsZToiSW52b2ljZXMifSxub3Rlczp7dGFiX3RpdGxlOiJOb3RlcyJ9fX0sQ0M9e2dyb3VwczoiR3JvdXBzIixhZGRfZ3JvdXA6IkFkZCBHcm91cCIsdGFibGU6e25hbWU6Ik5hbWUiLGN1c3RvbWVyOiJDdXN0b21lciIsYm9va2luZ3M6IkJvb2tpbmdzIixjcmVhdGVkX2F0OiJDcmVhdGVkIE9uIn0sZGV0YWlsOntvdmVydmlldzp7dGFiX3RpdGxlOiJPdmVydmlldyIsbmFtZToiTmFtZSIsY3VzdG9tZXI6IkN1c3RvbWVyIixhbW91bnRfb2ZfYm9va2luZ3M6Ik51bWJlciBvZiBCb29raW5ncyIsYW1vdW50X29mX2d1ZXN0czoiTnVtYmVyIG9mIEd1ZXN0cyIsbnVtYmVyX29mX25pZ2h0czoiTnVtYmVyIG9mIE5pZ2h0cyIscm9vbXM6IlJvb21zIixlYXJsaWVzdF9jaGVja19pbjoiRWFybGllc3QgQ2hlY2stSW4iLGxhdGVzdF9jaGVja19vdXQ6IkxhdGVzdCBDaGVjay1PdXQiLGdyb3NzX2Ftb3VudDoiVG90YWwgQW1vdW50In0sYm9va2luZ3M6e3RhYl90aXRsZToiQm9va2luZ3MiLHRhYmxlOntjb2RlOiJDb2RlIixyb29tOiJSb29tIixzdGF0dXM6IlN0YXR1cyIsZ3Vlc3Q6Ikd1ZXN0IixjaGVja19pbjoiQ2hlY2stSW4iLGNoZWNrX291dDoiQ2hlY2stT3V0Iixncm9zc19hbW91bnQ6IlRvdGFsIEFtb3VudCIsZGVsZXRlOiJEZWxldGUiLGNvbmZpcm1fbW9kYWw6e3RpdGxlOiJSZWFsbHkgcmVtb3ZlPyIsdGV4dDoiVGhlIGJvb2tpbmcgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhpcyBncm91cCwgYnV0IHRoZSBib29raW5nIGl0c2VsZiB3aWxsIHJlbWFpbi4iLGRlbGV0ZToiUmVtb3ZlIn19LGFkZF9ib29raW5nOiJBZGQgQm9va2luZyIsb2tfY2FuY2VsX21vZGFsOnt0aXRsZToiQWRkIEJvb2tpbmciLGJvb2tpbmc6IkJvb2tpbmcifX0sZm9saW9zOnt0YWJfdGl0bGU6IkZvbGlvcyJ9LGludm9pY2VzOnt0YWJfdGl0bGU6Ikludm9pY2VzIn0sbm90ZXM6e3RhYl90aXRsZToiTm90ZXMifSxncm91cF9zbGlkZW92ZXI6e25ld19ncm91cDoiTmV3IEdyb3VwIixlZGl0X2dyb3VwOiJFZGl0IEdyb3VwIixlbnRlcl9kYXRhOiJQbGVhc2UgZW50ZXIgdGhlIHJlcXVpcmVkIGRhdGEuIixzYXZlX2dyb3VwOiJTYXZlIEdyb3VwIixjYW5jZWw6IkNhbmNlbCIsbmFtZToiTmFtZSIsY3VzdG9tZXI6IkN1c3RvbWVyIn19LGdyb3VwX2NvbmZpcm1hdGlvbl9tb2RhbDp7ZG93bmxvYWRfY29uZmlybWF0aW9uOiJEb3dubG9hZCBDb25maXJtYXRpb24iLGRvd25sb2FkOiJEb3dubG9hZCIscHJpbnRfcmF0ZToiUHJpbnQgUmF0ZSIscHJpbnRfcmF0ZV9pbmZvOiJBZGRpdGlvbmFsbHkgcHJpbnQgdGhlIHJhdGUgaW5jbHVkaW5nIHByaWNlIHBlciBuaWdodCBpbiB0aGUgY29uZmlybWF0aW9uLiJ9fSxQQz17aW52b2ljZXM6Ikludm9pY2VzIixjcmVhdGVfaW52b2ljZToiQ3JlYXRlIEludm9pY2UiLHRhYmxlOntzdGF0dXM6IlN0YXR1cyIsbnVtYmVyOiJOdW1iZXIiLGN1c3RvbWVyOiJDdXN0b21lciIsY3JlYXRlZF9hdDoiQ3JlYXRlZCBPbiIsdG90YWxfYW1vdW50OiJJbnZvaWNlIEFtb3VudCIscGFpZF9hbW91bnQ6IlBhaWQgQW1vdW50IixkdWVfYW1vdW50OiJEdWUgQW1vdW50In0sb2tfY2FuY2VsX21vZGFsOntwYXlfaW52b2ljZToiUGF5IEludm9pY2UiLG1hcmtfYXNfcGFpZDoiTWFyayBhcyBQYWlkIixwYXJ0aWFsX3BheW1lbnQ6IlJlY29yZCBQYXJ0aWFsIFBheW1lbnQiLG51bWJlcjoiTnVtYmVyIixjdXN0b21lcjoiQ3VzdG9tZXIiLHRvdGFsX2Ftb3VudDoiSW52b2ljZSBBbW91bnQiLGR1ZV9hbW91bnQ6Ik91dHN0YW5kaW5nIEFtb3VudCIscGF5bWVudF9hbW91bnQ6IlBheW1lbnQgQW1vdW50IixwYXltZW50X21ldGhvZDoiUGF5bWVudCBNZXRob2QiLHJlZmVyZW5jZToiUmVmZXJlbmNlIixyZWZlcmVuY2VfcGxhY2Vob2xkZXI6ImUuZy4sIGJhbmsgcmVjZWlwdCAob3B0aW9uYWwpIn0sY29uZmlybV9jYW5jZWxfbW9kYWw6e3RpdGxlOiJSZWFsbHkgY2FuY2VsPyIsdGV4dDoiVGhlIGludm9pY2Ugd2lsbCBiZSBjYW5jZWxlZCwgYW5kIGEgY2FuY2VsbGF0aW9uIGludm9pY2Ugd2lsbCBiZSBpc3N1ZWQuIFRoZSBmb2xpbyB3aWxsIGJlIHJlb3BlbmVkLiIsYnV0dG9uX3RleHQ6IkNhbmNlbCJ9LGNvbmZpcm1fZGVsZXRlX21vZGFsOnt0aXRsZToiRGVsZXRlIEludm9pY2UgRHJhZnQiLHRleHQ6IlRoZSBpbnZvaWNlIGRyYWZ0IHdpbGwgYmUgZGVsZXRlZC4gVGhpcyBhY3Rpb24gY2Fubm90IGJlIHVuZG9uZS4iLGJ1dHRvbl90ZXh0OiJEZWxldGUifSxkZXRhaWw6e25ld19pbnZvaWNlOiJOZXcgSW52b2ljZSIsaW52b2ljZToiSW52b2ljZSIsY3VzdG9tZXI6IkN1c3RvbWVyIn19LElDPXtyb29tX2xvY2tzOiJSb29tIExvY2tzIixjcmVhdGVfcm9vbV9sb2NrOiJBZGQgUm9vbSBMb2NrIixjb25maXJtX2RlbGV0ZToiUmVhbGx5IGRlbGV0ZT8iLGNvbmZpcm1fZGVsZXRlX3RleHQ6IkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhlIHJvb20gbG9jayBmb3Igcm9vbSB7cm9vbU51bWJlcn0sIHBlcmlvZCB7c3RhcnR9IC0ge2VuZH0/IixkZWxldGU6IkRlbGV0ZSIsdGFibGU6e3Jvb206IlJvb20iLHN0YXJ0OiJTdGFydCIsZW5kOiJFbmQiLHJlYXNvbjoiUmVhc29uIixzdGF0dXNfYWZ0ZXJfc3RhcnQ6IlN0YXR1cyBBZnRlciBTdGFydCIsc3RhdHVzX2FmdGVyX2VuZDoiU3RhdHVzIEFmdGVyIEVuZCJ9LHJvb21fbG9ja3Nfc2xpZGVvdmVyOntjcmVhdGVfcm9vbV9sb2NrOiJOZXcgUm9vbSBMb2NrIixlZGl0X3Jvb21fbG9jazoiRWRpdCBSb29tIExvY2siLGVudGVyX2RhdGE6IlBsZWFzZSBlbnRlciB0aGUgcmVxdWlyZWQgZGF0YS4iLHJvb206IlJvb20iLHJlYXNvbjoiUmVhc29uIixzdGFydDoiU3RhcnQiLGVuZDoiRW5kIixzdGF0dXNfYWZ0ZXJfc3RhcnQ6IlN0YXR1cyBBZnRlciBTdGFydCIsc3RhdHVzX2FmdGVyX2VuZDoiU3RhdHVzIEFmdGVyIEVuZCIsc2F2ZToiU2F2ZSBSb29tIExvY2siLGNhbmNlbDoiQ2FuY2VsIn19LE5DPXtob3VzZWhvbGQ6IkhvdXNla2VlcGluZyIsb3ZlcnZpZXc6Ik92ZXJ2aWV3IixjaGVja19pbnNfdG9kYXk6IkNoZWNrLUlucyBUb2RheSIsY2hlY2tfb3V0c190b2RheToiQ2hlY2stT3V0cyBUb2RheSIsc3RheWVyc190b2RheToiU3RheWVycyBUb2RheSIsb3V0X29mX3NlcnZpY2U6Ik91dCBvZiBTZXJ2aWNlIixjaGVja19pbjoiQ2hlY2stSW4iLGNoZWNrX291dDoiQ2hlY2stT3V0IixzdGF5ZXJzOiJTdGF5ZXJzIixyb29tX2xvY2tlZDoiUm9vbSBMb2NrZWQiLHJvb21fY2xlYW46e3Jvb206IlJvb20iLGNsZWFuaW5nX3F1ZXN0aW9uOiJXb3VsZCB5b3UgbGlrZSB0byBzZXQgdGhlIHJvb20gdG8gJ0NsZWFuJz8iLGNsZWFuaW5nX2NvbmZpcm1lZDoiVGhlIHJvb20gaGFzIGJlZW4gc2V0IHRvICdDbGVhbicuIixjbGVhbmluZ19jb25maXJtZWRfYnV0dG9uOiJZZXMsIHRoZSByb29tIGlzIGNsZWFuIixnb190b19ob3VzZWtlZXBpbmc6IkdvIHRvIEhvdXNla2VlcGluZyBMaXN0Iixyb29tX25vdF9mb3VuZDoiUm9vbSBub3QgZm91bmQuIixyb29tc19ub3RfbG9hZGVkOiJUaGUgcm9vbXMgY291bGQgbm90IGJlIGxvYWRlZC4iLHJvb21fc3RhdHVzX3VwZGF0ZV9mYWlsZWQ6IlRoZSByb29tIHN0YXR1cyBjb3VsZCBub3QgYmUgdXBkYXRlZC4ifX0sUkM9e3JlcG9ydHM6IlJlcG9ydHMiLGl0ZW1zOntpdGVtczoiSXRlbXMiLGl0ZW1zX2Rlc2NyaXB0aW9uOiJQcm92aWRlcyB0aGUgaXRlbXMgZm9yIHRoZSBzZWxlY3RlZCBwZXJpb2QuIixncm91cF9ieTp7Z3JvdXBfYnk6Ikdyb3VwIEJ5Iixncm91cGVkX2J5OiJncm91cGVkIGJ5Iixyb29tczoiUm9vbXMifSxpdGVtX3R5cGU6Ikl0ZW0gVHlwZSIscXVlcnk6IlF1ZXJ5IixzaG93X2l0ZW1zX29mX3R5cGU6IlNob3cgaXRlbXMgb2YgdHlwZSIsaW5fcGVyaW9kOiJpbiB0aGUgcGVyaW9kIix0YWJsZTp7cm9vbToiUm9vbSIsaXRlbToiSXRlbSIscXVhbnRpdHk6IlF1YW50aXR5IixjdXN0b21lcjoiQ3VzdG9tZXIiLG5hbWVzOiJOYW1lKHMpIixub19yb29tOiJObyBSb29tIixzdW06IlRvdGFsIn19LGZpbmFuY2lhbF9hY2NvdW50aW5nOntmaW5hbmNpYWxfYWNjb3VudGluZzoiRmluYW5jaWFsIEFjY291bnRpbmciLGZpbmFuY2lhbF9hY2NvdW50aW5nX2Rlc2NyaXB0aW9uOiJQcm92aWRlcyBhbGwgc2VydmljZXMgYW5kIGN1c3RvbWVycyBmcm9tIGludm9pY2VzIGluIHRoZSBzZWxlY3RlZCBwZXJpb2QuIixpbnRlcmZhY2VfZm9ybWF0OiJJbnRlcmZhY2UvRm9ybWF0Iixkb3dubG9hZDoiRG93bmxvYWQifSxuYXRpb25hbGl0eV9zdGF0aXN0aWNzOntuYXRpb25hbGl0eV9zdGF0aXN0aWNzOiJOYXRpb25hbGl0eSBTdGF0aXN0aWNzIixuYXRpb25hbGl0eV9zdGF0aXN0aWNzX2Rlc2NyaXB0aW9uOiJQcm92aWRlcyB0aGUgbmF0aW9uYWxpdHkgc3RhdGlzdGljcyBmb3IgdGhlIHNlbGVjdGVkIHBlcmlvZC4iLGRvd25sb2FkOiJEb3dubG9hZCJ9fSxEQz17cHJvcGVydHk6e3Byb3BlcnR5OiJQcm9wZXJ0eSIsZ2VuZXJhbDp7bG9nbzp7bG9nbzoiTG9nbyIsdXBsb2FkOiJVcGxvYWQiLGRlbGV0ZToiRGVsZXRlIn0sZ2VuZXJhbDoiR2VuZXJhbCIsbmFtZToiTmFtZSIsc2x1ZzoiU2x1ZyIsY2hlY2tfaW5fdGltZToiQ2hlY2stSW4gVGltZSIsY2hlY2tfb3V0X3RpbWU6IkNoZWNrLU91dCBUaW1lIn0sYWRkcmVzczp7YWRkcmVzczoiQWRkcmVzcyIsYWRkcmVzc19saW5lXzE6IkFkZHJlc3MgTGluZSAxIixhZGRyZXNzX2xpbmVfMjoiQWRkcmVzcyBMaW5lIDIiLHBvc3RhbF9jb2RlOiJQb3N0YWwgQ29kZSIsY2l0eToiQ2l0eSIsc3RhdGU6IlN0YXRlIixjb3VudHJ5OiJDb3VudHJ5Iixjb3VudHJpZXM6e2F1c3RyaWE6IkF1c3RyaWEiLGdlcm1hbnk6Ikdlcm1hbnkiLHN3aXR6ZXJsYW5kOiJTd2l0emVybGFuZCJ9fSxjb250YWN0Ontjb250YWN0OiJDb250YWN0IixlbWFpbDoiRW1haWwiLHBob25lOiJQaG9uZSBOdW1iZXIiLHdlYnNpdGU6IldlYnNpdGUifSxiYW5rX2RldGFpbHM6e2JhbmtfZGV0YWlsczoiQmFuayBEZXRhaWxzIixuYW1lOiJOYW1lIixpYmFuOiJJQkFOIixiaWM6IkJJQyJ9LGNvbXBhbnk6e2NvbXBhbnk6IkNvbXBhbnkiLG5hbWU6Ik5hbWUiLG1hbmFnaW5nX2RpcmVjdG9yOiJNYW5hZ2luZyBEaXJlY3RvciIsY29tcGFueV9yZWdpc3Rlcl9udW1iZXI6IkNvbXBhbnkgUmVnaXN0ZXIgTnVtYmVyIix0YXhfbnVtYmVyOiJUYXggTnVtYmVyIix2YXRfbnVtYmVyOiJWQVQgTnVtYmVyIixjb3N0X2NlbnRlcjoiQ29zdCBDZW50ZXIifSxib29raW5nczp7Ym9va2luZ3M6IkJvb2tpbmdzIixpbmZvX3RleHQ6IkRlZmluZSB5b3VyIGRlc2lyZWQgYm9va2luZyBjb2RlIGhlcmUuIFRoZSBib29raW5nIGNvZGUgY29uc2lzdHMgb2YgYSA1LWRpZ2l0IHJhbmRvbSBudW1iZXIgYW5kIGEgcHJlZml4IGFuZCBwb3N0Zml4IChvcHRpb25hbCkuIEN1cnJlbnRseSwgdGhlIGJvb2tpbmcgY29kZSBsb29rcyBsaWtlIHRoaXMgKGNoYW5nZSB0aGUgcHJlZml4IG9yIHN1ZmZpeCB0byBzZWUgY2hhbmdlcyk6IixwcmVmaXg6IlByZWZpeCIscHJlZml4X3BsYWNlaG9sZGVyOiJlLmcuLCBWSS0sIGlmIHlvdXIgaG90ZWwgaXMgaW4gVmllbm5hIixzdWZmaXg6IlN1ZmZpeCIsc3VmZml4X3BsYWNlaG9sZGVyOiJlLmcuLCAtVkksIGlmIHlvdXIgaG90ZWwgaXMgaW4gVmllbm5hIn0saW52b2ljZXM6e2ludm9pY2VzOiJJbnZvaWNlcyIscHJlZml4OiJQcmVmaXgiLHByZWZpeF9wbGFjZWhvbGRlcjoiZS5nLiwgUkV5eXl5IixuZXh0X2ludm9pY2VfbnVtYmVyOiJOZXh0IE51bWJlciJ9LHNhdmU6IlNhdmUiLHNhdmVfc3VjY2VzczoiUHJvcGVydHkgZGF0YSBoYXMgYmVlbiBzYXZlZC4ifSxyb29tX3R5cGVzOntyb29tX3R5cGVzOiJSb29tIFR5cGVzIixhZGRfcm9vbV90eXBlOiJBZGQgUm9vbSBUeXBlIix0YWJsZTp7bmFtZToiTmFtZSIsY29kZToiQ29kZSIsbWF4X29jY3VwYW5jeToiTWF4aW11bSBPY2N1cGFuY3kifSxkZXRhaWw6e25ld19yb29tdHlwZToiTmV3IFJvb20gVHlwZSIsc2F2ZToiU2F2ZSIsZGVsZXRlOiJEZWxldGUiLG5hbWU6Ik5hbWUiLG5hbWVfcGxhY2Vob2xkZXI6ImUuZy4sIEJ1bmsgQmVkIFJvb20iLGNvZGU6IkNvZGUiLGNvZGVfcGxhY2Vob2xkZXI6ImUuZy4sIEJCUiIsZXh0ZXJuYWxfaWQ6IkV4dGVybmFsIElEIixkZWZhdWx0X29jY3VwYW5jeToiRGVmYXVsdCBPY2N1cGFuY3kiLGRlZmF1bHRfb2NjdXBhbmN5X3BsYWNlaG9sZGVyOiJlLmcuLCAxIixtaW5fb2NjdXBhbmN5OiJNaW5pbXVtIE9jY3VwYW5jeSIsbWluX29jY3VwYW5jeV9wbGFjZWhvbGRlcjoiZS5nLiwgMSIsbWF4X29jY3VwYW5jeToiTWF4aW11bSBPY2N1cGFuY3kiLG1heF9vY2N1cGFuY3lfcGxhY2Vob2xkZXI6ImUuZy4sIDEifX0scm9vbXM6e3Jvb21zOiJSb29tcyIsY3JlYXRlX3Jvb206IkFkZCBSb29tIix0YWJsZTp7bnVtYmVyOiJOdW1iZXIiLHJvb21fdHlwZToiUm9vbSBUeXBlIn0sZGV0YWlsOntjcmVhdGVfcm9vbToiTmV3IFJvb20iLHNhdmU6IlNhdmUiLGRlbGV0ZToiRGVsZXRlIixyb29tOiJSb29tIixudW1iZXI6Ik51bWJlciIsbnVtYmVyX3BsYWNlaG9sZGVyOiJlLmcuLCAxMDEgb3IgMTAxLTExMCAoY3JlYXRlIGFsbCByb29tcyBpbiB0aGlzIHJhbmdlKSIscm9vbV90eXBlOiJSb29tIFR5cGUifX0sdGF4X3JhdGVzOnt0YXhfcmF0ZXM6IlRheCBSYXRlcyIsY3JlYXRlX3RheF9yYXRlOiJBZGQgVGF4IFJhdGUiLHRhYmxlOntuYW1lOiJOYW1lIixwZXJjZW50YWdlOiJQZXJjZW50YWdlIixkZWxldGU6IkRlbGV0ZSJ9LGRldGFpbDp7dGF4X3JhdGU6IlRheCBSYXRlIixuZXdfdGF4X3JhdGU6Ik5ldyBUYXggUmF0ZSIsc2F2ZToiU2F2ZSIsZGVsZXRlOiJEZWxldGUiLG5hbWU6Ik5hbWUiLG5hbWVfcGxhY2Vob2xkZXI6ImUuZy4sIFZBVCBBdXN0cmlhIixwZXJjZW50YWdlOiJQZXJjZW50YWdlIixwZXJjZW50YWdlX3BsYWNlaG9sZGVyOiJlLmcuLCAxMCIsYWNjb3VudF9udW1iZXI6IkFjY291bnQgTnVtYmVyIixhY2NvdW50X251bWJlcl9wbGFjZWhvbGRlcjoiT3B0aW9uYWwgUCZMIGFjY291bnQgbnVtYmVyIChmb3IgZmluYW5jaWFsIGFjY291bnRpbmcsIGUuZy4sIDIzMDEpIix0YXhfY29kZToiVGF4IENvZGUiLHRheF9jb2RlX3BsYWNlaG9sZGVyOiJPcHRpb25hbCB0YXggY29kZSAoZm9yIGZpbmFuY2lhbCBhY2NvdW50aW5nLCBlLmcuLCAxKSJ9fSxpdGVtczp7aXRlbXM6Ikl0ZW1zIixjcmVhdGVfaXRlbToiQWRkIEl0ZW0iLGRlbGV0ZToiRGVsZXRlIix0YWJsZTp7c3RhdHVzOiJTdGF0dXMiLG5hbWU6Ik5hbWUiLGFtb3VudDoiUHJpY2UiLHRheF9yYXRlOiJUYXggUmF0ZSJ9LGRldGFpbDp7aXRlbToiSXRlbSIsY3JlYXRlX2l0ZW06Ik5ldyBJdGVtIixzYXZlOiJTYXZlIixkZWxldGU6IkRlbGV0ZSIsbmFtZToiTmFtZSIsbmFtZV9wbGFjZWhvbGRlcjoiZS5nLiwgQnJlYWtmYXN0IixhY3RpdmU6IkFjdGl2ZSIsYm9va19vbl9mb2xsb3dpbmdfZGF5OiJCb29rIG9uIEZvbGxvd2luZyBEYXkiLGJvb2tpbmdfdGV4dDoiQm9va2luZyBUZXh0Iixib29raW5nX3RleHRfcGxhY2Vob2xkZXI6Ik9wdGlvbmFsIChlLmcuLCBCcmVha2Zhc3QgLSBpZiBlbXB0eSwgdGhlIG5hbWUgaXMgdXNlZCkiLHR5cGU6IlR5cGUiLGFtb3VudDoiUHJpY2UiLHZpcnR1YWxfaXRlbV93aXRob3V0X3ByaWNlOiJUaGUgb3Zlcm5pZ2h0IGl0ZW0gaXMgdmlydHVhbCBhbmQgaGFzIG5vIGZpeGVkIHByaWNlLiIsdGF4X3JhdGU6IlRheCBSYXRlIixhY2NvdW50X251bWJlcjoiQWNjb3VudCBOdW1iZXIiLGFjY291bnRfbnVtYmVyX3BsYWNlaG9sZGVyOiJPcHRpb25hbCBQJkwgYWNjb3VudCBudW1iZXIgKGZvciBmaW5hbmNpYWwgYWNjb3VudGluZywgZS5nLiwgMzIwMSkiLGV4dGVybmFsX2lkOiJFeHRlcm5hbCBJRCIsZXh0ZXJuYWxfaWRfcGxhY2Vob2xkZXI6Ik9wdGlvbmFsIChmb3IgQ2hhbm5lbCBNYW5hZ2VyKSJ9fSxwYXltZW50X21ldGhvZHM6e3BheW1lbnRfbWV0aG9kczoiUGF5bWVudCBNZXRob2RzIixjcmVhdGVfcGF5bWVudF9tZXRob2Q6IkFkZCBQYXltZW50IE1ldGhvZCIsdGFibGU6e25hbWU6Ik5hbWUifSxzYXZlOiJTYXZlIixkZWxldGU6IkRlbGV0ZSIsZGV0YWlsOntwYXltZW50X21ldGhvZDoiUGF5bWVudCBNZXRob2QiLGNyZWF0ZV9wYXltZW50X21ldGhvZDoiTmV3IFBheW1lbnQgTWV0aG9kIixuYW1lOiJOYW1lIixuYW1lX3BsYWNlaG9sZGVyOiJlLmcuLCBNYXN0ZXJjYXJkIixib29raW5nX3RleHQ6IkJvb2tpbmcgVGV4dCIsYm9va2luZ190ZXh0X3BsYWNlaG9sZGVyOiJlLmcuLCBNQVNURVIiLGFjY291bnRfbnVtYmVyOiJBY2NvdW50IE51bWJlciIsYWNjb3VudF9udW1iZXJfcGxhY2Vob2xkZXI6Ik9wdGlvbmFsIFAmTCBhY2NvdW50IG51bWJlciAoZm9yIGZpbmFuY2lhbCBhY2NvdW50aW5nLCBlLmcuLCAyMzAxKSJ9fSxyYXRlczp7cmF0ZXM6IlJhdGVzIixzeW5jX3JhdGVzOiJTeW5jIFJhdGVzIixzeW5jX3JhdGVzX3N1Y2Nlc3M6IlRoZSByYXRlcyBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IHN5bmNocm9uaXplZC4iLGNyZWF0ZV9yYXRlOiJBZGQgUmF0ZSIsc3RhbmRhcmQ6IlN0YW5kYXJkIixzYXZlOiJTYXZlIixkZWxldGU6IkRlbGV0ZSIsdGFibGU6e3N0YXR1czoiU3RhdHVzIixuYW1lOiJOYW1lIixjb2RlOiJDb2RlIn0sZGV0YWlsOntyYXRlOiJSYXRlIixjcmVhdGVfcmF0ZToiTmV3IFJhdGUiLGFjdGl2ZToiQWN0aXZlIixzdGFuZGFyZDoiU3RhbmRhcmQiLG5hbWU6Ik5hbWUiLG5hbWVfcGxhY2Vob2xkZXI6ImUuZy4sIEJhc2UgUHJpY2UiLGNvZGU6IkNvZGUiLGNvZGVfcGxhY2Vob2xkZXI6ImUuZy4sIEJBU0UiLGV4dGVybmFsX2lkOiJFeHRlcm5hbCBJRCIsZXh0ZXJuYWxfaWRfcGxhY2Vob2xkZXI6Ik9wdGlvbmFsIChmb3IgQ2hhbm5lbCBNYW5hZ2VyKSIscHJpY2U6e3ByaWNlOiJQcmljZSIsY3JlYXRlX3ByaWNlOiJBZGQgUHJpY2UiLHRhYmxlOntyb29tX3R5cGU6IlJvb20gVHlwZSIsb2NjdXBhbmN5OiJPY2N1cGFuY3kiLGFtb3VudDoiUHJpY2UiLGVkaXQ6IkVkaXQiLG5vX3ByaWNlczoiTm8gUHJpY2VzIn0sY2FuY2VsOiJDYW5jZWwiLG1vZGFsX2RlbGV0ZTp7dGl0bGU6IkRlbGV0ZSBQcmljZT8iLHRleHRfcHJpY2U6IlRoZSBwcmljZSB7Z3Jvc3NBbW91bnR9IGZvciB0aGUgcm9vbSB0eXBlIHtyb29tVHlwZX0gd2l0aCB0aGUgb2NjdXBhbmN5IHtvY2N1cGFuY3l9IHdpbGwgYmUgZGVsZXRlZCBhbmQgY2FuIG5vIGxvbmdlciBiZSBib29rZWQuIix0ZXh0X2l0ZW06IlRoZSBpdGVtIHtpdGVtTmFtZX0gd2lsbCBiZSBkZWxldGVkIGFuZCB3aWxsIG5vIGxvbmdlciBiZSBib29rZWQuIixidXR0b25fdGV4dDoiRGVsZXRlIn19LGl0ZW1zOntpdGVtczoiSXRlbXMiLGl0ZW06Ikl0ZW0iLGNyZWF0ZV9pdGVtOiJBZGQgSXRlbSIsdGFibGU6e25hbWU6Ik5hbWUiLHR5cGU6IlR5cGUiLGJvb2tfcGVyOiJCb29rIFBlciIsYm9va2luZ19mcmVxdWVuY3k6IkJvb2tpbmcgRnJlcXVlbmN5IixhbW91bnQ6IlByaWNlIixlZGl0OiJFZGl0Iix2aXJ0dWFsOiJWaXJ0dWFsIixub19pdGVtczoiTm8gSXRlbXMifSxpbmNsdXNpdmVfc2VydmljZToiSW5jbHVzaXZlIFNlcnZpY2UiLGFkZGl0aW9uYWxfc2VydmljZToiQWRkaXRpb25hbCBTZXJ2aWNlIixjYW5jZWw6IkNhbmNlbCIsbW9kYWxfZGVsZXRlOnt0aXRsZToiRGVsZXRlIEl0ZW0/Iix0ZXh0OiJUaGUgaXRlbSB7aXRlbU5hbWV9IHdpbGwgYmUgZGVsZXRlZCBhbmQgd2lsbCBubyBsb25nZXIgYmUgYm9va2VkLiIsYnV0dG9uX3RleHQ6IkRlbGV0ZSJ9fX19fSxNQz17c2VhcmNoX21vZGFsOntpbnB1dF9wbGFjZWhvbGRlcjoiRW50ZXIgc2VhcmNoIHRlcm0uLi4iLG5vX3Jlc3VsdHM6Ik5vIFJlc3VsdHMiLHRyeV9hbm90aGVyX3NlYXJjaF90ZXJtOiJQbGVhc2UgdHJ5IGFub3RoZXIgc2VhcmNoIHRlcm0uIn19LExDPXtzZXR0aW5nczoiU2V0dGluZ3MiLGdlbmVyYWw6e2dlbmVyYWw6IkdlbmVyYWwiLGNhY2hlOiJDYWNoZSIsY2FjaGVfaW5mb190ZXh0OiJGb3IgcGVyZm9ybWFuY2UgcmVhc29ucywgYmFzZSBkYXRhIGlzIGNhY2hlZCBsb2NhbGx5LiBJZiB5b3VyIGRhdGEgKHJvb20gdHlwZXMsIHJvb21zLCB0YXggcmF0ZXMsIGV0Yy4pIGlzIG5vdCB1cCB0byBkYXRlLCB5b3UgY2FuIHJlbG9hZCB0aGVtIGludG8gdGhlIGNhY2hlIGhlcmUuIixjYWNoZV9zYXZlX3N1Y2VzczoiVGhlIGNhY2hlIGhhcyBiZWVuIHJlbG9hZGVkLiIsY2FjaGVfcmVsb2FkOiJSZWxvYWQgQ2FjaGUiLGNvbmZpcm1hdGlvbl9lbWFpbDoiQ29uZmlybWF0aW9uIEVtYWlsIixjb25maXJtYXRpb25fZW1haWxfaW5mb190ZXh0OiJDb25maWd1cmUgdGhlIHN1YmplY3QgYW5kIHRleHQgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCB0aGF0IGNhbiBiZSBhdXRvbWF0aWNhbGx5IHNlbnQgdG8gdGhlIGN1c3RvbWVyLiIsY29uZmlybWF0aW9uX2VtYWlsX3Jlc2V0X3RpdGxlOiJSZXNldCBDb25maXJtYXRpb24gRW1haWwiLGNvbmZpcm1hdGlvbl9lbWFpbF9yZXNldF90ZXh0OiJTdWJqZWN0IGFuZCB0ZXh0IHdpbGwgYmUgcmVzZXQgdG8gZGVmYXVsdCB2YWx1ZXMuIEN1cnJlbnQgc2V0dGluZ3MgY2Fubm90IGJlIHJlc3RvcmVkLiBQcm9jZWVkPyIsc3ViamVjdDoiU3ViamVjdCIsdGV4dDoiVGV4dCIsaW52b2ljZV9lbWFpbDoiSW52b2ljZSBFbWFpbCIsaW52b2ljZV9lbWFpbF9pbmZvX3RleHQ6IkNvbmZpZ3VyZSB0aGUgc3ViamVjdCBhbmQgdGV4dCBvZiB0aGUgaW52b2ljZSBlbWFpbCB0aGF0IGNhbiBiZSBhdXRvbWF0aWNhbGx5IHNlbnQgdG8gdGhlIGN1c3RvbWVyLiIsaW52b2ljZV9lbWFpbF9yZXNldF90aXRsZToiUmVzZXQgSW52b2ljZSBFbWFpbCIsaW52b2ljZV9lbWFpbF9yZXNldF90ZXh0OiJTdWJqZWN0IGFuZCB0ZXh0IHdpbGwgYmUgcmVzZXQgdG8gZGVmYXVsdCB2YWx1ZXMuIEN1cnJlbnQgc2V0dGluZ3MgY2Fubm90IGJlIHJlc3RvcmVkLiBQcm9jZWVkPyIscmVzZXQ6IlJlc2V0IixzYXZlOiJTYXZlIixkZWxldGU6IkRlbGV0ZSIsc2V0dGluZ3Nfc2F2ZV9zdWNjZXNzOiJTZXR0aW5ncyBoYXZlIGJlZW4gc2F2ZWQiLHNldHRpbmdzX3NhdmVfZXJyb3I6IlNldHRpbmdzIGNvdWxkIG5vdCBiZSBzYXZlZCJ9LHRlYW06e3RlYW06IlRlYW0iLGNyZWF0ZV91c2VyOiJBZGQgVXNlciIsZGVsZXRlX3VzZXI6IlJlbW92ZSBVc2VyIixkZWxldGVfdXNlcl9pbmZvX3RleHQ6IlRoZSB1c2VyIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSB0ZWFtIGFuZCB3aWxsIG5vIGxvbmdlciBiZSBhYmxlIHRvIGxvZyBpbi4iLGRlbGV0ZToiUmVtb3ZlIix0YWJsZTp7ZW1haWw6IkVtYWlsIixuYW1lOiJOYW1lIixyb2xlOiJSb2xlIixjcmVhdGVkX2F0OiJDcmVhdGVkIix5b3U6IllvdSIsZGVsZXRlOiJEZWxldGUifSxkZWZhdWx0X3Bhc3N3b3JkOiJUaGUgZGVmYXVsdCBwYXNzd29yZCBpcyIsZGVmYXVsdF9wYXNzd29yZF9pbmZvX3RleHQ6IkFzayB0aGUgdXNlciB0byBjaGFuZ2UgdGhlIHBhc3N3b3JkIGFmdGVyIHRoZSBmaXJzdCBsb2dpbi4ifSxicmFuZGluZzp7YnJhbmRpbmc6IkJyYW5kaW5nIix1cGxvYWQ6IlVwbG9hZCIsbG9nbzoiTG9nbyIscHJpbWFyeV9jb2xvcjoiUHJpbWFyeSBDb2xvciJ9LGNvbmZpZ3VyYXRpb246e2NvbmZpZ3VyYXRpb246IkNvbmZpZ3VyYXRpb24iLGRlc2NyaXB0aW9uOiJDaG9vc2Ugd2hpY2ggZmllbGRzIGFyZSBzaG93biBvbiB0aGUgY2hlY2staW4gZm9ybSBhbmQgd2hpY2ggYXJlIHJlcXVpcmVkIOKAlCBzZXBhcmF0ZWx5IGZvciB0aGUgbWFpbiBndWVzdCBhbmQgYWRkaXRpb25hbCBndWVzdHMuIixjb2xsZWN0X2FkZGl0aW9uYWxfZ3Vlc3RzOiJDb2xsZWN0IGRhdGEgZnJvbSBhZGRpdGlvbmFsIGd1ZXN0cyIsY29sbGVjdF9hZGRpdGlvbmFsX2d1ZXN0c19oaW50OiJXaGVuIGRpc2FibGVkLCBvbmx5IHRoZSBtYWluIGd1ZXN0IGhhcyB0byBmaWxsIGluIHRoZSBmb3JtLiIsZmllbGQ6IkZpZWxkIixtYWluX2d1ZXN0OiJNYWluIGd1ZXN0IixhZGRpdGlvbmFsX2d1ZXN0czoiQWRkaXRpb25hbCBndWVzdHMiLHNob3c6IlNob3ciLHJlcXVpcmVkOiJSZXF1aXJlZCIsZmllbGRzOntuYW1lOiJOYW1lIixlbWFpbDoiRW1haWwiLHBob25lOiJQaG9uZSIsZGF0ZU9mQmlydGg6IkRhdGUgb2YgYmlydGgiLGxpbmUxOiJTdHJlZXQiLHBvc3RhbENvZGU6IlBvc3RhbCBjb2RlIixjaXR5OiJDaXR5Iixjb3VudHJ5OiJDb3VudHJ5IixuYXRpb25hbGl0eToiTmF0aW9uYWxpdHkiLGRvY3VtZW50czoiRG9jdW1lbnRzIn19LGFkdmFuY2VkOnthZHZhbmNlZDoiQWR2YW5jZWQiLHRhYmxlOntrZXk6IktleSIsdmFsdWU6IlZhbHVlIixzZWNyZXQ6IlNlY3JldCIsY3JlYXRlZF9hdDoiQ3JlYXRlZCBhdCJ9LGNvbmZpcm1fZGVsZXRlX3RleHQ6IkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBzZXR0aW5nPyBUaGlzIGNhbm5vdCBiZSB1bmRvbmUuIixjcmVhdGVfc2V0dGluZzoiQWRkIFNldHRpbmciLGVkaXRfc2V0dGluZzoiRWRpdCBTZXR0aW5nIixzYXZlOiJTYXZlIn0sdXNlcnM6e3VzZXJzOiJUZWFtIixhZGRfdXNlcjoiQWRkIFVzZXIiLHJlbW92ZV91c2VyOiJSZW1vdmUgVXNlciIsY29uZmlybV9kZWxldGVfdGV4dDoiRG8geW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSB0aGlzIHVzZXIgZnJvbSB0aGlzIHByb3BlcnR5PyIsZGVmYXVsdF9wYXNzd29yZF9oaW50OidOZXcgdXNlcnMgcmVjZWl2ZSB0aGUgZGVmYXVsdCBwYXNzd29yZCAiITFKYWNrPTAiIGFuZCBzaG91bGQgY2hhbmdlIGl0IGFmdGVyIHRoZWlyIGZpcnN0IGxvZ2luLicsdGFibGU6e2VtYWlsOiJFbWFpbCIsbmFtZToiTmFtZSIscm9sZToiUm9sZSJ9LHJvbGU6e2FkbWluaXN0cmF0b3I6IkFkbWluaXN0cmF0b3IiLG1hbmFnZXI6Ik1hbmFnZXIiLHN0YWZmOiJTdGFmZiJ9fX0sRkM9e3Byb2ZpbGU6IlByb2ZpbGUiLHBhc3N3b3JkOiJQYXNzd29yZCIsY2hhbmdlX3Bhc3N3b3JkOiJDaGFuZ2UgUGFzc3dvcmQiLGN1cnJlbnRfcGFzc3dvcmQ6IkN1cnJlbnQgUGFzc3dvcmQiLG5ld19wYXNzd29yZDoiTmV3IFBhc3N3b3JkIixuZXdfcGFzc3dvcmRfcmVwZWF0OiJSZXBlYXQgTmV3IFBhc3N3b3JkIixwYXNzd29yZF9jaGFuZ2VkX3N1Y2Nlc3M6IlRoZSBwYXNzd29yZCBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY2hhbmdlZC4iLHBhc3N3b3JkX2Vycm9yOiJUaGUgY3VycmVudCBwYXNzd29yZCBlbnRlcmVkIGlzIG5vdCBjb3JyZWN0LiJ9LCRDPXtmaWx0ZXI6IkZpbHRlciIsdHlwZToiVHlwZSIsYWxsOiJBbGwiLGNoZWNrX2luX3RvZGF5OiJDaGVjay1JbiBUb2RheSIsY2hlY2tfaW5fdG9tb3Jyb3c6IlRvbW9ycm93IixjaGVja19pbl95ZXN0ZXJkYXk6Illlc3RlcmRheSIsY2hlY2tfb3V0X3RvZGF5OiJDaGVjay1PdXQgVG9kYXkiLGNoZWNrX291dF90b21vcnJvdzoiVG9tb3Jyb3ciLGNoZWNrX291dF95ZXN0ZXJkYXk6Illlc3RlcmRheSIsb3BlbjoiT3BlbiIsY2xvc2VkOiJQYWlkIixwZXJzb246IlBlcnNvbiIsY29tcGFueToiQ29tcGFueSIsZGVidG9yOiJEZWJ0b3IiLGNhbmNlbGVkOiJDYW5jZWxlZCIsZHJhZnQ6IkRyYWZ0IixwYWlkOiJQYWlkIixwYXltZW50X21ldGhvZDoiUGF5bWVudCBNZXRob2QiLGNhcmQ6IkNhcmQiLGNhc2g6IkNhc2giLHRyYW5zZmVyOiJUcmFuc2ZlciIsY3VycmVudDoiQ3VycmVudCIsY2xlYW46IkNsZWFuIixkaXJ0eToiRGlydHkiLGxvY2tlZDoiTG9ja2VkIixjaGVja19pbnNfdG9kYXk6IkNoZWNrLUlucyBUb2RheSIsY2hlY2tfb3V0c190b2RheToiQ2hlY2stT3V0cyBUb2RheSIsZ3JvdXBfZm9saW86Ikdyb3VwIEZvbGlvIn0sakM9e2RhdGU6IkRhdGUiLHRvZGF5OiJUb2RheSIsdG9tb3Jyb3c6IlRvbW9ycm93Iixmcm9tOiJmcm9tIixGcm9tOiJGcm9tIix0bzoidG8iLFRvOiJUbyIscGVyaW9kOiJQZXJpb2QiLHRoaXNfd2VlazoiVGhpcyBXZWVrIix0aGlzX21vbnRoOiJUaGlzIE1vbnRoIixsYXN0X21vbnRoOiJMYXN0IE1vbnRoIixiZWZvcmVfbGFzdF9tb250aDoiTW9udGggQmVmb3JlIExhc3QiLHRoaXNfeWVhcjoiVGhpcyBZZWFyIixsYXN0X3llYXI6Ikxhc3QgWWVhciIsY3VzdG9tOiJDdXN0b20iLGRhdGVfcGlja2VyOnttbzoiTW8iLHR1ZToiVHUiLHdlZDoiV2UiLHRodToiVGgiLGZyOiJGciIsc2E6IlNhIixzdW46IlN1In19LEJDPXtwbGFjZWhvbGRlcjoiZS5nLiwgMjAuMDAifSxVQz17YmFjazoiQmFjayJ9LFZDPXtyZXN1bHQ6IlJlc3VsdCIscmVzdWx0czoiUmVzdWx0cyIsbm9fcmVzdWx0czoiTm8gUmVzdWx0cyIscGFnZToiUGFnZSIsb2Y6Im9mIixwZXJfcGFnZToicGVyIFBhZ2UiLHByZXZpb3VzOiJQcmV2aW91cyIsbmV4dDoiTmV4dCJ9LFdDPXtkZWZhdWx0X3RpdGxlOiJSZWFsbHkgZGVsZXRlPyIsZGVmYXVsdF90ZXh0OiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgaXRlbT8gVGhpcyBjYW5ub3QgYmUgdW5kb25lLiIsZGVmYXVsdF9idXR0b25fdGV4dDoiRGVsZXRlIixjYW5jZWw6IkNhbmNlbCJ9LEdDPXthcGlfa2V5czoiQVBJIEtleXMiLGFkZF9hcGlfa2V5OiJBZGQgQVBJIEtleSIsdGFibGU6e25hbWU6Ik5hbWUiLHNlY3JldDoiU2VjcmV0IixjcmVhdGVkX2F0OiJDcmVhdGVkIE9uIixkZWxldGU6IkRlbGV0ZSJ9LGRldGFpbDp7bmV3X2FwaV9rZXk6Ik5ldyBBUEkgS2V5IixkZWxldGU6IkRlbGV0ZSIsc2F2ZToiU2F2ZSIsbmFtZToiTmFtZSIsbmFtZV9wbGFjZWhvbGRlcjoiZS5nLiwgQ2hlY2stSW4gS2lvc2siLHNlY3JldDoiU2VjcmV0In19LHpDPXtzdGF0dXM6e3BlbmRpbmc6IlBlbmRpbmciLGNvbmZpcm1lZDoiQ29uZmlybWVkIixub19zaG93OiJOby1TaG93IixjaGVja2VkX2luOiJDaGVja2VkIEluIixjaGVja2VkX291dDoiQ2hlY2tlZCBPdXQiLGNhbmNlbGVkOiJDYW5jZWxlZCJ9LHNvdXJjZTp7aW50ZXJuYWw6IkludGVybmFsIixqYWNrOiJKYWNrIChXYWxrLUluKSJ9fSxIQz17dHlwZTp7cGVyc29uOiJQZXJzb24iLGNvbXBhbnk6IkNvbXBhbnkifSxnZW5kZXI6e21hbGU6Ik1hbGUiLGZlbWFsZToiRmVtYWxlIix1bnNwZWNpZmllZDoiVW5zcGVjaWZpZWQifX0sSkM9eyJjb250YWN0L2FscmVhZHlfZXhpc3RzIjoiQSBjb250YWN0IHdpdGggdGhpcyBlbWFpbCBhZGRyZXNzIGFscmVhZHkgZXhpc3RzLiIsInJhdGUvbm9fbWF0Y2hpbmdfcHJpY2UiOiJObyBtYXRjaGluZyBwcmljZSB3YXMgZm91bmQgZm9yIHRoaXMgcm9vbSB0eXBlIHdpdGggdGhpcyBvY2N1cGFuY3kuIiwicmF0ZS9wcmljZV9hbHJlYWR5X2NvbmZpZ3VyZWQiOiJBIHByaWNlIGZvciB0aGlzIHJvb20gdHlwZSB3aXRoIHRoZSBzYW1lIG9jY3VwYW5jeSBoYXMgYWxyZWFkeSBiZWVuIGNvbmZpZ3VyZWQuIFBsZWFzZSBzZWxlY3QgYSBkaWZmZXJlbnQgcm9vbSB0eXBlIG9yIG9jY3VwYW5jeS4iLCJyYXRlL3ByaWNlX2ludmFsaWRfb2NjdXBhbmN5IjoiQSBwcmljZSBmb3IgdGhpcyBvY2N1cGFuY3kgaXMgbm90IHZhbGlkIGZvciB0aGlzIHJvb20gdHlwZS4iLCJmb2xpby9jdXN0b21lcl9hZGRyZXNzX2luY29tcGxldGUiOiJUaGUgY3VzdG9tZXIncyBhZGRyZXNzIGlzIGluY29tcGxldGUuIFBsZWFzZSBjb21wbGV0ZSB0aGUgYWRkcmVzcyBiZWZvcmUgY3JlYXRpbmcgdGhlIGludm9pY2UuIiwiZm9saW8vcGF5bWVudHNfcG9zdGVkIjoiVGhlIGludm9pY2UgY2Fubm90IGJlIGRlbGV0ZWQgYXMgcGF5bWVudHMgaGF2ZSBhbHJlYWR5IGJlZW4gcG9zdGVkLiBQbGVhc2UgY2xvc2UgYW5kIGNhbmNlbCB0aGUgaW52b2ljZSBzdWJzZXF1ZW50bHkuIiwiYm9va2luZy9yZWFkX29ubHkiOiJUaGUgYm9va2luZyBjYW4gbm8gbG9uZ2VyIGJlIGVkaXRlZCBhcyBhbiBpbnZvaWNlIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZC4gUGxlYXNlIGNhbmNlbCB0aGUgaW52b2ljZSB0byBlZGl0IHRoZSBib29raW5nLiIsImJvb2tpbmcvaW52YWxpZF9kYXRlcyI6IlRoaXMgZGF0ZSBpcyBpbiB0aGUgcGFzdC4iLCJib29raW5nL292ZXJsYXBfZGV0ZWN0ZWQiOiJUaGlzIGJvb2tpbmcgb3ZlcmxhcHMgd2l0aCBhbm90aGVyIGJvb2tpbmcgb3IgYSByb29tIGJsb2NrLiIsImJvb2tpbmcvb3ZlcmxhcHNfZGV0ZWN0ZWQiOiJUaGUgYm9va2luZ3MgY291bGQgbm90IGJlIGNvbmZpcm1lZCBhcyBhbm90aGVyIGJvb2tpbmcgYWxyZWFkeSBleGlzdHMgaW4gdGhpcyBwZXJpb2QuIiwiYm9va2luZy9mYWlsZWRfYXNzaWdubWVudCI6IlRoZSBndWVzdCBhc3NpZ25tZW50IGNvdWxkIG5vdCBiZSBzYXZlZC4iLCJyb29tX2xvY2svb3ZlcmxhcF9kZXRlY3RlZCI6IlRoaXMgcm9vbSBsb2NrIG92ZXJsYXBzIHdpdGggYW5vdGhlciByb29tIGxvY2sgb3IgYSBib29raW5nLiIsInByb3BlcnR5L3VzZXJfYWxyZWFkeV9hc3NpZ25lZCI6IlRoaXMgdXNlciBpcyBhbHJlYWR5IGFzc2lnbmVkIHRvIHRoaXMgdGVhbS4iLCJzZXR0aW5nL2FscmVhZHlfZXhpc3RzIjoiQSBzZXR0aW5nIHdpdGggdGhpcyBrZXkgYWxyZWFkeSBleGlzdHMuIix1bmtub3duOiJBbiB1bmtub3duIGVycm9yIGhhcyBvY2N1cnJlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4gSWYgdGhlIGVycm9yIHBlcnNpc3RzLCBwbGVhc2UgY29udGFjdCB0aGUgYWRtaW5pc3RyYXRvci4iLGdlbmVyYWw6IkFuIGVycm9yIGhhcyBvY2N1cnJlZC4ifSxxQz17Ym9va2luZzp7Y3JlYXRlZDoiQm9va2luZyBjcmVhdGVkIix1cGRhdGVkOiJCb29raW5nIHVwZGF0ZWQiLGNoZWNrZWRfaW46IkJvb2tpbmcgY2hlY2tlZCBpbiIsY2hlY2tlZF9vdXQ6IkJvb2tpbmcgY2hlY2tlZCBvdXQiLGNvbmZpcm1lZDoiQm9va2luZyBjb25maXJtZWQiLG1hcmtlZF9ub19zaG93OiJCb29raW5nIG1hcmtlZCBhcyBOby1TaG93Iixjb25maXJtYXRpb25fc2VudDoiQ29uZmlybWF0aW9uIHNlbnQiLGNhbmNlbGVkOiJCb29raW5nIGNhbmNlbGVkIixndWVzdDp7YXNzaWduZWQ6Ikd1ZXN0IGFzc2lnbmVkIix1bmFzc2lnbmVkOiJHdWVzdCByZW1vdmVkIn19LHBheW1lbnQ6e2NyZWF0ZWQ6IlBheW1lbnQgY3JlYXRlZCIsZGVsZXRlZDoiUGF5bWVudCBkZWxldGVkIn0sY2hhcmdlOntjcmVhdGVkOiJDaGFyZ2UgY3JlYXRlZCIsdXBkYXRlZDoiQ2hhcmdlIHVwZGF0ZWQiLGRlbGV0ZWQ6IkNoYXJnZSBkZWxldGVkIn0saW52b2ljZTp7Y3JlYXRlZDoiSW52b2ljZSBjcmVhdGVkIixjYW5jZWxlZDoiSW52b2ljZSBjYW5jZWxlZCIscGFpZDoiSW52b2ljZSBwYWlkIixzZW50OiJJbnZvaWNlIHNlbnQifX0sWkM9e3N0YXR1czp7b3BlbjoiT3BlbiIscGFpZDoiUGFpZCIsY2FuY2VsZWQ6IkNhbmNlbGVkIixkcmFmdDoiRHJhZnQiLGNvbXBsZXRlZDoiQ29tcGxldGVkIn19LEtDPXt0eXBlOnthY2NvbW1vZGF0aW9uOiJBY2NvbW1vZGF0aW9uIixmb29kX2FuZF9iZXZlcmFnZToiRm9vZCBhbmQgQmV2ZXJhZ2UiLGxvY2FsX3RheDoiTG9jYWwgVGF4IixvdGhlcjoiT3RoZXIifX0sWUM9e2Jvb2tpbmc6IkJvb2tpbmciLGNvbnRhY3Q6IkNvbnRhY3QiLGdyb3VwOiJHcm91cCIsaW52b2ljZToiSW52b2ljZSJ9LFhDPXtpdGVtOnt1bml0Ontyb29tOiJSb29tIixwZXJzb246IlBlcnNvbiJ9LGZyZXF1ZW5jeTp7ZGFpbHk6IkRhaWx5IixjaGVja19pbjoiT24gYXJyaXZhbCIsY2hlY2tfb3V0OiJPbiBkZXBhcnR1cmUifX19LFFDPXtzdGF0dXM6e2NsZWFuOiJDbGVhbiIsZGlydHk6IkRpcnR5IixvdXRfb2Zfc2VydmljZToiT3V0IG9mIFNlcnZpY2UifX0sZVA9e3JvbGU6IlJvbGUiLGFkbWluOiJBZG1pbmlzdHJhdG9yIixtYW5hZ2VyOiJNYW5hZ2VyIixzdGFmZjoiU3RhZmYiLGNsZWFuaW5nOiJDbGVhbmluZyIsY2F0ZXJpbmc6IkNhdGVyaW5nIn0sdFA9e2FsZXJ0X21vZGFsOnt0aXRsZToiSW52YWxpZCBJRCBEb2N1bWVudCIsdGV4dDoiWW91ciBJRCBkb2N1bWVudCBjb3VsZCBub3QgYmUgdmVyaWZpZWQuIFBsZWFzZSB0cnkgYWdhaW4gd2l0aCBhIGRpZmZlcmVudCBkb2N1bWVudCBvciBhIGhpZ2hlciByZXNvbHV0aW9uIGltYWdlIG9mIHlvdXIgSUQgKHRyYXZlbCBkb2N1bWVudCwgSUQgY2FyZCBvciBkcml2ZXIncyBsaWNlbnNlKS4iLGJ1dHRvbl90ZXh0OiJVbmRlcnN0b29kIn0sYm9va2luZ19zdW1tYXJ5OntzdGF0dXM6e2NvbmZpcm1lZDoiQ29uZmlybWVkIixjYW5jZWxsZWQ6IkNhbmNlbGxlZCIsY2hlY2tlZF9pbjoiQ2hlY2tlZCBJbiIsY2hlY2tlZF9vdXQ6IkNoZWNrZWQgT3V0Iixub19zaG93OiJObyBTaG93IixwZW5kaW5nOiJQZW5kaW5nIn0sY2FyZDp7dGl0bGU6IllvdXIgQm9va2luZyIsYm9va2luZ19udW1iZXI6IkJvb2tpbmcgTnVtYmVyIixzdGF0dXM6IlN0YXR1cyIsaG90ZWw6IkhvdGVsIixzdGF5OiJTdGF5Iixyb29tOiJSb29tIn19LGd1ZXN0X2Zvcm06e25hbWU6Ik5hbWUiLGVtYWlsOiJFbWFpbCIscGhvbmU6IlBob25lIixkYXRlX29mX2JpcnRoOiJEYXRlIG9mIEJpcnRoIixzdHJlZXQ6IlN0cmVldCIscG9zdGFsX2NvZGU6IlBvc3RhbCBDb2RlIixjaXR5OiJDaXR5Iixjb3VudHJ5OiJDb3VudHJ5IixuYXRpb25hbGl0eToiTmF0aW9uYWxpdHkiLGRvY3VtZW50czoiSUQgKHBhc3Nwb3J0LCBkcml2ZXIncyBsaWNlbnNlLCDigKYpIixmaWVsZF9taXNzaW5nOiJSZXF1aXJlZCDigJMgcGxlYXNlIGZpbGwgaW4iLGZpZWxkX29rOiJDb21wbGV0ZSIsb3B0aW9uYWw6Im9wdGlvbmFsIn0sZ3Vlc3RfcGlja2VyOntsYWJlbF9zaW5ndWxhcjoiR3Vlc3QiLGxhYmVsX3BsdXJhbDoiR3Vlc3RzIixmYWxsYmFja19uYW1lOiJHdWVzdCB7aW5kZXh9IixpbmNvbXBsZXRlOiJ7bmFtZX0gaW5jb21wbGV0ZSJ9LGZpbGVfcHJldmlldzp7ZG93bmxvYWQ6IkRvd25sb2FkIn0sZmlsZV91cGxvYWQ6e3VwbG9hZDoiVXBsb2FkIn0sc2lnbmF0dXJlX3BhZDp7c2lnbl9oZXJlOiJTaWduIGhlcmUiLGRlbGV0ZV9zaWduYXR1cmU6IkRlbGV0ZSBTaWduYXR1cmUifSxob21lX3ZpZXc6e3VubG9ja19hY2Nlc3NfcG9pbnRfc3VjY2VzczoiRG9vciB1bmxvY2tpbmcgaW5pdGlhdGVkIix1bmxvY2tfYWNjZXNzX3BvaW50X3N1Y2Nlc3NfdGV4dDonVGhlIGRvb3IgIntuYW1lfSIgd2lsbCBvcGVuIHNob3J0bHkuJyx1cGRhdGVfaW52b2ljZV9zdWNjZXNzOiJJbnZvaWNlIHVwZGF0ZWQiLHVwZGF0ZV9pbnZvaWNlX3N1Y2Nlc3NfdGV4dDoiVGhlIGludm9pY2UgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuIix1cGRhdGVfaW52b2ljZV9lcnJvcjoiSW52b2ljZSB1cGRhdGUgZmFpbGVkIix1cGRhdGVfaW52b2ljZV9lcnJvcl90ZXh0OiJUaGUgaW52b2ljZSBjb3VsZCBub3QgYmUgdXBkYXRlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4iLGFjdGlvbl9jYXJkOnt0aXRsZToiUXVpY2sgQWN0aW9ucyIsb3Blbl9yb29tOiJPcGVuIFJvb20ge3Jvb21fbnVtYmVyfSIsb3Blbl9tYWluOiJPcGVuIE1haW4gRW50cmFuY2UiLGRvd25sb2FkX2ludm9pY2U6IkRvd25sb2FkIEludm9pY2UiLGNvbnRhY3RfaG9zdDoiQ29udGFjdCBIb3N0In0sZG9vcnNfY2FyZDp7dGl0bGU6IkRvb3JzIixkZXNjcmlwdGlvbjoiRWFzaWx5IG9wZW4geW91ciBhdXRob3JpemVkIGRvb3JzIHdpdGggeW91ciBzbWFydHBob25lLiIsZGlzYWJsZWRfdGV4dDoiWW91ciBkb29ycyB3aWxsIGJlIGFjY2Vzc2libGUgb24gdGhlIGRheSBvZiBhcnJpdmFsIGFzIHNvb24gYXMgeW91ciByb29tIGlzIHJlYWR5LiIsb3Blbl9kb29yOiJPcGVuIERvb3IiLGNyZWF0ZV9hY2Nlc3NfdG9rZW46IkNyZWF0ZSBBY2Nlc3MgQXV0aG9yaXphdGlvbiJ9LHByZV9jaGVja19pbl9jYXJkOnt0aXRsZToiUHJlLUNoZWNrLWluIixkZXNjcmlwdGlvbjoiRmlsbCBvdXQgeW91ciByZWdpc3RyYXRpb24gZm9ybSBpbiBhZHZhbmNlLCB1cGxvYWQgZG9jdW1lbnRzLCBhbmQgcGF5IGZvciB5b3VyIGJvb2tpbmcuIixpbmZvX3RleHQ6IkNvbXBsZXRlZCIsY2hlY2tfaW46IkNoZWNrIEluIixkZXRhaWxzOiJEZXRhaWxzIn0saW52b2ljZV9jYXJkOnt0aXRsZToiSW52b2ljZXMiLGRlc2NyaXB0aW9uOiJBbGwgaW52b2ljZXMgYXQgYSBnbGFuY2UgYW5kIGF2YWlsYWJsZSBmb3IgZG93bmxvYWQuIix2aWV3X2ludm9pY2VzOiJWaWV3IGludm9pY2VzIixhbGVydDoiQSBjaGFuZ2UgaGFzIGFscmVhZHkgYmVlbiBtYWRlIHRvIHRoZSBpbnZvaWNlLiBJZiB5b3UgbmVlZCBmdXJ0aGVyIGNoYW5nZXMsIHBsZWFzZSBjb250YWN0IG91ciBzdXBwb3J0IHRlYW0uIix0YWJsZV9oZWFkZXJzOntpbnZvaWNlOiJJbnZvaWNlIixhbW91bnQ6IkFtb3VudCIsc3RhdHVzOiJTdGF0dXMifSx0YWJsZV9hY3Rpb25zOntvcGVuOiJPcGVuIixlZGl0OiJFZGl0Iixkb3dubG9hZDoiRG93bmxvYWQifX0sY29udGFjdF9jYXJkOnt0aXRsZToiQ29udGFjdCIsZGVzY3JpcHRpb246Ik5lZWQgaGVscD8gQ29udGFjdCB1cyB2aWEgcGhvbmUgb3IgZW1haWwuIixjYWxsOiJDYWxsIixtYWlsOiJTZW5kIEVtYWlsIn0sZWRpdF9pbnZvaWNlX2RpYWxvZzp7dGl0bGU6IkVkaXQgaW52b2ljZSIsYWN0aW9uczp7c2F2ZToiU2F2ZSIsY2FuY2VsOiJDYW5jZWwifSxiaWxsaW5nX2FkZHJlc3M6IkJpbGxpbmcgQWRkcmVzcyIsYmlsbGluZ19hZGRyZXNzX2xpbmUxX3BsYWNlaG9sZGVyOiJOYW1lIC8gQ29tcGFueSBuYW1lIixiaWxsaW5nX2FkZHJlc3NfbGluZTJfcGxhY2Vob2xkZXI6IkFkZHJlc3MiLGJpbGxpbmdfYWRkcmVzc19wb3N0YWxfY29kZV9wbGFjZWhvbGRlcjoiUG9zdGFsIENvZGUiLGJpbGxpbmdfYWRkcmVzc19jaXR5X3BsYWNlaG9sZGVyOiJDaXR5IixiaWxsaW5nX2FkZHJlc3NfY291bnRyeV9wbGFjZWhvbGRlcjoiQ291bnRyeSIsYWRkaXRpb25hbF90ZXh0OiJBZGRpdGlvbmFsIFRleHQiLGFkZGl0aW9uYWxfdGV4dF9wbGFjZWhvbGRlcjoiRGlzcGxheWVkIG9uIHRoZSBpbnZvaWNlIChlLmcuIFZBVCBudW1iZXIsIGNvc3QgY2VudGVyLCBldGMuKSJ9LGtleV9jYXJkOnt0aXRsZToiS2V5IENhcmQiLGRlc2NyaXB0aW9uOiJUbyByZWNlaXZlIGFkZGl0aW9uYWwgY2FyZHMgYXQgdGhlIGNoZWNrLWluIGtpb3NrLCBzZWxlY3QgJ0NyZWF0ZSBSb29tIENhcmQnIGFuZCBlbnRlciB0aGUgZm9sbG93aW5nIGRldGFpbHMuIixkZXNjcmlwdGlvbl9kb2I6IkdldCB5b3VyIHJvb20gY2FyZCBhdCB0aGUgb24tc2l0ZSBjaGVjay1pbiBraW9zay4gU2VsZWN0ICdDcmVhdGUgUm9vbSBDYXJkJyBhbmQgZW50ZXIgdGhlIGZvbGxvd2luZyBkZXRhaWxzLiIscm9vbV9udW1iZXI6IlJvb20gTnVtYmVyIixzZWN1cml0eV9jb2RlOiJTZWN1cml0eSBDb2RlIixsYXN0X25hbWU6Ikxhc3QgTmFtZSIsZGF0ZV9vZl9iaXJ0aDoiRGF0ZSBvZiBCaXJ0aCJ9LGhvdGVsX2luZm86e3RpdGxlOiJIb3RlbCBJbmZvcm1hdGlvbiIsZGVzY3JpcHRpb246IkZpbmQgYWxsIGFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgaG90ZWwgYW5kIHlvdXIgc3RheSBoZXJlLiIsYnV0dG9uX3RleHQ6IkhvdGVsIEluZm8g4oaSIn19LGNoZWNrX2luX3ZpZXc6e3BheW1lbnRfc3VjY2VzczoiUGF5bWVudCBTdWNjZXNzZnVsIixwYXltZW50X3N1Y2Nlc3NfdGV4dDoiVGhhbmsgeW91IGZvciB5b3VyIHBheW1lbnQuIFlvdXIgYm9va2luZyBpcyBub3cgZnVsbHkgcGFpZC4iLHBheW1lbnRfY2FuY2VsOiJQYXltZW50IENhbmNlbGxlZCIscGF5bWVudF9jYW5jZWxfdGV4dDoiVGhlIHBheW1lbnQgd2FzIGNhbmNlbGxlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4iLGNoZWNrX2luX3N1Y2Nlc3M6IkNoZWNrLWluIFN1Y2Nlc3NmdWwiLGNoZWNrX2luX3N1Y2Nlc3NfdGV4dDoiWW91ciBib29raW5nIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjaGVja2VkIGluLiBFbmpveSB5b3VyIHN0YXkhIixzdGVwczp7cmVnaXN0cmF0aW9uX2Zvcm06IlJlZ2lzdHJhdGlvbiBGb3JtcyIsY29uZmlybWF0aW9uOiJDb25maXJtYXRpb24iLHBheW1lbnQ6IlBheW1lbnQiLGNoZWNrX2luOiJDaGVjay1pbiJ9LHN0ZXBfb2Y6IlN0ZXAge3N0ZXB9IG9mIHtvZn0iLHNhdmluZzoiU2F2aW5nIixiYWNrOiJCYWNrIixyZWdpc3RyYXRpb25fZm9ybXNfY2FyZDp7dGl0bGU6IlJlZ2lzdHJhdGlvbiBGb3JtcyIsZGVzY3JpcHRpb246IkZpbGwgb3V0IHRoZSByZWdpc3RyYXRpb24gZm9ybXMgZm9yIGFsbCBhcnJpdmluZyBndWVzdHMuIn0sY29uZmlybWF0aW9uX2NhcmQ6e3RpdGxlOiJDb25maXJtYXRpb24iLGRlc2NyaXB0aW9uOiJDb25maXJtIHRoZSBhY2N1cmFjeSBvZiB5b3VyIGluZm9ybWF0aW9uIHdpdGggYSBzaWduYXR1cmUuIixkaXNhYmxlZF90ZXh0OiJDb21wbGV0ZSBSZWdpc3RyYXRpb24gRm9ybSJ9LHBheW1lbnRfY2FyZDp7dGl0bGU6IlBheW1lbnQiLGRlc2NyaXB0aW9uOntwYXltZW50X2NvbXBsZXRlOiJEdWUgYW1vdW50IHRvZGF5OiB7ZHVlQW1vdW50fS4iLHBheW1lbnRfaW5jb21wbGV0ZToiRm9yIHBheW1lbnQsIHlvdSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gb3VyIHBhcnRuZXIgU3RyaXBlICh0aGUgZHVlIGFtb3VudCBpcyB7ZHVlQW1vdW50fSkuIn0sZGlzYWJsZWRfdGV4dDoiQ29uZmlybSBEYXRhIixwYXk6IlBheSB7ZHVlQW1vdW50fSJ9LGNoZWNrX2luX2NhcmQ6e3RpdGxlOiJDaGVjay1pbiIsZGVzY3JpcHRpb246e2NoZWNrX2luX2NvbXBsZXRlOiJUaGUgYm9va2luZyBpcyBmdWxseSBjaGVja2VkIGluLiIsY2hlY2tfaW5faW5jb21wbGV0ZToiQ2hlY2sgaW4geW91ciBib29raW5nIGFuZCBlbmpveSB5b3VyIHN0YXkuIn0sZGlzYWJsZWRfdGV4dDoiUGF5IEJvb2tpbmciLGNoZWNrX2luOiJDaGVjayBJbiJ9fX0sblA9e2xvZ2luOl9DLHJlcXVlc3RfbGluazpiQyxuYXZpZ2F0aW9uOndDLHNpZGViYXI6a0Mscm9vbV9wbGFuOlNDLGJvb2tpbmdfZHJvcGRvd246VEMsb3B0aW9uc19kcm9wZG93bjpFQyxkYXNoYm9hcmQ6eEMsYm9va2luZ3M6QUMsY29udGFjdHM6T0MsZ3JvdXBzOkNDLGludm9pY2VzOlBDLHJvb21fbG9ja3M6SUMsaG91c2VrZWVwaW5nOk5DLHJlcG9ydHM6UkMsYmFzZWRhdGE6REMsc2VhcmNoOk1DLHNldHRpbmdzOkxDLHByb2ZpbGU6RkMsZmlsdGVyOiRDLGRhdGU6akMsYW1vdW50X2lucHV0OkJDLGJhY2tsaW5rOlVDLHRhYmxlOlZDLGNvbmZpcm1fbW9kYWw6V0MsYXBpX2tleXM6R0MsYm9va2luZzp6Qyxjb250YWN0OkhDLGVycm9yOkpDLGV2ZW50OnFDLGludm9pY2U6WkMsaXRlbTpLQyxvYmplY3Q6WUMscmF0ZTpYQyxyb29tOlFDLHJvbGU6ZVAscG9ydGFsOnRQfSxZdD1LQSh7bG9jYWxlOiJkZSIsZmFsbGJhY2tMb2NhbGU6ImRlIixsZWdhY3k6ITEsbWVzc2FnZXM6e2RlOnZDLGVuOm5QfX0pLHJQPSJtb2R1bGVwcmVsb2FkIixpUD1mdW5jdGlvbih0KXtyZXR1cm4iLyIrdH0sTG09e30sY249ZnVuY3Rpb24oZSxuLHIpe2xldCBpPVByb21pc2UucmVzb2x2ZSgpO2lmKG4mJm4ubGVuZ3RoPjApe2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIik7Y29uc3Qgcz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW3Byb3BlcnR5PWNzcC1ub25jZV0iKSxvPShzPT1udWxsP3ZvaWQgMDpzLm5vbmNlKXx8KHM9PW51bGw/dm9pZCAwOnMuZ2V0QXR0cmlidXRlKCJub25jZSIpKTtpPVByb21pc2UuYWxsKG4ubWFwKGE9PntpZihhPWlQKGEpLGEgaW4gTG0pcmV0dXJuO0xtW2FdPSEwO2NvbnN0IGw9YS5lbmRzV2l0aCgiLmNzcyIpLGM9bD8nW3JlbD0ic3R5bGVzaGVldCJdJzoiIjtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9IiR7YX0iXSR7Y31gKSlyZXR1cm47Y29uc3QgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7aWYodS5yZWw9bD8ic3R5bGVzaGVldCI6clAsbHx8KHUuYXM9InNjcmlwdCIsdS5jcm9zc09yaWdpbj0iIiksdS5ocmVmPWEsbyYmdS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixvKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHUpLGwpcmV0dXJuIG5ldyBQcm9taXNlKChkLGYpPT57dS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixkKSx1LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+ZihuZXcgRXJyb3IoYFVuYWJsZSB0byBwcmVsb2FkIENTUyBmb3IgJHthfWApKSl9KX0pKX1yZXR1cm4gaS50aGVuKCgpPT5lKCkpLmNhdGNoKHM9Pntjb25zdCBvPW5ldyBFdmVudCgidml0ZTpwcmVsb2FkRXJyb3IiLHtjYW5jZWxhYmxlOiEwfSk7aWYoby5wYXlsb2FkPXMsd2luZG93LmRpc3BhdGNoRXZlbnQobyksIW8uZGVmYXVsdFByZXZlbnRlZCl0aHJvdyBzfSl9LHNQPXtjbGFzczoiZmxleCBtaW4taC1zY3JlZW4gaXRlbXMtc3RhcnQganVzdGlmeS1jZW50ZXIgcHgtNCBwdC00IHRleHQtY2VudGVyIG1kOml0ZW1zLWNlbnRlciBtZDpwYi0wIn0sb1A9QSgic3BhbiIse2NsYXNzOiJoaWRkZW4gc206aW5saW5lLWJsb2NrIHNtOmgtc2NyZWVuIHNtOmFsaWduLW1pZGRsZSIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LCLigIsiLC0xKSxhUD17Y2xhc3M6InotNTAgaW5saW5lLWJsb2NrIHctZnVsbCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBiZy13aGl0ZSB0ZXh0LWxlZnQgYWxpZ24tYm90dG9tIHNoYWRvdy14bCB0cmFuc2l0aW9uLWFsbCBzbTpteS04IHNtOnctZnVsbCBzbTptYXgtdy14bCBzbTphbGlnbi1taWRkbGUifSxsUD1OZSh7X19uYW1lOiJNb2RhbCIscHJvcHM6e21vZGVsVmFsdWU6e3R5cGU6Qm9vbGVhbn19LGVtaXRzOlsiY2xvc2UiXSxzZXR1cCh0LHtlbWl0OmV9KXtjb25zdCBuPWU7cmV0dXJuKHIsaSk9PihVKCksdHQoUyhqZCkse2FzOiJ0ZW1wbGF0ZSIsc2hvdzpyLm1vZGVsVmFsdWV9LHtkZWZhdWx0Om5lKCgpPT5bZWUoUyhPdikse2FzOiJkaXYiLGNsYXNzOiJmaXhlZCBpbnNldC0wIHotMzAgb3ZlcmZsb3cteS1oaWRkZW4iLG9uQ2xvc2U6aVswXXx8KGlbMF09cz0+bigiY2xvc2UiKSl9LHtkZWZhdWx0Om5lKCgpPT5bQSgiZGl2IixzUCxbZWUoUyh5bykse2FzOiJ0ZW1wbGF0ZSIsZW50ZXI6ImVhc2Utb3V0IGR1cmF0aW9uLTMwMCIsImVudGVyLWZyb20iOiJvcGFjaXR5LTAiLCJlbnRlci10byI6Im9wYWNpdHktMTAwIixsZWF2ZToiZWFzZS1pbiBkdXJhdGlvbi0yMDAiLCJsZWF2ZS1mcm9tIjoib3BhY2l0eS0xMDAiLCJsZWF2ZS10byI6Im9wYWNpdHktMCJ9LHtkZWZhdWx0Om5lKCgpPT5bZWUoUyhDdikse2NsYXNzOiJmaXhlZCBpbnNldC0wIGJnLWdyYXktNTAwIGJnLW9wYWNpdHktNzUgYmFja2Ryb3AtYmx1ci1zbSB0cmFuc2l0aW9uLW9wYWNpdHkifSldKSxfOjF9KSxvUCxlZShTKHlvKSx7YXM6InRlbXBsYXRlIixlbnRlcjoiZWFzZS1vdXQgZHVyYXRpb24tMzAwIiwiZW50ZXItZnJvbSI6Im9wYWNpdHktMCB0cmFuc2xhdGUteS00IHNtOnRyYW5zbGF0ZS15LTAgc206c2NhbGUtOTUiLCJlbnRlci10byI6Im9wYWNpdHktMTAwIHRyYW5zbGF0ZS15LTAgc206c2NhbGUtMTAwIixsZWF2ZToiZWFzZS1pbiBkdXJhdGlvbi0yMDAiLCJsZWF2ZS1mcm9tIjoib3BhY2l0eS0xMDAgdHJhbnNsYXRlLXktMCBzbTpzY2FsZS0xMDAiLCJsZWF2ZS10byI6Im9wYWNpdHktMCB0cmFuc2xhdGUteS00IHNtOnRyYW5zbGF0ZS15LTAgc206c2NhbGUtOTUifSx7ZGVmYXVsdDpuZSgoKT0+W0EoImRpdiIsYVAsW1V0KHIuJHNsb3RzLCJkZWZhdWx0IildKV0pLF86M30pXSldKSxfOjN9KV0pLF86M30sOCxbInNob3ciXSkpfX0pLGNQPXtjbGFzczoiYmctd2hpdGUgcHgtNCBwYi00IHB0LTUgc206cC02IHNtOnBiLTQifSx1UD17Y2xhc3M6InctZnVsbCBzbTpmbGV4IHNtOml0ZW1zLXN0YXJ0In0sZFA9e2NsYXNzOiJ3LWZ1bGwgdGV4dC1sZWZ0In0sZlA9e2NsYXNzOiJtdC0yIn0saFA9e2NsYXNzOiJiZy1ncmF5LTUwIHB4LTQgcHktMyBzbTpmbGV4IHNtOmZsZXgtcm93LXJldmVyc2Ugc206cHgtNiJ9LG1QPU5lKHtfX25hbWU6IkFsZXJ0TW9kYWwiLHByb3BzOnttb2RlbFZhbHVlOnt0eXBlOkJvb2xlYW59LHRpdGxlOnt9LGJ1dHRvblRleHQ6e2RlZmF1bHQ6Ik9LIn0sYnV0dG9uRGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxhbGVydE1vZGFsRnVuY3Rpb246e30sZGVmYXVsdENsb3NlQmVoYXZpb3I6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfX0sZW1pdHM6WyJ1cGRhdGU6bW9kZWxWYWx1ZSIsImNsb3NlIl0sc2V0dXAodCx7ZW1pdDplfSl7Y29uc3Qgbj10LHI9ZSxpPXNlKCExKSxzPWFzeW5jKCk9PntpLnZhbHVlPSEwLG4uYWxlcnRNb2RhbEZ1bmN0aW9uJiZhd2FpdCBuLmFsZXJ0TW9kYWxGdW5jdGlvbigpLHIoInVwZGF0ZTptb2RlbFZhbHVlIiwhMSksaS52YWx1ZT0hMX07cmV0dXJuKG8sYSk9PihVKCksdHQobFAse21vZGVsVmFsdWU6by5tb2RlbFZhbHVlLCJvblVwZGF0ZTptb2RlbFZhbHVlIjphWzFdfHwoYVsxXT1sPT5vLiRlbWl0KCJ1cGRhdGU6bW9kZWxWYWx1ZSIsbCkpLG9uQ2xvc2U6YVsyXXx8KGFbMl09bD0+by5kZWZhdWx0Q2xvc2VCZWhhdmlvcj9yKCJ1cGRhdGU6bW9kZWxWYWx1ZSIsITEpOnIoImNsb3NlIikpLGNsYXNzOiJ6LTUwIn0se2RlZmF1bHQ6bmUoKCk9PltBKCJmb3JtIix7b25TdWJtaXQ6YVswXXx8KGFbMF09SnMobD0+cygpLFsicHJldmVudCJdKSl9LFtBKCJkaXYiLGNQLFtBKCJkaXYiLHVQLFtBKCJkaXYiLGRQLFtlZShTKFB2KSx7YXM6ImgzIixjbGFzczoiaDIgdGV4dC1jZW50ZXIgc206dGV4dC1sZWZ0In0se2RlZmF1bHQ6bmUoKCk9PlskZShLKG8udGl0bGUpLDEpXSksXzoxfSksQSgiZGl2IixmUCxbVXQoby4kc2xvdHMsImRlZmF1bHQiKV0pXSldKV0pLEEoImRpdiIsaFAsW2VlKFN0LHtkaXNhYmxlZDpvLmJ1dHRvbkRpc2FibGVkLHR5cGU6InN1Ym1pdCIsY2xhc3M6InctZnVsbCBzbTp3LWF1dG8ifSx7ZGVmYXVsdDpuZSgoKT0+WyRlKEsoby5idXR0b25UZXh0KSwxKV0pLF86MX0sOCxbImRpc2FibGVkIl0pXSldLDMyKV0pLF86M30sOCxbIm1vZGVsVmFsdWUiXSkpfX0pLFZyPU5lKHtfX25hbWU6IkJhZGdlIixwcm9wczp7Y29sb3I6e2RlZmF1bHQ6InNlY29uZGFyeSJ9fSxzZXR1cCh0KXtjb25zdCBlPXQsbj1vZSgoKT0+e3N3aXRjaChlLmNvbG9yKXtjYXNlInByaW1hcnkiOnJldHVybiJiZy1wcmltYXJ5LTUwIHRleHQtcHJpbWFyeS03MDAgcmluZy1wcmltYXJ5LTcwMC8xMCI7Y2FzZSJzZWNvbmRhcnkiOnJldHVybiJiZy1ncmF5LTUwIHRleHQtZ3JheS02MDAgcmluZy1ncmF5LTUwMC8xMCI7Y2FzZSJ5ZWxsb3ciOnJldHVybiJiZy15ZWxsb3ctNTAgdGV4dC15ZWxsb3ctNzAwIHJpbmcteWVsbG93LTcwMC8xMCJ9fSk7cmV0dXJuKHIsaSk9PihVKCksWigic3BhbiIse2NsYXNzOkRlKFsiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHJvdW5kZWQtbWQgcHgtMiBweS0xIHRleHQtY2VudGVyIHRleHQteHMgZm9udC1tZWRpdW0gcmluZy0xIHJpbmctaW5zZXQiLG4udmFsdWVdKX0sW1V0KHIuJHNsb3RzLCJkZWZhdWx0IildLDIpKX19KSxwUD1bImJvb2tpbmciLCJjb250YWN0IiwiZ3JvdXAiXSxnUD10PT5ZdC5nbG9iYWwudChgb2JqZWN0LiR7dH1gKSx5UD1bInBlcnNvbiIsImNvbXBhbnkiXSx2UD10PT5ZdC5nbG9iYWwudChgY29udGFjdC50eXBlLiR7dH1gKSxfUD1bIm1hbGUiLCJmZW1hbGUiLCJ1bnNwZWNpZmllZCJdLGJQPXQ9Pll0Lmdsb2JhbC50KGBjb250YWN0LmdlbmRlci4ke3R9YCksd1A9WyJhZG1pbiIsIm1hbmFnZXIiLCJzdGFmZiIsImNsZWFuaW5nIiwiY2F0ZXJpbmciXSxrUD10PT5ZdC5nbG9iYWwudChgcm9sZS4ke3R9YCksU1A9dD0+dD8iQWt0aXYiOiJJbmFrdGl2IixUUD1bInBlbmRpbmciLCJjb25maXJtZWQiLCJub19zaG93IiwiY2hlY2tlZF9pbiIsImNoZWNrZWRfb3V0IiwiY2FuY2VsZWQiXSxFUD10PT5ZdC5nbG9iYWwudChgYm9va2luZy5zdGF0dXMuJHt0fWApLHhQPXQ9Pntjb25zdCBlPWBib29raW5nLnNvdXJjZS4ke3R9YDtyZXR1cm4gWXQuZ2xvYmFsLnRlKGUpP1l0Lmdsb2JhbC50KGUpOnR9LEFQPVsib3BlbiIsInBhaWQiLCJjYW5jZWxlZCJdLE9QPXQ9Pll0Lmdsb2JhbC50KGBpbnZvaWNlLnN0YXR1cy4ke3R9YCksQ1A9WyJhY2NvbW1vZGF0aW9uIiwiZm9vZF9hbmRfYmV2ZXJhZ2UiLCJsb2NhbF90YXgiLCJvdGhlciJdLFBQPXQ9Pll0Lmdsb2JhbC50KGBpdGVtLnR5cGUuJHt0fWApLElQPVsicm9vbSIsInBlcnNvbiJdLE5QPXQ9Pll0Lmdsb2JhbC50KGByYXRlLml0ZW0udW5pdC4ke3R9YCksUlA9WyJkYWlseSIsImNoZWNrX2luIiwiY2hlY2tfb3V0Il0sRFA9dD0+WXQuZ2xvYmFsLnQoYHJhdGUuaXRlbS5mcmVxdWVuY3kuJHt0fWApLE1QPVsiY2xlYW4iLCJkaXJ0eSIsIm91dF9vZl9zZXJ2aWNlIl0sTFA9dD0+WXQuZ2xvYmFsLnQoYHJvb20uc3RhdHVzLiR7dH1gKSx1Xz0oKT0+KHttYXBBY3RpdmVTdGF0ZTpTUCxvYmplY3RUeXBlczpwUCxtYXBPYmplY3RUeXBlOmdQLGJvb2tpbmdTdGF0dXNlczpUUCxtYXBCb29raW5nU3RhdHVzOkVQLG1hcEJvb2tpbmdTb3VyY2U6eFAsY29udGFjdFR5cGVzOnlQLG1hcENvbnRhY3RUeXBlOnZQLGdlbmRlcnM6X1AsbWFwR2VuZGVyOmJQLGludm9pY2VTdGF0dXNlczpBUCxtYXBJbnZvaWNlU3RhdHVzOk9QLGl0ZW1UeXBlczpDUCxtYXBJdGVtVHlwZTpQUCxyYXRlSXRlbVVuaXRzOklQLG1hcFJhdGVJdGVtVW5pdDpOUCxyYXRlSXRlbUZyZXF1ZW5jaWVzOlJQLG1hcFJhdGVJdGVtRnJlcXVlbmN5OkRQLHJvb21TdGF0dXNlczpNUCxtYXBSb29tU3RhdHVzOkxQLHJvbGVzOndQLG1hcFJvbGU6a1B9KSxGUD1OZSh7X19uYW1lOiJCb29raW5nU3RhdHVzQmFkZ2UiLHByb3BzOntzdGF0dXM6e319LHNldHVwKHQpe2NvbnN0e21hcEJvb2tpbmdTdGF0dXM6ZX09dV8oKTtyZXR1cm4obixyKT0+KFUoKSx0dChWcix7Y29sb3I6bi5zdGF0dXM9PT0iY29uZmlybWVkIj8ic2Vjb25kYXJ5IjoicHJpbWFyeSJ9LHtkZWZhdWx0Om5lKCgpPT5bJGUoSyhTKGUpKG4uc3RhdHVzKSksMSldKSxfOjF9LDgsWyJjb2xvciJdKSl9fSksJFA9e2NsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gc3BhY2UteC00In0salA9e2NsYXNzOiJ0ZXh0LXhsIGZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAifSxCUD17a2V5OjAsY2xhc3M6Im10LTQgbWF4LXctbWQgdGV4dC1zbSB0ZXh0LWdyYXktNTAwIn0sX249TmUoe19fbmFtZToiQ2FyZCIscHJvcHM6e3RpdGxlOnt9LGRlc2NyaXB0aW9uOnt9LGRpc2FibGVkOnt0eXBlOkJvb2xlYW59LGRpc2FibGVkVGV4dDp7fSxpbmZvVGV4dDp7fX0sc2V0dXAodCl7cmV0dXJuKGUsbik9PihVKCksWigiZGl2Iix7Y2xhc3M6RGUoWyJyZWxhdGl2ZSB3LWZ1bGwgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCBiZy13aGl0ZSBwLTggc206cm91bmRlZC0yeGwiLHsic2hhZG93LWxnIjohZS5kaXNhYmxlZH1dKX0sW0EoImRpdiIsJFAsW0EoImRpdiIse2NsYXNzOkRlKFsiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0zIix7Im9wYWNpdHktNTAiOmUuZGlzYWJsZWR9XSl9LFtVdChlLiRzbG90cywiaWNvbiIpLEEoImgyIixqUCxLKGUudGl0bGUpLDEpXSwyKSxlLmRpc2FibGVkPyhVKCksdHQoVnIse2tleTowLGNsYXNzOiJzcGFjZS14LTEiLGNvbG9yOiJzZWNvbmRhcnkifSx7ZGVmYXVsdDpuZSgoKT0+W2VlKFMoZE8pLHtjbGFzczoiaC00IHctNCBzaHJpbmstMCJ9KSxBKCJzcGFuIixudWxsLEsoZS5kaXNhYmxlZFRleHQpLDEpXSksXzoxfSkpOk1lKCIiLCEwKSxlLmluZm9UZXh0PyhVKCksdHQoVnIse2tleToxLGNvbG9yOiJwcmltYXJ5In0se2RlZmF1bHQ6bmUoKCk9PlskZShLKGUuaW5mb1RleHQpLDEpXSksXzoxfSkpOk1lKCIiLCEwKV0pLGUuZGVzY3JpcHRpb24mJiFlLmRpc2FibGVkPyhVKCksWigicCIsQlAsSyhlLmRlc2NyaXB0aW9uKSwxKSk6TWUoIiIsITApLGUuZGlzYWJsZWQ/TWUoIiIsITApOlV0KGUuJHNsb3RzLCJkZWZhdWx0Iix7a2V5OjF9KV0sMikpfX0pO2NsYXNzIFBpIGV4dGVuZHMgRXJyb3J7fWNsYXNzIFVQIGV4dGVuZHMgUGl7Y29uc3RydWN0b3IoZSl7c3VwZXIoYEludmFsaWQgRGF0ZVRpbWU6ICR7ZS50b01lc3NhZ2UoKX1gKX19Y2xhc3MgVlAgZXh0ZW5kcyBQaXtjb25zdHJ1Y3RvcihlKXtzdXBlcihgSW52YWxpZCBJbnRlcnZhbDogJHtlLnRvTWVzc2FnZSgpfWApfX1jbGFzcyBXUCBleHRlbmRzIFBpe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGBJbnZhbGlkIER1cmF0aW9uOiAke2UudG9NZXNzYWdlKCl9YCl9fWNsYXNzIGppIGV4dGVuZHMgUGl7fWNsYXNzIGRfIGV4dGVuZHMgUGl7Y29uc3RydWN0b3IoZSl7c3VwZXIoYEludmFsaWQgdW5pdCAke2V9YCl9fWNsYXNzIGVuIGV4dGVuZHMgUGl7fWNsYXNzIEFyIGV4dGVuZHMgUGl7Y29uc3RydWN0b3IoKXtzdXBlcigiWm9uZSBpcyBhbiBhYnN0cmFjdCBjbGFzcyIpfX1jb25zdCBtZT0ibnVtZXJpYyIsSm49InNob3J0Iixmbj0ibG9uZyIsamE9e3llYXI6bWUsbW9udGg6bWUsZGF5Om1lfSxmXz17eWVhcjptZSxtb250aDpKbixkYXk6bWV9LEdQPXt5ZWFyOm1lLG1vbnRoOkpuLGRheTptZSx3ZWVrZGF5OkpufSxoXz17eWVhcjptZSxtb250aDpmbixkYXk6bWV9LG1fPXt5ZWFyOm1lLG1vbnRoOmZuLGRheTptZSx3ZWVrZGF5OmZufSxwXz17aG91cjptZSxtaW51dGU6bWV9LGdfPXtob3VyOm1lLG1pbnV0ZTptZSxzZWNvbmQ6bWV9LHlfPXtob3VyOm1lLG1pbnV0ZTptZSxzZWNvbmQ6bWUsdGltZVpvbmVOYW1lOkpufSx2Xz17aG91cjptZSxtaW51dGU6bWUsc2Vjb25kOm1lLHRpbWVab25lTmFtZTpmbn0sX189e2hvdXI6bWUsbWludXRlOm1lLGhvdXJDeWNsZToiaDIzIn0sYl89e2hvdXI6bWUsbWludXRlOm1lLHNlY29uZDptZSxob3VyQ3ljbGU6ImgyMyJ9LHdfPXtob3VyOm1lLG1pbnV0ZTptZSxzZWNvbmQ6bWUsaG91ckN5Y2xlOiJoMjMiLHRpbWVab25lTmFtZTpKbn0sa189e2hvdXI6bWUsbWludXRlOm1lLHNlY29uZDptZSxob3VyQ3ljbGU6ImgyMyIsdGltZVpvbmVOYW1lOmZufSxTXz17eWVhcjptZSxtb250aDptZSxkYXk6bWUsaG91cjptZSxtaW51dGU6bWV9LFRfPXt5ZWFyOm1lLG1vbnRoOm1lLGRheTptZSxob3VyOm1lLG1pbnV0ZTptZSxzZWNvbmQ6bWV9LEVfPXt5ZWFyOm1lLG1vbnRoOkpuLGRheTptZSxob3VyOm1lLG1pbnV0ZTptZX0seF89e3llYXI6bWUsbW9udGg6Sm4sZGF5Om1lLGhvdXI6bWUsbWludXRlOm1lLHNlY29uZDptZX0selA9e3llYXI6bWUsbW9udGg6Sm4sZGF5Om1lLHdlZWtkYXk6Sm4saG91cjptZSxtaW51dGU6bWV9LEFfPXt5ZWFyOm1lLG1vbnRoOmZuLGRheTptZSxob3VyOm1lLG1pbnV0ZTptZSx0aW1lWm9uZU5hbWU6Sm59LE9fPXt5ZWFyOm1lLG1vbnRoOmZuLGRheTptZSxob3VyOm1lLG1pbnV0ZTptZSxzZWNvbmQ6bWUsdGltZVpvbmVOYW1lOkpufSxDXz17eWVhcjptZSxtb250aDpmbixkYXk6bWUsd2Vla2RheTpmbixob3VyOm1lLG1pbnV0ZTptZSx0aW1lWm9uZU5hbWU6Zm59LFBfPXt5ZWFyOm1lLG1vbnRoOmZuLGRheTptZSx3ZWVrZGF5OmZuLGhvdXI6bWUsbWludXRlOm1lLHNlY29uZDptZSx0aW1lWm9uZU5hbWU6Zm59O2NsYXNzIGpve2dldCB0eXBlKCl7dGhyb3cgbmV3IEFyfWdldCBuYW1lKCl7dGhyb3cgbmV3IEFyfWdldCBpYW5hTmFtZSgpe3JldHVybiB0aGlzLm5hbWV9Z2V0IGlzVW5pdmVyc2FsKCl7dGhyb3cgbmV3IEFyfW9mZnNldE5hbWUoZSxuKXt0aHJvdyBuZXcgQXJ9Zm9ybWF0T2Zmc2V0KGUsbil7dGhyb3cgbmV3IEFyfW9mZnNldChlKXt0aHJvdyBuZXcgQXJ9ZXF1YWxzKGUpe3Rocm93IG5ldyBBcn1nZXQgaXNWYWxpZCgpe3Rocm93IG5ldyBBcn19bGV0IGNjPW51bGw7Y2xhc3MgSWwgZXh0ZW5kcyBqb3tzdGF0aWMgZ2V0IGluc3RhbmNlKCl7cmV0dXJuIGNjPT09bnVsbCYmKGNjPW5ldyBJbCksY2N9Z2V0IHR5cGUoKXtyZXR1cm4ic3lzdGVtIn1nZXQgbmFtZSgpe3JldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lfWdldCBpc1VuaXZlcnNhbCgpe3JldHVybiExfW9mZnNldE5hbWUoZSx7Zm9ybWF0Om4sbG9jYWxlOnJ9KXtyZXR1cm4gal8oZSxuLHIpfWZvcm1hdE9mZnNldChlLG4pe3JldHVybiBYcyh0aGlzLm9mZnNldChlKSxuKX1vZmZzZXQoZSl7cmV0dXJuLW5ldyBEYXRlKGUpLmdldFRpbWV6b25lT2Zmc2V0KCl9ZXF1YWxzKGUpe3JldHVybiBlLnR5cGU9PT0ic3lzdGVtIn1nZXQgaXNWYWxpZCgpe3JldHVybiEwfX1sZXQgd2E9e307ZnVuY3Rpb24gSFAodCl7cmV0dXJuIHdhW3RdfHwod2FbdF09bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoImVuLVVTIix7aG91cjEyOiExLHRpbWVab25lOnQseWVhcjoibnVtZXJpYyIsbW9udGg6IjItZGlnaXQiLGRheToiMi1kaWdpdCIsaG91cjoiMi1kaWdpdCIsbWludXRlOiIyLWRpZ2l0IixzZWNvbmQ6IjItZGlnaXQiLGVyYToic2hvcnQifSkpLHdhW3RdfWNvbnN0IEpQPXt5ZWFyOjAsbW9udGg6MSxkYXk6MixlcmE6Myxob3VyOjQsbWludXRlOjUsc2Vjb25kOjZ9O2Z1bmN0aW9uIHFQKHQsZSl7Y29uc3Qgbj10LmZvcm1hdChlKS5yZXBsYWNlKC9cdTIwMEUvZywiIikscj0vKFxkKylcLyhcZCspXC8oXGQrKSAoQUR8QkMpLD8gKFxkKyk6KFxkKyk6KFxkKykvLmV4ZWMobiksWyxpLHMsbyxhLGwsYyx1XT1yO3JldHVybltvLGkscyxhLGwsYyx1XX1mdW5jdGlvbiBaUCh0LGUpe2NvbnN0IG49dC5mb3JtYXRUb1BhcnRzKGUpLHI9W107Zm9yKGxldCBpPTA7aTxuLmxlbmd0aDtpKyspe2NvbnN0e3R5cGU6cyx2YWx1ZTpvfT1uW2ldLGE9SlBbc107cz09PSJlcmEiP3JbYV09bzpGZShhKXx8KHJbYV09cGFyc2VJbnQobywxMCkpfXJldHVybiByfWxldCBvYT17fTtjbGFzcyBfciBleHRlbmRzIGpve3N0YXRpYyBjcmVhdGUoZSl7cmV0dXJuIG9hW2VdfHwob2FbZV09bmV3IF9yKGUpKSxvYVtlXX1zdGF0aWMgcmVzZXRDYWNoZSgpe29hPXt9LHdhPXt9fXN0YXRpYyBpc1ZhbGlkU3BlY2lmaWVyKGUpe3JldHVybiB0aGlzLmlzVmFsaWRab25lKGUpfXN0YXRpYyBpc1ZhbGlkWm9uZShlKXtpZighZSlyZXR1cm4hMTt0cnl7cmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbi1VUyIse3RpbWVab25lOmV9KS5mb3JtYXQoKSwhMH1jYXRjaHtyZXR1cm4hMX19Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLnpvbmVOYW1lPWUsdGhpcy52YWxpZD1fci5pc1ZhbGlkWm9uZShlKX1nZXQgdHlwZSgpe3JldHVybiJpYW5hIn1nZXQgbmFtZSgpe3JldHVybiB0aGlzLnpvbmVOYW1lfWdldCBpc1VuaXZlcnNhbCgpe3JldHVybiExfW9mZnNldE5hbWUoZSx7Zm9ybWF0Om4sbG9jYWxlOnJ9KXtyZXR1cm4gal8oZSxuLHIsdGhpcy5uYW1lKX1mb3JtYXRPZmZzZXQoZSxuKXtyZXR1cm4gWHModGhpcy5vZmZzZXQoZSksbil9b2Zmc2V0KGUpe2NvbnN0IG49bmV3IERhdGUoZSk7aWYoaXNOYU4obikpcmV0dXJuIE5hTjtjb25zdCByPUhQKHRoaXMubmFtZSk7bGV0W2kscyxvLGEsbCxjLHVdPXIuZm9ybWF0VG9QYXJ0cz9aUChyLG4pOnFQKHIsbik7YT09PSJCQyImJihpPS1NYXRoLmFicyhpKSsxKTtjb25zdCBmPVJsKHt5ZWFyOmksbW9udGg6cyxkYXk6byxob3VyOmw9PT0yND8wOmwsbWludXRlOmMsc2Vjb25kOnUsbWlsbGlzZWNvbmQ6MH0pO2xldCBoPStuO2NvbnN0IG09aCUxZTM7cmV0dXJuIGgtPW0+PTA/bToxZTMrbSwoZi1oKS8oNjAqMWUzKX1lcXVhbHMoZSl7cmV0dXJuIGUudHlwZT09PSJpYW5hIiYmZS5uYW1lPT09dGhpcy5uYW1lfWdldCBpc1ZhbGlkKCl7cmV0dXJuIHRoaXMudmFsaWR9fWxldCBGbT17fTtmdW5jdGlvbiBLUCh0LGU9e30pe2NvbnN0IG49SlNPTi5zdHJpbmdpZnkoW3QsZV0pO2xldCByPUZtW25dO3JldHVybiByfHwocj1uZXcgSW50bC5MaXN0Rm9ybWF0KHQsZSksRm1bbl09cikscn1sZXQgbXU9e307ZnVuY3Rpb24gcHUodCxlPXt9KXtjb25zdCBuPUpTT04uc3RyaW5naWZ5KFt0LGVdKTtsZXQgcj1tdVtuXTtyZXR1cm4gcnx8KHI9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodCxlKSxtdVtuXT1yKSxyfWxldCBndT17fTtmdW5jdGlvbiBZUCh0LGU9e30pe2NvbnN0IG49SlNPTi5zdHJpbmdpZnkoW3QsZV0pO2xldCByPWd1W25dO3JldHVybiByfHwocj1uZXcgSW50bC5OdW1iZXJGb3JtYXQodCxlKSxndVtuXT1yKSxyfWxldCB5dT17fTtmdW5jdGlvbiBYUCh0LGU9e30pe2NvbnN0e2Jhc2U6biwuLi5yfT1lLGk9SlNPTi5zdHJpbmdpZnkoW3Qscl0pO2xldCBzPXl1W2ldO3JldHVybiBzfHwocz1uZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQodCxlKSx5dVtpXT1zKSxzfWxldCBCcz1udWxsO2Z1bmN0aW9uIFFQKCl7cmV0dXJuIEJzfHwoQnM9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGUsQnMpfWxldCAkbT17fTtmdW5jdGlvbiBlSSh0KXtsZXQgZT0kbVt0XTtpZighZSl7Y29uc3Qgbj1uZXcgSW50bC5Mb2NhbGUodCk7ZT0iZ2V0V2Vla0luZm8iaW4gbj9uLmdldFdlZWtJbmZvKCk6bi53ZWVrSW5mbywkbVt0XT1lfXJldHVybiBlfWZ1bmN0aW9uIHRJKHQpe2NvbnN0IGU9dC5pbmRleE9mKCIteC0iKTtlIT09LTEmJih0PXQuc3Vic3RyaW5nKDAsZSkpO2NvbnN0IG49dC5pbmRleE9mKCItdS0iKTtpZihuPT09LTEpcmV0dXJuW3RdO3tsZXQgcixpO3RyeXtyPXB1KHQpLnJlc29sdmVkT3B0aW9ucygpLGk9dH1jYXRjaHtjb25zdCBsPXQuc3Vic3RyaW5nKDAsbik7cj1wdShsKS5yZXNvbHZlZE9wdGlvbnMoKSxpPWx9Y29uc3R7bnVtYmVyaW5nU3lzdGVtOnMsY2FsZW5kYXI6b309cjtyZXR1cm5baSxzLG9dfX1mdW5jdGlvbiBuSSh0LGUsbil7cmV0dXJuKG58fGUpJiYodC5pbmNsdWRlcygiLXUtIil8fCh0Kz0iLXUiKSxuJiYodCs9YC1jYS0ke259YCksZSYmKHQrPWAtbnUtJHtlfWApKSx0fWZ1bmN0aW9uIHJJKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTE7bjw9MTI7bisrKXtjb25zdCByPU9lLnV0YygyMDA5LG4sMSk7ZS5wdXNoKHQocikpfXJldHVybiBlfWZ1bmN0aW9uIGlJKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTE7bjw9NztuKyspe2NvbnN0IHI9T2UudXRjKDIwMTYsMTEsMTMrbik7ZS5wdXNoKHQocikpfXJldHVybiBlfWZ1bmN0aW9uIGFhKHQsZSxuLHIpe2NvbnN0IGk9dC5saXN0aW5nTW9kZSgpO3JldHVybiBpPT09ImVycm9yIj9udWxsOmk9PT0iZW4iP24oZSk6cihlKX1mdW5jdGlvbiBzSSh0KXtyZXR1cm4gdC5udW1iZXJpbmdTeXN0ZW0mJnQubnVtYmVyaW5nU3lzdGVtIT09ImxhdG4iPyExOnQubnVtYmVyaW5nU3lzdGVtPT09ImxhdG4ifHwhdC5sb2NhbGV8fHQubG9jYWxlLnN0YXJ0c1dpdGgoImVuIil8fG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHQuaW50bCkucmVzb2x2ZWRPcHRpb25zKCkubnVtYmVyaW5nU3lzdGVtPT09ImxhdG4ifWNsYXNzIG9Je2NvbnN0cnVjdG9yKGUsbixyKXt0aGlzLnBhZFRvPXIucGFkVG98fDAsdGhpcy5mbG9vcj1yLmZsb29yfHwhMTtjb25zdHtwYWRUbzppLGZsb29yOnMsLi4ub309cjtpZighbnx8T2JqZWN0LmtleXMobykubGVuZ3RoPjApe2NvbnN0IGE9e3VzZUdyb3VwaW5nOiExLC4uLnJ9O3IucGFkVG8+MCYmKGEubWluaW11bUludGVnZXJEaWdpdHM9ci5wYWRUbyksdGhpcy5pbmY9WVAoZSxhKX19Zm9ybWF0KGUpe2lmKHRoaXMuaW5mKXtjb25zdCBuPXRoaXMuZmxvb3I/TWF0aC5mbG9vcihlKTplO3JldHVybiB0aGlzLmluZi5mb3JtYXQobil9ZWxzZXtjb25zdCBuPXRoaXMuZmxvb3I/TWF0aC5mbG9vcihlKTpaZChlLDMpO3JldHVybiBrdChuLHRoaXMucGFkVG8pfX19Y2xhc3MgYUl7Y29uc3RydWN0b3IoZSxuLHIpe3RoaXMub3B0cz1yLHRoaXMub3JpZ2luYWxab25lPXZvaWQgMDtsZXQgaTtpZih0aGlzLm9wdHMudGltZVpvbmUpdGhpcy5kdD1lO2Vsc2UgaWYoZS56b25lLnR5cGU9PT0iZml4ZWQiKXtjb25zdCBvPS0xKihlLm9mZnNldC82MCksYT1vPj0wP2BFdGMvR01UKyR7b31gOmBFdGMvR01UJHtvfWA7ZS5vZmZzZXQhPT0wJiZfci5jcmVhdGUoYSkudmFsaWQ/KGk9YSx0aGlzLmR0PWUpOihpPSJVVEMiLHRoaXMuZHQ9ZS5vZmZzZXQ9PT0wP2U6ZS5zZXRab25lKCJVVEMiKS5wbHVzKHttaW51dGVzOmUub2Zmc2V0fSksdGhpcy5vcmlnaW5hbFpvbmU9ZS56b25lKX1lbHNlIGUuem9uZS50eXBlPT09InN5c3RlbSI/dGhpcy5kdD1lOmUuem9uZS50eXBlPT09ImlhbmEiPyh0aGlzLmR0PWUsaT1lLnpvbmUubmFtZSk6KGk9IlVUQyIsdGhpcy5kdD1lLnNldFpvbmUoIlVUQyIpLnBsdXMoe21pbnV0ZXM6ZS5vZmZzZXR9KSx0aGlzLm9yaWdpbmFsWm9uZT1lLnpvbmUpO2NvbnN0IHM9ey4uLnRoaXMub3B0c307cy50aW1lWm9uZT1zLnRpbWVab25lfHxpLHRoaXMuZHRmPXB1KG4scyl9Zm9ybWF0KCl7cmV0dXJuIHRoaXMub3JpZ2luYWxab25lP3RoaXMuZm9ybWF0VG9QYXJ0cygpLm1hcCgoe3ZhbHVlOmV9KT0+ZSkuam9pbigiIik6dGhpcy5kdGYuZm9ybWF0KHRoaXMuZHQudG9KU0RhdGUoKSl9Zm9ybWF0VG9QYXJ0cygpe2NvbnN0IGU9dGhpcy5kdGYuZm9ybWF0VG9QYXJ0cyh0aGlzLmR0LnRvSlNEYXRlKCkpO3JldHVybiB0aGlzLm9yaWdpbmFsWm9uZT9lLm1hcChuPT57aWYobi50eXBlPT09InRpbWVab25lTmFtZSIpe2NvbnN0IHI9dGhpcy5vcmlnaW5hbFpvbmUub2Zmc2V0TmFtZSh0aGlzLmR0LnRzLHtsb2NhbGU6dGhpcy5kdC5sb2NhbGUsZm9ybWF0OnRoaXMub3B0cy50aW1lWm9uZU5hbWV9KTtyZXR1cm57Li4ubix2YWx1ZTpyfX1lbHNlIHJldHVybiBufSk6ZX1yZXNvbHZlZE9wdGlvbnMoKXtyZXR1cm4gdGhpcy5kdGYucmVzb2x2ZWRPcHRpb25zKCl9fWNsYXNzIGxJe2NvbnN0cnVjdG9yKGUsbixyKXt0aGlzLm9wdHM9e3N0eWxlOiJsb25nIiwuLi5yfSwhbiYmRl8oKSYmKHRoaXMucnRmPVhQKGUscikpfWZvcm1hdChlLG4pe3JldHVybiB0aGlzLnJ0Zj90aGlzLnJ0Zi5mb3JtYXQoZSxuKTpPSShuLGUsdGhpcy5vcHRzLm51bWVyaWMsdGhpcy5vcHRzLnN0eWxlIT09ImxvbmciKX1mb3JtYXRUb1BhcnRzKGUsbil7cmV0dXJuIHRoaXMucnRmP3RoaXMucnRmLmZvcm1hdFRvUGFydHMoZSxuKTpbXX19Y29uc3QgY0k9e2ZpcnN0RGF5OjEsbWluaW1hbERheXM6NCx3ZWVrZW5kOls2LDddfTtjbGFzcyBhdHtzdGF0aWMgZnJvbU9wdHMoZSl7cmV0dXJuIGF0LmNyZWF0ZShlLmxvY2FsZSxlLm51bWJlcmluZ1N5c3RlbSxlLm91dHB1dENhbGVuZGFyLGUud2Vla1NldHRpbmdzLGUuZGVmYXVsdFRvRU4pfXN0YXRpYyBjcmVhdGUoZSxuLHIsaSxzPSExKXtjb25zdCBvPWV8fHB0LmRlZmF1bHRMb2NhbGUsYT1vfHwocz8iZW4tVVMiOlFQKCkpLGw9bnx8cHQuZGVmYXVsdE51bWJlcmluZ1N5c3RlbSxjPXJ8fHB0LmRlZmF1bHRPdXRwdXRDYWxlbmRhcix1PXZ1KGkpfHxwdC5kZWZhdWx0V2Vla1NldHRpbmdzO3JldHVybiBuZXcgYXQoYSxsLGMsdSxvKX1zdGF0aWMgcmVzZXRDYWNoZSgpe0JzPW51bGwsbXU9e30sZ3U9e30seXU9e319c3RhdGljIGZyb21PYmplY3Qoe2xvY2FsZTplLG51bWJlcmluZ1N5c3RlbTpuLG91dHB1dENhbGVuZGFyOnIsd2Vla1NldHRpbmdzOml9PXt9KXtyZXR1cm4gYXQuY3JlYXRlKGUsbixyLGkpfWNvbnN0cnVjdG9yKGUsbixyLGkscyl7Y29uc3RbbyxhLGxdPXRJKGUpO3RoaXMubG9jYWxlPW8sdGhpcy5udW1iZXJpbmdTeXN0ZW09bnx8YXx8bnVsbCx0aGlzLm91dHB1dENhbGVuZGFyPXJ8fGx8fG51bGwsdGhpcy53ZWVrU2V0dGluZ3M9aSx0aGlzLmludGw9bkkodGhpcy5sb2NhbGUsdGhpcy5udW1iZXJpbmdTeXN0ZW0sdGhpcy5vdXRwdXRDYWxlbmRhciksdGhpcy53ZWVrZGF5c0NhY2hlPXtmb3JtYXQ6e30sc3RhbmRhbG9uZTp7fX0sdGhpcy5tb250aHNDYWNoZT17Zm9ybWF0Ont9LHN0YW5kYWxvbmU6e319LHRoaXMubWVyaWRpZW1DYWNoZT1udWxsLHRoaXMuZXJhQ2FjaGU9e30sdGhpcy5zcGVjaWZpZWRMb2NhbGU9cyx0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkPW51bGx9Z2V0IGZhc3ROdW1iZXJzKCl7cmV0dXJuIHRoaXMuZmFzdE51bWJlcnNDYWNoZWQ9PW51bGwmJih0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkPXNJKHRoaXMpKSx0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkfWxpc3RpbmdNb2RlKCl7Y29uc3QgZT10aGlzLmlzRW5nbGlzaCgpLG49KHRoaXMubnVtYmVyaW5nU3lzdGVtPT09bnVsbHx8dGhpcy5udW1iZXJpbmdTeXN0ZW09PT0ibGF0biIpJiYodGhpcy5vdXRwdXRDYWxlbmRhcj09PW51bGx8fHRoaXMub3V0cHV0Q2FsZW5kYXI9PT0iZ3JlZ29yeSIpO3JldHVybiBlJiZuPyJlbiI6ImludGwifWNsb25lKGUpe3JldHVybiFlfHxPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKS5sZW5ndGg9PT0wP3RoaXM6YXQuY3JlYXRlKGUubG9jYWxlfHx0aGlzLnNwZWNpZmllZExvY2FsZSxlLm51bWJlcmluZ1N5c3RlbXx8dGhpcy5udW1iZXJpbmdTeXN0ZW0sZS5vdXRwdXRDYWxlbmRhcnx8dGhpcy5vdXRwdXRDYWxlbmRhcix2dShlLndlZWtTZXR0aW5ncyl8fHRoaXMud2Vla1NldHRpbmdzLGUuZGVmYXVsdFRvRU58fCExKX1yZWRlZmF1bHRUb0VOKGU9e30pe3JldHVybiB0aGlzLmNsb25lKHsuLi5lLGRlZmF1bHRUb0VOOiEwfSl9cmVkZWZhdWx0VG9TeXN0ZW0oZT17fSl7cmV0dXJuIHRoaXMuY2xvbmUoey4uLmUsZGVmYXVsdFRvRU46ITF9KX1tb250aHMoZSxuPSExKXtyZXR1cm4gYWEodGhpcyxlLFZfLCgpPT57Y29uc3Qgcj1uP3ttb250aDplLGRheToibnVtZXJpYyJ9Onttb250aDplfSxpPW4/ImZvcm1hdCI6InN0YW5kYWxvbmUiO3JldHVybiB0aGlzLm1vbnRoc0NhY2hlW2ldW2VdfHwodGhpcy5tb250aHNDYWNoZVtpXVtlXT1ySShzPT50aGlzLmV4dHJhY3QocyxyLCJtb250aCIpKSksdGhpcy5tb250aHNDYWNoZVtpXVtlXX0pfXdlZWtkYXlzKGUsbj0hMSl7cmV0dXJuIGFhKHRoaXMsZSx6XywoKT0+e2NvbnN0IHI9bj97d2Vla2RheTplLHllYXI6Im51bWVyaWMiLG1vbnRoOiJsb25nIixkYXk6Im51bWVyaWMifTp7d2Vla2RheTplfSxpPW4/ImZvcm1hdCI6InN0YW5kYWxvbmUiO3JldHVybiB0aGlzLndlZWtkYXlzQ2FjaGVbaV1bZV18fCh0aGlzLndlZWtkYXlzQ2FjaGVbaV1bZV09aUkocz0+dGhpcy5leHRyYWN0KHMsciwid2Vla2RheSIpKSksdGhpcy53ZWVrZGF5c0NhY2hlW2ldW2VdfSl9bWVyaWRpZW1zKCl7cmV0dXJuIGFhKHRoaXMsdm9pZCAwLCgpPT5IXywoKT0+e2lmKCF0aGlzLm1lcmlkaWVtQ2FjaGUpe2NvbnN0IGU9e2hvdXI6Im51bWVyaWMiLGhvdXJDeWNsZToiaDEyIn07dGhpcy5tZXJpZGllbUNhY2hlPVtPZS51dGMoMjAxNiwxMSwxMyw5KSxPZS51dGMoMjAxNiwxMSwxMywxOSldLm1hcChuPT50aGlzLmV4dHJhY3QobixlLCJkYXlwZXJpb2QiKSl9cmV0dXJuIHRoaXMubWVyaWRpZW1DYWNoZX0pfWVyYXMoZSl7cmV0dXJuIGFhKHRoaXMsZSxKXywoKT0+e2NvbnN0IG49e2VyYTplfTtyZXR1cm4gdGhpcy5lcmFDYWNoZVtlXXx8KHRoaXMuZXJhQ2FjaGVbZV09W09lLnV0YygtNDAsMSwxKSxPZS51dGMoMjAxNywxLDEpXS5tYXAocj0+dGhpcy5leHRyYWN0KHIsbiwiZXJhIikpKSx0aGlzLmVyYUNhY2hlW2VdfSl9ZXh0cmFjdChlLG4scil7Y29uc3QgaT10aGlzLmR0Rm9ybWF0dGVyKGUsbikscz1pLmZvcm1hdFRvUGFydHMoKSxvPXMuZmluZChhPT5hLnR5cGUudG9Mb3dlckNhc2UoKT09PXIpO3JldHVybiBvP28udmFsdWU6bnVsbH1udW1iZXJGb3JtYXR0ZXIoZT17fSl7cmV0dXJuIG5ldyBvSSh0aGlzLmludGwsZS5mb3JjZVNpbXBsZXx8dGhpcy5mYXN0TnVtYmVycyxlKX1kdEZvcm1hdHRlcihlLG49e30pe3JldHVybiBuZXcgYUkoZSx0aGlzLmludGwsbil9cmVsRm9ybWF0dGVyKGU9e30pe3JldHVybiBuZXcgbEkodGhpcy5pbnRsLHRoaXMuaXNFbmdsaXNoKCksZSl9bGlzdEZvcm1hdHRlcihlPXt9KXtyZXR1cm4gS1AodGhpcy5pbnRsLGUpfWlzRW5nbGlzaCgpe3JldHVybiB0aGlzLmxvY2FsZT09PSJlbiJ8fHRoaXMubG9jYWxlLnRvTG93ZXJDYXNlKCk9PT0iZW4tdXMifHxuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmludGwpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZS5zdGFydHNXaXRoKCJlbi11cyIpfWdldFdlZWtTZXR0aW5ncygpe3JldHVybiB0aGlzLndlZWtTZXR0aW5ncz90aGlzLndlZWtTZXR0aW5nczokXygpP2VJKHRoaXMubG9jYWxlKTpjSX1nZXRTdGFydE9mV2Vlaygpe3JldHVybiB0aGlzLmdldFdlZWtTZXR0aW5ncygpLmZpcnN0RGF5fWdldE1pbkRheXNJbkZpcnN0V2Vlaygpe3JldHVybiB0aGlzLmdldFdlZWtTZXR0aW5ncygpLm1pbmltYWxEYXlzfWdldFdlZWtlbmREYXlzKCl7cmV0dXJuIHRoaXMuZ2V0V2Vla1NldHRpbmdzKCkud2Vla2VuZH1lcXVhbHMoZSl7cmV0dXJuIHRoaXMubG9jYWxlPT09ZS5sb2NhbGUmJnRoaXMubnVtYmVyaW5nU3lzdGVtPT09ZS5udW1iZXJpbmdTeXN0ZW0mJnRoaXMub3V0cHV0Q2FsZW5kYXI9PT1lLm91dHB1dENhbGVuZGFyfX1sZXQgdWM9bnVsbDtjbGFzcyBxdCBleHRlbmRzIGpve3N0YXRpYyBnZXQgdXRjSW5zdGFuY2UoKXtyZXR1cm4gdWM9PT1udWxsJiYodWM9bmV3IHF0KDApKSx1Y31zdGF0aWMgaW5zdGFuY2UoZSl7cmV0dXJuIGU9PT0wP3F0LnV0Y0luc3RhbmNlOm5ldyBxdChlKX1zdGF0aWMgcGFyc2VTcGVjaWZpZXIoZSl7aWYoZSl7Y29uc3Qgbj1lLm1hdGNoKC9edXRjKD86KFsrLV1cZHsxLDJ9KSg/OjooXGR7Mn0pKT8pPyQvaSk7aWYobilyZXR1cm4gbmV3IHF0KERsKG5bMV0sblsyXSkpfXJldHVybiBudWxsfWNvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5maXhlZD1lfWdldCB0eXBlKCl7cmV0dXJuImZpeGVkIn1nZXQgbmFtZSgpe3JldHVybiB0aGlzLmZpeGVkPT09MD8iVVRDIjpgVVRDJHtYcyh0aGlzLmZpeGVkLCJuYXJyb3ciKX1gfWdldCBpYW5hTmFtZSgpe3JldHVybiB0aGlzLmZpeGVkPT09MD8iRXRjL1VUQyI6YEV0Yy9HTVQke1hzKC10aGlzLmZpeGVkLCJuYXJyb3ciKX1gfW9mZnNldE5hbWUoKXtyZXR1cm4gdGhpcy5uYW1lfWZvcm1hdE9mZnNldChlLG4pe3JldHVybiBYcyh0aGlzLmZpeGVkLG4pfWdldCBpc1VuaXZlcnNhbCgpe3JldHVybiEwfW9mZnNldCgpe3JldHVybiB0aGlzLmZpeGVkfWVxdWFscyhlKXtyZXR1cm4gZS50eXBlPT09ImZpeGVkIiYmZS5maXhlZD09PXRoaXMuZml4ZWR9Z2V0IGlzVmFsaWQoKXtyZXR1cm4hMH19Y2xhc3MgdUkgZXh0ZW5kcyBqb3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuem9uZU5hbWU9ZX1nZXQgdHlwZSgpe3JldHVybiJpbnZhbGlkIn1nZXQgbmFtZSgpe3JldHVybiB0aGlzLnpvbmVOYW1lfWdldCBpc1VuaXZlcnNhbCgpe3JldHVybiExfW9mZnNldE5hbWUoKXtyZXR1cm4gbnVsbH1mb3JtYXRPZmZzZXQoKXtyZXR1cm4iIn1vZmZzZXQoKXtyZXR1cm4gTmFOfWVxdWFscygpe3JldHVybiExfWdldCBpc1ZhbGlkKCl7cmV0dXJuITF9fWZ1bmN0aW9uIGpyKHQsZSl7aWYoRmUodCl8fHQ9PT1udWxsKXJldHVybiBlO2lmKHQgaW5zdGFuY2VvZiBqbylyZXR1cm4gdDtpZihoSSh0KSl7Y29uc3Qgbj10LnRvTG93ZXJDYXNlKCk7cmV0dXJuIG49PT0iZGVmYXVsdCI/ZTpuPT09ImxvY2FsInx8bj09PSJzeXN0ZW0iP0lsLmluc3RhbmNlOm49PT0idXRjInx8bj09PSJnbXQiP3F0LnV0Y0luc3RhbmNlOnF0LnBhcnNlU3BlY2lmaWVyKG4pfHxfci5jcmVhdGUodCl9ZWxzZSByZXR1cm4gd2kodCk/cXQuaW5zdGFuY2UodCk6dHlwZW9mIHQ9PSJvYmplY3QiJiYib2Zmc2V0ImluIHQmJnR5cGVvZiB0Lm9mZnNldD09ImZ1bmN0aW9uIj90Om5ldyB1SSh0KX1sZXQgam09KCk9PkRhdGUubm93KCksQm09InN5c3RlbSIsVW09bnVsbCxWbT1udWxsLFdtPW51bGwsR209NjAsem0sSG09bnVsbDtjbGFzcyBwdHtzdGF0aWMgZ2V0IG5vdygpe3JldHVybiBqbX1zdGF0aWMgc2V0IG5vdyhlKXtqbT1lfXN0YXRpYyBzZXQgZGVmYXVsdFpvbmUoZSl7Qm09ZX1zdGF0aWMgZ2V0IGRlZmF1bHRab25lKCl7cmV0dXJuIGpyKEJtLElsLmluc3RhbmNlKX1zdGF0aWMgZ2V0IGRlZmF1bHRMb2NhbGUoKXtyZXR1cm4gVW19c3RhdGljIHNldCBkZWZhdWx0TG9jYWxlKGUpe1VtPWV9c3RhdGljIGdldCBkZWZhdWx0TnVtYmVyaW5nU3lzdGVtKCl7cmV0dXJuIFZtfXN0YXRpYyBzZXQgZGVmYXVsdE51bWJlcmluZ1N5c3RlbShlKXtWbT1lfXN0YXRpYyBnZXQgZGVmYXVsdE91dHB1dENhbGVuZGFyKCl7cmV0dXJuIFdtfXN0YXRpYyBzZXQgZGVmYXVsdE91dHB1dENhbGVuZGFyKGUpe1dtPWV9c3RhdGljIGdldCBkZWZhdWx0V2Vla1NldHRpbmdzKCl7cmV0dXJuIEhtfXN0YXRpYyBzZXQgZGVmYXVsdFdlZWtTZXR0aW5ncyhlKXtIbT12dShlKX1zdGF0aWMgZ2V0IHR3b0RpZ2l0Q3V0b2ZmWWVhcigpe3JldHVybiBHbX1zdGF0aWMgc2V0IHR3b0RpZ2l0Q3V0b2ZmWWVhcihlKXtHbT1lJTEwMH1zdGF0aWMgZ2V0IHRocm93T25JbnZhbGlkKCl7cmV0dXJuIHptfXN0YXRpYyBzZXQgdGhyb3dPbkludmFsaWQoZSl7em09ZX1zdGF0aWMgcmVzZXRDYWNoZXMoKXthdC5yZXNldENhY2hlKCksX3IucmVzZXRDYWNoZSgpfX1jbGFzcyBXbntjb25zdHJ1Y3RvcihlLG4pe3RoaXMucmVhc29uPWUsdGhpcy5leHBsYW5hdGlvbj1ufXRvTWVzc2FnZSgpe3JldHVybiB0aGlzLmV4cGxhbmF0aW9uP2Ake3RoaXMucmVhc29ufTogJHt0aGlzLmV4cGxhbmF0aW9ufWA6dGhpcy5yZWFzb259fWNvbnN0IElfPVswLDMxLDU5LDkwLDEyMCwxNTEsMTgxLDIxMiwyNDMsMjczLDMwNCwzMzRdLE5fPVswLDMxLDYwLDkxLDEyMSwxNTIsMTgyLDIxMywyNDQsMjc0LDMwNSwzMzVdO2Z1bmN0aW9uIFNuKHQsZSl7cmV0dXJuIG5ldyBXbigidW5pdCBvdXQgb2YgcmFuZ2UiLGB5b3Ugc3BlY2lmaWVkICR7ZX0gKG9mIHR5cGUgJHt0eXBlb2YgZX0pIGFzIGEgJHt0fSwgd2hpY2ggaXMgaW52YWxpZGApfWZ1bmN0aW9uIEhkKHQsZSxuKXtjb25zdCByPW5ldyBEYXRlKERhdGUuVVRDKHQsZS0xLG4pKTt0PDEwMCYmdD49MCYmci5zZXRVVENGdWxsWWVhcihyLmdldFVUQ0Z1bGxZZWFyKCktMTkwMCk7Y29uc3QgaT1yLmdldFVUQ0RheSgpO3JldHVybiBpPT09MD83Oml9ZnVuY3Rpb24gUl8odCxlLG4pe3JldHVybiBuKyhCbyh0KT9OXzpJXylbZS0xXX1mdW5jdGlvbiBEXyh0LGUpe2NvbnN0IG49Qm8odCk/Tl86SV8scj1uLmZpbmRJbmRleChzPT5zPGUpLGk9ZS1uW3JdO3JldHVybnttb250aDpyKzEsZGF5Oml9fWZ1bmN0aW9uIEpkKHQsZSl7cmV0dXJuKHQtZSs3KSU3KzF9ZnVuY3Rpb24gQmEodCxlPTQsbj0xKXtjb25zdHt5ZWFyOnIsbW9udGg6aSxkYXk6c309dCxvPVJfKHIsaSxzKSxhPUpkKEhkKHIsaSxzKSxuKTtsZXQgbD1NYXRoLmZsb29yKChvLWErMTQtZSkvNyksYztyZXR1cm4gbDwxPyhjPXItMSxsPWJvKGMsZSxuKSk6bD5ibyhyLGUsbik/KGM9cisxLGw9MSk6Yz1yLHt3ZWVrWWVhcjpjLHdlZWtOdW1iZXI6bCx3ZWVrZGF5OmEsLi4uTWwodCl9fWZ1bmN0aW9uIEptKHQsZT00LG49MSl7Y29uc3R7d2Vla1llYXI6cix3ZWVrTnVtYmVyOmksd2Vla2RheTpzfT10LG89SmQoSGQociwxLGUpLG4pLGE9S2kocik7bGV0IGw9aSo3K3Mtby03K2UsYztsPDE/KGM9ci0xLGwrPUtpKGMpKTpsPmE/KGM9cisxLGwtPUtpKHIpKTpjPXI7Y29uc3R7bW9udGg6dSxkYXk6ZH09RF8oYyxsKTtyZXR1cm57eWVhcjpjLG1vbnRoOnUsZGF5OmQsLi4uTWwodCl9fWZ1bmN0aW9uIGRjKHQpe2NvbnN0e3llYXI6ZSxtb250aDpuLGRheTpyfT10LGk9Ul8oZSxuLHIpO3JldHVybnt5ZWFyOmUsb3JkaW5hbDppLC4uLk1sKHQpfX1mdW5jdGlvbiBxbSh0KXtjb25zdHt5ZWFyOmUsb3JkaW5hbDpufT10LHttb250aDpyLGRheTppfT1EXyhlLG4pO3JldHVybnt5ZWFyOmUsbW9udGg6cixkYXk6aSwuLi5NbCh0KX19ZnVuY3Rpb24gWm0odCxlKXtpZighRmUodC5sb2NhbFdlZWtkYXkpfHwhRmUodC5sb2NhbFdlZWtOdW1iZXIpfHwhRmUodC5sb2NhbFdlZWtZZWFyKSl7aWYoIUZlKHQud2Vla2RheSl8fCFGZSh0LndlZWtOdW1iZXIpfHwhRmUodC53ZWVrWWVhcikpdGhyb3cgbmV3IGppKCJDYW5ub3QgbWl4IGxvY2FsZS1iYXNlZCB3ZWVrIGZpZWxkcyB3aXRoIElTTy1iYXNlZCB3ZWVrIGZpZWxkcyIpO3JldHVybiBGZSh0LmxvY2FsV2Vla2RheSl8fCh0LndlZWtkYXk9dC5sb2NhbFdlZWtkYXkpLEZlKHQubG9jYWxXZWVrTnVtYmVyKXx8KHQud2Vla051bWJlcj10LmxvY2FsV2Vla051bWJlciksRmUodC5sb2NhbFdlZWtZZWFyKXx8KHQud2Vla1llYXI9dC5sb2NhbFdlZWtZZWFyKSxkZWxldGUgdC5sb2NhbFdlZWtkYXksZGVsZXRlIHQubG9jYWxXZWVrTnVtYmVyLGRlbGV0ZSB0LmxvY2FsV2Vla1llYXIse21pbkRheXNJbkZpcnN0V2VlazplLmdldE1pbkRheXNJbkZpcnN0V2VlaygpLHN0YXJ0T2ZXZWVrOmUuZ2V0U3RhcnRPZldlZWsoKX19ZWxzZSByZXR1cm57bWluRGF5c0luRmlyc3RXZWVrOjQsc3RhcnRPZldlZWs6MX19ZnVuY3Rpb24gZEkodCxlPTQsbj0xKXtjb25zdCByPU5sKHQud2Vla1llYXIpLGk9VG4odC53ZWVrTnVtYmVyLDEsYm8odC53ZWVrWWVhcixlLG4pKSxzPVRuKHQud2Vla2RheSwxLDcpO3JldHVybiByP2k/cz8hMTpTbigid2Vla2RheSIsdC53ZWVrZGF5KTpTbigid2VlayIsdC53ZWVrTnVtYmVyKTpTbigid2Vla1llYXIiLHQud2Vla1llYXIpfWZ1bmN0aW9uIGZJKHQpe2NvbnN0IGU9TmwodC55ZWFyKSxuPVRuKHQub3JkaW5hbCwxLEtpKHQueWVhcikpO3JldHVybiBlP24/ITE6U24oIm9yZGluYWwiLHQub3JkaW5hbCk6U24oInllYXIiLHQueWVhcil9ZnVuY3Rpb24gTV8odCl7Y29uc3QgZT1ObCh0LnllYXIpLG49VG4odC5tb250aCwxLDEyKSxyPVRuKHQuZGF5LDEsVWEodC55ZWFyLHQubW9udGgpKTtyZXR1cm4gZT9uP3I/ITE6U24oImRheSIsdC5kYXkpOlNuKCJtb250aCIsdC5tb250aCk6U24oInllYXIiLHQueWVhcil9ZnVuY3Rpb24gTF8odCl7Y29uc3R7aG91cjplLG1pbnV0ZTpuLHNlY29uZDpyLG1pbGxpc2Vjb25kOml9PXQscz1UbihlLDAsMjMpfHxlPT09MjQmJm49PT0wJiZyPT09MCYmaT09PTAsbz1UbihuLDAsNTkpLGE9VG4ociwwLDU5KSxsPVRuKGksMCw5OTkpO3JldHVybiBzP28/YT9sPyExOlNuKCJtaWxsaXNlY29uZCIsaSk6U24oInNlY29uZCIscik6U24oIm1pbnV0ZSIsbik6U24oImhvdXIiLGUpfWZ1bmN0aW9uIEZlKHQpe3JldHVybiB0eXBlb2YgdD4idSJ9ZnVuY3Rpb24gd2kodCl7cmV0dXJuIHR5cGVvZiB0PT0ibnVtYmVyIn1mdW5jdGlvbiBObCh0KXtyZXR1cm4gdHlwZW9mIHQ9PSJudW1iZXIiJiZ0JTE9PT0wfWZ1bmN0aW9uIGhJKHQpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyJ9ZnVuY3Rpb24gbUkodCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KT09PSJbb2JqZWN0IERhdGVdIn1mdW5jdGlvbiBGXygpe3RyeXtyZXR1cm4gdHlwZW9mIEludGw8InUiJiYhIUludGwuUmVsYXRpdmVUaW1lRm9ybWF0fWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiAkXygpe3RyeXtyZXR1cm4gdHlwZW9mIEludGw8InUiJiYhIUludGwuTG9jYWxlJiYoIndlZWtJbmZvImluIEludGwuTG9jYWxlLnByb3RvdHlwZXx8ImdldFdlZWtJbmZvImluIEludGwuTG9jYWxlLnByb3RvdHlwZSl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIHBJKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Q6W3RdfWZ1bmN0aW9uIEttKHQsZSxuKXtpZih0Lmxlbmd0aCE9PTApcmV0dXJuIHQucmVkdWNlKChyLGkpPT57Y29uc3Qgcz1bZShpKSxpXTtyZXR1cm4gciYmbihyWzBdLHNbMF0pPT09clswXT9yOnN9LG51bGwpWzFdfWZ1bmN0aW9uIGdJKHQsZSl7cmV0dXJuIGUucmVkdWNlKChuLHIpPT4obltyXT10W3JdLG4pLHt9KX1mdW5jdGlvbiBocyh0LGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKX1mdW5jdGlvbiB2dSh0KXtpZih0PT1udWxsKXJldHVybiBudWxsO2lmKHR5cGVvZiB0IT0ib2JqZWN0Iil0aHJvdyBuZXcgZW4oIldlZWsgc2V0dGluZ3MgbXVzdCBiZSBhbiBvYmplY3QiKTtpZighVG4odC5maXJzdERheSwxLDcpfHwhVG4odC5taW5pbWFsRGF5cywxLDcpfHwhQXJyYXkuaXNBcnJheSh0LndlZWtlbmQpfHx0LndlZWtlbmQuc29tZShlPT4hVG4oZSwxLDcpKSl0aHJvdyBuZXcgZW4oIkludmFsaWQgd2VlayBzZXR0aW5ncyIpO3JldHVybntmaXJzdERheTp0LmZpcnN0RGF5LG1pbmltYWxEYXlzOnQubWluaW1hbERheXMsd2Vla2VuZDpBcnJheS5mcm9tKHQud2Vla2VuZCl9fWZ1bmN0aW9uIFRuKHQsZSxuKXtyZXR1cm4gTmwodCkmJnQ+PWUmJnQ8PW59ZnVuY3Rpb24geUkodCxlKXtyZXR1cm4gdC1lKk1hdGguZmxvb3IodC9lKX1mdW5jdGlvbiBrdCh0LGU9Mil7Y29uc3Qgbj10PDA7bGV0IHI7cmV0dXJuIG4/cj0iLSIrKCIiKy10KS5wYWRTdGFydChlLCIwIik6cj0oIiIrdCkucGFkU3RhcnQoZSwiMCIpLHJ9ZnVuY3Rpb24gTHIodCl7aWYoIShGZSh0KXx8dD09PW51bGx8fHQ9PT0iIikpcmV0dXJuIHBhcnNlSW50KHQsMTApfWZ1bmN0aW9uIGNpKHQpe2lmKCEoRmUodCl8fHQ9PT1udWxsfHx0PT09IiIpKXJldHVybiBwYXJzZUZsb2F0KHQpfWZ1bmN0aW9uIHFkKHQpe2lmKCEoRmUodCl8fHQ9PT1udWxsfHx0PT09IiIpKXtjb25zdCBlPXBhcnNlRmxvYXQoIjAuIit0KSoxZTM7cmV0dXJuIE1hdGguZmxvb3IoZSl9fWZ1bmN0aW9uIFpkKHQsZSxuPSExKXtjb25zdCByPTEwKiplO3JldHVybihuP01hdGgudHJ1bmM6TWF0aC5yb3VuZCkodCpyKS9yfWZ1bmN0aW9uIEJvKHQpe3JldHVybiB0JTQ9PT0wJiYodCUxMDAhPT0wfHx0JTQwMD09PTApfWZ1bmN0aW9uIEtpKHQpe3JldHVybiBCbyh0KT8zNjY6MzY1fWZ1bmN0aW9uIFVhKHQsZSl7Y29uc3Qgbj15SShlLTEsMTIpKzEscj10KyhlLW4pLzEyO3JldHVybiBuPT09Mj9CbyhyKT8yOToyODpbMzEsbnVsbCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV1bbi0xXX1mdW5jdGlvbiBSbCh0KXtsZXQgZT1EYXRlLlVUQyh0LnllYXIsdC5tb250aC0xLHQuZGF5LHQuaG91cix0Lm1pbnV0ZSx0LnNlY29uZCx0Lm1pbGxpc2Vjb25kKTtyZXR1cm4gdC55ZWFyPDEwMCYmdC55ZWFyPj0wJiYoZT1uZXcgRGF0ZShlKSxlLnNldFVUQ0Z1bGxZZWFyKHQueWVhcix0Lm1vbnRoLTEsdC5kYXkpKSwrZX1mdW5jdGlvbiBZbSh0LGUsbil7cmV0dXJuLUpkKEhkKHQsMSxlKSxuKStlLTF9ZnVuY3Rpb24gYm8odCxlPTQsbj0xKXtjb25zdCByPVltKHQsZSxuKSxpPVltKHQrMSxlLG4pO3JldHVybihLaSh0KS1yK2kpLzd9ZnVuY3Rpb24gX3UodCl7cmV0dXJuIHQ+OTk/dDp0PnB0LnR3b0RpZ2l0Q3V0b2ZmWWVhcj8xOTAwK3Q6MmUzK3R9ZnVuY3Rpb24gal8odCxlLG4scj1udWxsKXtjb25zdCBpPW5ldyBEYXRlKHQpLHM9e2hvdXJDeWNsZToiaDIzIix5ZWFyOiJudW1lcmljIixtb250aDoiMi1kaWdpdCIsZGF5OiIyLWRpZ2l0Iixob3VyOiIyLWRpZ2l0IixtaW51dGU6IjItZGlnaXQifTtyJiYocy50aW1lWm9uZT1yKTtjb25zdCBvPXt0aW1lWm9uZU5hbWU6ZSwuLi5zfSxhPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KG4sbykuZm9ybWF0VG9QYXJ0cyhpKS5maW5kKGw9PmwudHlwZS50b0xvd2VyQ2FzZSgpPT09InRpbWV6b25lbmFtZSIpO3JldHVybiBhP2EudmFsdWU6bnVsbH1mdW5jdGlvbiBEbCh0LGUpe2xldCBuPXBhcnNlSW50KHQsMTApO051bWJlci5pc05hTihuKSYmKG49MCk7Y29uc3Qgcj1wYXJzZUludChlLDEwKXx8MCxpPW48MHx8T2JqZWN0LmlzKG4sLTApPy1yOnI7cmV0dXJuIG4qNjAraX1mdW5jdGlvbiBCXyh0KXtjb25zdCBlPU51bWJlcih0KTtpZih0eXBlb2YgdD09ImJvb2xlYW4ifHx0PT09IiJ8fE51bWJlci5pc05hTihlKSl0aHJvdyBuZXcgZW4oYEludmFsaWQgdW5pdCB2YWx1ZSAke3R9YCk7cmV0dXJuIGV9ZnVuY3Rpb24gVmEodCxlKXtjb25zdCBuPXt9O2Zvcihjb25zdCByIGluIHQpaWYoaHModCxyKSl7Y29uc3QgaT10W3JdO2lmKGk9PW51bGwpY29udGludWU7bltlKHIpXT1CXyhpKX1yZXR1cm4gbn1mdW5jdGlvbiBYcyh0LGUpe2NvbnN0IG49TWF0aC50cnVuYyhNYXRoLmFicyh0LzYwKSkscj1NYXRoLnRydW5jKE1hdGguYWJzKHQlNjApKSxpPXQ+PTA/IisiOiItIjtzd2l0Y2goZSl7Y2FzZSJzaG9ydCI6cmV0dXJuYCR7aX0ke2t0KG4sMil9OiR7a3QociwyKX1gO2Nhc2UibmFycm93IjpyZXR1cm5gJHtpfSR7bn0ke3I+MD9gOiR7cn1gOiIifWA7Y2FzZSJ0ZWNoaWUiOnJldHVybmAke2l9JHtrdChuLDIpfSR7a3QociwyKX1gO2RlZmF1bHQ6dGhyb3cgbmV3IFJhbmdlRXJyb3IoYFZhbHVlIGZvcm1hdCAke2V9IGlzIG91dCBvZiByYW5nZSBmb3IgcHJvcGVydHkgZm9ybWF0YCl9fWZ1bmN0aW9uIE1sKHQpe3JldHVybiBnSSh0LFsiaG91ciIsIm1pbnV0ZSIsInNlY29uZCIsIm1pbGxpc2Vjb25kIl0pfWNvbnN0IHZJPVsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxVXz1bIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLF9JPVsiSiIsIkYiLCJNIiwiQSIsIk0iLCJKIiwiSiIsIkEiLCJTIiwiTyIsIk4iLCJEIl07ZnVuY3Rpb24gVl8odCl7c3dpdGNoKHQpe2Nhc2UibmFycm93IjpyZXR1cm5bLi4uX0ldO2Nhc2Uic2hvcnQiOnJldHVyblsuLi5VX107Y2FzZSJsb25nIjpyZXR1cm5bLi4udkldO2Nhc2UibnVtZXJpYyI6cmV0dXJuWyIxIiwiMiIsIjMiLCI0IiwiNSIsIjYiLCI3IiwiOCIsIjkiLCIxMCIsIjExIiwiMTIiXTtjYXNlIjItZGlnaXQiOnJldHVyblsiMDEiLCIwMiIsIjAzIiwiMDQiLCIwNSIsIjA2IiwiMDciLCIwOCIsIjA5IiwiMTAiLCIxMSIsIjEyIl07ZGVmYXVsdDpyZXR1cm4gbnVsbH19Y29uc3QgV189WyJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSIsIlN1bmRheSJdLEdfPVsiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0IiwiU3VuIl0sYkk9WyJNIiwiVCIsIlciLCJUIiwiRiIsIlMiLCJTIl07ZnVuY3Rpb24gel8odCl7c3dpdGNoKHQpe2Nhc2UibmFycm93IjpyZXR1cm5bLi4uYkldO2Nhc2Uic2hvcnQiOnJldHVyblsuLi5HX107Y2FzZSJsb25nIjpyZXR1cm5bLi4uV19dO2Nhc2UibnVtZXJpYyI6cmV0dXJuWyIxIiwiMiIsIjMiLCI0IiwiNSIsIjYiLCI3Il07ZGVmYXVsdDpyZXR1cm4gbnVsbH19Y29uc3QgSF89WyJBTSIsIlBNIl0sd0k9WyJCZWZvcmUgQ2hyaXN0IiwiQW5ubyBEb21pbmkiXSxrST1bIkJDIiwiQUQiXSxTST1bIkIiLCJBIl07ZnVuY3Rpb24gSl8odCl7c3dpdGNoKHQpe2Nhc2UibmFycm93IjpyZXR1cm5bLi4uU0ldO2Nhc2Uic2hvcnQiOnJldHVyblsuLi5rSV07Y2FzZSJsb25nIjpyZXR1cm5bLi4ud0ldO2RlZmF1bHQ6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIFRJKHQpe3JldHVybiBIX1t0LmhvdXI8MTI/MDoxXX1mdW5jdGlvbiBFSSh0LGUpe3JldHVybiB6XyhlKVt0LndlZWtkYXktMV19ZnVuY3Rpb24geEkodCxlKXtyZXR1cm4gVl8oZSlbdC5tb250aC0xXX1mdW5jdGlvbiBBSSh0LGUpe3JldHVybiBKXyhlKVt0LnllYXI8MD8wOjFdfWZ1bmN0aW9uIE9JKHQsZSxuPSJhbHdheXMiLHI9ITEpe2NvbnN0IGk9e3llYXJzOlsieWVhciIsInlyLiJdLHF1YXJ0ZXJzOlsicXVhcnRlciIsInF0ci4iXSxtb250aHM6WyJtb250aCIsIm1vLiJdLHdlZWtzOlsid2VlayIsIndrLiJdLGRheXM6WyJkYXkiLCJkYXkiLCJkYXlzIl0saG91cnM6WyJob3VyIiwiaHIuIl0sbWludXRlczpbIm1pbnV0ZSIsIm1pbi4iXSxzZWNvbmRzOlsic2Vjb25kIiwic2VjLiJdfSxzPVsiaG91cnMiLCJtaW51dGVzIiwic2Vjb25kcyJdLmluZGV4T2YodCk9PT0tMTtpZihuPT09ImF1dG8iJiZzKXtjb25zdCBkPXQ9PT0iZGF5cyI7c3dpdGNoKGUpe2Nhc2UgMTpyZXR1cm4gZD8idG9tb3Jyb3ciOmBuZXh0ICR7aVt0XVswXX1gO2Nhc2UtMTpyZXR1cm4gZD8ieWVzdGVyZGF5IjpgbGFzdCAke2lbdF1bMF19YDtjYXNlIDA6cmV0dXJuIGQ/InRvZGF5IjpgdGhpcyAke2lbdF1bMF19YH19Y29uc3Qgbz1PYmplY3QuaXMoZSwtMCl8fGU8MCxhPU1hdGguYWJzKGUpLGw9YT09PTEsYz1pW3RdLHU9cj9sP2NbMV06Y1syXXx8Y1sxXTpsP2lbdF1bMF06dDtyZXR1cm4gbz9gJHthfSAke3V9IGFnb2A6YGluICR7YX0gJHt1fWB9ZnVuY3Rpb24gWG0odCxlKXtsZXQgbj0iIjtmb3IoY29uc3QgciBvZiB0KXIubGl0ZXJhbD9uKz1yLnZhbDpuKz1lKHIudmFsKTtyZXR1cm4gbn1jb25zdCBDST17RDpqYSxERDpmXyxEREQ6aF8sRERERDptXyx0OnBfLHR0OmdfLHR0dDp5Xyx0dHR0OnZfLFQ6X18sVFQ6Yl8sVFRUOndfLFRUVFQ6a18sZjpTXyxmZjpFXyxmZmY6QV8sZmZmZjpDXyxGOlRfLEZGOnhfLEZGRjpPXyxGRkZGOlBffTtjbGFzcyBCdHtzdGF0aWMgY3JlYXRlKGUsbj17fSl7cmV0dXJuIG5ldyBCdChlLG4pfXN0YXRpYyBwYXJzZUZvcm1hdChlKXtsZXQgbj1udWxsLHI9IiIsaT0hMTtjb25zdCBzPVtdO2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKXtjb25zdCBhPWUuY2hhckF0KG8pO2E9PT0iJyI/KHIubGVuZ3RoPjAmJnMucHVzaCh7bGl0ZXJhbDppfHwvXlxzKyQvLnRlc3QociksdmFsOnJ9KSxuPW51bGwscj0iIixpPSFpKTppfHxhPT09bj9yKz1hOihyLmxlbmd0aD4wJiZzLnB1c2goe2xpdGVyYWw6L15ccyskLy50ZXN0KHIpLHZhbDpyfSkscj1hLG49YSl9cmV0dXJuIHIubGVuZ3RoPjAmJnMucHVzaCh7bGl0ZXJhbDppfHwvXlxzKyQvLnRlc3QociksdmFsOnJ9KSxzfXN0YXRpYyBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKGUpe3JldHVybiBDSVtlXX1jb25zdHJ1Y3RvcihlLG4pe3RoaXMub3B0cz1uLHRoaXMubG9jPWUsdGhpcy5zeXN0ZW1Mb2M9bnVsbH1mb3JtYXRXaXRoU3lzdGVtRGVmYXVsdChlLG4pe3JldHVybiB0aGlzLnN5c3RlbUxvYz09PW51bGwmJih0aGlzLnN5c3RlbUxvYz10aGlzLmxvYy5yZWRlZmF1bHRUb1N5c3RlbSgpKSx0aGlzLnN5c3RlbUxvYy5kdEZvcm1hdHRlcihlLHsuLi50aGlzLm9wdHMsLi4ubn0pLmZvcm1hdCgpfWR0Rm9ybWF0dGVyKGUsbj17fSl7cmV0dXJuIHRoaXMubG9jLmR0Rm9ybWF0dGVyKGUsey4uLnRoaXMub3B0cywuLi5ufSl9Zm9ybWF0RGF0ZVRpbWUoZSxuKXtyZXR1cm4gdGhpcy5kdEZvcm1hdHRlcihlLG4pLmZvcm1hdCgpfWZvcm1hdERhdGVUaW1lUGFydHMoZSxuKXtyZXR1cm4gdGhpcy5kdEZvcm1hdHRlcihlLG4pLmZvcm1hdFRvUGFydHMoKX1mb3JtYXRJbnRlcnZhbChlLG4pe3JldHVybiB0aGlzLmR0Rm9ybWF0dGVyKGUuc3RhcnQsbikuZHRmLmZvcm1hdFJhbmdlKGUuc3RhcnQudG9KU0RhdGUoKSxlLmVuZC50b0pTRGF0ZSgpKX1yZXNvbHZlZE9wdGlvbnMoZSxuKXtyZXR1cm4gdGhpcy5kdEZvcm1hdHRlcihlLG4pLnJlc29sdmVkT3B0aW9ucygpfW51bShlLG49MCl7aWYodGhpcy5vcHRzLmZvcmNlU2ltcGxlKXJldHVybiBrdChlLG4pO2NvbnN0IHI9ey4uLnRoaXMub3B0c307cmV0dXJuIG4+MCYmKHIucGFkVG89biksdGhpcy5sb2MubnVtYmVyRm9ybWF0dGVyKHIpLmZvcm1hdChlKX1mb3JtYXREYXRlVGltZUZyb21TdHJpbmcoZSxuKXtjb25zdCByPXRoaXMubG9jLmxpc3RpbmdNb2RlKCk9PT0iZW4iLGk9dGhpcy5sb2Mub3V0cHV0Q2FsZW5kYXImJnRoaXMubG9jLm91dHB1dENhbGVuZGFyIT09ImdyZWdvcnkiLHM9KGgsbSk9PnRoaXMubG9jLmV4dHJhY3QoZSxoLG0pLG89aD0+ZS5pc09mZnNldEZpeGVkJiZlLm9mZnNldD09PTAmJmguYWxsb3daPyJaIjplLmlzVmFsaWQ/ZS56b25lLmZvcm1hdE9mZnNldChlLnRzLGguZm9ybWF0KToiIixhPSgpPT5yP1RJKGUpOnMoe2hvdXI6Im51bWVyaWMiLGhvdXJDeWNsZToiaDEyIn0sImRheXBlcmlvZCIpLGw9KGgsbSk9PnI/eEkoZSxoKTpzKG0/e21vbnRoOmh9Onttb250aDpoLGRheToibnVtZXJpYyJ9LCJtb250aCIpLGM9KGgsbSk9PnI/RUkoZSxoKTpzKG0/e3dlZWtkYXk6aH06e3dlZWtkYXk6aCxtb250aDoibG9uZyIsZGF5OiJudW1lcmljIn0sIndlZWtkYXkiKSx1PWg9Pntjb25zdCBtPUJ0Lm1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHMoaCk7cmV0dXJuIG0/dGhpcy5mb3JtYXRXaXRoU3lzdGVtRGVmYXVsdChlLG0pOmh9LGQ9aD0+cj9BSShlLGgpOnMoe2VyYTpofSwiZXJhIiksZj1oPT57c3dpdGNoKGgpe2Nhc2UiUyI6cmV0dXJuIHRoaXMubnVtKGUubWlsbGlzZWNvbmQpO2Nhc2UidSI6Y2FzZSJTU1MiOnJldHVybiB0aGlzLm51bShlLm1pbGxpc2Vjb25kLDMpO2Nhc2UicyI6cmV0dXJuIHRoaXMubnVtKGUuc2Vjb25kKTtjYXNlInNzIjpyZXR1cm4gdGhpcy5udW0oZS5zZWNvbmQsMik7Y2FzZSJ1dSI6cmV0dXJuIHRoaXMubnVtKE1hdGguZmxvb3IoZS5taWxsaXNlY29uZC8xMCksMik7Y2FzZSJ1dXUiOnJldHVybiB0aGlzLm51bShNYXRoLmZsb29yKGUubWlsbGlzZWNvbmQvMTAwKSk7Y2FzZSJtIjpyZXR1cm4gdGhpcy5udW0oZS5taW51dGUpO2Nhc2UibW0iOnJldHVybiB0aGlzLm51bShlLm1pbnV0ZSwyKTtjYXNlImgiOnJldHVybiB0aGlzLm51bShlLmhvdXIlMTI9PT0wPzEyOmUuaG91ciUxMik7Y2FzZSJoaCI6cmV0dXJuIHRoaXMubnVtKGUuaG91ciUxMj09PTA/MTI6ZS5ob3VyJTEyLDIpO2Nhc2UiSCI6cmV0dXJuIHRoaXMubnVtKGUuaG91cik7Y2FzZSJISCI6cmV0dXJuIHRoaXMubnVtKGUuaG91ciwyKTtjYXNlIloiOnJldHVybiBvKHtmb3JtYXQ6Im5hcnJvdyIsYWxsb3daOnRoaXMub3B0cy5hbGxvd1p9KTtjYXNlIlpaIjpyZXR1cm4gbyh7Zm9ybWF0OiJzaG9ydCIsYWxsb3daOnRoaXMub3B0cy5hbGxvd1p9KTtjYXNlIlpaWiI6cmV0dXJuIG8oe2Zvcm1hdDoidGVjaGllIixhbGxvd1o6dGhpcy5vcHRzLmFsbG93Wn0pO2Nhc2UiWlpaWiI6cmV0dXJuIGUuem9uZS5vZmZzZXROYW1lKGUudHMse2Zvcm1hdDoic2hvcnQiLGxvY2FsZTp0aGlzLmxvYy5sb2NhbGV9KTtjYXNlIlpaWlpaIjpyZXR1cm4gZS56b25lLm9mZnNldE5hbWUoZS50cyx7Zm9ybWF0OiJsb25nIixsb2NhbGU6dGhpcy5sb2MubG9jYWxlfSk7Y2FzZSJ6IjpyZXR1cm4gZS56b25lTmFtZTtjYXNlImEiOnJldHVybiBhKCk7Y2FzZSJkIjpyZXR1cm4gaT9zKHtkYXk6Im51bWVyaWMifSwiZGF5Iik6dGhpcy5udW0oZS5kYXkpO2Nhc2UiZGQiOnJldHVybiBpP3Moe2RheToiMi1kaWdpdCJ9LCJkYXkiKTp0aGlzLm51bShlLmRheSwyKTtjYXNlImMiOnJldHVybiB0aGlzLm51bShlLndlZWtkYXkpO2Nhc2UiY2NjIjpyZXR1cm4gYygic2hvcnQiLCEwKTtjYXNlImNjY2MiOnJldHVybiBjKCJsb25nIiwhMCk7Y2FzZSJjY2NjYyI6cmV0dXJuIGMoIm5hcnJvdyIsITApO2Nhc2UiRSI6cmV0dXJuIHRoaXMubnVtKGUud2Vla2RheSk7Y2FzZSJFRUUiOnJldHVybiBjKCJzaG9ydCIsITEpO2Nhc2UiRUVFRSI6cmV0dXJuIGMoImxvbmciLCExKTtjYXNlIkVFRUVFIjpyZXR1cm4gYygibmFycm93IiwhMSk7Y2FzZSJMIjpyZXR1cm4gaT9zKHttb250aDoibnVtZXJpYyIsZGF5OiJudW1lcmljIn0sIm1vbnRoIik6dGhpcy5udW0oZS5tb250aCk7Y2FzZSJMTCI6cmV0dXJuIGk/cyh7bW9udGg6IjItZGlnaXQiLGRheToibnVtZXJpYyJ9LCJtb250aCIpOnRoaXMubnVtKGUubW9udGgsMik7Y2FzZSJMTEwiOnJldHVybiBsKCJzaG9ydCIsITApO2Nhc2UiTExMTCI6cmV0dXJuIGwoImxvbmciLCEwKTtjYXNlIkxMTExMIjpyZXR1cm4gbCgibmFycm93IiwhMCk7Y2FzZSJNIjpyZXR1cm4gaT9zKHttb250aDoibnVtZXJpYyJ9LCJtb250aCIpOnRoaXMubnVtKGUubW9udGgpO2Nhc2UiTU0iOnJldHVybiBpP3Moe21vbnRoOiIyLWRpZ2l0In0sIm1vbnRoIik6dGhpcy5udW0oZS5tb250aCwyKTtjYXNlIk1NTSI6cmV0dXJuIGwoInNob3J0IiwhMSk7Y2FzZSJNTU1NIjpyZXR1cm4gbCgibG9uZyIsITEpO2Nhc2UiTU1NTU0iOnJldHVybiBsKCJuYXJyb3ciLCExKTtjYXNlInkiOnJldHVybiBpP3Moe3llYXI6Im51bWVyaWMifSwieWVhciIpOnRoaXMubnVtKGUueWVhcik7Y2FzZSJ5eSI6cmV0dXJuIGk/cyh7eWVhcjoiMi1kaWdpdCJ9LCJ5ZWFyIik6dGhpcy5udW0oZS55ZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLDIpO2Nhc2UieXl5eSI6cmV0dXJuIGk/cyh7eWVhcjoibnVtZXJpYyJ9LCJ5ZWFyIik6dGhpcy5udW0oZS55ZWFyLDQpO2Nhc2UieXl5eXl5IjpyZXR1cm4gaT9zKHt5ZWFyOiJudW1lcmljIn0sInllYXIiKTp0aGlzLm51bShlLnllYXIsNik7Y2FzZSJHIjpyZXR1cm4gZCgic2hvcnQiKTtjYXNlIkdHIjpyZXR1cm4gZCgibG9uZyIpO2Nhc2UiR0dHR0ciOnJldHVybiBkKCJuYXJyb3ciKTtjYXNlImtrIjpyZXR1cm4gdGhpcy5udW0oZS53ZWVrWWVhci50b1N0cmluZygpLnNsaWNlKC0yKSwyKTtjYXNlImtra2siOnJldHVybiB0aGlzLm51bShlLndlZWtZZWFyLDQpO2Nhc2UiVyI6cmV0dXJuIHRoaXMubnVtKGUud2Vla051bWJlcik7Y2FzZSJXVyI6cmV0dXJuIHRoaXMubnVtKGUud2Vla051bWJlciwyKTtjYXNlIm4iOnJldHVybiB0aGlzLm51bShlLmxvY2FsV2Vla051bWJlcik7Y2FzZSJubiI6cmV0dXJuIHRoaXMubnVtKGUubG9jYWxXZWVrTnVtYmVyLDIpO2Nhc2UiaWkiOnJldHVybiB0aGlzLm51bShlLmxvY2FsV2Vla1llYXIudG9TdHJpbmcoKS5zbGljZSgtMiksMik7Y2FzZSJpaWlpIjpyZXR1cm4gdGhpcy5udW0oZS5sb2NhbFdlZWtZZWFyLDQpO2Nhc2UibyI6cmV0dXJuIHRoaXMubnVtKGUub3JkaW5hbCk7Y2FzZSJvb28iOnJldHVybiB0aGlzLm51bShlLm9yZGluYWwsMyk7Y2FzZSJxIjpyZXR1cm4gdGhpcy5udW0oZS5xdWFydGVyKTtjYXNlInFxIjpyZXR1cm4gdGhpcy5udW0oZS5xdWFydGVyLDIpO2Nhc2UiWCI6cmV0dXJuIHRoaXMubnVtKE1hdGguZmxvb3IoZS50cy8xZTMpKTtjYXNlIngiOnJldHVybiB0aGlzLm51bShlLnRzKTtkZWZhdWx0OnJldHVybiB1KGgpfX07cmV0dXJuIFhtKEJ0LnBhcnNlRm9ybWF0KG4pLGYpfWZvcm1hdER1cmF0aW9uRnJvbVN0cmluZyhlLG4pe2NvbnN0IHI9bD0+e3N3aXRjaChsWzBdKXtjYXNlIlMiOnJldHVybiJtaWxsaXNlY29uZCI7Y2FzZSJzIjpyZXR1cm4ic2Vjb25kIjtjYXNlIm0iOnJldHVybiJtaW51dGUiO2Nhc2UiaCI6cmV0dXJuImhvdXIiO2Nhc2UiZCI6cmV0dXJuImRheSI7Y2FzZSJ3IjpyZXR1cm4id2VlayI7Y2FzZSJNIjpyZXR1cm4ibW9udGgiO2Nhc2UieSI6cmV0dXJuInllYXIiO2RlZmF1bHQ6cmV0dXJuIG51bGx9fSxpPWw9PmM9Pntjb25zdCB1PXIoYyk7cmV0dXJuIHU/dGhpcy5udW0obC5nZXQodSksYy5sZW5ndGgpOmN9LHM9QnQucGFyc2VGb3JtYXQobiksbz1zLnJlZHVjZSgobCx7bGl0ZXJhbDpjLHZhbDp1fSk9PmM/bDpsLmNvbmNhdCh1KSxbXSksYT1lLnNoaWZ0VG8oLi4uby5tYXAocikuZmlsdGVyKGw9PmwpKTtyZXR1cm4gWG0ocyxpKGEpKX19Y29uc3QgcV89L1tBLVphLXpfKy1dezEsMjU2fSg/Ojo/XC9bQS1aYS16MC05XystXXsxLDI1Nn0oPzpcL1tBLVphLXowLTlfKy1dezEsMjU2fSk/KT8vO2Z1bmN0aW9uIGtzKC4uLnQpe2NvbnN0IGU9dC5yZWR1Y2UoKG4scik9Pm4rci5zb3VyY2UsIiIpO3JldHVybiBSZWdFeHAoYF4ke2V9JGApfWZ1bmN0aW9uIFNzKC4uLnQpe3JldHVybiBlPT50LnJlZHVjZSgoW24scixpXSxzKT0+e2NvbnN0W28sYSxsXT1zKGUsaSk7cmV0dXJuW3suLi5uLC4uLm99LGF8fHIsbF19LFt7fSxudWxsLDFdKS5zbGljZSgwLDIpfWZ1bmN0aW9uIFRzKHQsLi4uZSl7aWYodD09bnVsbClyZXR1cm5bbnVsbCxudWxsXTtmb3IoY29uc3RbbixyXW9mIGUpe2NvbnN0IGk9bi5leGVjKHQpO2lmKGkpcmV0dXJuIHIoaSl9cmV0dXJuW251bGwsbnVsbF19ZnVuY3Rpb24gWl8oLi4udCl7cmV0dXJuKGUsbik9Pntjb25zdCByPXt9O2xldCBpO2ZvcihpPTA7aTx0Lmxlbmd0aDtpKyspclt0W2ldXT1McihlW24raV0pO3JldHVybltyLG51bGwsbitpXX19Y29uc3QgS189Lyg/OihaKXwoWystXVxkXGQpKD86Oj8oXGRcZCkpPykvLFBJPWAoPzoke0tfLnNvdXJjZX0/KD86XFxbKCR7cV8uc291cmNlfSlcXF0pPyk/YCxLZD0vKFxkXGQpKD86Oj8oXGRcZCkoPzo6PyhcZFxkKSg/OlsuLF0oXGR7MSwzMH0pKT8pPyk/LyxZXz1SZWdFeHAoYCR7S2Quc291cmNlfSR7UEl9YCksWWQ9UmVnRXhwKGAoPzpUJHtZXy5zb3VyY2V9KT9gKSxJST0vKFsrLV1cZHs2fXxcZHs0fSkoPzotPyhcZFxkKSg/Oi0/KFxkXGQpKT8pPy8sTkk9LyhcZHs0fSktP1coXGRcZCkoPzotPyhcZCkpPy8sUkk9LyhcZHs0fSktPyhcZHszfSkvLERJPVpfKCJ3ZWVrWWVhciIsIndlZWtOdW1iZXIiLCJ3ZWVrRGF5IiksTUk9Wl8oInllYXIiLCJvcmRpbmFsIiksTEk9LyhcZHs0fSktKFxkXGQpLShcZFxkKS8sWF89UmVnRXhwKGAke0tkLnNvdXJjZX0gPyg/OiR7S18uc291cmNlfXwoJHtxXy5zb3VyY2V9KSk/YCksRkk9UmVnRXhwKGAoPzogJHtYXy5zb3VyY2V9KT9gKTtmdW5jdGlvbiBZaSh0LGUsbil7Y29uc3Qgcj10W2VdO3JldHVybiBGZShyKT9uOkxyKHIpfWZ1bmN0aW9uICRJKHQsZSl7cmV0dXJuW3t5ZWFyOllpKHQsZSksbW9udGg6WWkodCxlKzEsMSksZGF5OllpKHQsZSsyLDEpfSxudWxsLGUrM119ZnVuY3Rpb24gRXModCxlKXtyZXR1cm5be2hvdXJzOllpKHQsZSwwKSxtaW51dGVzOllpKHQsZSsxLDApLHNlY29uZHM6WWkodCxlKzIsMCksbWlsbGlzZWNvbmRzOnFkKHRbZSszXSl9LG51bGwsZSs0XX1mdW5jdGlvbiBVbyh0LGUpe2NvbnN0IG49IXRbZV0mJiF0W2UrMV0scj1EbCh0W2UrMV0sdFtlKzJdKSxpPW4/bnVsbDpxdC5pbnN0YW5jZShyKTtyZXR1cm5be30saSxlKzNdfWZ1bmN0aW9uIFZvKHQsZSl7Y29uc3Qgbj10W2VdP19yLmNyZWF0ZSh0W2VdKTpudWxsO3JldHVyblt7fSxuLGUrMV19Y29uc3Qgakk9UmVnRXhwKGBeVD8ke0tkLnNvdXJjZX0kYCksQkk9L14tP1AoPzooPzooLT9cZHsxLDIwfSg/OlwuXGR7MSwyMH0pPylZKT8oPzooLT9cZHsxLDIwfSg/OlwuXGR7MSwyMH0pPylNKT8oPzooLT9cZHsxLDIwfSg/OlwuXGR7MSwyMH0pPylXKT8oPzooLT9cZHsxLDIwfSg/OlwuXGR7MSwyMH0pPylEKT8oPzpUKD86KC0/XGR7MSwyMH0oPzpcLlxkezEsMjB9KT8pSCk/KD86KC0/XGR7MSwyMH0oPzpcLlxkezEsMjB9KT8pTSk/KD86KC0/XGR7MSwyMH0pKD86Wy4sXSgtP1xkezEsMjB9KSk/Uyk/KT8pJC87ZnVuY3Rpb24gVUkodCl7Y29uc3RbZSxuLHIsaSxzLG8sYSxsLGNdPXQsdT1lWzBdPT09Ii0iLGQ9bCYmbFswXT09PSItIixmPShoLG09ITEpPT5oIT09dm9pZCAwJiYobXx8aCYmdSk/LWg6aDtyZXR1cm5be3llYXJzOmYoY2kobikpLG1vbnRoczpmKGNpKHIpKSx3ZWVrczpmKGNpKGkpKSxkYXlzOmYoY2kocykpLGhvdXJzOmYoY2kobykpLG1pbnV0ZXM6ZihjaShhKSksc2Vjb25kczpmKGNpKGwpLGw9PT0iLTAiKSxtaWxsaXNlY29uZHM6ZihxZChjKSxkKX1dfWNvbnN0IFZJPXtHTVQ6MCxFRFQ6LTQqNjAsRVNUOi01KjYwLENEVDotNSo2MCxDU1Q6LTYqNjAsTURUOi02KjYwLE1TVDotNyo2MCxQRFQ6LTcqNjAsUFNUOi04KjYwfTtmdW5jdGlvbiBYZCh0LGUsbixyLGkscyxvKXtjb25zdCBhPXt5ZWFyOmUubGVuZ3RoPT09Mj9fdShMcihlKSk6THIoZSksbW9udGg6VV8uaW5kZXhPZihuKSsxLGRheTpMcihyKSxob3VyOkxyKGkpLG1pbnV0ZTpMcihzKX07cmV0dXJuIG8mJihhLnNlY29uZD1McihvKSksdCYmKGEud2Vla2RheT10Lmxlbmd0aD4zP1dfLmluZGV4T2YodCkrMTpHXy5pbmRleE9mKHQpKzEpLGF9Y29uc3QgV0k9L14oPzooTW9ufFR1ZXxXZWR8VGh1fEZyaXxTYXR8U3VuKSxccyk/KFxkezEsMn0pXHMoSmFufEZlYnxNYXJ8QXByfE1heXxKdW58SnVsfEF1Z3xTZXB8T2N0fE5vdnxEZWMpXHMoXGR7Miw0fSlccyhcZFxkKTooXGRcZCkoPzo6KFxkXGQpKT9ccyg/OihVVHxHTVR8W0VDTVBdW1NEXVQpfChbWnpdKXwoPzooWystXVxkXGQpKFxkXGQpKSkkLztmdW5jdGlvbiBHSSh0KXtjb25zdFssZSxuLHIsaSxzLG8sYSxsLGMsdSxkXT10LGY9WGQoZSxpLHIsbixzLG8sYSk7bGV0IGg7cmV0dXJuIGw/aD1WSVtsXTpjP2g9MDpoPURsKHUsZCksW2YsbmV3IHF0KGgpXX1mdW5jdGlvbiB6SSh0KXtyZXR1cm4gdC5yZXBsYWNlKC9cKFteKCldKlwpfFtcblx0XS9nLCIgIikucmVwbGFjZSgvKFxzXHMrKS9nLCIgIikudHJpbSgpfWNvbnN0IEhJPS9eKE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksIChcZFxkKSAoSmFufEZlYnxNYXJ8QXByfE1heXxKdW58SnVsfEF1Z3xTZXB8T2N0fE5vdnxEZWMpIChcZHs0fSkgKFxkXGQpOihcZFxkKTooXGRcZCkgR01UJC8sSkk9L14oTW9uZGF5fFR1ZXNkYXl8V2VkbmVzZGF5fFRodXJzZGF5fEZyaWRheXxTYXR1cmRheXxTdW5kYXkpLCAoXGRcZCktKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKS0oXGRcZCkgKFxkXGQpOihcZFxkKTooXGRcZCkgR01UJC8scUk9L14oTW9ufFR1ZXxXZWR8VGh1fEZyaXxTYXR8U3VuKSAoSmFufEZlYnxNYXJ8QXByfE1heXxKdW58SnVsfEF1Z3xTZXB8T2N0fE5vdnxEZWMpICggXGR8XGRcZCkgKFxkXGQpOihcZFxkKTooXGRcZCkgKFxkezR9KSQvO2Z1bmN0aW9uIFFtKHQpe2NvbnN0WyxlLG4scixpLHMsbyxhXT10O3JldHVybltYZChlLGkscixuLHMsbyxhKSxxdC51dGNJbnN0YW5jZV19ZnVuY3Rpb24gWkkodCl7Y29uc3RbLGUsbixyLGkscyxvLGFdPXQ7cmV0dXJuW1hkKGUsYSxuLHIsaSxzLG8pLHF0LnV0Y0luc3RhbmNlXX1jb25zdCBLST1rcyhJSSxZZCksWUk9a3MoTkksWWQpLFhJPWtzKFJJLFlkKSxRST1rcyhZXyksUV89U3MoJEksRXMsVW8sVm8pLGVOPVNzKERJLEVzLFVvLFZvKSx0Tj1TcyhNSSxFcyxVbyxWbyksbk49U3MoRXMsVW8sVm8pO2Z1bmN0aW9uIHJOKHQpe3JldHVybiBUcyh0LFtLSSxRX10sW1lJLGVOXSxbWEksdE5dLFtRSSxuTl0pfWZ1bmN0aW9uIGlOKHQpe3JldHVybiBUcyh6SSh0KSxbV0ksR0ldKX1mdW5jdGlvbiBzTih0KXtyZXR1cm4gVHModCxbSEksUW1dLFtKSSxRbV0sW3FJLFpJXSl9ZnVuY3Rpb24gb04odCl7cmV0dXJuIFRzKHQsW0JJLFVJXSl9Y29uc3QgYU49U3MoRXMpO2Z1bmN0aW9uIGxOKHQpe3JldHVybiBUcyh0LFtqSSxhTl0pfWNvbnN0IGNOPWtzKExJLEZJKSx1Tj1rcyhYXyksZE49U3MoRXMsVW8sVm8pO2Z1bmN0aW9uIGZOKHQpe3JldHVybiBUcyh0LFtjTixRX10sW3VOLGROXSl9Y29uc3QgZXA9IkludmFsaWQgRHVyYXRpb24iLGUwPXt3ZWVrczp7ZGF5czo3LGhvdXJzOjcqMjQsbWludXRlczo3KjI0KjYwLHNlY29uZHM6NyoyNCo2MCo2MCxtaWxsaXNlY29uZHM6NyoyNCo2MCo2MCoxZTN9LGRheXM6e2hvdXJzOjI0LG1pbnV0ZXM6MjQqNjAsc2Vjb25kczoyNCo2MCo2MCxtaWxsaXNlY29uZHM6MjQqNjAqNjAqMWUzfSxob3Vyczp7bWludXRlczo2MCxzZWNvbmRzOjYwKjYwLG1pbGxpc2Vjb25kczo2MCo2MCoxZTN9LG1pbnV0ZXM6e3NlY29uZHM6NjAsbWlsbGlzZWNvbmRzOjYwKjFlM30sc2Vjb25kczp7bWlsbGlzZWNvbmRzOjFlM319LGhOPXt5ZWFyczp7cXVhcnRlcnM6NCxtb250aHM6MTIsd2Vla3M6NTIsZGF5czozNjUsaG91cnM6MzY1KjI0LG1pbnV0ZXM6MzY1KjI0KjYwLHNlY29uZHM6MzY1KjI0KjYwKjYwLG1pbGxpc2Vjb25kczozNjUqMjQqNjAqNjAqMWUzfSxxdWFydGVyczp7bW9udGhzOjMsd2Vla3M6MTMsZGF5czo5MSxob3Vyczo5MSoyNCxtaW51dGVzOjkxKjI0KjYwLHNlY29uZHM6OTEqMjQqNjAqNjAsbWlsbGlzZWNvbmRzOjkxKjI0KjYwKjYwKjFlM30sbW9udGhzOnt3ZWVrczo0LGRheXM6MzAsaG91cnM6MzAqMjQsbWludXRlczozMCoyNCo2MCxzZWNvbmRzOjMwKjI0KjYwKjYwLG1pbGxpc2Vjb25kczozMCoyNCo2MCo2MCoxZTN9LC4uLmUwfSxwbj0xNDYwOTcvNDAwLE5pPTE0NjA5Ny80ODAwLG1OPXt5ZWFyczp7cXVhcnRlcnM6NCxtb250aHM6MTIsd2Vla3M6cG4vNyxkYXlzOnBuLGhvdXJzOnBuKjI0LG1pbnV0ZXM6cG4qMjQqNjAsc2Vjb25kczpwbioyNCo2MCo2MCxtaWxsaXNlY29uZHM6cG4qMjQqNjAqNjAqMWUzfSxxdWFydGVyczp7bW9udGhzOjMsd2Vla3M6cG4vMjgsZGF5czpwbi80LGhvdXJzOnBuKjI0LzQsbWludXRlczpwbioyNCo2MC80LHNlY29uZHM6cG4qMjQqNjAqNjAvNCxtaWxsaXNlY29uZHM6cG4qMjQqNjAqNjAqMWUzLzR9LG1vbnRoczp7d2Vla3M6TmkvNyxkYXlzOk5pLGhvdXJzOk5pKjI0LG1pbnV0ZXM6TmkqMjQqNjAsc2Vjb25kczpOaSoyNCo2MCo2MCxtaWxsaXNlY29uZHM6TmkqMjQqNjAqNjAqMWUzfSwuLi5lMH0sZ2k9WyJ5ZWFycyIsInF1YXJ0ZXJzIiwibW9udGhzIiwid2Vla3MiLCJkYXlzIiwiaG91cnMiLCJtaW51dGVzIiwic2Vjb25kcyIsIm1pbGxpc2Vjb25kcyJdLHBOPWdpLnNsaWNlKDApLnJldmVyc2UoKTtmdW5jdGlvbiBPcih0LGUsbj0hMSl7Y29uc3Qgcj17dmFsdWVzOm4/ZS52YWx1ZXM6ey4uLnQudmFsdWVzLC4uLmUudmFsdWVzfHx7fX0sbG9jOnQubG9jLmNsb25lKGUubG9jKSxjb252ZXJzaW9uQWNjdXJhY3k6ZS5jb252ZXJzaW9uQWNjdXJhY3l8fHQuY29udmVyc2lvbkFjY3VyYWN5LG1hdHJpeDplLm1hdHJpeHx8dC5tYXRyaXh9O3JldHVybiBuZXcgUWUocil9ZnVuY3Rpb24gdDAodCxlKXtsZXQgbj1lLm1pbGxpc2Vjb25kcz8/MDtmb3IoY29uc3QgciBvZiBwTi5zbGljZSgxKSllW3JdJiYobis9ZVtyXSp0W3JdLm1pbGxpc2Vjb25kcyk7cmV0dXJuIG59ZnVuY3Rpb24gdHAodCxlKXtjb25zdCBuPXQwKHQsZSk8MD8tMToxO2dpLnJlZHVjZVJpZ2h0KChyLGkpPT57aWYoRmUoZVtpXSkpcmV0dXJuIHI7aWYocil7Y29uc3Qgcz1lW3JdKm4sbz10W2ldW3JdLGE9TWF0aC5mbG9vcihzL28pO2VbaV0rPWEqbixlW3JdLT1hKm8qbn1yZXR1cm4gaX0sbnVsbCksZ2kucmVkdWNlKChyLGkpPT57aWYoRmUoZVtpXSkpcmV0dXJuIHI7aWYocil7Y29uc3Qgcz1lW3JdJTE7ZVtyXS09cyxlW2ldKz1zKnRbcl1baV19cmV0dXJuIGl9LG51bGwpfWZ1bmN0aW9uIGdOKHQpe2NvbnN0IGU9e307Zm9yKGNvbnN0W24scl1vZiBPYmplY3QuZW50cmllcyh0KSlyIT09MCYmKGVbbl09cik7cmV0dXJuIGV9Y2xhc3MgUWV7Y29uc3RydWN0b3IoZSl7Y29uc3Qgbj1lLmNvbnZlcnNpb25BY2N1cmFjeT09PSJsb25ndGVybSJ8fCExO2xldCByPW4/bU46aE47ZS5tYXRyaXgmJihyPWUubWF0cml4KSx0aGlzLnZhbHVlcz1lLnZhbHVlcyx0aGlzLmxvYz1lLmxvY3x8YXQuY3JlYXRlKCksdGhpcy5jb252ZXJzaW9uQWNjdXJhY3k9bj8ibG9uZ3Rlcm0iOiJjYXN1YWwiLHRoaXMuaW52YWxpZD1lLmludmFsaWR8fG51bGwsdGhpcy5tYXRyaXg9cix0aGlzLmlzTHV4b25EdXJhdGlvbj0hMH1zdGF0aWMgZnJvbU1pbGxpcyhlLG4pe3JldHVybiBRZS5mcm9tT2JqZWN0KHttaWxsaXNlY29uZHM6ZX0sbil9c3RhdGljIGZyb21PYmplY3QoZSxuPXt9KXtpZihlPT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCIpdGhyb3cgbmV3IGVuKGBEdXJhdGlvbi5mcm9tT2JqZWN0OiBhcmd1bWVudCBleHBlY3RlZCB0byBiZSBhbiBvYmplY3QsIGdvdCAke2U9PT1udWxsPyJudWxsIjp0eXBlb2YgZX1gKTtyZXR1cm4gbmV3IFFlKHt2YWx1ZXM6VmEoZSxRZS5ub3JtYWxpemVVbml0KSxsb2M6YXQuZnJvbU9iamVjdChuKSxjb252ZXJzaW9uQWNjdXJhY3k6bi5jb252ZXJzaW9uQWNjdXJhY3ksbWF0cml4Om4ubWF0cml4fSl9c3RhdGljIGZyb21EdXJhdGlvbkxpa2UoZSl7aWYod2koZSkpcmV0dXJuIFFlLmZyb21NaWxsaXMoZSk7aWYoUWUuaXNEdXJhdGlvbihlKSlyZXR1cm4gZTtpZih0eXBlb2YgZT09Im9iamVjdCIpcmV0dXJuIFFlLmZyb21PYmplY3QoZSk7dGhyb3cgbmV3IGVuKGBVbmtub3duIGR1cmF0aW9uIGFyZ3VtZW50ICR7ZX0gb2YgdHlwZSAke3R5cGVvZiBlfWApfXN0YXRpYyBmcm9tSVNPKGUsbil7Y29uc3Rbcl09b04oZSk7cmV0dXJuIHI/UWUuZnJvbU9iamVjdChyLG4pOlFlLmludmFsaWQoInVucGFyc2FibGUiLGB0aGUgaW5wdXQgIiR7ZX0iIGNhbid0IGJlIHBhcnNlZCBhcyBJU08gODYwMWApfXN0YXRpYyBmcm9tSVNPVGltZShlLG4pe2NvbnN0W3JdPWxOKGUpO3JldHVybiByP1FlLmZyb21PYmplY3QocixuKTpRZS5pbnZhbGlkKCJ1bnBhcnNhYmxlIixgdGhlIGlucHV0ICIke2V9IiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKX1zdGF0aWMgaW52YWxpZChlLG49bnVsbCl7aWYoIWUpdGhyb3cgbmV3IGVuKCJuZWVkIHRvIHNwZWNpZnkgYSByZWFzb24gdGhlIER1cmF0aW9uIGlzIGludmFsaWQiKTtjb25zdCByPWUgaW5zdGFuY2VvZiBXbj9lOm5ldyBXbihlLG4pO2lmKHB0LnRocm93T25JbnZhbGlkKXRocm93IG5ldyBXUChyKTtyZXR1cm4gbmV3IFFlKHtpbnZhbGlkOnJ9KX1zdGF0aWMgbm9ybWFsaXplVW5pdChlKXtjb25zdCBuPXt5ZWFyOiJ5ZWFycyIseWVhcnM6InllYXJzIixxdWFydGVyOiJxdWFydGVycyIscXVhcnRlcnM6InF1YXJ0ZXJzIixtb250aDoibW9udGhzIixtb250aHM6Im1vbnRocyIsd2Vlazoid2Vla3MiLHdlZWtzOiJ3ZWVrcyIsZGF5OiJkYXlzIixkYXlzOiJkYXlzIixob3VyOiJob3VycyIsaG91cnM6ImhvdXJzIixtaW51dGU6Im1pbnV0ZXMiLG1pbnV0ZXM6Im1pbnV0ZXMiLHNlY29uZDoic2Vjb25kcyIsc2Vjb25kczoic2Vjb25kcyIsbWlsbGlzZWNvbmQ6Im1pbGxpc2Vjb25kcyIsbWlsbGlzZWNvbmRzOiJtaWxsaXNlY29uZHMifVtlJiZlLnRvTG93ZXJDYXNlKCldO2lmKCFuKXRocm93IG5ldyBkXyhlKTtyZXR1cm4gbn1zdGF0aWMgaXNEdXJhdGlvbihlKXtyZXR1cm4gZSYmZS5pc0x1eG9uRHVyYXRpb258fCExfWdldCBsb2NhbGUoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMubG9jLmxvY2FsZTpudWxsfWdldCBudW1iZXJpbmdTeXN0ZW0oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMubG9jLm51bWJlcmluZ1N5c3RlbTpudWxsfXRvRm9ybWF0KGUsbj17fSl7Y29uc3Qgcj17Li4ubixmbG9vcjpuLnJvdW5kIT09ITEmJm4uZmxvb3IhPT0hMX07cmV0dXJuIHRoaXMuaXNWYWxpZD9CdC5jcmVhdGUodGhpcy5sb2MscikuZm9ybWF0RHVyYXRpb25Gcm9tU3RyaW5nKHRoaXMsZSk6ZXB9dG9IdW1hbihlPXt9KXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiBlcDtjb25zdCBuPWdpLm1hcChyPT57Y29uc3QgaT10aGlzLnZhbHVlc1tyXTtyZXR1cm4gRmUoaSk/bnVsbDp0aGlzLmxvYy5udW1iZXJGb3JtYXR0ZXIoe3N0eWxlOiJ1bml0Iix1bml0RGlzcGxheToibG9uZyIsLi4uZSx1bml0OnIuc2xpY2UoMCwtMSl9KS5mb3JtYXQoaSl9KS5maWx0ZXIocj0+cik7cmV0dXJuIHRoaXMubG9jLmxpc3RGb3JtYXR0ZXIoe3R5cGU6ImNvbmp1bmN0aW9uIixzdHlsZTplLmxpc3RTdHlsZXx8Im5hcnJvdyIsLi4uZX0pLmZvcm1hdChuKX10b09iamVjdCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/ey4uLnRoaXMudmFsdWVzfTp7fX10b0lTTygpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIG51bGw7bGV0IGU9IlAiO3JldHVybiB0aGlzLnllYXJzIT09MCYmKGUrPXRoaXMueWVhcnMrIlkiKSwodGhpcy5tb250aHMhPT0wfHx0aGlzLnF1YXJ0ZXJzIT09MCkmJihlKz10aGlzLm1vbnRocyt0aGlzLnF1YXJ0ZXJzKjMrIk0iKSx0aGlzLndlZWtzIT09MCYmKGUrPXRoaXMud2Vla3MrIlciKSx0aGlzLmRheXMhPT0wJiYoZSs9dGhpcy5kYXlzKyJEIiksKHRoaXMuaG91cnMhPT0wfHx0aGlzLm1pbnV0ZXMhPT0wfHx0aGlzLnNlY29uZHMhPT0wfHx0aGlzLm1pbGxpc2Vjb25kcyE9PTApJiYoZSs9IlQiKSx0aGlzLmhvdXJzIT09MCYmKGUrPXRoaXMuaG91cnMrIkgiKSx0aGlzLm1pbnV0ZXMhPT0wJiYoZSs9dGhpcy5taW51dGVzKyJNIiksKHRoaXMuc2Vjb25kcyE9PTB8fHRoaXMubWlsbGlzZWNvbmRzIT09MCkmJihlKz1aZCh0aGlzLnNlY29uZHMrdGhpcy5taWxsaXNlY29uZHMvMWUzLDMpKyJTIiksZT09PSJQIiYmKGUrPSJUMFMiKSxlfXRvSVNPVGltZShlPXt9KXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiBudWxsO2NvbnN0IG49dGhpcy50b01pbGxpcygpO3JldHVybiBuPDB8fG4+PTg2NGU1P251bGw6KGU9e3N1cHByZXNzTWlsbGlzZWNvbmRzOiExLHN1cHByZXNzU2Vjb25kczohMSxpbmNsdWRlUHJlZml4OiExLGZvcm1hdDoiZXh0ZW5kZWQiLC4uLmUsaW5jbHVkZU9mZnNldDohMX0sT2UuZnJvbU1pbGxpcyhuLHt6b25lOiJVVEMifSkudG9JU09UaW1lKGUpKX10b0pTT04oKXtyZXR1cm4gdGhpcy50b0lTTygpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudG9JU08oKX1bU3ltYm9sLmZvcigibm9kZWpzLnV0aWwuaW5zcGVjdC5jdXN0b20iKV0oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2BEdXJhdGlvbiB7IHZhbHVlczogJHtKU09OLnN0cmluZ2lmeSh0aGlzLnZhbHVlcyl9IH1gOmBEdXJhdGlvbiB7IEludmFsaWQsIHJlYXNvbjogJHt0aGlzLmludmFsaWRSZWFzb259IH1gfXRvTWlsbGlzKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90MCh0aGlzLm1hdHJpeCx0aGlzLnZhbHVlcyk6TmFOfXZhbHVlT2YoKXtyZXR1cm4gdGhpcy50b01pbGxpcygpfXBsdXMoZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztjb25zdCBuPVFlLmZyb21EdXJhdGlvbkxpa2UoZSkscj17fTtmb3IoY29uc3QgaSBvZiBnaSkoaHMobi52YWx1ZXMsaSl8fGhzKHRoaXMudmFsdWVzLGkpKSYmKHJbaV09bi5nZXQoaSkrdGhpcy5nZXQoaSkpO3JldHVybiBPcih0aGlzLHt2YWx1ZXM6cn0sITApfW1pbnVzKGUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7Y29uc3Qgbj1RZS5mcm9tRHVyYXRpb25MaWtlKGUpO3JldHVybiB0aGlzLnBsdXMobi5uZWdhdGUoKSl9bWFwVW5pdHMoZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztjb25zdCBuPXt9O2Zvcihjb25zdCByIG9mIE9iamVjdC5rZXlzKHRoaXMudmFsdWVzKSluW3JdPUJfKGUodGhpcy52YWx1ZXNbcl0scikpO3JldHVybiBPcih0aGlzLHt2YWx1ZXM6bn0sITApfWdldChlKXtyZXR1cm4gdGhpc1tRZS5ub3JtYWxpemVVbml0KGUpXX1zZXQoZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztjb25zdCBuPXsuLi50aGlzLnZhbHVlcywuLi5WYShlLFFlLm5vcm1hbGl6ZVVuaXQpfTtyZXR1cm4gT3IodGhpcyx7dmFsdWVzOm59KX1yZWNvbmZpZ3VyZSh7bG9jYWxlOmUsbnVtYmVyaW5nU3lzdGVtOm4sY29udmVyc2lvbkFjY3VyYWN5OnIsbWF0cml4Oml9PXt9KXtjb25zdCBvPXtsb2M6dGhpcy5sb2MuY2xvbmUoe2xvY2FsZTplLG51bWJlcmluZ1N5c3RlbTpufSksbWF0cml4OmksY29udmVyc2lvbkFjY3VyYWN5OnJ9O3JldHVybiBPcih0aGlzLG8pfWFzKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5zaGlmdFRvKGUpLmdldChlKTpOYU59bm9ybWFsaXplKCl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztjb25zdCBlPXRoaXMudG9PYmplY3QoKTtyZXR1cm4gdHAodGhpcy5tYXRyaXgsZSksT3IodGhpcyx7dmFsdWVzOmV9LCEwKX1yZXNjYWxlKCl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztjb25zdCBlPWdOKHRoaXMubm9ybWFsaXplKCkuc2hpZnRUb0FsbCgpLnRvT2JqZWN0KCkpO3JldHVybiBPcih0aGlzLHt2YWx1ZXM6ZX0sITApfXNoaWZ0VG8oLi4uZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztpZihlLmxlbmd0aD09PTApcmV0dXJuIHRoaXM7ZT1lLm1hcChvPT5RZS5ub3JtYWxpemVVbml0KG8pKTtjb25zdCBuPXt9LHI9e30saT10aGlzLnRvT2JqZWN0KCk7bGV0IHM7Zm9yKGNvbnN0IG8gb2YgZ2kpaWYoZS5pbmRleE9mKG8pPj0wKXtzPW87bGV0IGE9MDtmb3IoY29uc3QgYyBpbiByKWErPXRoaXMubWF0cml4W2NdW29dKnJbY10scltjXT0wO3dpKGlbb10pJiYoYSs9aVtvXSk7Y29uc3QgbD1NYXRoLnRydW5jKGEpO25bb109bCxyW29dPShhKjFlMy1sKjFlMykvMWUzfWVsc2Ugd2koaVtvXSkmJihyW29dPWlbb10pO2Zvcihjb25zdCBvIGluIHIpcltvXSE9PTAmJihuW3NdKz1vPT09cz9yW29dOnJbb10vdGhpcy5tYXRyaXhbc11bb10pO3JldHVybiB0cCh0aGlzLm1hdHJpeCxuKSxPcih0aGlzLHt2YWx1ZXM6bn0sITApfXNoaWZ0VG9BbGwoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuc2hpZnRUbygieWVhcnMiLCJtb250aHMiLCJ3ZWVrcyIsImRheXMiLCJob3VycyIsIm1pbnV0ZXMiLCJzZWNvbmRzIiwibWlsbGlzZWNvbmRzIik6dGhpc31uZWdhdGUoKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiB0aGlzO2NvbnN0IGU9e307Zm9yKGNvbnN0IG4gb2YgT2JqZWN0LmtleXModGhpcy52YWx1ZXMpKWVbbl09dGhpcy52YWx1ZXNbbl09PT0wPzA6LXRoaXMudmFsdWVzW25dO3JldHVybiBPcih0aGlzLHt2YWx1ZXM6ZX0sITApfWdldCB5ZWFycygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMueWVhcnN8fDA6TmFOfWdldCBxdWFydGVycygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMucXVhcnRlcnN8fDA6TmFOfWdldCBtb250aHMoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMudmFsdWVzLm1vbnRoc3x8MDpOYU59Z2V0IHdlZWtzKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnZhbHVlcy53ZWVrc3x8MDpOYU59Z2V0IGRheXMoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMudmFsdWVzLmRheXN8fDA6TmFOfWdldCBob3Vycygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMuaG91cnN8fDA6TmFOfWdldCBtaW51dGVzKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnZhbHVlcy5taW51dGVzfHwwOk5hTn1nZXQgc2Vjb25kcygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMuc2Vjb25kc3x8MDpOYU59Z2V0IG1pbGxpc2Vjb25kcygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMubWlsbGlzZWNvbmRzfHwwOk5hTn1nZXQgaXNWYWxpZCgpe3JldHVybiB0aGlzLmludmFsaWQ9PT1udWxsfWdldCBpbnZhbGlkUmVhc29uKCl7cmV0dXJuIHRoaXMuaW52YWxpZD90aGlzLmludmFsaWQucmVhc29uOm51bGx9Z2V0IGludmFsaWRFeHBsYW5hdGlvbigpe3JldHVybiB0aGlzLmludmFsaWQ/dGhpcy5pbnZhbGlkLmV4cGxhbmF0aW9uOm51bGx9ZXF1YWxzKGUpe2lmKCF0aGlzLmlzVmFsaWR8fCFlLmlzVmFsaWR8fCF0aGlzLmxvYy5lcXVhbHMoZS5sb2MpKXJldHVybiExO2Z1bmN0aW9uIG4ocixpKXtyZXR1cm4gcj09PXZvaWQgMHx8cj09PTA/aT09PXZvaWQgMHx8aT09PTA6cj09PWl9Zm9yKGNvbnN0IHIgb2YgZ2kpaWYoIW4odGhpcy52YWx1ZXNbcl0sZS52YWx1ZXNbcl0pKXJldHVybiExO3JldHVybiEwfX1jb25zdCBSaT0iSW52YWxpZCBJbnRlcnZhbCI7ZnVuY3Rpb24geU4odCxlKXtyZXR1cm4hdHx8IXQuaXNWYWxpZD9fdC5pbnZhbGlkKCJtaXNzaW5nIG9yIGludmFsaWQgc3RhcnQiKTohZXx8IWUuaXNWYWxpZD9fdC5pbnZhbGlkKCJtaXNzaW5nIG9yIGludmFsaWQgZW5kIik6ZTx0P190LmludmFsaWQoImVuZCBiZWZvcmUgc3RhcnQiLGBUaGUgZW5kIG9mIGFuIGludGVydmFsIG11c3QgYmUgYWZ0ZXIgaXRzIHN0YXJ0LCBidXQgeW91IGhhZCBzdGFydD0ke3QudG9JU08oKX0gYW5kIGVuZD0ke2UudG9JU08oKX1gKTpudWxsfWNsYXNzIF90e2NvbnN0cnVjdG9yKGUpe3RoaXMucz1lLnN0YXJ0LHRoaXMuZT1lLmVuZCx0aGlzLmludmFsaWQ9ZS5pbnZhbGlkfHxudWxsLHRoaXMuaXNMdXhvbkludGVydmFsPSEwfXN0YXRpYyBpbnZhbGlkKGUsbj1udWxsKXtpZighZSl0aHJvdyBuZXcgZW4oIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgSW50ZXJ2YWwgaXMgaW52YWxpZCIpO2NvbnN0IHI9ZSBpbnN0YW5jZW9mIFduP2U6bmV3IFduKGUsbik7aWYocHQudGhyb3dPbkludmFsaWQpdGhyb3cgbmV3IFZQKHIpO3JldHVybiBuZXcgX3Qoe2ludmFsaWQ6cn0pfXN0YXRpYyBmcm9tRGF0ZVRpbWVzKGUsbil7Y29uc3Qgcj1EcyhlKSxpPURzKG4pLHM9eU4ocixpKTtyZXR1cm4gcz8/bmV3IF90KHtzdGFydDpyLGVuZDppfSl9c3RhdGljIGFmdGVyKGUsbil7Y29uc3Qgcj1RZS5mcm9tRHVyYXRpb25MaWtlKG4pLGk9RHMoZSk7cmV0dXJuIF90LmZyb21EYXRlVGltZXMoaSxpLnBsdXMocikpfXN0YXRpYyBiZWZvcmUoZSxuKXtjb25zdCByPVFlLmZyb21EdXJhdGlvbkxpa2UobiksaT1EcyhlKTtyZXR1cm4gX3QuZnJvbURhdGVUaW1lcyhpLm1pbnVzKHIpLGkpfXN0YXRpYyBmcm9tSVNPKGUsbil7Y29uc3RbcixpXT0oZXx8IiIpLnNwbGl0KCIvIiwyKTtpZihyJiZpKXtsZXQgcyxvO3RyeXtzPU9lLmZyb21JU08ocixuKSxvPXMuaXNWYWxpZH1jYXRjaHtvPSExfWxldCBhLGw7dHJ5e2E9T2UuZnJvbUlTTyhpLG4pLGw9YS5pc1ZhbGlkfWNhdGNoe2w9ITF9aWYobyYmbClyZXR1cm4gX3QuZnJvbURhdGVUaW1lcyhzLGEpO2lmKG8pe2NvbnN0IGM9UWUuZnJvbUlTTyhpLG4pO2lmKGMuaXNWYWxpZClyZXR1cm4gX3QuYWZ0ZXIocyxjKX1lbHNlIGlmKGwpe2NvbnN0IGM9UWUuZnJvbUlTTyhyLG4pO2lmKGMuaXNWYWxpZClyZXR1cm4gX3QuYmVmb3JlKGEsYyl9fXJldHVybiBfdC5pbnZhbGlkKCJ1bnBhcnNhYmxlIixgdGhlIGlucHV0ICIke2V9IiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKX1zdGF0aWMgaXNJbnRlcnZhbChlKXtyZXR1cm4gZSYmZS5pc0x1eG9uSW50ZXJ2YWx8fCExfWdldCBzdGFydCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5zOm51bGx9Z2V0IGVuZCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5lOm51bGx9Z2V0IGlzVmFsaWQoKXtyZXR1cm4gdGhpcy5pbnZhbGlkUmVhc29uPT09bnVsbH1nZXQgaW52YWxpZFJlYXNvbigpe3JldHVybiB0aGlzLmludmFsaWQ/dGhpcy5pbnZhbGlkLnJlYXNvbjpudWxsfWdldCBpbnZhbGlkRXhwbGFuYXRpb24oKXtyZXR1cm4gdGhpcy5pbnZhbGlkP3RoaXMuaW52YWxpZC5leHBsYW5hdGlvbjpudWxsfWxlbmd0aChlPSJtaWxsaXNlY29uZHMiKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMudG9EdXJhdGlvbihlKS5nZXQoZSk6TmFOfWNvdW50KGU9Im1pbGxpc2Vjb25kcyIsbil7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gTmFOO2NvbnN0IHI9dGhpcy5zdGFydC5zdGFydE9mKGUsbik7bGV0IGk7cmV0dXJuIG4hPW51bGwmJm4udXNlTG9jYWxlV2Vla3M/aT10aGlzLmVuZC5yZWNvbmZpZ3VyZSh7bG9jYWxlOnIubG9jYWxlfSk6aT10aGlzLmVuZCxpPWkuc3RhcnRPZihlLG4pLE1hdGguZmxvb3IoaS5kaWZmKHIsZSkuZ2V0KGUpKSsoaS52YWx1ZU9mKCkhPT10aGlzLmVuZC52YWx1ZU9mKCkpfWhhc1NhbWUoZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmlzRW1wdHkoKXx8dGhpcy5lLm1pbnVzKDEpLmhhc1NhbWUodGhpcy5zLGUpOiExfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5zLnZhbHVlT2YoKT09PXRoaXMuZS52YWx1ZU9mKCl9aXNBZnRlcihlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMucz5lOiExfWlzQmVmb3JlKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5lPD1lOiExfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5zPD1lJiZ0aGlzLmU+ZTohMX1zZXQoe3N0YXJ0OmUsZW5kOm59PXt9KXtyZXR1cm4gdGhpcy5pc1ZhbGlkP190LmZyb21EYXRlVGltZXMoZXx8dGhpcy5zLG58fHRoaXMuZSk6dGhpc31zcGxpdEF0KC4uLmUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuW107Y29uc3Qgbj1lLm1hcChEcykuZmlsdGVyKG89PnRoaXMuY29udGFpbnMobykpLnNvcnQoKG8sYSk9Pm8udG9NaWxsaXMoKS1hLnRvTWlsbGlzKCkpLHI9W107bGV0e3M6aX09dGhpcyxzPTA7Zm9yKDtpPHRoaXMuZTspe2NvbnN0IG89bltzXXx8dGhpcy5lLGE9K28+K3RoaXMuZT90aGlzLmU6bztyLnB1c2goX3QuZnJvbURhdGVUaW1lcyhpLGEpKSxpPWEscys9MX1yZXR1cm4gcn1zcGxpdEJ5KGUpe2NvbnN0IG49UWUuZnJvbUR1cmF0aW9uTGlrZShlKTtpZighdGhpcy5pc1ZhbGlkfHwhbi5pc1ZhbGlkfHxuLmFzKCJtaWxsaXNlY29uZHMiKT09PTApcmV0dXJuW107bGV0e3M6cn09dGhpcyxpPTEscztjb25zdCBvPVtdO2Zvcig7cjx0aGlzLmU7KXtjb25zdCBhPXRoaXMuc3RhcnQucGx1cyhuLm1hcFVuaXRzKGw9PmwqaSkpO3M9K2E+K3RoaXMuZT90aGlzLmU6YSxvLnB1c2goX3QuZnJvbURhdGVUaW1lcyhyLHMpKSxyPXMsaSs9MX1yZXR1cm4gb31kaXZpZGVFcXVhbGx5KGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5zcGxpdEJ5KHRoaXMubGVuZ3RoKCkvZSkuc2xpY2UoMCxlKTpbXX1vdmVybGFwcyhlKXtyZXR1cm4gdGhpcy5lPmUucyYmdGhpcy5zPGUuZX1hYnV0c1N0YXJ0KGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/K3RoaXMuZT09K2UuczohMX1hYnV0c0VuZChlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkPytlLmU9PSt0aGlzLnM6ITF9ZW5ndWxmcyhlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuczw9ZS5zJiZ0aGlzLmU+PWUuZTohMX1lcXVhbHMoZSl7cmV0dXJuIXRoaXMuaXNWYWxpZHx8IWUuaXNWYWxpZD8hMTp0aGlzLnMuZXF1YWxzKGUucykmJnRoaXMuZS5lcXVhbHMoZS5lKX1pbnRlcnNlY3Rpb24oZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztjb25zdCBuPXRoaXMucz5lLnM/dGhpcy5zOmUucyxyPXRoaXMuZTxlLmU/dGhpcy5lOmUuZTtyZXR1cm4gbj49cj9udWxsOl90LmZyb21EYXRlVGltZXMobixyKX11bmlvbihlKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiB0aGlzO2NvbnN0IG49dGhpcy5zPGUucz90aGlzLnM6ZS5zLHI9dGhpcy5lPmUuZT90aGlzLmU6ZS5lO3JldHVybiBfdC5mcm9tRGF0ZVRpbWVzKG4scil9c3RhdGljIG1lcmdlKGUpe2NvbnN0W24scl09ZS5zb3J0KChpLHMpPT5pLnMtcy5zKS5yZWR1Y2UoKFtpLHNdLG8pPT5zP3Mub3ZlcmxhcHMobyl8fHMuYWJ1dHNTdGFydChvKT9baSxzLnVuaW9uKG8pXTpbaS5jb25jYXQoW3NdKSxvXTpbaSxvXSxbW10sbnVsbF0pO3JldHVybiByJiZuLnB1c2gociksbn1zdGF0aWMgeG9yKGUpe2xldCBuPW51bGwscj0wO2NvbnN0IGk9W10scz1lLm1hcChsPT5be3RpbWU6bC5zLHR5cGU6InMifSx7dGltZTpsLmUsdHlwZToiZSJ9XSksbz1BcnJheS5wcm90b3R5cGUuY29uY2F0KC4uLnMpLGE9by5zb3J0KChsLGMpPT5sLnRpbWUtYy50aW1lKTtmb3IoY29uc3QgbCBvZiBhKXIrPWwudHlwZT09PSJzIj8xOi0xLHI9PT0xP249bC50aW1lOihuJiYrbiE9K2wudGltZSYmaS5wdXNoKF90LmZyb21EYXRlVGltZXMobixsLnRpbWUpKSxuPW51bGwpO3JldHVybiBfdC5tZXJnZShpKX1kaWZmZXJlbmNlKC4uLmUpe3JldHVybiBfdC54b3IoW3RoaXNdLmNvbmNhdChlKSkubWFwKG49PnRoaXMuaW50ZXJzZWN0aW9uKG4pKS5maWx0ZXIobj0+biYmIW4uaXNFbXB0eSgpKX10b1N0cmluZygpe3JldHVybiB0aGlzLmlzVmFsaWQ/YFske3RoaXMucy50b0lTTygpfSDigJMgJHt0aGlzLmUudG9JU08oKX0pYDpSaX1bU3ltYm9sLmZvcigibm9kZWpzLnV0aWwuaW5zcGVjdC5jdXN0b20iKV0oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2BJbnRlcnZhbCB7IHN0YXJ0OiAke3RoaXMucy50b0lTTygpfSwgZW5kOiAke3RoaXMuZS50b0lTTygpfSB9YDpgSW50ZXJ2YWwgeyBJbnZhbGlkLCByZWFzb246ICR7dGhpcy5pbnZhbGlkUmVhc29ufSB9YH10b0xvY2FsZVN0cmluZyhlPWphLG49e30pe3JldHVybiB0aGlzLmlzVmFsaWQ/QnQuY3JlYXRlKHRoaXMucy5sb2MuY2xvbmUobiksZSkuZm9ybWF0SW50ZXJ2YWwodGhpcyk6Uml9dG9JU08oZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD9gJHt0aGlzLnMudG9JU08oZSl9LyR7dGhpcy5lLnRvSVNPKGUpfWA6Uml9dG9JU09EYXRlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9gJHt0aGlzLnMudG9JU09EYXRlKCl9LyR7dGhpcy5lLnRvSVNPRGF0ZSgpfWA6Uml9dG9JU09UaW1lKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/YCR7dGhpcy5zLnRvSVNPVGltZShlKX0vJHt0aGlzLmUudG9JU09UaW1lKGUpfWA6Uml9dG9Gb3JtYXQoZSx7c2VwYXJhdG9yOm49IiDigJMgIn09e30pe3JldHVybiB0aGlzLmlzVmFsaWQ/YCR7dGhpcy5zLnRvRm9ybWF0KGUpfSR7bn0ke3RoaXMuZS50b0Zvcm1hdChlKX1gOlJpfXRvRHVyYXRpb24oZSxuKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuZS5kaWZmKHRoaXMucyxlLG4pOlFlLmludmFsaWQodGhpcy5pbnZhbGlkUmVhc29uKX1tYXBFbmRwb2ludHMoZSl7cmV0dXJuIF90LmZyb21EYXRlVGltZXMoZSh0aGlzLnMpLGUodGhpcy5lKSl9fWNsYXNzIGxhe3N0YXRpYyBoYXNEU1QoZT1wdC5kZWZhdWx0Wm9uZSl7Y29uc3Qgbj1PZS5ub3coKS5zZXRab25lKGUpLnNldCh7bW9udGg6MTJ9KTtyZXR1cm4hZS5pc1VuaXZlcnNhbCYmbi5vZmZzZXQhPT1uLnNldCh7bW9udGg6Nn0pLm9mZnNldH1zdGF0aWMgaXNWYWxpZElBTkFab25lKGUpe3JldHVybiBfci5pc1ZhbGlkWm9uZShlKX1zdGF0aWMgbm9ybWFsaXplWm9uZShlKXtyZXR1cm4ganIoZSxwdC5kZWZhdWx0Wm9uZSl9c3RhdGljIGdldFN0YXJ0T2ZXZWVrKHtsb2NhbGU6ZT1udWxsLGxvY09iajpuPW51bGx9PXt9KXtyZXR1cm4obnx8YXQuY3JlYXRlKGUpKS5nZXRTdGFydE9mV2VlaygpfXN0YXRpYyBnZXRNaW5pbXVtRGF5c0luRmlyc3RXZWVrKHtsb2NhbGU6ZT1udWxsLGxvY09iajpuPW51bGx9PXt9KXtyZXR1cm4obnx8YXQuY3JlYXRlKGUpKS5nZXRNaW5EYXlzSW5GaXJzdFdlZWsoKX1zdGF0aWMgZ2V0V2Vla2VuZFdlZWtkYXlzKHtsb2NhbGU6ZT1udWxsLGxvY09iajpuPW51bGx9PXt9KXtyZXR1cm4obnx8YXQuY3JlYXRlKGUpKS5nZXRXZWVrZW5kRGF5cygpLnNsaWNlKCl9c3RhdGljIG1vbnRocyhlPSJsb25nIix7bG9jYWxlOm49bnVsbCxudW1iZXJpbmdTeXN0ZW06cj1udWxsLGxvY09iajppPW51bGwsb3V0cHV0Q2FsZW5kYXI6cz0iZ3JlZ29yeSJ9PXt9KXtyZXR1cm4oaXx8YXQuY3JlYXRlKG4scixzKSkubW9udGhzKGUpfXN0YXRpYyBtb250aHNGb3JtYXQoZT0ibG9uZyIse2xvY2FsZTpuPW51bGwsbnVtYmVyaW5nU3lzdGVtOnI9bnVsbCxsb2NPYmo6aT1udWxsLG91dHB1dENhbGVuZGFyOnM9ImdyZWdvcnkifT17fSl7cmV0dXJuKGl8fGF0LmNyZWF0ZShuLHIscykpLm1vbnRocyhlLCEwKX1zdGF0aWMgd2Vla2RheXMoZT0ibG9uZyIse2xvY2FsZTpuPW51bGwsbnVtYmVyaW5nU3lzdGVtOnI9bnVsbCxsb2NPYmo6aT1udWxsfT17fSl7cmV0dXJuKGl8fGF0LmNyZWF0ZShuLHIsbnVsbCkpLndlZWtkYXlzKGUpfXN0YXRpYyB3ZWVrZGF5c0Zvcm1hdChlPSJsb25nIix7bG9jYWxlOm49bnVsbCxudW1iZXJpbmdTeXN0ZW06cj1udWxsLGxvY09iajppPW51bGx9PXt9KXtyZXR1cm4oaXx8YXQuY3JlYXRlKG4scixudWxsKSkud2Vla2RheXMoZSwhMCl9c3RhdGljIG1lcmlkaWVtcyh7bG9jYWxlOmU9bnVsbH09e30pe3JldHVybiBhdC5jcmVhdGUoZSkubWVyaWRpZW1zKCl9c3RhdGljIGVyYXMoZT0ic2hvcnQiLHtsb2NhbGU6bj1udWxsfT17fSl7cmV0dXJuIGF0LmNyZWF0ZShuLG51bGwsImdyZWdvcnkiKS5lcmFzKGUpfXN0YXRpYyBmZWF0dXJlcygpe3JldHVybntyZWxhdGl2ZTpGXygpLGxvY2FsZVdlZWs6JF8oKX19fWZ1bmN0aW9uIG5wKHQsZSl7Y29uc3Qgbj1pPT5pLnRvVVRDKDAse2tlZXBMb2NhbFRpbWU6ITB9KS5zdGFydE9mKCJkYXkiKS52YWx1ZU9mKCkscj1uKGUpLW4odCk7cmV0dXJuIE1hdGguZmxvb3IoUWUuZnJvbU1pbGxpcyhyKS5hcygiZGF5cyIpKX1mdW5jdGlvbiB2Tih0LGUsbil7Y29uc3Qgcj1bWyJ5ZWFycyIsKGwsYyk9PmMueWVhci1sLnllYXJdLFsicXVhcnRlcnMiLChsLGMpPT5jLnF1YXJ0ZXItbC5xdWFydGVyKyhjLnllYXItbC55ZWFyKSo0XSxbIm1vbnRocyIsKGwsYyk9PmMubW9udGgtbC5tb250aCsoYy55ZWFyLWwueWVhcikqMTJdLFsid2Vla3MiLChsLGMpPT57Y29uc3QgdT1ucChsLGMpO3JldHVybih1LXUlNykvN31dLFsiZGF5cyIsbnBdXSxpPXt9LHM9dDtsZXQgbyxhO2Zvcihjb25zdFtsLGNdb2YgciluLmluZGV4T2YobCk+PTAmJihvPWwsaVtsXT1jKHQsZSksYT1zLnBsdXMoaSksYT5lPyhpW2xdLS0sdD1zLnBsdXMoaSksdD5lJiYoYT10LGlbbF0tLSx0PXMucGx1cyhpKSkpOnQ9YSk7cmV0dXJuW3QsaSxhLG9dfWZ1bmN0aW9uIF9OKHQsZSxuLHIpe2xldFtpLHMsbyxhXT12Tih0LGUsbik7Y29uc3QgbD1lLWksYz1uLmZpbHRlcihkPT5bImhvdXJzIiwibWludXRlcyIsInNlY29uZHMiLCJtaWxsaXNlY29uZHMiXS5pbmRleE9mKGQpPj0wKTtjLmxlbmd0aD09PTAmJihvPGUmJihvPWkucGx1cyh7W2FdOjF9KSksbyE9PWkmJihzW2FdPShzW2FdfHwwKStsLyhvLWkpKSk7Y29uc3QgdT1RZS5mcm9tT2JqZWN0KHMscik7cmV0dXJuIGMubGVuZ3RoPjA/UWUuZnJvbU1pbGxpcyhsLHIpLnNoaWZ0VG8oLi4uYykucGx1cyh1KTp1fWNvbnN0IFFkPXthcmFiOiJb2aAt2aldIixhcmFiZXh0OiJb27At27ldIixiYWxpOiJb4a2QLeGtmV0iLGJlbmc6Ilvgp6Yt4KevXSIsZGV2YToiW+Clpi3gpa9dIixmdWxsd2lkZToiW++8kC3vvJldIixndWpyOiJb4KumLeCrr10iLGhhbmlkZWM6IlvjgId85LiAfOS6jHzkuIl85ZubfOS6lHzlha185LiDfOWFq3zkuZ1dIixraG1yOiJb4Z+gLeGfqV0iLGtuZGE6Ilvgs6Yt4LOvXSIsbGFvbzoiW+C7kC3gu5ldIixsaW1iOiJb4aWGLeGlj10iLG1seW06IlvgtaYt4LWvXSIsbW9uZzoiW+GgkC3hoJldIixteW1yOiJb4YGALeGBiV0iLG9yeWE6IlvgraYt4K2vXSIsdGFtbGRlYzoiW+Cvpi3gr69dIix0ZWx1OiJb4LGmLeCxr10iLHRoYWk6IlvguZAt4LmZXSIsdGlidDoiW+C8oC3gvKldIixsYXRuOiJcXGQifSxycD17YXJhYjpbMTYzMiwxNjQxXSxhcmFiZXh0OlsxNzc2LDE3ODVdLGJhbGk6WzY5OTIsNzAwMV0sYmVuZzpbMjUzNCwyNTQzXSxkZXZhOlsyNDA2LDI0MTVdLGZ1bGx3aWRlOls2NTI5Niw2NTMwM10sZ3VqcjpbMjc5MCwyNzk5XSxraG1yOls2MTEyLDYxMjFdLGtuZGE6WzMzMDIsMzMxMV0sbGFvbzpbMzc5MiwzODAxXSxsaW1iOls2NDcwLDY0NzldLG1seW06WzM0MzAsMzQzOV0sbW9uZzpbNjE2MCw2MTY5XSxteW1yOls0MTYwLDQxNjldLG9yeWE6WzI5MTgsMjkyN10sdGFtbGRlYzpbMzA0NiwzMDU1XSx0ZWx1OlszMTc0LDMxODNdLHRoYWk6WzM2NjQsMzY3M10sdGlidDpbMzg3MiwzODgxXX0sYk49UWQuaGFuaWRlYy5yZXBsYWNlKC9bXFt8XF1dL2csIiIpLnNwbGl0KCIiKTtmdW5jdGlvbiB3Tih0KXtsZXQgZT1wYXJzZUludCh0LDEwKTtpZihpc05hTihlKSl7ZT0iIjtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgcj10LmNoYXJDb2RlQXQobik7aWYodFtuXS5zZWFyY2goUWQuaGFuaWRlYykhPT0tMSllKz1iTi5pbmRleE9mKHRbbl0pO2Vsc2UgZm9yKGNvbnN0IGkgaW4gcnApe2NvbnN0W3Msb109cnBbaV07cj49cyYmcjw9byYmKGUrPXItcyl9fXJldHVybiBwYXJzZUludChlLDEwKX1lbHNlIHJldHVybiBlfWZ1bmN0aW9uIEZuKHtudW1iZXJpbmdTeXN0ZW06dH0sZT0iIil7cmV0dXJuIG5ldyBSZWdFeHAoYCR7UWRbdHx8ImxhdG4iXX0ke2V9YCl9Y29uc3Qga049Im1pc3NpbmcgSW50bC5EYXRlVGltZUZvcm1hdC5mb3JtYXRUb1BhcnRzIHN1cHBvcnQiO2Z1bmN0aW9uIG50KHQsZT1uPT5uKXtyZXR1cm57cmVnZXg6dCxkZXNlcjooW25dKT0+ZSh3TihuKSl9fWNvbnN0IFNOPSLCoCIsbjA9YFsgJHtTTn1dYCxyMD1uZXcgUmVnRXhwKG4wLCJnIik7ZnVuY3Rpb24gVE4odCl7cmV0dXJuIHQucmVwbGFjZSgvXC4vZywiXFwuPyIpLnJlcGxhY2UocjAsbjApfWZ1bmN0aW9uIGlwKHQpe3JldHVybiB0LnJlcGxhY2UoL1wuL2csIiIpLnJlcGxhY2UocjAsIiAiKS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uICRuKHQsZSl7cmV0dXJuIHQ9PT1udWxsP251bGw6e3JlZ2V4OlJlZ0V4cCh0Lm1hcChUTikuam9pbigifCIpKSxkZXNlcjooW25dKT0+dC5maW5kSW5kZXgocj0+aXAobik9PT1pcChyKSkrZX19ZnVuY3Rpb24gc3AodCxlKXtyZXR1cm57cmVnZXg6dCxkZXNlcjooWyxuLHJdKT0+RGwobixyKSxncm91cHM6ZX19ZnVuY3Rpb24gY2EodCl7cmV0dXJue3JlZ2V4OnQsZGVzZXI6KFtlXSk9PmV9fWZ1bmN0aW9uIEVOKHQpe3JldHVybiB0LnJlcGxhY2UoL1tcLVxbXF17fSgpKis/LixcXFxeJHwjXHNdL2csIlxcJCYiKX1mdW5jdGlvbiB4Tih0LGUpe2NvbnN0IG49Rm4oZSkscj1GbihlLCJ7Mn0iKSxpPUZuKGUsInszfSIpLHM9Rm4oZSwiezR9Iiksbz1GbihlLCJ7Nn0iKSxhPUZuKGUsInsxLDJ9IiksbD1GbihlLCJ7MSwzfSIpLGM9Rm4oZSwiezEsNn0iKSx1PUZuKGUsInsxLDl9IiksZD1GbihlLCJ7Miw0fSIpLGY9Rm4oZSwiezQsNn0iKSxoPWs9Pih7cmVnZXg6UmVnRXhwKEVOKGsudmFsKSksZGVzZXI6KFt4XSk9PngsbGl0ZXJhbDohMH0pLHA9KGs9PntpZih0LmxpdGVyYWwpcmV0dXJuIGgoayk7c3dpdGNoKGsudmFsKXtjYXNlIkciOnJldHVybiAkbihlLmVyYXMoInNob3J0IiksMCk7Y2FzZSJHRyI6cmV0dXJuICRuKGUuZXJhcygibG9uZyIpLDApO2Nhc2UieSI6cmV0dXJuIG50KGMpO2Nhc2UieXkiOnJldHVybiBudChkLF91KTtjYXNlInl5eXkiOnJldHVybiBudChzKTtjYXNlInl5eXl5IjpyZXR1cm4gbnQoZik7Y2FzZSJ5eXl5eXkiOnJldHVybiBudChvKTtjYXNlIk0iOnJldHVybiBudChhKTtjYXNlIk1NIjpyZXR1cm4gbnQocik7Y2FzZSJNTU0iOnJldHVybiAkbihlLm1vbnRocygic2hvcnQiLCEwKSwxKTtjYXNlIk1NTU0iOnJldHVybiAkbihlLm1vbnRocygibG9uZyIsITApLDEpO2Nhc2UiTCI6cmV0dXJuIG50KGEpO2Nhc2UiTEwiOnJldHVybiBudChyKTtjYXNlIkxMTCI6cmV0dXJuICRuKGUubW9udGhzKCJzaG9ydCIsITEpLDEpO2Nhc2UiTExMTCI6cmV0dXJuICRuKGUubW9udGhzKCJsb25nIiwhMSksMSk7Y2FzZSJkIjpyZXR1cm4gbnQoYSk7Y2FzZSJkZCI6cmV0dXJuIG50KHIpO2Nhc2UibyI6cmV0dXJuIG50KGwpO2Nhc2Uib29vIjpyZXR1cm4gbnQoaSk7Y2FzZSJISCI6cmV0dXJuIG50KHIpO2Nhc2UiSCI6cmV0dXJuIG50KGEpO2Nhc2UiaGgiOnJldHVybiBudChyKTtjYXNlImgiOnJldHVybiBudChhKTtjYXNlIm1tIjpyZXR1cm4gbnQocik7Y2FzZSJtIjpyZXR1cm4gbnQoYSk7Y2FzZSJxIjpyZXR1cm4gbnQoYSk7Y2FzZSJxcSI6cmV0dXJuIG50KHIpO2Nhc2UicyI6cmV0dXJuIG50KGEpO2Nhc2Uic3MiOnJldHVybiBudChyKTtjYXNlIlMiOnJldHVybiBudChsKTtjYXNlIlNTUyI6cmV0dXJuIG50KGkpO2Nhc2UidSI6cmV0dXJuIGNhKHUpO2Nhc2UidXUiOnJldHVybiBjYShhKTtjYXNlInV1dSI6cmV0dXJuIG50KG4pO2Nhc2UiYSI6cmV0dXJuICRuKGUubWVyaWRpZW1zKCksMCk7Y2FzZSJra2trIjpyZXR1cm4gbnQocyk7Y2FzZSJrayI6cmV0dXJuIG50KGQsX3UpO2Nhc2UiVyI6cmV0dXJuIG50KGEpO2Nhc2UiV1ciOnJldHVybiBudChyKTtjYXNlIkUiOmNhc2UiYyI6cmV0dXJuIG50KG4pO2Nhc2UiRUVFIjpyZXR1cm4gJG4oZS53ZWVrZGF5cygic2hvcnQiLCExKSwxKTtjYXNlIkVFRUUiOnJldHVybiAkbihlLndlZWtkYXlzKCJsb25nIiwhMSksMSk7Y2FzZSJjY2MiOnJldHVybiAkbihlLndlZWtkYXlzKCJzaG9ydCIsITApLDEpO2Nhc2UiY2NjYyI6cmV0dXJuICRuKGUud2Vla2RheXMoImxvbmciLCEwKSwxKTtjYXNlIloiOmNhc2UiWloiOnJldHVybiBzcChuZXcgUmVnRXhwKGAoWystXSR7YS5zb3VyY2V9KSg/OjooJHtyLnNvdXJjZX0pKT9gKSwyKTtjYXNlIlpaWiI6cmV0dXJuIHNwKG5ldyBSZWdFeHAoYChbKy1dJHthLnNvdXJjZX0pKCR7ci5zb3VyY2V9KT9gKSwyKTtjYXNlInoiOnJldHVybiBjYSgvW2Etel8rLS9dezEsMjU2fT8vaSk7Y2FzZSIgIjpyZXR1cm4gY2EoL1teXFNcblxyXS8pO2RlZmF1bHQ6cmV0dXJuIGgoayl9fSkodCl8fHtpbnZhbGlkUmVhc29uOmtOfTtyZXR1cm4gcC50b2tlbj10LHB9Y29uc3QgQU49e3llYXI6eyIyLWRpZ2l0IjoieXkiLG51bWVyaWM6Inl5eXl5In0sbW9udGg6e251bWVyaWM6Ik0iLCIyLWRpZ2l0IjoiTU0iLHNob3J0OiJNTU0iLGxvbmc6Ik1NTU0ifSxkYXk6e251bWVyaWM6ImQiLCIyLWRpZ2l0IjoiZGQifSx3ZWVrZGF5OntzaG9ydDoiRUVFIixsb25nOiJFRUVFIn0sZGF5cGVyaW9kOiJhIixkYXlQZXJpb2Q6ImEiLGhvdXIxMjp7bnVtZXJpYzoiaCIsIjItZGlnaXQiOiJoaCJ9LGhvdXIyNDp7bnVtZXJpYzoiSCIsIjItZGlnaXQiOiJISCJ9LG1pbnV0ZTp7bnVtZXJpYzoibSIsIjItZGlnaXQiOiJtbSJ9LHNlY29uZDp7bnVtZXJpYzoicyIsIjItZGlnaXQiOiJzcyJ9LHRpbWVab25lTmFtZTp7bG9uZzoiWlpaWloiLHNob3J0OiJaWloifX07ZnVuY3Rpb24gT04odCxlLG4pe2NvbnN0e3R5cGU6cix2YWx1ZTppfT10O2lmKHI9PT0ibGl0ZXJhbCIpe2NvbnN0IGw9L15ccyskLy50ZXN0KGkpO3JldHVybntsaXRlcmFsOiFsLHZhbDpsPyIgIjppfX1jb25zdCBzPWVbcl07bGV0IG89cjtyPT09ImhvdXIiJiYoZS5ob3VyMTIhPW51bGw/bz1lLmhvdXIxMj8iaG91cjEyIjoiaG91cjI0IjplLmhvdXJDeWNsZSE9bnVsbD9lLmhvdXJDeWNsZT09PSJoMTEifHxlLmhvdXJDeWNsZT09PSJoMTIiP289ImhvdXIxMiI6bz0iaG91cjI0IjpvPW4uaG91cjEyPyJob3VyMTIiOiJob3VyMjQiKTtsZXQgYT1BTltvXTtpZih0eXBlb2YgYT09Im9iamVjdCImJihhPWFbc10pLGEpcmV0dXJue2xpdGVyYWw6ITEsdmFsOmF9fWZ1bmN0aW9uIENOKHQpe3JldHVybltgXiR7dC5tYXAobj0+bi5yZWdleCkucmVkdWNlKChuLHIpPT5gJHtufSgke3Iuc291cmNlfSlgLCIiKX0kYCx0XX1mdW5jdGlvbiBQTih0LGUsbil7Y29uc3Qgcj10Lm1hdGNoKGUpO2lmKHIpe2NvbnN0IGk9e307bGV0IHM9MTtmb3IoY29uc3QgbyBpbiBuKWlmKGhzKG4sbykpe2NvbnN0IGE9bltvXSxsPWEuZ3JvdXBzP2EuZ3JvdXBzKzE6MTshYS5saXRlcmFsJiZhLnRva2VuJiYoaVthLnRva2VuLnZhbFswXV09YS5kZXNlcihyLnNsaWNlKHMscytsKSkpLHMrPWx9cmV0dXJuW3IsaV19ZWxzZSByZXR1cm5bcix7fV19ZnVuY3Rpb24gSU4odCl7Y29uc3QgZT1zPT57c3dpdGNoKHMpe2Nhc2UiUyI6cmV0dXJuIm1pbGxpc2Vjb25kIjtjYXNlInMiOnJldHVybiJzZWNvbmQiO2Nhc2UibSI6cmV0dXJuIm1pbnV0ZSI7Y2FzZSJoIjpjYXNlIkgiOnJldHVybiJob3VyIjtjYXNlImQiOnJldHVybiJkYXkiO2Nhc2UibyI6cmV0dXJuIm9yZGluYWwiO2Nhc2UiTCI6Y2FzZSJNIjpyZXR1cm4ibW9udGgiO2Nhc2UieSI6cmV0dXJuInllYXIiO2Nhc2UiRSI6Y2FzZSJjIjpyZXR1cm4id2Vla2RheSI7Y2FzZSJXIjpyZXR1cm4id2Vla051bWJlciI7Y2FzZSJrIjpyZXR1cm4id2Vla1llYXIiO2Nhc2UicSI6cmV0dXJuInF1YXJ0ZXIiO2RlZmF1bHQ6cmV0dXJuIG51bGx9fTtsZXQgbj1udWxsLHI7cmV0dXJuIEZlKHQueil8fChuPV9yLmNyZWF0ZSh0LnopKSxGZSh0LlopfHwobnx8KG49bmV3IHF0KHQuWikpLHI9dC5aKSxGZSh0LnEpfHwodC5NPSh0LnEtMSkqMysxKSxGZSh0LmgpfHwodC5oPDEyJiZ0LmE9PT0xP3QuaCs9MTI6dC5oPT09MTImJnQuYT09PTAmJih0Lmg9MCkpLHQuRz09PTAmJnQueSYmKHQueT0tdC55KSxGZSh0LnUpfHwodC5TPXFkKHQudSkpLFtPYmplY3Qua2V5cyh0KS5yZWR1Y2UoKHMsbyk9Pntjb25zdCBhPWUobyk7cmV0dXJuIGEmJihzW2FdPXRbb10pLHN9LHt9KSxuLHJdfWxldCBmYz1udWxsO2Z1bmN0aW9uIE5OKCl7cmV0dXJuIGZjfHwoZmM9T2UuZnJvbU1pbGxpcygxNTU1NTU1NTU1NTU1KSksZmN9ZnVuY3Rpb24gUk4odCxlKXtpZih0LmxpdGVyYWwpcmV0dXJuIHQ7Y29uc3Qgbj1CdC5tYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHQudmFsKSxyPW8wKG4sZSk7cmV0dXJuIHI9PW51bGx8fHIuaW5jbHVkZXModm9pZCAwKT90OnJ9ZnVuY3Rpb24gaTAodCxlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdCguLi50Lm1hcChuPT5STihuLGUpKSl9ZnVuY3Rpb24gczAodCxlLG4pe2NvbnN0IHI9aTAoQnQucGFyc2VGb3JtYXQobiksdCksaT1yLm1hcChvPT54TihvLHQpKSxzPWkuZmluZChvPT5vLmludmFsaWRSZWFzb24pO2lmKHMpcmV0dXJue2lucHV0OmUsdG9rZW5zOnIsaW52YWxpZFJlYXNvbjpzLmludmFsaWRSZWFzb259O3tjb25zdFtvLGFdPUNOKGkpLGw9UmVnRXhwKG8sImkiKSxbYyx1XT1QTihlLGwsYSksW2QsZixoXT11P0lOKHUpOltudWxsLG51bGwsdm9pZCAwXTtpZihocyh1LCJhIikmJmhzKHUsIkgiKSl0aHJvdyBuZXcgamkoIkNhbid0IGluY2x1ZGUgbWVyaWRpZW0gd2hlbiBzcGVjaWZ5aW5nIDI0LWhvdXIgZm9ybWF0Iik7cmV0dXJue2lucHV0OmUsdG9rZW5zOnIscmVnZXg6bCxyYXdNYXRjaGVzOmMsbWF0Y2hlczp1LHJlc3VsdDpkLHpvbmU6ZixzcGVjaWZpY09mZnNldDpofX19ZnVuY3Rpb24gRE4odCxlLG4pe2NvbnN0e3Jlc3VsdDpyLHpvbmU6aSxzcGVjaWZpY09mZnNldDpzLGludmFsaWRSZWFzb246b309czAodCxlLG4pO3JldHVybltyLGkscyxvXX1mdW5jdGlvbiBvMCh0LGUpe2lmKCF0KXJldHVybiBudWxsO2NvbnN0IHI9QnQuY3JlYXRlKGUsdCkuZHRGb3JtYXR0ZXIoTk4oKSksaT1yLmZvcm1hdFRvUGFydHMoKSxzPXIucmVzb2x2ZWRPcHRpb25zKCk7cmV0dXJuIGkubWFwKG89Pk9OKG8sdCxzKSl9Y29uc3QgaGM9IkludmFsaWQgRGF0ZVRpbWUiLG9wPTg2NGUxMztmdW5jdGlvbiB1YSh0KXtyZXR1cm4gbmV3IFduKCJ1bnN1cHBvcnRlZCB6b25lIixgdGhlIHpvbmUgIiR7dC5uYW1lfSIgaXMgbm90IHN1cHBvcnRlZGApfWZ1bmN0aW9uIG1jKHQpe3JldHVybiB0LndlZWtEYXRhPT09bnVsbCYmKHQud2Vla0RhdGE9QmEodC5jKSksdC53ZWVrRGF0YX1mdW5jdGlvbiBwYyh0KXtyZXR1cm4gdC5sb2NhbFdlZWtEYXRhPT09bnVsbCYmKHQubG9jYWxXZWVrRGF0YT1CYSh0LmMsdC5sb2MuZ2V0TWluRGF5c0luRmlyc3RXZWVrKCksdC5sb2MuZ2V0U3RhcnRPZldlZWsoKSkpLHQubG9jYWxXZWVrRGF0YX1mdW5jdGlvbiB1aSh0LGUpe2NvbnN0IG49e3RzOnQudHMsem9uZTp0LnpvbmUsYzp0LmMsbzp0Lm8sbG9jOnQubG9jLGludmFsaWQ6dC5pbnZhbGlkfTtyZXR1cm4gbmV3IE9lKHsuLi5uLC4uLmUsb2xkOm59KX1mdW5jdGlvbiBhMCh0LGUsbil7bGV0IHI9dC1lKjYwKjFlMztjb25zdCBpPW4ub2Zmc2V0KHIpO2lmKGU9PT1pKXJldHVybltyLGVdO3ItPShpLWUpKjYwKjFlMztjb25zdCBzPW4ub2Zmc2V0KHIpO3JldHVybiBpPT09cz9bcixpXTpbdC1NYXRoLm1pbihpLHMpKjYwKjFlMyxNYXRoLm1heChpLHMpXX1mdW5jdGlvbiBkYSh0LGUpe3QrPWUqNjAqMWUzO2NvbnN0IG49bmV3IERhdGUodCk7cmV0dXJue3llYXI6bi5nZXRVVENGdWxsWWVhcigpLG1vbnRoOm4uZ2V0VVRDTW9udGgoKSsxLGRheTpuLmdldFVUQ0RhdGUoKSxob3VyOm4uZ2V0VVRDSG91cnMoKSxtaW51dGU6bi5nZXRVVENNaW51dGVzKCksc2Vjb25kOm4uZ2V0VVRDU2Vjb25kcygpLG1pbGxpc2Vjb25kOm4uZ2V0VVRDTWlsbGlzZWNvbmRzKCl9fWZ1bmN0aW9uIGthKHQsZSxuKXtyZXR1cm4gYTAoUmwodCksZSxuKX1mdW5jdGlvbiBhcCh0LGUpe2NvbnN0IG49dC5vLHI9dC5jLnllYXIrTWF0aC50cnVuYyhlLnllYXJzKSxpPXQuYy5tb250aCtNYXRoLnRydW5jKGUubW9udGhzKStNYXRoLnRydW5jKGUucXVhcnRlcnMpKjMscz17Li4udC5jLHllYXI6cixtb250aDppLGRheTpNYXRoLm1pbih0LmMuZGF5LFVhKHIsaSkpK01hdGgudHJ1bmMoZS5kYXlzKStNYXRoLnRydW5jKGUud2Vla3MpKjd9LG89UWUuZnJvbU9iamVjdCh7eWVhcnM6ZS55ZWFycy1NYXRoLnRydW5jKGUueWVhcnMpLHF1YXJ0ZXJzOmUucXVhcnRlcnMtTWF0aC50cnVuYyhlLnF1YXJ0ZXJzKSxtb250aHM6ZS5tb250aHMtTWF0aC50cnVuYyhlLm1vbnRocyksd2Vla3M6ZS53ZWVrcy1NYXRoLnRydW5jKGUud2Vla3MpLGRheXM6ZS5kYXlzLU1hdGgudHJ1bmMoZS5kYXlzKSxob3VyczplLmhvdXJzLG1pbnV0ZXM6ZS5taW51dGVzLHNlY29uZHM6ZS5zZWNvbmRzLG1pbGxpc2Vjb25kczplLm1pbGxpc2Vjb25kc30pLmFzKCJtaWxsaXNlY29uZHMiKSxhPVJsKHMpO2xldFtsLGNdPWEwKGEsbix0LnpvbmUpO3JldHVybiBvIT09MCYmKGwrPW8sYz10LnpvbmUub2Zmc2V0KGwpKSx7dHM6bCxvOmN9fWZ1bmN0aW9uIFJzKHQsZSxuLHIsaSxzKXtjb25zdHtzZXRab25lOm8sem9uZTphfT1uO2lmKHQmJk9iamVjdC5rZXlzKHQpLmxlbmd0aCE9PTB8fGUpe2NvbnN0IGw9ZXx8YSxjPU9lLmZyb21PYmplY3QodCx7Li4ubix6b25lOmwsc3BlY2lmaWNPZmZzZXQ6c30pO3JldHVybiBvP2M6Yy5zZXRab25lKGEpfWVsc2UgcmV0dXJuIE9lLmludmFsaWQobmV3IFduKCJ1bnBhcnNhYmxlIixgdGhlIGlucHV0ICIke2l9IiBjYW4ndCBiZSBwYXJzZWQgYXMgJHtyfWApKX1mdW5jdGlvbiBmYSh0LGUsbj0hMCl7cmV0dXJuIHQuaXNWYWxpZD9CdC5jcmVhdGUoYXQuY3JlYXRlKCJlbi1VUyIpLHthbGxvd1o6bixmb3JjZVNpbXBsZTohMH0pLmZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyh0LGUpOm51bGx9ZnVuY3Rpb24gZ2ModCxlKXtjb25zdCBuPXQuYy55ZWFyPjk5OTl8fHQuYy55ZWFyPDA7bGV0IHI9IiI7cmV0dXJuIG4mJnQuYy55ZWFyPj0wJiYocis9IisiKSxyKz1rdCh0LmMueWVhcixuPzY6NCksZT8ocis9Ii0iLHIrPWt0KHQuYy5tb250aCkscis9Ii0iLHIrPWt0KHQuYy5kYXkpKToocis9a3QodC5jLm1vbnRoKSxyKz1rdCh0LmMuZGF5KSkscn1mdW5jdGlvbiBscCh0LGUsbixyLGkscyl7bGV0IG89a3QodC5jLmhvdXIpO3JldHVybiBlPyhvKz0iOiIsbys9a3QodC5jLm1pbnV0ZSksKHQuYy5taWxsaXNlY29uZCE9PTB8fHQuYy5zZWNvbmQhPT0wfHwhbikmJihvKz0iOiIpKTpvKz1rdCh0LmMubWludXRlKSwodC5jLm1pbGxpc2Vjb25kIT09MHx8dC5jLnNlY29uZCE9PTB8fCFuKSYmKG8rPWt0KHQuYy5zZWNvbmQpLCh0LmMubWlsbGlzZWNvbmQhPT0wfHwhcikmJihvKz0iLiIsbys9a3QodC5jLm1pbGxpc2Vjb25kLDMpKSksaSYmKHQuaXNPZmZzZXRGaXhlZCYmdC5vZmZzZXQ9PT0wJiYhcz9vKz0iWiI6dC5vPDA/KG8rPSItIixvKz1rdChNYXRoLnRydW5jKC10Lm8vNjApKSxvKz0iOiIsbys9a3QoTWF0aC50cnVuYygtdC5vJTYwKSkpOihvKz0iKyIsbys9a3QoTWF0aC50cnVuYyh0Lm8vNjApKSxvKz0iOiIsbys9a3QoTWF0aC50cnVuYyh0Lm8lNjApKSkpLHMmJihvKz0iWyIrdC56b25lLmlhbmFOYW1lKyJdIiksb31jb25zdCBsMD17bW9udGg6MSxkYXk6MSxob3VyOjAsbWludXRlOjAsc2Vjb25kOjAsbWlsbGlzZWNvbmQ6MH0sTU49e3dlZWtOdW1iZXI6MSx3ZWVrZGF5OjEsaG91cjowLG1pbnV0ZTowLHNlY29uZDowLG1pbGxpc2Vjb25kOjB9LExOPXtvcmRpbmFsOjEsaG91cjowLG1pbnV0ZTowLHNlY29uZDowLG1pbGxpc2Vjb25kOjB9LGMwPVsieWVhciIsIm1vbnRoIiwiZGF5IiwiaG91ciIsIm1pbnV0ZSIsInNlY29uZCIsIm1pbGxpc2Vjb25kIl0sRk49WyJ3ZWVrWWVhciIsIndlZWtOdW1iZXIiLCJ3ZWVrZGF5IiwiaG91ciIsIm1pbnV0ZSIsInNlY29uZCIsIm1pbGxpc2Vjb25kIl0sJE49WyJ5ZWFyIiwib3JkaW5hbCIsImhvdXIiLCJtaW51dGUiLCJzZWNvbmQiLCJtaWxsaXNlY29uZCJdO2Z1bmN0aW9uIGpOKHQpe2NvbnN0IGU9e3llYXI6InllYXIiLHllYXJzOiJ5ZWFyIixtb250aDoibW9udGgiLG1vbnRoczoibW9udGgiLGRheToiZGF5IixkYXlzOiJkYXkiLGhvdXI6ImhvdXIiLGhvdXJzOiJob3VyIixtaW51dGU6Im1pbnV0ZSIsbWludXRlczoibWludXRlIixxdWFydGVyOiJxdWFydGVyIixxdWFydGVyczoicXVhcnRlciIsc2Vjb25kOiJzZWNvbmQiLHNlY29uZHM6InNlY29uZCIsbWlsbGlzZWNvbmQ6Im1pbGxpc2Vjb25kIixtaWxsaXNlY29uZHM6Im1pbGxpc2Vjb25kIix3ZWVrZGF5OiJ3ZWVrZGF5Iix3ZWVrZGF5czoid2Vla2RheSIsd2Vla251bWJlcjoid2Vla051bWJlciIsd2Vla3NudW1iZXI6IndlZWtOdW1iZXIiLHdlZWtudW1iZXJzOiJ3ZWVrTnVtYmVyIix3ZWVreWVhcjoid2Vla1llYXIiLHdlZWt5ZWFyczoid2Vla1llYXIiLG9yZGluYWw6Im9yZGluYWwifVt0LnRvTG93ZXJDYXNlKCldO2lmKCFlKXRocm93IG5ldyBkXyh0KTtyZXR1cm4gZX1mdW5jdGlvbiBjcCh0KXtzd2l0Y2godC50b0xvd2VyQ2FzZSgpKXtjYXNlImxvY2Fsd2Vla2RheSI6Y2FzZSJsb2NhbHdlZWtkYXlzIjpyZXR1cm4ibG9jYWxXZWVrZGF5IjtjYXNlImxvY2Fsd2Vla251bWJlciI6Y2FzZSJsb2NhbHdlZWtudW1iZXJzIjpyZXR1cm4ibG9jYWxXZWVrTnVtYmVyIjtjYXNlImxvY2Fsd2Vla3llYXIiOmNhc2UibG9jYWx3ZWVreWVhcnMiOnJldHVybiJsb2NhbFdlZWtZZWFyIjtkZWZhdWx0OnJldHVybiBqTih0KX19ZnVuY3Rpb24gdXAodCxlKXtjb25zdCBuPWpyKGUuem9uZSxwdC5kZWZhdWx0Wm9uZSkscj1hdC5mcm9tT2JqZWN0KGUpLGk9cHQubm93KCk7bGV0IHMsbztpZihGZSh0LnllYXIpKXM9aTtlbHNle2Zvcihjb25zdCBjIG9mIGMwKUZlKHRbY10pJiYodFtjXT1sMFtjXSk7Y29uc3QgYT1NXyh0KXx8TF8odCk7aWYoYSlyZXR1cm4gT2UuaW52YWxpZChhKTtjb25zdCBsPW4ub2Zmc2V0KGkpO1tzLG9dPWthKHQsbCxuKX1yZXR1cm4gbmV3IE9lKHt0czpzLHpvbmU6bixsb2M6cixvfSl9ZnVuY3Rpb24gZHAodCxlLG4pe2NvbnN0IHI9RmUobi5yb3VuZCk/ITA6bi5yb3VuZCxpPShvLGEpPT4obz1aZChvLHJ8fG4uY2FsZW5kYXJ5PzA6MiwhMCksZS5sb2MuY2xvbmUobikucmVsRm9ybWF0dGVyKG4pLmZvcm1hdChvLGEpKSxzPW89Pm4uY2FsZW5kYXJ5P2UuaGFzU2FtZSh0LG8pPzA6ZS5zdGFydE9mKG8pLmRpZmYodC5zdGFydE9mKG8pLG8pLmdldChvKTplLmRpZmYodCxvKS5nZXQobyk7aWYobi51bml0KXJldHVybiBpKHMobi51bml0KSxuLnVuaXQpO2Zvcihjb25zdCBvIG9mIG4udW5pdHMpe2NvbnN0IGE9cyhvKTtpZihNYXRoLmFicyhhKT49MSlyZXR1cm4gaShhLG8pfXJldHVybiBpKHQ+ZT8tMDowLG4udW5pdHNbbi51bml0cy5sZW5ndGgtMV0pfWZ1bmN0aW9uIGZwKHQpe2xldCBlPXt9LG47cmV0dXJuIHQubGVuZ3RoPjAmJnR5cGVvZiB0W3QubGVuZ3RoLTFdPT0ib2JqZWN0Ij8oZT10W3QubGVuZ3RoLTFdLG49QXJyYXkuZnJvbSh0KS5zbGljZSgwLHQubGVuZ3RoLTEpKTpuPUFycmF5LmZyb20odCksW2Usbl19Y2xhc3MgT2V7Y29uc3RydWN0b3IoZSl7Y29uc3Qgbj1lLnpvbmV8fHB0LmRlZmF1bHRab25lO2xldCByPWUuaW52YWxpZHx8KE51bWJlci5pc05hTihlLnRzKT9uZXcgV24oImludmFsaWQgaW5wdXQiKTpudWxsKXx8KG4uaXNWYWxpZD9udWxsOnVhKG4pKTt0aGlzLnRzPUZlKGUudHMpP3B0Lm5vdygpOmUudHM7bGV0IGk9bnVsbCxzPW51bGw7aWYoIXIpaWYoZS5vbGQmJmUub2xkLnRzPT09dGhpcy50cyYmZS5vbGQuem9uZS5lcXVhbHMobikpW2ksc109W2Uub2xkLmMsZS5vbGQub107ZWxzZXtjb25zdCBhPW4ub2Zmc2V0KHRoaXMudHMpO2k9ZGEodGhpcy50cyxhKSxyPU51bWJlci5pc05hTihpLnllYXIpP25ldyBXbigiaW52YWxpZCBpbnB1dCIpOm51bGwsaT1yP251bGw6aSxzPXI/bnVsbDphfXRoaXMuX3pvbmU9bix0aGlzLmxvYz1lLmxvY3x8YXQuY3JlYXRlKCksdGhpcy5pbnZhbGlkPXIsdGhpcy53ZWVrRGF0YT1udWxsLHRoaXMubG9jYWxXZWVrRGF0YT1udWxsLHRoaXMuYz1pLHRoaXMubz1zLHRoaXMuaXNMdXhvbkRhdGVUaW1lPSEwfXN0YXRpYyBub3coKXtyZXR1cm4gbmV3IE9lKHt9KX1zdGF0aWMgbG9jYWwoKXtjb25zdFtlLG5dPWZwKGFyZ3VtZW50cyksW3IsaSxzLG8sYSxsLGNdPW47cmV0dXJuIHVwKHt5ZWFyOnIsbW9udGg6aSxkYXk6cyxob3VyOm8sbWludXRlOmEsc2Vjb25kOmwsbWlsbGlzZWNvbmQ6Y30sZSl9c3RhdGljIHV0Yygpe2NvbnN0W2Usbl09ZnAoYXJndW1lbnRzKSxbcixpLHMsbyxhLGwsY109bjtyZXR1cm4gZS56b25lPXF0LnV0Y0luc3RhbmNlLHVwKHt5ZWFyOnIsbW9udGg6aSxkYXk6cyxob3VyOm8sbWludXRlOmEsc2Vjb25kOmwsbWlsbGlzZWNvbmQ6Y30sZSl9c3RhdGljIGZyb21KU0RhdGUoZSxuPXt9KXtjb25zdCByPW1JKGUpP2UudmFsdWVPZigpOk5hTjtpZihOdW1iZXIuaXNOYU4ocikpcmV0dXJuIE9lLmludmFsaWQoImludmFsaWQgaW5wdXQiKTtjb25zdCBpPWpyKG4uem9uZSxwdC5kZWZhdWx0Wm9uZSk7cmV0dXJuIGkuaXNWYWxpZD9uZXcgT2Uoe3RzOnIsem9uZTppLGxvYzphdC5mcm9tT2JqZWN0KG4pfSk6T2UuaW52YWxpZCh1YShpKSl9c3RhdGljIGZyb21NaWxsaXMoZSxuPXt9KXtpZih3aShlKSlyZXR1cm4gZTwtb3B8fGU+b3A/T2UuaW52YWxpZCgiVGltZXN0YW1wIG91dCBvZiByYW5nZSIpOm5ldyBPZSh7dHM6ZSx6b25lOmpyKG4uem9uZSxwdC5kZWZhdWx0Wm9uZSksbG9jOmF0LmZyb21PYmplY3Qobil9KTt0aHJvdyBuZXcgZW4oYGZyb21NaWxsaXMgcmVxdWlyZXMgYSBudW1lcmljYWwgaW5wdXQsIGJ1dCByZWNlaXZlZCBhICR7dHlwZW9mIGV9IHdpdGggdmFsdWUgJHtlfWApfXN0YXRpYyBmcm9tU2Vjb25kcyhlLG49e30pe2lmKHdpKGUpKXJldHVybiBuZXcgT2Uoe3RzOmUqMWUzLHpvbmU6anIobi56b25lLHB0LmRlZmF1bHRab25lKSxsb2M6YXQuZnJvbU9iamVjdChuKX0pO3Rocm93IG5ldyBlbigiZnJvbVNlY29uZHMgcmVxdWlyZXMgYSBudW1lcmljYWwgaW5wdXQiKX1zdGF0aWMgZnJvbU9iamVjdChlLG49e30pe2U9ZXx8e307Y29uc3Qgcj1qcihuLnpvbmUscHQuZGVmYXVsdFpvbmUpO2lmKCFyLmlzVmFsaWQpcmV0dXJuIE9lLmludmFsaWQodWEocikpO2NvbnN0IGk9YXQuZnJvbU9iamVjdChuKSxzPVZhKGUsY3ApLHttaW5EYXlzSW5GaXJzdFdlZWs6byxzdGFydE9mV2VlazphfT1abShzLGkpLGw9cHQubm93KCksYz1GZShuLnNwZWNpZmljT2Zmc2V0KT9yLm9mZnNldChsKTpuLnNwZWNpZmljT2Zmc2V0LHU9IUZlKHMub3JkaW5hbCksZD0hRmUocy55ZWFyKSxmPSFGZShzLm1vbnRoKXx8IUZlKHMuZGF5KSxoPWR8fGYsbT1zLndlZWtZZWFyfHxzLndlZWtOdW1iZXI7aWYoKGh8fHUpJiZtKXRocm93IG5ldyBqaSgiQ2FuJ3QgbWl4IHdlZWtZZWFyL3dlZWtOdW1iZXIgdW5pdHMgd2l0aCB5ZWFyL21vbnRoL2RheSBvciBvcmRpbmFscyIpO2lmKGYmJnUpdGhyb3cgbmV3IGppKCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheSIpO2NvbnN0IHA9bXx8cy53ZWVrZGF5JiYhaDtsZXQgayx4LEM9ZGEobCxjKTtwPyhrPUZOLHg9TU4sQz1CYShDLG8sYSkpOnU/KGs9JE4seD1MTixDPWRjKEMpKTooaz1jMCx4PWwwKTtsZXQgYj0hMTtmb3IoY29uc3QgQiBvZiBrKXtjb25zdCBMPXNbQl07RmUoTCk/Yj9zW0JdPXhbQl06c1tCXT1DW0JdOmI9ITB9Y29uc3QgVD1wP2RJKHMsbyxhKTp1P2ZJKHMpOk1fKHMpLEU9VHx8TF8ocyk7aWYoRSlyZXR1cm4gT2UuaW52YWxpZChFKTtjb25zdCB3PXA/Sm0ocyxvLGEpOnU/cW0ocyk6cyxbUixEXT1rYSh3LGMsciksST1uZXcgT2Uoe3RzOlIsem9uZTpyLG86RCxsb2M6aX0pO3JldHVybiBzLndlZWtkYXkmJmgmJmUud2Vla2RheSE9PUkud2Vla2RheT9PZS5pbnZhbGlkKCJtaXNtYXRjaGVkIHdlZWtkYXkiLGB5b3UgY2FuJ3Qgc3BlY2lmeSBib3RoIGEgd2Vla2RheSBvZiAke3Mud2Vla2RheX0gYW5kIGEgZGF0ZSBvZiAke0kudG9JU08oKX1gKTpJfXN0YXRpYyBmcm9tSVNPKGUsbj17fSl7Y29uc3RbcixpXT1yTihlKTtyZXR1cm4gUnMocixpLG4sIklTTyA4NjAxIixlKX1zdGF0aWMgZnJvbVJGQzI4MjIoZSxuPXt9KXtjb25zdFtyLGldPWlOKGUpO3JldHVybiBScyhyLGksbiwiUkZDIDI4MjIiLGUpfXN0YXRpYyBmcm9tSFRUUChlLG49e30pe2NvbnN0W3IsaV09c04oZSk7cmV0dXJuIFJzKHIsaSxuLCJIVFRQIixuKX1zdGF0aWMgZnJvbUZvcm1hdChlLG4scj17fSl7aWYoRmUoZSl8fEZlKG4pKXRocm93IG5ldyBlbigiZnJvbUZvcm1hdCByZXF1aXJlcyBhbiBpbnB1dCBzdHJpbmcgYW5kIGEgZm9ybWF0Iik7Y29uc3R7bG9jYWxlOmk9bnVsbCxudW1iZXJpbmdTeXN0ZW06cz1udWxsfT1yLG89YXQuZnJvbU9wdHMoe2xvY2FsZTppLG51bWJlcmluZ1N5c3RlbTpzLGRlZmF1bHRUb0VOOiEwfSksW2EsbCxjLHVdPUROKG8sZSxuKTtyZXR1cm4gdT9PZS5pbnZhbGlkKHUpOlJzKGEsbCxyLGBmb3JtYXQgJHtufWAsZSxjKX1zdGF0aWMgZnJvbVN0cmluZyhlLG4scj17fSl7cmV0dXJuIE9lLmZyb21Gb3JtYXQoZSxuLHIpfXN0YXRpYyBmcm9tU1FMKGUsbj17fSl7Y29uc3RbcixpXT1mTihlKTtyZXR1cm4gUnMocixpLG4sIlNRTCIsZSl9c3RhdGljIGludmFsaWQoZSxuPW51bGwpe2lmKCFlKXRocm93IG5ldyBlbigibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBEYXRlVGltZSBpcyBpbnZhbGlkIik7Y29uc3Qgcj1lIGluc3RhbmNlb2YgV24/ZTpuZXcgV24oZSxuKTtpZihwdC50aHJvd09uSW52YWxpZCl0aHJvdyBuZXcgVVAocik7cmV0dXJuIG5ldyBPZSh7aW52YWxpZDpyfSl9c3RhdGljIGlzRGF0ZVRpbWUoZSl7cmV0dXJuIGUmJmUuaXNMdXhvbkRhdGVUaW1lfHwhMX1zdGF0aWMgcGFyc2VGb3JtYXRGb3JPcHRzKGUsbj17fSl7Y29uc3Qgcj1vMChlLGF0LmZyb21PYmplY3QobikpO3JldHVybiByP3IubWFwKGk9Pmk/aS52YWw6bnVsbCkuam9pbigiIik6bnVsbH1zdGF0aWMgZXhwYW5kRm9ybWF0KGUsbj17fSl7cmV0dXJuIGkwKEJ0LnBhcnNlRm9ybWF0KGUpLGF0LmZyb21PYmplY3QobikpLm1hcChpPT5pLnZhbCkuam9pbigiIil9Z2V0KGUpe3JldHVybiB0aGlzW2VdfWdldCBpc1ZhbGlkKCl7cmV0dXJuIHRoaXMuaW52YWxpZD09PW51bGx9Z2V0IGludmFsaWRSZWFzb24oKXtyZXR1cm4gdGhpcy5pbnZhbGlkP3RoaXMuaW52YWxpZC5yZWFzb246bnVsbH1nZXQgaW52YWxpZEV4cGxhbmF0aW9uKCl7cmV0dXJuIHRoaXMuaW52YWxpZD90aGlzLmludmFsaWQuZXhwbGFuYXRpb246bnVsbH1nZXQgbG9jYWxlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmxvYy5sb2NhbGU6bnVsbH1nZXQgbnVtYmVyaW5nU3lzdGVtKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW06bnVsbH1nZXQgb3V0cHV0Q2FsZW5kYXIoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMubG9jLm91dHB1dENhbGVuZGFyOm51bGx9Z2V0IHpvbmUoKXtyZXR1cm4gdGhpcy5fem9uZX1nZXQgem9uZU5hbWUoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuem9uZS5uYW1lOm51bGx9Z2V0IHllYXIoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuYy55ZWFyOk5hTn1nZXQgcXVhcnRlcigpe3JldHVybiB0aGlzLmlzVmFsaWQ/TWF0aC5jZWlsKHRoaXMuYy5tb250aC8zKTpOYU59Z2V0IG1vbnRoKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmMubW9udGg6TmFOfWdldCBkYXkoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuYy5kYXk6TmFOfWdldCBob3VyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmMuaG91cjpOYU59Z2V0IG1pbnV0ZSgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5jLm1pbnV0ZTpOYU59Z2V0IHNlY29uZCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5jLnNlY29uZDpOYU59Z2V0IG1pbGxpc2Vjb25kKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmMubWlsbGlzZWNvbmQ6TmFOfWdldCB3ZWVrWWVhcigpe3JldHVybiB0aGlzLmlzVmFsaWQ/bWModGhpcykud2Vla1llYXI6TmFOfWdldCB3ZWVrTnVtYmVyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9tYyh0aGlzKS53ZWVrTnVtYmVyOk5hTn1nZXQgd2Vla2RheSgpe3JldHVybiB0aGlzLmlzVmFsaWQ/bWModGhpcykud2Vla2RheTpOYU59Z2V0IGlzV2Vla2VuZCgpe3JldHVybiB0aGlzLmlzVmFsaWQmJnRoaXMubG9jLmdldFdlZWtlbmREYXlzKCkuaW5jbHVkZXModGhpcy53ZWVrZGF5KX1nZXQgbG9jYWxXZWVrZGF5KCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9wYyh0aGlzKS53ZWVrZGF5Ok5hTn1nZXQgbG9jYWxXZWVrTnVtYmVyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9wYyh0aGlzKS53ZWVrTnVtYmVyOk5hTn1nZXQgbG9jYWxXZWVrWWVhcigpe3JldHVybiB0aGlzLmlzVmFsaWQ/cGModGhpcykud2Vla1llYXI6TmFOfWdldCBvcmRpbmFsKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9kYyh0aGlzLmMpLm9yZGluYWw6TmFOfWdldCBtb250aFNob3J0KCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9sYS5tb250aHMoInNob3J0Iix7bG9jT2JqOnRoaXMubG9jfSlbdGhpcy5tb250aC0xXTpudWxsfWdldCBtb250aExvbmcoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2xhLm1vbnRocygibG9uZyIse2xvY09iajp0aGlzLmxvY30pW3RoaXMubW9udGgtMV06bnVsbH1nZXQgd2Vla2RheVNob3J0KCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9sYS53ZWVrZGF5cygic2hvcnQiLHtsb2NPYmo6dGhpcy5sb2N9KVt0aGlzLndlZWtkYXktMV06bnVsbH1nZXQgd2Vla2RheUxvbmcoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2xhLndlZWtkYXlzKCJsb25nIix7bG9jT2JqOnRoaXMubG9jfSlbdGhpcy53ZWVrZGF5LTFdOm51bGx9Z2V0IG9mZnNldCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/K3RoaXMubzpOYU59Z2V0IG9mZnNldE5hbWVTaG9ydCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy56b25lLm9mZnNldE5hbWUodGhpcy50cyx7Zm9ybWF0OiJzaG9ydCIsbG9jYWxlOnRoaXMubG9jYWxlfSk6bnVsbH1nZXQgb2Zmc2V0TmFtZUxvbmcoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuem9uZS5vZmZzZXROYW1lKHRoaXMudHMse2Zvcm1hdDoibG9uZyIsbG9jYWxlOnRoaXMubG9jYWxlfSk6bnVsbH1nZXQgaXNPZmZzZXRGaXhlZCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy56b25lLmlzVW5pdmVyc2FsOm51bGx9Z2V0IGlzSW5EU1QoKXtyZXR1cm4gdGhpcy5pc09mZnNldEZpeGVkPyExOnRoaXMub2Zmc2V0PnRoaXMuc2V0KHttb250aDoxLGRheToxfSkub2Zmc2V0fHx0aGlzLm9mZnNldD50aGlzLnNldCh7bW9udGg6NX0pLm9mZnNldH1nZXRQb3NzaWJsZU9mZnNldHMoKXtpZighdGhpcy5pc1ZhbGlkfHx0aGlzLmlzT2Zmc2V0Rml4ZWQpcmV0dXJuW3RoaXNdO2NvbnN0IGU9ODY0ZTUsbj02ZTQscj1SbCh0aGlzLmMpLGk9dGhpcy56b25lLm9mZnNldChyLWUpLHM9dGhpcy56b25lLm9mZnNldChyK2UpLG89dGhpcy56b25lLm9mZnNldChyLWkqbiksYT10aGlzLnpvbmUub2Zmc2V0KHItcypuKTtpZihvPT09YSlyZXR1cm5bdGhpc107Y29uc3QgbD1yLW8qbixjPXItYSpuLHU9ZGEobCxvKSxkPWRhKGMsYSk7cmV0dXJuIHUuaG91cj09PWQuaG91ciYmdS5taW51dGU9PT1kLm1pbnV0ZSYmdS5zZWNvbmQ9PT1kLnNlY29uZCYmdS5taWxsaXNlY29uZD09PWQubWlsbGlzZWNvbmQ/W3VpKHRoaXMse3RzOmx9KSx1aSh0aGlzLHt0czpjfSldOlt0aGlzXX1nZXQgaXNJbkxlYXBZZWFyKCl7cmV0dXJuIEJvKHRoaXMueWVhcil9Z2V0IGRheXNJbk1vbnRoKCl7cmV0dXJuIFVhKHRoaXMueWVhcix0aGlzLm1vbnRoKX1nZXQgZGF5c0luWWVhcigpe3JldHVybiB0aGlzLmlzVmFsaWQ/S2kodGhpcy55ZWFyKTpOYU59Z2V0IHdlZWtzSW5XZWVrWWVhcigpe3JldHVybiB0aGlzLmlzVmFsaWQ/Ym8odGhpcy53ZWVrWWVhcik6TmFOfWdldCB3ZWVrc0luTG9jYWxXZWVrWWVhcigpe3JldHVybiB0aGlzLmlzVmFsaWQ/Ym8odGhpcy5sb2NhbFdlZWtZZWFyLHRoaXMubG9jLmdldE1pbkRheXNJbkZpcnN0V2VlaygpLHRoaXMubG9jLmdldFN0YXJ0T2ZXZWVrKCkpOk5hTn1yZXNvbHZlZExvY2FsZU9wdGlvbnMoZT17fSl7Y29uc3R7bG9jYWxlOm4sbnVtYmVyaW5nU3lzdGVtOnIsY2FsZW5kYXI6aX09QnQuY3JlYXRlKHRoaXMubG9jLmNsb25lKGUpLGUpLnJlc29sdmVkT3B0aW9ucyh0aGlzKTtyZXR1cm57bG9jYWxlOm4sbnVtYmVyaW5nU3lzdGVtOnIsb3V0cHV0Q2FsZW5kYXI6aX19dG9VVEMoZT0wLG49e30pe3JldHVybiB0aGlzLnNldFpvbmUocXQuaW5zdGFuY2UoZSksbil9dG9Mb2NhbCgpe3JldHVybiB0aGlzLnNldFpvbmUocHQuZGVmYXVsdFpvbmUpfXNldFpvbmUoZSx7a2VlcExvY2FsVGltZTpuPSExLGtlZXBDYWxlbmRhclRpbWU6cj0hMX09e30pe2lmKGU9anIoZSxwdC5kZWZhdWx0Wm9uZSksZS5lcXVhbHModGhpcy56b25lKSlyZXR1cm4gdGhpcztpZihlLmlzVmFsaWQpe2xldCBpPXRoaXMudHM7aWYobnx8cil7Y29uc3Qgcz1lLm9mZnNldCh0aGlzLnRzKSxvPXRoaXMudG9PYmplY3QoKTtbaV09a2EobyxzLGUpfXJldHVybiB1aSh0aGlzLHt0czppLHpvbmU6ZX0pfWVsc2UgcmV0dXJuIE9lLmludmFsaWQodWEoZSkpfXJlY29uZmlndXJlKHtsb2NhbGU6ZSxudW1iZXJpbmdTeXN0ZW06bixvdXRwdXRDYWxlbmRhcjpyfT17fSl7Y29uc3QgaT10aGlzLmxvYy5jbG9uZSh7bG9jYWxlOmUsbnVtYmVyaW5nU3lzdGVtOm4sb3V0cHV0Q2FsZW5kYXI6cn0pO3JldHVybiB1aSh0aGlzLHtsb2M6aX0pfXNldExvY2FsZShlKXtyZXR1cm4gdGhpcy5yZWNvbmZpZ3VyZSh7bG9jYWxlOmV9KX1zZXQoZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztjb25zdCBuPVZhKGUsY3ApLHttaW5EYXlzSW5GaXJzdFdlZWs6cixzdGFydE9mV2VlazppfT1abShuLHRoaXMubG9jKSxzPSFGZShuLndlZWtZZWFyKXx8IUZlKG4ud2Vla051bWJlcil8fCFGZShuLndlZWtkYXkpLG89IUZlKG4ub3JkaW5hbCksYT0hRmUobi55ZWFyKSxsPSFGZShuLm1vbnRoKXx8IUZlKG4uZGF5KSxjPWF8fGwsdT1uLndlZWtZZWFyfHxuLndlZWtOdW1iZXI7aWYoKGN8fG8pJiZ1KXRocm93IG5ldyBqaSgiQ2FuJ3QgbWl4IHdlZWtZZWFyL3dlZWtOdW1iZXIgdW5pdHMgd2l0aCB5ZWFyL21vbnRoL2RheSBvciBvcmRpbmFscyIpO2lmKGwmJm8pdGhyb3cgbmV3IGppKCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheSIpO2xldCBkO3M/ZD1KbSh7Li4uQmEodGhpcy5jLHIsaSksLi4ubn0scixpKTpGZShuLm9yZGluYWwpPyhkPXsuLi50aGlzLnRvT2JqZWN0KCksLi4ubn0sRmUobi5kYXkpJiYoZC5kYXk9TWF0aC5taW4oVWEoZC55ZWFyLGQubW9udGgpLGQuZGF5KSkpOmQ9cW0oey4uLmRjKHRoaXMuYyksLi4ubn0pO2NvbnN0W2YsaF09a2EoZCx0aGlzLm8sdGhpcy56b25lKTtyZXR1cm4gdWkodGhpcyx7dHM6ZixvOmh9KX1wbHVzKGUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7Y29uc3Qgbj1RZS5mcm9tRHVyYXRpb25MaWtlKGUpO3JldHVybiB1aSh0aGlzLGFwKHRoaXMsbikpfW1pbnVzKGUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7Y29uc3Qgbj1RZS5mcm9tRHVyYXRpb25MaWtlKGUpLm5lZ2F0ZSgpO3JldHVybiB1aSh0aGlzLGFwKHRoaXMsbikpfXN0YXJ0T2YoZSx7dXNlTG9jYWxlV2Vla3M6bj0hMX09e30pe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7Y29uc3Qgcj17fSxpPVFlLm5vcm1hbGl6ZVVuaXQoZSk7c3dpdGNoKGkpe2Nhc2UieWVhcnMiOnIubW9udGg9MTtjYXNlInF1YXJ0ZXJzIjpjYXNlIm1vbnRocyI6ci5kYXk9MTtjYXNlIndlZWtzIjpjYXNlImRheXMiOnIuaG91cj0wO2Nhc2UiaG91cnMiOnIubWludXRlPTA7Y2FzZSJtaW51dGVzIjpyLnNlY29uZD0wO2Nhc2Uic2Vjb25kcyI6ci5taWxsaXNlY29uZD0wO2JyZWFrfWlmKGk9PT0id2Vla3MiKWlmKG4pe2NvbnN0IHM9dGhpcy5sb2MuZ2V0U3RhcnRPZldlZWsoKSx7d2Vla2RheTpvfT10aGlzO288cyYmKHIud2Vla051bWJlcj10aGlzLndlZWtOdW1iZXItMSksci53ZWVrZGF5PXN9ZWxzZSByLndlZWtkYXk9MTtpZihpPT09InF1YXJ0ZXJzIil7Y29uc3Qgcz1NYXRoLmNlaWwodGhpcy5tb250aC8zKTtyLm1vbnRoPShzLTEpKjMrMX1yZXR1cm4gdGhpcy5zZXQocil9ZW5kT2YoZSxuKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMucGx1cyh7W2VdOjF9KS5zdGFydE9mKGUsbikubWludXMoMSk6dGhpc310b0Zvcm1hdChlLG49e30pe3JldHVybiB0aGlzLmlzVmFsaWQ/QnQuY3JlYXRlKHRoaXMubG9jLnJlZGVmYXVsdFRvRU4obikpLmZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyh0aGlzLGUpOmhjfXRvTG9jYWxlU3RyaW5nKGU9amEsbj17fSl7cmV0dXJuIHRoaXMuaXNWYWxpZD9CdC5jcmVhdGUodGhpcy5sb2MuY2xvbmUobiksZSkuZm9ybWF0RGF0ZVRpbWUodGhpcyk6aGN9dG9Mb2NhbGVQYXJ0cyhlPXt9KXtyZXR1cm4gdGhpcy5pc1ZhbGlkP0J0LmNyZWF0ZSh0aGlzLmxvYy5jbG9uZShlKSxlKS5mb3JtYXREYXRlVGltZVBhcnRzKHRoaXMpOltdfXRvSVNPKHtmb3JtYXQ6ZT0iZXh0ZW5kZWQiLHN1cHByZXNzU2Vjb25kczpuPSExLHN1cHByZXNzTWlsbGlzZWNvbmRzOnI9ITEsaW5jbHVkZU9mZnNldDppPSEwLGV4dGVuZGVkWm9uZTpzPSExfT17fSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gbnVsbDtjb25zdCBvPWU9PT0iZXh0ZW5kZWQiO2xldCBhPWdjKHRoaXMsbyk7cmV0dXJuIGErPSJUIixhKz1scCh0aGlzLG8sbixyLGkscyksYX10b0lTT0RhdGUoe2Zvcm1hdDplPSJleHRlbmRlZCJ9PXt9KXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2djKHRoaXMsZT09PSJleHRlbmRlZCIpOm51bGx9dG9JU09XZWVrRGF0ZSgpe3JldHVybiBmYSh0aGlzLCJra2trLSdXJ1dXLWMiKX10b0lTT1RpbWUoe3N1cHByZXNzTWlsbGlzZWNvbmRzOmU9ITEsc3VwcHJlc3NTZWNvbmRzOm49ITEsaW5jbHVkZU9mZnNldDpyPSEwLGluY2x1ZGVQcmVmaXg6aT0hMSxleHRlbmRlZFpvbmU6cz0hMSxmb3JtYXQ6bz0iZXh0ZW5kZWQifT17fSl7cmV0dXJuIHRoaXMuaXNWYWxpZD8oaT8iVCI6IiIpK2xwKHRoaXMsbz09PSJleHRlbmRlZCIsbixlLHIscyk6bnVsbH10b1JGQzI4MjIoKXtyZXR1cm4gZmEodGhpcywiRUVFLCBkZCBMTEwgeXl5eSBISDptbTpzcyBaWloiLCExKX10b0hUVFAoKXtyZXR1cm4gZmEodGhpcy50b1VUQygpLCJFRUUsIGRkIExMTCB5eXl5IEhIOm1tOnNzICdHTVQnIil9dG9TUUxEYXRlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9nYyh0aGlzLCEwKTpudWxsfXRvU1FMVGltZSh7aW5jbHVkZU9mZnNldDplPSEwLGluY2x1ZGVab25lOm49ITEsaW5jbHVkZU9mZnNldFNwYWNlOnI9ITB9PXt9KXtsZXQgaT0iSEg6bW06c3MuU1NTIjtyZXR1cm4obnx8ZSkmJihyJiYoaSs9IiAiKSxuP2krPSJ6IjplJiYoaSs9IlpaIikpLGZhKHRoaXMsaSwhMCl9dG9TUUwoZT17fSl7cmV0dXJuIHRoaXMuaXNWYWxpZD9gJHt0aGlzLnRvU1FMRGF0ZSgpfSAke3RoaXMudG9TUUxUaW1lKGUpfWA6bnVsbH10b1N0cmluZygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy50b0lTTygpOmhjfVtTeW1ib2wuZm9yKCJub2RlanMudXRpbC5pbnNwZWN0LmN1c3RvbSIpXSgpe3JldHVybiB0aGlzLmlzVmFsaWQ/YERhdGVUaW1lIHsgdHM6ICR7dGhpcy50b0lTTygpfSwgem9uZTogJHt0aGlzLnpvbmUubmFtZX0sIGxvY2FsZTogJHt0aGlzLmxvY2FsZX0gfWA6YERhdGVUaW1lIHsgSW52YWxpZCwgcmVhc29uOiAke3RoaXMuaW52YWxpZFJlYXNvbn0gfWB9dmFsdWVPZigpe3JldHVybiB0aGlzLnRvTWlsbGlzKCl9dG9NaWxsaXMoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMudHM6TmFOfXRvU2Vjb25kcygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy50cy8xZTM6TmFOfXRvVW5peEludGVnZXIoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP01hdGguZmxvb3IodGhpcy50cy8xZTMpOk5hTn10b0pTT04oKXtyZXR1cm4gdGhpcy50b0lTTygpfXRvQlNPTigpe3JldHVybiB0aGlzLnRvSlNEYXRlKCl9dG9PYmplY3QoZT17fSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm57fTtjb25zdCBuPXsuLi50aGlzLmN9O3JldHVybiBlLmluY2x1ZGVDb25maWcmJihuLm91dHB1dENhbGVuZGFyPXRoaXMub3V0cHV0Q2FsZW5kYXIsbi5udW1iZXJpbmdTeXN0ZW09dGhpcy5sb2MubnVtYmVyaW5nU3lzdGVtLG4ubG9jYWxlPXRoaXMubG9jLmxvY2FsZSksbn10b0pTRGF0ZSgpe3JldHVybiBuZXcgRGF0ZSh0aGlzLmlzVmFsaWQ/dGhpcy50czpOYU4pfWRpZmYoZSxuPSJtaWxsaXNlY29uZHMiLHI9e30pe2lmKCF0aGlzLmlzVmFsaWR8fCFlLmlzVmFsaWQpcmV0dXJuIFFlLmludmFsaWQoImNyZWF0ZWQgYnkgZGlmZmluZyBhbiBpbnZhbGlkIERhdGVUaW1lIik7Y29uc3QgaT17bG9jYWxlOnRoaXMubG9jYWxlLG51bWJlcmluZ1N5c3RlbTp0aGlzLm51bWJlcmluZ1N5c3RlbSwuLi5yfSxzPXBJKG4pLm1hcChRZS5ub3JtYWxpemVVbml0KSxvPWUudmFsdWVPZigpPnRoaXMudmFsdWVPZigpLGE9bz90aGlzOmUsbD1vP2U6dGhpcyxjPV9OKGEsbCxzLGkpO3JldHVybiBvP2MubmVnYXRlKCk6Y31kaWZmTm93KGU9Im1pbGxpc2Vjb25kcyIsbj17fSl7cmV0dXJuIHRoaXMuZGlmZihPZS5ub3coKSxlLG4pfXVudGlsKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/X3QuZnJvbURhdGVUaW1lcyh0aGlzLGUpOnRoaXN9aGFzU2FtZShlLG4scil7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4hMTtjb25zdCBpPWUudmFsdWVPZigpLHM9dGhpcy5zZXRab25lKGUuem9uZSx7a2VlcExvY2FsVGltZTohMH0pO3JldHVybiBzLnN0YXJ0T2YobixyKTw9aSYmaTw9cy5lbmRPZihuLHIpfWVxdWFscyhlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkJiZlLmlzVmFsaWQmJnRoaXMudmFsdWVPZigpPT09ZS52YWx1ZU9mKCkmJnRoaXMuem9uZS5lcXVhbHMoZS56b25lKSYmdGhpcy5sb2MuZXF1YWxzKGUubG9jKX10b1JlbGF0aXZlKGU9e30pe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIG51bGw7Y29uc3Qgbj1lLmJhc2V8fE9lLmZyb21PYmplY3Qoe30se3pvbmU6dGhpcy56b25lfSkscj1lLnBhZGRpbmc/dGhpczxuPy1lLnBhZGRpbmc6ZS5wYWRkaW5nOjA7bGV0IGk9WyJ5ZWFycyIsIm1vbnRocyIsImRheXMiLCJob3VycyIsIm1pbnV0ZXMiLCJzZWNvbmRzIl0scz1lLnVuaXQ7cmV0dXJuIEFycmF5LmlzQXJyYXkoZS51bml0KSYmKGk9ZS51bml0LHM9dm9pZCAwKSxkcChuLHRoaXMucGx1cyhyKSx7Li4uZSxudW1lcmljOiJhbHdheXMiLHVuaXRzOmksdW5pdDpzfSl9dG9SZWxhdGl2ZUNhbGVuZGFyKGU9e30pe3JldHVybiB0aGlzLmlzVmFsaWQ/ZHAoZS5iYXNlfHxPZS5mcm9tT2JqZWN0KHt9LHt6b25lOnRoaXMuem9uZX0pLHRoaXMsey4uLmUsbnVtZXJpYzoiYXV0byIsdW5pdHM6WyJ5ZWFycyIsIm1vbnRocyIsImRheXMiXSxjYWxlbmRhcnk6ITB9KTpudWxsfXN0YXRpYyBtaW4oLi4uZSl7aWYoIWUuZXZlcnkoT2UuaXNEYXRlVGltZSkpdGhyb3cgbmV3IGVuKCJtaW4gcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXMiKTtyZXR1cm4gS20oZSxuPT5uLnZhbHVlT2YoKSxNYXRoLm1pbil9c3RhdGljIG1heCguLi5lKXtpZighZS5ldmVyeShPZS5pc0RhdGVUaW1lKSl0aHJvdyBuZXcgZW4oIm1heCByZXF1aXJlcyBhbGwgYXJndW1lbnRzIGJlIERhdGVUaW1lcyIpO3JldHVybiBLbShlLG49Pm4udmFsdWVPZigpLE1hdGgubWF4KX1zdGF0aWMgZnJvbUZvcm1hdEV4cGxhaW4oZSxuLHI9e30pe2NvbnN0e2xvY2FsZTppPW51bGwsbnVtYmVyaW5nU3lzdGVtOnM9bnVsbH09cixvPWF0LmZyb21PcHRzKHtsb2NhbGU6aSxudW1iZXJpbmdTeXN0ZW06cyxkZWZhdWx0VG9FTjohMH0pO3JldHVybiBzMChvLGUsbil9c3RhdGljIGZyb21TdHJpbmdFeHBsYWluKGUsbixyPXt9KXtyZXR1cm4gT2UuZnJvbUZvcm1hdEV4cGxhaW4oZSxuLHIpfXN0YXRpYyBnZXQgREFURV9TSE9SVCgpe3JldHVybiBqYX1zdGF0aWMgZ2V0IERBVEVfTUVEKCl7cmV0dXJuIGZffXN0YXRpYyBnZXQgREFURV9NRURfV0lUSF9XRUVLREFZKCl7cmV0dXJuIEdQfXN0YXRpYyBnZXQgREFURV9GVUxMKCl7cmV0dXJuIGhffXN0YXRpYyBnZXQgREFURV9IVUdFKCl7cmV0dXJuIG1ffXN0YXRpYyBnZXQgVElNRV9TSU1QTEUoKXtyZXR1cm4gcF99c3RhdGljIGdldCBUSU1FX1dJVEhfU0VDT05EUygpe3JldHVybiBnX31zdGF0aWMgZ2V0IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQoKXtyZXR1cm4geV99c3RhdGljIGdldCBUSU1FX1dJVEhfTE9OR19PRkZTRVQoKXtyZXR1cm4gdl99c3RhdGljIGdldCBUSU1FXzI0X1NJTVBMRSgpe3JldHVybiBfX31zdGF0aWMgZ2V0IFRJTUVfMjRfV0lUSF9TRUNPTkRTKCl7cmV0dXJuIGJffXN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCgpe3JldHVybiB3X31zdGF0aWMgZ2V0IFRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCgpe3JldHVybiBrX31zdGF0aWMgZ2V0IERBVEVUSU1FX1NIT1JUKCl7cmV0dXJuIFNffXN0YXRpYyBnZXQgREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTKCl7cmV0dXJuIFRffXN0YXRpYyBnZXQgREFURVRJTUVfTUVEKCl7cmV0dXJuIEVffXN0YXRpYyBnZXQgREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUygpe3JldHVybiB4X31zdGF0aWMgZ2V0IERBVEVUSU1FX01FRF9XSVRIX1dFRUtEQVkoKXtyZXR1cm4gelB9c3RhdGljIGdldCBEQVRFVElNRV9GVUxMKCl7cmV0dXJuIEFffXN0YXRpYyBnZXQgREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMoKXtyZXR1cm4gT199c3RhdGljIGdldCBEQVRFVElNRV9IVUdFKCl7cmV0dXJuIENffXN0YXRpYyBnZXQgREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMoKXtyZXR1cm4gUF99fWZ1bmN0aW9uIERzKHQpe2lmKE9lLmlzRGF0ZVRpbWUodCkpcmV0dXJuIHQ7aWYodCYmdC52YWx1ZU9mJiZ3aSh0LnZhbHVlT2YoKSkpcmV0dXJuIE9lLmZyb21KU0RhdGUodCk7aWYodCYmdHlwZW9mIHQ9PSJvYmplY3QiKXJldHVybiBPZS5mcm9tT2JqZWN0KHQpO3Rocm93IG5ldyBlbihgVW5rbm93biBkYXRldGltZSBhcmd1bWVudDogJHt0fSwgb2YgdHlwZSAke3R5cGVvZiB0fWApfWNvbnN0IEJOPXQ9Pnt2YXIgbjtjb25zdCBlPWJzKCk7cmV0dXJuKHQvMTAwKS50b0xvY2FsZVN0cmluZyhlLmxhbmd1YWdlLHtzdHlsZToiY3VycmVuY3kiLGN1cnJlbmN5Oigobj1lLnByb3BlcnR5KT09bnVsbD92b2lkIDA6bi5jdXJyZW5jeSk/PyJldXIiLG1pbmltdW1GcmFjdGlvbkRpZ2l0czoyfSl9LEdGPXQ9Pntjb25zdCBlPWJzKCk7cmV0dXJuIHQudG9Mb2NhbGVTdHJpbmcoZS5sYW5ndWFnZSx7bWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KX0sVU49dD0+T2UuZnJvbUpTRGF0ZSh0KS50b0Zvcm1hdCgiRCIpLFdhPXQ9Pk9lLmZyb21KU0RhdGUodCkudG9Gb3JtYXQoIkQgVCIpLFtkaV09bnIudXNlSW5qZWN0KFlhLm5hbWUpLHljPSh0LGUpPT57Y29uc3Qgbj1lLnNwbGl0KCI6Iik7cmV0dXJuIE9lLmZyb21KU0RhdGUodCkucGx1cyh7aG91cnM6cGFyc2VJbnQoblswXSksbWludXRlczpwYXJzZUludChuWzFdKX0pLnRvSlNEYXRlKCl9LHRpPWF2KCJwb3J0YWwiLHtzdGF0ZTooKT0+KHtsaW5rSWQ6IiIscHJvcGVydHk6bnVsbCxib29raW5nOm51bGwsYm9va2luZ01ldGFkYXRhOm51bGwsYWNjZXNzUG9pbnRzOltdLGdlbmVyYWxTZXR0aW5nczpudWxsLGJyYW5kaW5nOm51bGx9KSxnZXR0ZXJzOntoYXNBY2Nlc3NUb2tlbigpe3ZhciB0O3JldHVybigodD10aGlzLmJvb2tpbmdNZXRhZGF0YSk9PW51bGw/dm9pZCAwOnQuaGFzQWNjZXNzVG9rZW4pJiYhdGhpcy5leHBpcmVkfSxwbXNDaGVja2VkSW4odCl7dmFyIGU7cmV0dXJuKChlPXQuYm9va2luZ01ldGFkYXRhKT09bnVsbD92b2lkIDA6ZS5zdGF0dXMpPT09ImNoZWNrZWRfaW4ifSxwcmVDaGVja0luQ29tcGxldGVkKHQpe3ZhciBlO3JldHVybiEhKChlPXQuYm9va2luZ01ldGFkYXRhKSE9bnVsbCYmZS5wcmVDaGVja0luQ29tcGxldGVkKX0sY2hlY2tlZEluKCl7cmV0dXJuIHRoaXMucHJlQ2hlY2tJbkNvbXBsZXRlZHx8dGhpcy5wbXNDaGVja2VkSW59LGd1ZXN0U3RhdHVzKCl7dmFyIGU7Y29uc3QgdD0oZT10aGlzLmJvb2tpbmdNZXRhZGF0YSk9PW51bGw/dm9pZCAwOmUuc3RhdHVzO3JldHVybiB0PT09ImNoZWNrZWRfb3V0Inx8dD09PSJub19zaG93Inx8dD09PSJjYW5jZWxlZCJ8fHQ9PT0iY2FuY2VsbGVkIj90OnRoaXMuY2hlY2tlZEluPyJjaGVja2VkX2luIjp0fSxleHBpcmVkKHQpe3JldHVybiBuZXcgRGF0ZT55Yyh0LmJvb2tpbmcuY2hlY2tPdXQsdC5wcm9wZXJ0eS5jaGVja091dFRpbWUpfSxjaGVja0luRGF0ZVRpbWUodCl7cmV0dXJuIHljKHQuYm9va2luZy5jaGVja0luLHQucHJvcGVydHkuY2hlY2tJblRpbWUpfSxjaGVja091dERhdGVUaW1lKHQpe3JldHVybiB5Yyh0LmJvb2tpbmcuY2hlY2tPdXQsdC5wcm9wZXJ0eS5jaGVja091dFRpbWUpfX0sYWN0aW9uczp7c2V0TGlua0lkKHQpe3RoaXMubGlua0lkPXR9LGFzeW5jIGdldFByb3BlcnR5KCl7dGhpcy5wcm9wZXJ0eT1hd2FpdCBkaS5nZXRQcm9wZXJ0eSgpfSxhc3luYyBnZXRCb29raW5nKCl7dGhpcy5ib29raW5nPWF3YWl0IGRpLmdldEJvb2tpbmcoKX0sYXN5bmMgZ2V0Qm9va2luZ01ldGFkYXRhKCl7dGhpcy5ib29raW5nTWV0YWRhdGE9YXdhaXQgZGkuZ2V0Qm9va2luZ01ldGFkYXRhKCl9LGFzeW5jIGdldEFjY2Vzc1BvaW50cygpe3RoaXMuYWNjZXNzUG9pbnRzPWF3YWl0IGRpLmdldEFjY2Vzc1BvaW50cygpfSxhc3luYyBnZXRHZW5lcmFsU2V0dGluZ3MoKXt0aGlzLmdlbmVyYWxTZXR0aW5ncz1hd2FpdCBkaS5nZXRHZW5lcmFsU2V0dGluZ3MoKX0sYXN5bmMgY2hlY2tJbigpe2F3YWl0IGRpLmNoZWNrSW4oKSxhd2FpdCB0aGlzLmdldEJvb2tpbmdNZXRhZGF0YSgpLGF3YWl0IHRoaXMuZ2V0QWNjZXNzUG9pbnRzKCl9LGFzeW5jIHVubG9ja0FjY2Vzc1BvaW50KHQpe2F3YWl0IGRpLnVubG9ja0FjY2Vzc1BvaW50KHQpfSxhc3luYyBhcHBseUJyYW5kaW5nKCl7dmFyIHQ7aWYoISghdGhpcy5wcm9wZXJ0eXx8IXRoaXMucHJvcGVydHkuYnJhbmRpbmd8fCF0aGlzLnByb3BlcnR5LmJyYW5kaW5nLnByaW1hcnlDb2xvcikpe3RoaXMuYnJhbmRpbmc9ey4uLnRoaXMucHJvcGVydHkuYnJhbmRpbmcscHJpbWFyeUNvbG9yOkpTT04ucGFyc2UoKHQ9dGhpcy5wcm9wZXJ0eS5icmFuZGluZyk9PW51bGw/dm9pZCAwOnQucHJpbWFyeUNvbG9yKX07Zm9yKGNvbnN0IGUgb2ZbNTAsMTAwLDIwMCwzMDAsNDAwLDUwMCw2MDAsNzAwLDgwMCw5MDBdKWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgLS1jb2xvci1wcmltYXJ5LSR7ZX1gLHRoaXMuYnJhbmRpbmcucHJpbWFyeUNvbG9yW2VdKX19fX0pLFZOPXtjbGFzczoibXQtOCBncmlkIGdyaWQtY29scy0yIGdhcC0yIHRleHQtc20gbWQ6Z2FwLTQifSxXTj17Y2xhc3M6InRleHQtZ3JheS03MDAifSxHTj17Y2xhc3M6InRleHQtZ3JheS03MDAifSx6Tj17Y2xhc3M6InRleHQtZ3JheS03MDAifSxITj17Y2xhc3M6ImZsZXggdy1mdWxsIGZsZXgtY29sIGJyZWFrLXdvcmRzIGZvbnQtbWVkaXVtIn0sSk49QSgiYnIiLG51bGwsbnVsbCwtMSkscU49QSgiYnIiLG51bGwsbnVsbCwtMSksWk49e2NsYXNzOiJ0ZXh0LWdyYXktNzAwIn0sS049e2NsYXNzOiJmbGV4IGZsZXgtY29sIGZvbnQtbWVkaXVtIn0sWU49e2NsYXNzOiJ0ZXh0LWdyYXktNzAwIn0sWE49e2NsYXNzOiJmbGV4IHctZnVsbCBmbGV4LWNvbCBicmVhay13b3JkcyBmb250LW1lZGl1bSJ9LGVmPU5lKHtfX25hbWU6IkJvb2tpbmdTdW1tYXJ5IixzZXR1cCh0KXtjb25zdHt0OmV9PVd0KCksbj10aSgpO3JldHVybihyLGkpPT4oVSgpLHR0KF9uLHt0aXRsZTpTKGUpKCJwb3J0YWwuYm9va2luZ19zdW1tYXJ5LmNhcmQudGl0bGUiKX0se2ljb246bmUoKCk9PltlZShTKHlPKSx7Y2xhc3M6ImgtNiB3LTYifSldKSxkZWZhdWx0Om5lKCgpPT57dmFyIHMsbyxhLGwsYyx1LGQsZixoLG0scCxrO3JldHVybltBKCJkaXYiLFZOLFtBKCJkaXYiLG51bGwsW0EoImxhYmVsIixXTixLKFMoZSkoInBvcnRhbC5ib29raW5nX3N1bW1hcnkuY2FyZC5ib29raW5nX251bWJlciIpKSwxKV0pLEEoImRpdiIsbnVsbCxbZWUoVnIse2NsYXNzOiJmb250LW1vbm8gIWZvbnQtc2VtaWJvbGQiLGNvbG9yOiJwcmltYXJ5In0se2RlZmF1bHQ6bmUoKCk9Pnt2YXIgeDtyZXR1cm5bJGUoSygoeD1TKG4pLmJvb2tpbmcpPT1udWxsP3ZvaWQgMDp4LmNvZGUpLDEpXX0pLF86MX0pXSksQSgiZGl2IixudWxsLFtBKCJsYWJlbCIsR04sSyhTKGUpKCJwb3J0YWwuYm9va2luZ19zdW1tYXJ5LmNhcmQuc3RhdHVzIikpLDEpXSksQSgiZGl2IixudWxsLFtlZShGUCx7c3RhdHVzOlMobikuZ3Vlc3RTdGF0dXN9LG51bGwsOCxbInN0YXR1cyJdKV0pLEEoImRpdiIsbnVsbCxbQSgibGFiZWwiLHpOLEsoUyhlKSgicG9ydGFsLmJvb2tpbmdfc3VtbWFyeS5jYXJkLmhvdGVsIikpLDEpXSksQSgiZGl2IixITixbQSgic3BhbiIsbnVsbCxbJGUoSygocz1TKG4pLnByb3BlcnR5KT09bnVsbD92b2lkIDA6cy5uYW1lKSwxKSxKTiwkZShLKChhPShvPVMobikucHJvcGVydHkpPT1udWxsP3ZvaWQgMDpvLmFkZHJlc3MpPT1udWxsP3ZvaWQgMDphLmxpbmUxKSwxKSxxTiwkZShLKChjPShsPVMobikucHJvcGVydHkpPT1udWxsP3ZvaWQgMDpsLmFkZHJlc3MpPT1udWxsP3ZvaWQgMDpjLnBvc3RhbENvZGUpKyIgIitLKChkPSh1PVMobikucHJvcGVydHkpPT1udWxsP3ZvaWQgMDp1LmFkZHJlc3MpPT1udWxsP3ZvaWQgMDpkLmNpdHkpLDEpXSldKSxBKCJkaXYiLG51bGwsW0EoImxhYmVsIixaTixLKFMoZSkoInBvcnRhbC5ib29raW5nX3N1bW1hcnkuY2FyZC5zdGF5IikpLDEpXSksQSgiZGl2IixLTixbQSgic3BhbiIsbnVsbCxLKFMoV2EpKFMobikuY2hlY2tJbkRhdGVUaW1lKSkrIiDigJQgIitLKFMoV2EpKFMobikuY2hlY2tPdXREYXRlVGltZSkpLDEpXSksQSgiZGl2IixudWxsLFtBKCJsYWJlbCIsWU4sSyhTKGUpKCJwb3J0YWwuYm9va2luZ19zdW1tYXJ5LmNhcmQucm9vbSIpKSwxKV0pLEEoImRpdiIsWE4sW0EoInNwYW4iLG51bGwsSygoaD0oZj1TKG4pLmJvb2tpbmcpPT1udWxsP3ZvaWQgMDpmLnJvb20pPT1udWxsP3ZvaWQgMDpoLm51bWJlcikrIiAoIitLKChrPShwPShtPVMobikuYm9va2luZyk9PW51bGw/dm9pZCAwOm0ucm9vbSk9PW51bGw/dm9pZCAwOnAucm9vbVR5cGUpPT1udWxsP3ZvaWQgMDprLm5hbWUpKyIpIiwxKV0pXSldfSksXzoxfSw4LFsidGl0bGUiXSkpfX0pLFFOPXtjbGFzczoiZ3JvdXAgcmVsYXRpdmUgbS0wIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLWxnIGJvcmRlciBiZy13aGl0ZSBwLTAgdGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LWdyYXktNTAwIn0sZVI9WyJzcmMiXSx0Uj17a2V5OjEsY2xhc3M6Im0tNCBicmVhay1hbGwifSxuUj1bImhyZWYiXSxyUj1OZSh7X19uYW1lOiJGaWxlUHJldmlldyIscHJvcHM6e2ZpbGU6e30sZGVsZXRhYmxlOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH19LGVtaXRzOlsiZGVsZXRlZCJdLGFzeW5jIHNldHVwKHQse2VtaXQ6ZX0pe2xldCBuLHI7Y29uc3R7dDppfT1XdCgpLFtzXT1uci51c2VJbmplY3QoWnAubmFtZSksbz10LGE9ZTtndCgoKT0+by5maWxlLGFzeW5jKCk9Pnthd2FpdCBjKCl9KTtjb25zdCBsPXNlKCIiKSxjPWFzeW5jKCk9PntsLnZhbHVlPWF3YWl0IHMuZ2V0RG93bmxvYWRVcmwoby5maWxlLmlkKX07cmV0dXJuW24scl09ZXMoKCk9PmMoKSksYXdhaXQgbixyKCksKHUsZCk9PihVKCksWigiZGl2IixRTixbWyIuanBlZyIsIi5qcGciLCIucG5nIl0uaW5jbHVkZXMoby5maWxlLnR5cGUudG9Mb3dlckNhc2UoKSk/KFUoKSxaKCJpbWciLHtrZXk6MCxjbGFzczoiaC1mdWxsIHctZnVsbCBvYmplY3QtY292ZXIiLHNyYzpsLnZhbHVlfSxudWxsLDgsZVIpKTooVSgpLFooInAiLHRSLEsodS5maWxlLm5hbWUpLDEpKSxBKCJhIix7aHJlZjpsLnZhbHVlLHRhcmdldDoiX2JsYW5rIixjbGFzczoiYWJzb2x1dGUgZmxleCBoLWZ1bGwgdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzcGFjZS14LTEgdGV4dC1jZW50ZXIgdGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXdoaXRlIG9wYWNpdHktMCBiYWNrZHJvcC1ibHVyLXNtIGJhY2tkcm9wLWZpbHRlciB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tMTUwIGVhc2UtaW4tb3V0IGdyb3VwLWhvdmVyOmJnLXByaW1hcnktOTAwIGdyb3VwLWhvdmVyOmJnLW9wYWNpdHktNTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAifSxbZWUoUyhhXykse2NsYXNzOiJoLTQgdy00IHNocmluay0wIn0pLEEoInNwYW4iLG51bGwsSyhTKGkpKCJwb3J0YWwuZmlsZV9wcmV2aWV3LmRvd25sb2FkIikpLDEpXSw4LG5SKSx1LmRlbGV0YWJsZT8oVSgpLFooImJ1dHRvbiIse2tleToyLHR5cGU6ImJ1dHRvbiIsb25DbGljazpkWzBdfHwoZFswXT1mPT5hKCJkZWxldGVkIixvLmZpbGUpKSxjbGFzczoiYWJzb2x1dGUgcmlnaHQtMCB0b3AtMCB6LTEwIG0tMiByb3VuZGVkLWZ1bGwgYmctcHJpbWFyeS0xMDAgcC0xIHRleHQtcHJpbWFyeS03MDAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXByaW1hcnktNTAwIGZvY3VzOnJpbmctb2Zmc2V0LTEifSxbZWUoUyhodSkse2NsYXNzOiJoLTQgdy00In0pXSkpOk1lKCIiLCEwKV0pKX19KSxpUj1bImRpc2FibGVkIl0sc1I9TmUoe19fbmFtZToiRmlsZVVwbG9hZCIscHJvcHM6e3VwbG9hZGluZzp7dHlwZTpCb29sZWFufSxkaXNhYmxlZDp7dHlwZTpCb29sZWFufX0sZW1pdHM6WyJjaGFuZ2VkIl0sc2V0dXAodCx7ZW1pdDplfSl7Y29uc3R7dDpufT1XdCgpLHI9ZSxpPXNlKG51bGwpLHM9c2UoITEpLG89bD0+e3ZhciB1O2lmKCgodT1sLnRhcmdldC5maWxlcyk9PW51bGw/dm9pZCAwOnUubGVuZ3RoKT09PTApcmV0dXJuO2NvbnN0IGM9bC50YXJnZXQuZmlsZXNbMF07cigiY2hhbmdlZCIsYyl9LGE9bD0+e3ZhciB1O2lmKCgodT1sLmRhdGFUcmFuc2Zlcik9PW51bGw/dm9pZCAwOnUuZmlsZXMubGVuZ3RoKT09PTApcmV0dXJuO2NvbnN0IGM9bC5kYXRhVHJhbnNmZXIuZmlsZXNbMF07cigiY2hhbmdlZCIsYyl9O3JldHVybihsLGMpPT5sLnVwbG9hZGluZz8oVSgpLFooImRpdiIse2tleTowLGNsYXNzOkRlKFsidXBsb2FkLWJveCIseyJjdXJzb3Itd2FpdCI6bC51cGxvYWRpbmd9XSl9LFtlZSh3bCx7Y2xhc3M6ImgtNiB3LTYgdGV4dC1wcmltYXJ5LTcwMCJ9KV0sMikpOihVKCksWigiZGl2Iix7a2V5OjEsb25EcmFnb3ZlcjpjWzFdfHwoY1sxXT1Kcyh1PT5zLnZhbHVlPSEwLFsicHJldmVudCJdKSksb25EcmFnbGVhdmU6Y1syXXx8KGNbMl09SnModT0+cy52YWx1ZT0hMSxbInByZXZlbnQiXSkpLG9uRHJvcDpjWzNdfHwoY1szXT1Kcyh1PT5zLnZhbHVlPSExLFsicHJldmVudCJdKSl9LFtBKCJpbnB1dCIse3JlZl9rZXk6ImJ1dHRvbiIscmVmOmksY2xhc3M6ImhpZGRlbiIsdHlwZToiZmlsZSIsb25DaGFuZ2U6b30sbnVsbCw1NDQpLEEoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazpjWzBdfHwoY1swXT11PT5sLnVwbG9hZGluZz9udWxsOmkudmFsdWUuY2xpY2soKSksb25Ecm9wOmEsY2xhc3M6RGUoW3siYm9yZGVyLXByaW1hcnktNTAwIGJnLXByaW1hcnktNTAiOnMudmFsdWV9LCJ1cGxvYWQtYm94Il0pLGRpc2FibGVkOmwuZGlzYWJsZWR9LFtlZShTKGxPKSx7Y2xhc3M6ImgtNCB3LTQgc2hyaW5rLTAgZ3JvdXAtaG92ZXI6dGV4dC1wcmltYXJ5LTcwMCJ9KSxBKCJzcGFuIixudWxsLEsoUyhuKSgicG9ydGFsLmZpbGVfdXBsb2FkLnVwbG9hZCIpKSwxKV0sNDIsaVIpXSwzMikpfX0pLG9SPVt7aWQ6NCxuYW1lOiJBZmdoYW5pc3RhbiIsYWxwaGEyOiJhZiIsYWxwaGEzOiJhZmcifSx7aWQ6ODE4LG5hbWU6IsOEZ3lwdGVuIixhbHBoYTI6ImVnIixhbHBoYTM6ImVneSJ9LHtpZDo4LG5hbWU6IkFsYmFuaWVuIixhbHBoYTI6ImFsIixhbHBoYTM6ImFsYiJ9LHtpZDoxMixuYW1lOiJBbGdlcmllbiIsYWxwaGEyOiJkeiIsYWxwaGEzOiJkemEifSx7aWQ6MjAsbmFtZToiQW5kb3JyYSIsYWxwaGEyOiJhZCIsYWxwaGEzOiJhbmQifSx7aWQ6MjQsbmFtZToiQW5nb2xhIixhbHBoYTI6ImFvIixhbHBoYTM6ImFnbyJ9LHtpZDoyOCxuYW1lOiJBbnRpZ3VhIHVuZCBCYXJidWRhIixhbHBoYTI6ImFnIixhbHBoYTM6ImF0ZyJ9LHtpZDoyMjYsbmFtZToiw4RxdWF0b3JpYWxndWluZWEiLGFscGhhMjoiZ3EiLGFscGhhMzoiZ25xIn0se2lkOjMyLG5hbWU6IkFyZ2VudGluaWVuIixhbHBoYTI6ImFyIixhbHBoYTM6ImFyZyJ9LHtpZDo1MSxuYW1lOiJBcm1lbmllbiIsYWxwaGEyOiJhbSIsYWxwaGEzOiJhcm0ifSx7aWQ6MzEsbmFtZToiQXNlcmJhaWRzY2hhbiIsYWxwaGEyOiJheiIsYWxwaGEzOiJhemUifSx7aWQ6MjMxLG5hbWU6IsOEdGhpb3BpZW4iLGFscGhhMjoiZXQiLGFscGhhMzoiZXRoIn0se2lkOjM2LG5hbWU6IkF1c3RyYWxpZW4iLGFscGhhMjoiYXUiLGFscGhhMzoiYXVzIn0se2lkOjQ0LG5hbWU6IkJhaGFtYXMiLGFscGhhMjoiYnMiLGFscGhhMzoiYmhzIn0se2lkOjQ4LG5hbWU6IkJhaHJhaW4iLGFscGhhMjoiYmgiLGFscGhhMzoiYmhyIn0se2lkOjUwLG5hbWU6IkJhbmdsYWRlc2NoIixhbHBoYTI6ImJkIixhbHBoYTM6ImJnZCJ9LHtpZDo1MixuYW1lOiJCYXJiYWRvcyIsYWxwaGEyOiJiYiIsYWxwaGEzOiJicmIifSx7aWQ6MTEyLG5hbWU6IldlacOfcnVzc2xhbmQiLGFscGhhMjoiYnkiLGFscGhhMzoiYmxyIn0se2lkOjU2LG5hbWU6IkJlbGdpZW4iLGFscGhhMjoiYmUiLGFscGhhMzoiYmVsIn0se2lkOjg0LG5hbWU6IkJlbGl6ZSIsYWxwaGEyOiJieiIsYWxwaGEzOiJibHoifSx7aWQ6MjA0LG5hbWU6IkJlbmluIixhbHBoYTI6ImJqIixhbHBoYTM6ImJlbiJ9LHtpZDo2NCxuYW1lOiJCaHV0YW4iLGFscGhhMjoiYnQiLGFscGhhMzoiYnRuIn0se2lkOjY4LG5hbWU6IkJvbGl2aWVuIixhbHBoYTI6ImJvIixhbHBoYTM6ImJvbCJ9LHtpZDo3MCxuYW1lOiJCb3NuaWVuIHVuZCBIZXJ6ZWdvd2luYSIsYWxwaGEyOiJiYSIsYWxwaGEzOiJiaWgifSx7aWQ6NzIsbmFtZToiQm90c3dhbmEiLGFscGhhMjoiYnciLGFscGhhMzoiYndhIn0se2lkOjc2LG5hbWU6IkJyYXNpbGllbiIsYWxwaGEyOiJiciIsYWxwaGEzOiJicmEifSx7aWQ6OTYsbmFtZToiQnJ1bmVpIixhbHBoYTI6ImJuIixhbHBoYTM6ImJybiJ9LHtpZDoxMDAsbmFtZToiQnVsZ2FyaWVuIixhbHBoYTI6ImJnIixhbHBoYTM6ImJnciJ9LHtpZDo4NTQsbmFtZToiQnVya2luYSBGYXNvIixhbHBoYTI6ImJmIixhbHBoYTM6ImJmYSJ9LHtpZDoxMDgsbmFtZToiQnVydW5kaSIsYWxwaGEyOiJiaSIsYWxwaGEzOiJiZGkifSx7aWQ6MTUyLG5hbWU6IkNoaWxlIixhbHBoYTI6ImNsIixhbHBoYTM6ImNobCJ9LHtpZDoxNTYsbmFtZToiVm9sa3NyZXB1YmxpayBDaGluYSIsYWxwaGEyOiJjbiIsYWxwaGEzOiJjaG4ifSx7aWQ6MTg4LG5hbWU6IkNvc3RhIFJpY2EiLGFscGhhMjoiY3IiLGFscGhhMzoiY3JpIn0se2lkOjIwOCxuYW1lOiJEw6RuZW1hcmsiLGFscGhhMjoiZGsiLGFscGhhMzoiZG5rIn0se2lkOjI3NixuYW1lOiJEZXV0c2NobGFuZCIsYWxwaGEyOiJkZSIsYWxwaGEzOiJkZXUifSx7aWQ6MjEyLG5hbWU6IkRvbWluaWNhIixhbHBoYTI6ImRtIixhbHBoYTM6ImRtYSJ9LHtpZDoyMTQsbmFtZToiRG9taW5pa2FuaXNjaGUgUmVwdWJsaWsiLGFscGhhMjoiZG8iLGFscGhhMzoiZG9tIn0se2lkOjI2MixuYW1lOiJEc2NoaWJ1dGkiLGFscGhhMjoiZGoiLGFscGhhMzoiZGppIn0se2lkOjIxOCxuYW1lOiJFY3VhZG9yIixhbHBoYTI6ImVjIixhbHBoYTM6ImVjdSJ9LHtpZDozODQsbmFtZToiRWxmZW5iZWlua8O8c3RlIixhbHBoYTI6ImNpIixhbHBoYTM6ImNpdiJ9LHtpZDoyMjIsbmFtZToiRWwgU2FsdmFkb3IiLGFscGhhMjoic3YiLGFscGhhMzoic2x2In0se2lkOjIzMixuYW1lOiJFcml0cmVhIixhbHBoYTI6ImVyIixhbHBoYTM6ImVyaSJ9LHtpZDoyMzMsbmFtZToiRXN0bGFuZCIsYWxwaGEyOiJlZSIsYWxwaGEzOiJlc3QifSx7aWQ6NzQ4LG5hbWU6IkVzd2F0aW5pIixhbHBoYTI6InN6IixhbHBoYTM6InN3eiJ9LHtpZDoyNDIsbmFtZToiRmlkc2NoaSIsYWxwaGEyOiJmaiIsYWxwaGEzOiJmamkifSx7aWQ6MjQ2LG5hbWU6IkZpbm5sYW5kIixhbHBoYTI6ImZpIixhbHBoYTM6ImZpbiJ9LHtpZDoyNTAsbmFtZToiRnJhbmtyZWljaCIsYWxwaGEyOiJmciIsYWxwaGEzOiJmcmEifSx7aWQ6MjY2LG5hbWU6IkdhYnVuIixhbHBoYTI6ImdhIixhbHBoYTM6ImdhYiJ9LHtpZDoyNzAsbmFtZToiR2FtYmlhIixhbHBoYTI6ImdtIixhbHBoYTM6ImdtYiJ9LHtpZDoyNjgsbmFtZToiR2VvcmdpZW4iLGFscGhhMjoiZ2UiLGFscGhhMzoiZ2VvIn0se2lkOjI4OCxuYW1lOiJHaGFuYSIsYWxwaGEyOiJnaCIsYWxwaGEzOiJnaGEifSx7aWQ6MzA4LG5hbWU6IkdyZW5hZGEiLGFscGhhMjoiZ2QiLGFscGhhMzoiZ3JkIn0se2lkOjMwMCxuYW1lOiJHcmllY2hlbmxhbmQiLGFscGhhMjoiZ3IiLGFscGhhMzoiZ3JjIn0se2lkOjMyMCxuYW1lOiJHdWF0ZW1hbGEiLGFscGhhMjoiZ3QiLGFscGhhMzoiZ3RtIn0se2lkOjMyNCxuYW1lOiJHdWluZWEiLGFscGhhMjoiZ24iLGFscGhhMzoiZ2luIn0se2lkOjYyNCxuYW1lOiJHdWluZWEtQmlzc2F1IixhbHBoYTI6Imd3IixhbHBoYTM6ImduYiJ9LHtpZDozMjgsbmFtZToiR3V5YW5hIixhbHBoYTI6Imd5IixhbHBoYTM6Imd1eSJ9LHtpZDozMzIsbmFtZToiSGFpdGkiLGFscGhhMjoiaHQiLGFscGhhMzoiaHRpIn0se2lkOjM0MCxuYW1lOiJIb25kdXJhcyIsYWxwaGEyOiJobiIsYWxwaGEzOiJobmQifSx7aWQ6MzU2LG5hbWU6IkluZGllbiIsYWxwaGEyOiJpbiIsYWxwaGEzOiJpbmQifSx7aWQ6MzYwLG5hbWU6IkluZG9uZXNpZW4iLGFscGhhMjoiaWQiLGFscGhhMzoiaWRuIn0se2lkOjM2OCxuYW1lOiJJcmFrIixhbHBoYTI6ImlxIixhbHBoYTM6ImlycSJ9LHtpZDozNjQsbmFtZToiSXJhbiIsYWxwaGEyOiJpciIsYWxwaGEzOiJpcm4ifSx7aWQ6MzcyLG5hbWU6IklybGFuZCIsYWxwaGEyOiJpZSIsYWxwaGEzOiJpcmwifSx7aWQ6MzUyLG5hbWU6IklzbGFuZCIsYWxwaGEyOiJpcyIsYWxwaGEzOiJpc2wifSx7aWQ6Mzc2LG5hbWU6IklzcmFlbCIsYWxwaGEyOiJpbCIsYWxwaGEzOiJpc3IifSx7aWQ6MzgwLG5hbWU6Ikl0YWxpZW4iLGFscGhhMjoiaXQiLGFscGhhMzoiaXRhIn0se2lkOjM4OCxuYW1lOiJKYW1haWthIixhbHBoYTI6ImptIixhbHBoYTM6ImphbSJ9LHtpZDozOTIsbmFtZToiSmFwYW4iLGFscGhhMjoianAiLGFscGhhMzoianBuIn0se2lkOjg4NyxuYW1lOiJKZW1lbiIsYWxwaGEyOiJ5ZSIsYWxwaGEzOiJ5ZW0ifSx7aWQ6NDAwLG5hbWU6IkpvcmRhbmllbiIsYWxwaGEyOiJqbyIsYWxwaGEzOiJqb3IifSx7aWQ6MTE2LG5hbWU6IkthbWJvZHNjaGEiLGFscGhhMjoia2giLGFscGhhMzoia2htIn0se2lkOjEyMCxuYW1lOiJLYW1lcnVuIixhbHBoYTI6ImNtIixhbHBoYTM6ImNtciJ9LHtpZDoxMjQsbmFtZToiS2FuYWRhIixhbHBoYTI6ImNhIixhbHBoYTM6ImNhbiJ9LHtpZDoxMzIsbmFtZToiS2FwIFZlcmRlIixhbHBoYTI6ImN2IixhbHBoYTM6ImNwdiJ9LHtpZDozOTgsbmFtZToiS2FzYWNoc3RhbiIsYWxwaGEyOiJreiIsYWxwaGEzOiJrYXoifSx7aWQ6NjM0LG5hbWU6IkthdGFyIixhbHBoYTI6InFhIixhbHBoYTM6InFhdCJ9LHtpZDo0MDQsbmFtZToiS2VuaWEiLGFscGhhMjoia2UiLGFscGhhMzoia2VuIn0se2lkOjQxNyxuYW1lOiJLaXJnaXNpc3RhbiIsYWxwaGEyOiJrZyIsYWxwaGEzOiJrZ3oifSx7aWQ6Mjk2LG5hbWU6IktpcmliYXRpIixhbHBoYTI6ImtpIixhbHBoYTM6ImtpciJ9LHtpZDoxNzAsbmFtZToiS29sdW1iaWVuIixhbHBoYTI6ImNvIixhbHBoYTM6ImNvbCJ9LHtpZDoxNzQsbmFtZToiS29tb3JlbiIsYWxwaGEyOiJrbSIsYWxwaGEzOiJjb20ifSx7aWQ6MTgwLG5hbWU6IktvbmdvLCBEZW1va3JhdGlzY2hlIFJlcHVibGlrIixhbHBoYTI6ImNkIixhbHBoYTM6ImNvZCJ9LHtpZDoxNzgsbmFtZToiS29uZ28sIFJlcHVibGlrIixhbHBoYTI6ImNnIixhbHBoYTM6ImNvZyJ9LHtpZDo0MDgsbmFtZToiS29yZWEsIE5vcmQiLGFscGhhMjoia3AiLGFscGhhMzoicHJrIn0se2lkOjQxMCxuYW1lOiJLb3JlYSwgU8O8ZCIsYWxwaGEyOiJrciIsYWxwaGEzOiJrb3IifSx7aWQ6MTkxLG5hbWU6Iktyb2F0aWVuIixhbHBoYTI6ImhyIixhbHBoYTM6ImhydiJ9LHtpZDoxOTIsbmFtZToiS3ViYSIsYWxwaGEyOiJjdSIsYWxwaGEzOiJjdWIifSx7aWQ6NDE0LG5hbWU6Ikt1d2FpdCIsYWxwaGEyOiJrdyIsYWxwaGEzOiJrd3QifSx7aWQ6NDE4LG5hbWU6Ikxhb3MiLGFscGhhMjoibGEiLGFscGhhMzoibGFvIn0se2lkOjQyNixuYW1lOiJMZXNvdGhvIixhbHBoYTI6ImxzIixhbHBoYTM6ImxzbyJ9LHtpZDo0MjgsbmFtZToiTGV0dGxhbmQiLGFscGhhMjoibHYiLGFscGhhMzoibHZhIn0se2lkOjQyMixuYW1lOiJMaWJhbm9uIixhbHBoYTI6ImxiIixhbHBoYTM6ImxibiJ9LHtpZDo0MzAsbmFtZToiTGliZXJpYSIsYWxwaGEyOiJsciIsYWxwaGEzOiJsYnIifSx7aWQ6NDM0LG5hbWU6IkxpYnllbiIsYWxwaGEyOiJseSIsYWxwaGEzOiJsYnkifSx7aWQ6NDM4LG5hbWU6IkxpZWNodGVuc3RlaW4iLGFscGhhMjoibGkiLGFscGhhMzoibGllIn0se2lkOjQ0MCxuYW1lOiJMaXRhdWVuIixhbHBoYTI6Imx0IixhbHBoYTM6Imx0dSJ9LHtpZDo0NDIsbmFtZToiTHV4ZW1idXJnIixhbHBoYTI6Imx1IixhbHBoYTM6Imx1eCJ9LHtpZDo0NTAsbmFtZToiTWFkYWdhc2thciIsYWxwaGEyOiJtZyIsYWxwaGEzOiJtZGcifSx7aWQ6NDU0LG5hbWU6Ik1hbGF3aSIsYWxwaGEyOiJtdyIsYWxwaGEzOiJtd2kifSx7aWQ6NDU4LG5hbWU6Ik1hbGF5c2lhIixhbHBoYTI6Im15IixhbHBoYTM6Im15cyJ9LHtpZDo0NjIsbmFtZToiTWFsZWRpdmVuIixhbHBoYTI6Im12IixhbHBoYTM6Im1kdiJ9LHtpZDo0NjYsbmFtZToiTWFsaSIsYWxwaGEyOiJtbCIsYWxwaGEzOiJtbGkifSx7aWQ6NDcwLG5hbWU6Ik1hbHRhIixhbHBoYTI6Im10IixhbHBoYTM6Im1sdCJ9LHtpZDo1MDQsbmFtZToiTWFyb2trbyIsYWxwaGEyOiJtYSIsYWxwaGEzOiJtYXIifSx7aWQ6NTg0LG5hbWU6Ik1hcnNoYWxsaW5zZWxuIixhbHBoYTI6Im1oIixhbHBoYTM6Im1obCJ9LHtpZDo0NzgsbmFtZToiTWF1cmV0YW5pZW4iLGFscGhhMjoibXIiLGFscGhhMzoibXJ0In0se2lkOjQ4MCxuYW1lOiJNYXVyaXRpdXMiLGFscGhhMjoibXUiLGFscGhhMzoibXVzIn0se2lkOjQ4NCxuYW1lOiJNZXhpa28iLGFscGhhMjoibXgiLGFscGhhMzoibWV4In0se2lkOjU4MyxuYW1lOiJNaWtyb25lc2llbiIsYWxwaGEyOiJmbSIsYWxwaGEzOiJmc20ifSx7aWQ6NDk4LG5hbWU6Ik1vbGRhdSIsYWxwaGEyOiJtZCIsYWxwaGEzOiJtZGEifSx7aWQ6NDkyLG5hbWU6Ik1vbmFjbyIsYWxwaGEyOiJtYyIsYWxwaGEzOiJtY28ifSx7aWQ6NDk2LG5hbWU6Ik1vbmdvbGVpIixhbHBoYTI6Im1uIixhbHBoYTM6Im1uZyJ9LHtpZDo0OTksbmFtZToiTW9udGVuZWdybyIsYWxwaGEyOiJtZSIsYWxwaGEzOiJtbmUifSx7aWQ6NTA4LG5hbWU6Ik1vc2FtYmlrIixhbHBoYTI6Im16IixhbHBoYTM6Im1veiJ9LHtpZDoxMDQsbmFtZToiTXlhbm1hciIsYWxwaGEyOiJtbSIsYWxwaGEzOiJtbXIifSx7aWQ6NTE2LG5hbWU6Ik5hbWliaWEiLGFscGhhMjoibmEiLGFscGhhMzoibmFtIn0se2lkOjUyMCxuYW1lOiJOYXVydSIsYWxwaGEyOiJuciIsYWxwaGEzOiJucnUifSx7aWQ6NTI0LG5hbWU6Ik5lcGFsIixhbHBoYTI6Im5wIixhbHBoYTM6Im5wbCJ9LHtpZDo1NTQsbmFtZToiTmV1c2VlbGFuZCIsYWxwaGEyOiJueiIsYWxwaGEzOiJuemwifSx7aWQ6NTU4LG5hbWU6Ik5pY2FyYWd1YSIsYWxwaGEyOiJuaSIsYWxwaGEzOiJuaWMifSx7aWQ6NTI4LG5hbWU6Ik5pZWRlcmxhbmRlIixhbHBoYTI6Im5sIixhbHBoYTM6Im5sZCJ9LHtpZDo1NjIsbmFtZToiTmlnZXIiLGFscGhhMjoibmUiLGFscGhhMzoibmVyIn0se2lkOjU2NixuYW1lOiJOaWdlcmlhIixhbHBoYTI6Im5nIixhbHBoYTM6Im5nYSJ9LHtpZDo4MDcsbmFtZToiTm9yZG1hemVkb25pZW4iLGFscGhhMjoibWsiLGFscGhhMzoibWtkIn0se2lkOjU3OCxuYW1lOiJOb3J3ZWdlbiIsYWxwaGEyOiJubyIsYWxwaGEzOiJub3IifSx7aWQ6NTEyLG5hbWU6Ik9tYW4iLGFscGhhMjoib20iLGFscGhhMzoib21uIn0se2lkOjQwLG5hbWU6IsOWc3RlcnJlaWNoIixhbHBoYTI6ImF0IixhbHBoYTM6ImF1dCJ9LHtpZDo2MjYsbmFtZToiT3N0dGltb3IiLGFscGhhMjoidGwiLGFscGhhMzoidGxzIn0se2lkOjU4NixuYW1lOiJQYWtpc3RhbiIsYWxwaGEyOiJwayIsYWxwaGEzOiJwYWsifSx7aWQ6NTg1LG5hbWU6IlBhbGF1IixhbHBoYTI6InB3IixhbHBoYTM6InBsdyJ9LHtpZDo1OTEsbmFtZToiUGFuYW1hIixhbHBoYTI6InBhIixhbHBoYTM6InBhbiJ9LHtpZDo1OTgsbmFtZToiUGFwdWEtTmV1Z3VpbmVhIixhbHBoYTI6InBnIixhbHBoYTM6InBuZyJ9LHtpZDo2MDAsbmFtZToiUGFyYWd1YXkiLGFscGhhMjoicHkiLGFscGhhMzoicHJ5In0se2lkOjYwNCxuYW1lOiJQZXJ1IixhbHBoYTI6InBlIixhbHBoYTM6InBlciJ9LHtpZDo2MDgsbmFtZToiUGhpbGlwcGluZW4iLGFscGhhMjoicGgiLGFscGhhMzoicGhsIn0se2lkOjYxNixuYW1lOiJQb2xlbiIsYWxwaGEyOiJwbCIsYWxwaGEzOiJwb2wifSx7aWQ6NjIwLG5hbWU6IlBvcnR1Z2FsIixhbHBoYTI6InB0IixhbHBoYTM6InBydCJ9LHtpZDo2NDYsbmFtZToiUnVhbmRhIixhbHBoYTI6InJ3IixhbHBoYTM6InJ3YSJ9LHtpZDo2NDIsbmFtZToiUnVtw6RuaWVuIixhbHBoYTI6InJvIixhbHBoYTM6InJvdSJ9LHtpZDo2NDMsbmFtZToiUnVzc2xhbmQiLGFscGhhMjoicnUiLGFscGhhMzoicnVzIn0se2lkOjkwLG5hbWU6IlNhbG9tb25lbiIsYWxwaGEyOiJzYiIsYWxwaGEzOiJzbGIifSx7aWQ6ODk0LG5hbWU6IlNhbWJpYSIsYWxwaGEyOiJ6bSIsYWxwaGEzOiJ6bWIifSx7aWQ6ODgyLG5hbWU6IlNhbW9hIixhbHBoYTI6IndzIixhbHBoYTM6IndzbSJ9LHtpZDo2NzQsbmFtZToiU2FuIE1hcmlubyIsYWxwaGEyOiJzbSIsYWxwaGEzOiJzbXIifSx7aWQ6Njc4LG5hbWU6IlPDo28gVG9tw6kgdW5kIFByw61uY2lwZSIsYWxwaGEyOiJzdCIsYWxwaGEzOiJzdHAifSx7aWQ6NjgyLG5hbWU6IlNhdWRpLUFyYWJpZW4iLGFscGhhMjoic2EiLGFscGhhMzoic2F1In0se2lkOjc1MixuYW1lOiJTY2h3ZWRlbiIsYWxwaGEyOiJzZSIsYWxwaGEzOiJzd2UifSx7aWQ6NzU2LG5hbWU6IlNjaHdlaXoiLGFscGhhMjoiY2giLGFscGhhMzoiY2hlIn0se2lkOjY4NixuYW1lOiJTZW5lZ2FsIixhbHBoYTI6InNuIixhbHBoYTM6InNlbiJ9LHtpZDo2ODgsbmFtZToiU2VyYmllbiIsYWxwaGEyOiJycyIsYWxwaGEzOiJzcmIifSx7aWQ6NjkwLG5hbWU6IlNleWNoZWxsZW4iLGFscGhhMjoic2MiLGFscGhhMzoic3ljIn0se2lkOjY5NCxuYW1lOiJTaWVycmEgTGVvbmUiLGFscGhhMjoic2wiLGFscGhhMzoic2xlIn0se2lkOjcxNixuYW1lOiJTaW1iYWJ3ZSIsYWxwaGEyOiJ6dyIsYWxwaGEzOiJ6d2UifSx7aWQ6NzAyLG5hbWU6IlNpbmdhcHVyIixhbHBoYTI6InNnIixhbHBoYTM6InNncCJ9LHtpZDo3MDMsbmFtZToiU2xvd2FrZWkiLGFscGhhMjoic2siLGFscGhhMzoic3ZrIn0se2lkOjcwNSxuYW1lOiJTbG93ZW5pZW4iLGFscGhhMjoic2kiLGFscGhhMzoic3ZuIn0se2lkOjcwNixuYW1lOiJTb21hbGlhIixhbHBoYTI6InNvIixhbHBoYTM6InNvbSJ9LHtpZDo3MjQsbmFtZToiU3BhbmllbiIsYWxwaGEyOiJlcyIsYWxwaGEzOiJlc3AifSx7aWQ6MTQ0LG5hbWU6IlNyaSBMYW5rYSIsYWxwaGEyOiJsayIsYWxwaGEzOiJsa2EifSx7aWQ6NjU5LG5hbWU6IlN0LiBLaXR0cyB1bmQgTmV2aXMiLGFscGhhMjoia24iLGFscGhhMzoia25hIn0se2lkOjY2MixuYW1lOiJTdC4gTHVjaWEiLGFscGhhMjoibGMiLGFscGhhMzoibGNhIn0se2lkOjY3MCxuYW1lOiJTdC4gVmluY2VudCB1bmQgZGllIEdyZW5hZGluZW4iLGFscGhhMjoidmMiLGFscGhhMzoidmN0In0se2lkOjcxMCxuYW1lOiJTw7xkYWZyaWthIixhbHBoYTI6InphIixhbHBoYTM6InphZiJ9LHtpZDo3MjksbmFtZToiU3VkYW4iLGFscGhhMjoic2QiLGFscGhhMzoic2RuIn0se2lkOjcyOCxuYW1lOiJTw7xkc3VkYW4iLGFscGhhMjoic3MiLGFscGhhMzoic3NkIn0se2lkOjc0MCxuYW1lOiJTdXJpbmFtZSIsYWxwaGEyOiJzciIsYWxwaGEzOiJzdXIifSx7aWQ6NzYwLG5hbWU6IlN5cmllbiIsYWxwaGEyOiJzeSIsYWxwaGEzOiJzeXIifSx7aWQ6NzYyLG5hbWU6IlRhZHNjaGlraXN0YW4iLGFscGhhMjoidGoiLGFscGhhMzoidGprIn0se2lkOjgzNCxuYW1lOiJUYW5zYW5pYSIsYWxwaGEyOiJ0eiIsYWxwaGEzOiJ0emEifSx7aWQ6NzY0LG5hbWU6IlRoYWlsYW5kIixhbHBoYTI6InRoIixhbHBoYTM6InRoYSJ9LHtpZDo3NjgsbmFtZToiVG9nbyIsYWxwaGEyOiJ0ZyIsYWxwaGEzOiJ0Z28ifSx7aWQ6Nzc2LG5hbWU6IlRvbmdhIixhbHBoYTI6InRvIixhbHBoYTM6InRvbiJ9LHtpZDo3ODAsbmFtZToiVHJpbmlkYWQgdW5kIFRvYmFnbyIsYWxwaGEyOiJ0dCIsYWxwaGEzOiJ0dG8ifSx7aWQ6MTQ4LG5hbWU6IlRzY2hhZCIsYWxwaGEyOiJ0ZCIsYWxwaGEzOiJ0Y2QifSx7aWQ6MjAzLG5hbWU6IlRzY2hlY2hpZW4iLGFscGhhMjoiY3oiLGFscGhhMzoiY3plIn0se2lkOjc4OCxuYW1lOiJUdW5lc2llbiIsYWxwaGEyOiJ0biIsYWxwaGEzOiJ0dW4ifSx7aWQ6NzkyLG5hbWU6IlTDvHJrZWkiLGFscGhhMjoidHIiLGFscGhhMzoidHVyIn0se2lkOjc5NSxuYW1lOiJUdXJrbWVuaXN0YW4iLGFscGhhMjoidG0iLGFscGhhMzoidGttIn0se2lkOjc5OCxuYW1lOiJUdXZhbHUiLGFscGhhMjoidHYiLGFscGhhMzoidHV2In0se2lkOjgwMCxuYW1lOiJVZ2FuZGEiLGFscGhhMjoidWciLGFscGhhMzoidWdhIn0se2lkOjgwNCxuYW1lOiJVa3JhaW5lIixhbHBoYTI6InVhIixhbHBoYTM6InVrciJ9LHtpZDozNDgsbmFtZToiVW5nYXJuIixhbHBoYTI6Imh1IixhbHBoYTM6Imh1biJ9LHtpZDo4NTgsbmFtZToiVXJ1Z3VheSIsYWxwaGEyOiJ1eSIsYWxwaGEzOiJ1cnkifSx7aWQ6ODYwLG5hbWU6IlVzYmVraXN0YW4iLGFscGhhMjoidXoiLGFscGhhMzoidXpiIn0se2lkOjU0OCxuYW1lOiJWYW51YXR1IixhbHBoYTI6InZ1IixhbHBoYTM6InZ1dCJ9LHtpZDo4NjIsbmFtZToiVmVuZXp1ZWxhIixhbHBoYTI6InZlIixhbHBoYTM6InZlbiJ9LHtpZDo3ODQsbmFtZToiVmVyZWluaWd0ZSBBcmFiaXNjaGUgRW1pcmF0ZSIsYWxwaGEyOiJhZSIsYWxwaGEzOiJhcmUifSx7aWQ6ODQwLG5hbWU6IlZlcmVpbmlndGUgU3RhYXRlbiIsYWxwaGEyOiJ1cyIsYWxwaGEzOiJ1c2EifSx7aWQ6ODI2LG5hbWU6IlZlcmVpbmlndGVzIEvDtm5pZ3JlaWNoIixhbHBoYTI6ImdiIixhbHBoYTM6ImdiciJ9LHtpZDo3MDQsbmFtZToiVmlldG5hbSIsYWxwaGEyOiJ2biIsYWxwaGEzOiJ2bm0ifSx7aWQ6MTQwLG5hbWU6IlplbnRyYWzCrWFmcmlrYW5pc2NoZSBSZXB1YmxpayIsYWxwaGEyOiJjZiIsYWxwaGEzOiJjYWYifSx7aWQ6MTk2LG5hbWU6Ilp5cGVybiIsYWxwaGEyOiJjeSIsYWxwaGEzOiJjeXAifV0sYVI9W3tpZDo0LGFscGhhMjoiYWYiLGFscGhhMzoiYWZnIixuYW1lOiJBZmdoYW5pc3RhbiJ9LHtpZDo4LGFscGhhMjoiYWwiLGFscGhhMzoiYWxiIixuYW1lOiJBbGJhbmlhIn0se2lkOjEyLGFscGhhMjoiZHoiLGFscGhhMzoiZHphIixuYW1lOiJBbGdlcmlhIn0se2lkOjIwLGFscGhhMjoiYWQiLGFscGhhMzoiYW5kIixuYW1lOiJBbmRvcnJhIn0se2lkOjI0LGFscGhhMjoiYW8iLGFscGhhMzoiYWdvIixuYW1lOiJBbmdvbGEifSx7aWQ6MjgsYWxwaGEyOiJhZyIsYWxwaGEzOiJhdGciLG5hbWU6IkFudGlndWEgYW5kIEJhcmJ1ZGEifSx7aWQ6MzIsYWxwaGEyOiJhciIsYWxwaGEzOiJhcmciLG5hbWU6IkFyZ2VudGluYSJ9LHtpZDo1MSxhbHBoYTI6ImFtIixhbHBoYTM6ImFybSIsbmFtZToiQXJtZW5pYSJ9LHtpZDozNixhbHBoYTI6ImF1IixhbHBoYTM6ImF1cyIsbmFtZToiQXVzdHJhbGlhIn0se2lkOjQwLGFscGhhMjoiYXQiLGFscGhhMzoiYXV0IixuYW1lOiJBdXN0cmlhIn0se2lkOjMxLGFscGhhMjoiYXoiLGFscGhhMzoiYXplIixuYW1lOiJBemVyYmFpamFuIn0se2lkOjQ0LGFscGhhMjoiYnMiLGFscGhhMzoiYmhzIixuYW1lOiJCYWhhbWFzIn0se2lkOjQ4LGFscGhhMjoiYmgiLGFscGhhMzoiYmhyIixuYW1lOiJCYWhyYWluIn0se2lkOjUwLGFscGhhMjoiYmQiLGFscGhhMzoiYmdkIixuYW1lOiJCYW5nbGFkZXNoIn0se2lkOjUyLGFscGhhMjoiYmIiLGFscGhhMzoiYnJiIixuYW1lOiJCYXJiYWRvcyJ9LHtpZDoxMTIsYWxwaGEyOiJieSIsYWxwaGEzOiJibHIiLG5hbWU6IkJlbGFydXMifSx7aWQ6NTYsYWxwaGEyOiJiZSIsYWxwaGEzOiJiZWwiLG5hbWU6IkJlbGdpdW0ifSx7aWQ6ODQsYWxwaGEyOiJieiIsYWxwaGEzOiJibHoiLG5hbWU6IkJlbGl6ZSJ9LHtpZDoyMDQsYWxwaGEyOiJiaiIsYWxwaGEzOiJiZW4iLG5hbWU6IkJlbmluIn0se2lkOjY0LGFscGhhMjoiYnQiLGFscGhhMzoiYnRuIixuYW1lOiJCaHV0YW4ifSx7aWQ6NjgsYWxwaGEyOiJibyIsYWxwaGEzOiJib2wiLG5hbWU6IkJvbGl2aWEgKFBsdXJpbmF0aW9uYWwgU3RhdGUgb2YpIn0se2lkOjcwLGFscGhhMjoiYmEiLGFscGhhMzoiYmloIixuYW1lOiJCb3NuaWEgYW5kIEhlcnplZ292aW5hIn0se2lkOjcyLGFscGhhMjoiYnciLGFscGhhMzoiYndhIixuYW1lOiJCb3Rzd2FuYSJ9LHtpZDo3NixhbHBoYTI6ImJyIixhbHBoYTM6ImJyYSIsbmFtZToiQnJhemlsIn0se2lkOjk2LGFscGhhMjoiYm4iLGFscGhhMzoiYnJuIixuYW1lOiJCcnVuZWkgRGFydXNzYWxhbSJ9LHtpZDoxMDAsYWxwaGEyOiJiZyIsYWxwaGEzOiJiZ3IiLG5hbWU6IkJ1bGdhcmlhIn0se2lkOjg1NCxhbHBoYTI6ImJmIixhbHBoYTM6ImJmYSIsbmFtZToiQnVya2luYSBGYXNvIn0se2lkOjEwOCxhbHBoYTI6ImJpIixhbHBoYTM6ImJkaSIsbmFtZToiQnVydW5kaSJ9LHtpZDoxMzIsYWxwaGEyOiJjdiIsYWxwaGEzOiJjcHYiLG5hbWU6IkNhYm8gVmVyZGUifSx7aWQ6MTE2LGFscGhhMjoia2giLGFscGhhMzoia2htIixuYW1lOiJDYW1ib2RpYSJ9LHtpZDoxMjAsYWxwaGEyOiJjbSIsYWxwaGEzOiJjbXIiLG5hbWU6IkNhbWVyb29uIn0se2lkOjEyNCxhbHBoYTI6ImNhIixhbHBoYTM6ImNhbiIsbmFtZToiQ2FuYWRhIn0se2lkOjE0MCxhbHBoYTI6ImNmIixhbHBoYTM6ImNhZiIsbmFtZToiQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIn0se2lkOjE0OCxhbHBoYTI6InRkIixhbHBoYTM6InRjZCIsbmFtZToiQ2hhZCJ9LHtpZDoxNTIsYWxwaGEyOiJjbCIsYWxwaGEzOiJjaGwiLG5hbWU6IkNoaWxlIn0se2lkOjE1NixhbHBoYTI6ImNuIixhbHBoYTM6ImNobiIsbmFtZToiQ2hpbmEifSx7aWQ6MTcwLGFscGhhMjoiY28iLGFscGhhMzoiY29sIixuYW1lOiJDb2xvbWJpYSJ9LHtpZDoxNzQsYWxwaGEyOiJrbSIsYWxwaGEzOiJjb20iLG5hbWU6IkNvbW9yb3MifSx7aWQ6MTc4LGFscGhhMjoiY2ciLGFscGhhMzoiY29nIixuYW1lOiJDb25nbyJ9LHtpZDoxODAsYWxwaGEyOiJjZCIsYWxwaGEzOiJjb2QiLG5hbWU6IkNvbmdvLCBEZW1vY3JhdGljIFJlcHVibGljIG9mIHRoZSJ9LHtpZDoxODgsYWxwaGEyOiJjciIsYWxwaGEzOiJjcmkiLG5hbWU6IkNvc3RhIFJpY2EifSx7aWQ6Mzg0LGFscGhhMjoiY2kiLGFscGhhMzoiY2l2IixuYW1lOiJDw7R0ZSBkJ0l2b2lyZSJ9LHtpZDoxOTEsYWxwaGEyOiJociIsYWxwaGEzOiJocnYiLG5hbWU6IkNyb2F0aWEifSx7aWQ6MTkyLGFscGhhMjoiY3UiLGFscGhhMzoiY3ViIixuYW1lOiJDdWJhIn0se2lkOjE5NixhbHBoYTI6ImN5IixhbHBoYTM6ImN5cCIsbmFtZToiQ3lwcnVzIn0se2lkOjIwMyxhbHBoYTI6ImN6IixhbHBoYTM6ImN6ZSIsbmFtZToiQ3plY2hpYSJ9LHtpZDoyMDgsYWxwaGEyOiJkayIsYWxwaGEzOiJkbmsiLG5hbWU6IkRlbm1hcmsifSx7aWQ6MjYyLGFscGhhMjoiZGoiLGFscGhhMzoiZGppIixuYW1lOiJEamlib3V0aSJ9LHtpZDoyMTIsYWxwaGEyOiJkbSIsYWxwaGEzOiJkbWEiLG5hbWU6IkRvbWluaWNhIn0se2lkOjIxNCxhbHBoYTI6ImRvIixhbHBoYTM6ImRvbSIsbmFtZToiRG9taW5pY2FuIFJlcHVibGljIn0se2lkOjIxOCxhbHBoYTI6ImVjIixhbHBoYTM6ImVjdSIsbmFtZToiRWN1YWRvciJ9LHtpZDo4MTgsYWxwaGEyOiJlZyIsYWxwaGEzOiJlZ3kiLG5hbWU6IkVneXB0In0se2lkOjIyMixhbHBoYTI6InN2IixhbHBoYTM6InNsdiIsbmFtZToiRWwgU2FsdmFkb3IifSx7aWQ6MjI2LGFscGhhMjoiZ3EiLGFscGhhMzoiZ25xIixuYW1lOiJFcXVhdG9yaWFsIEd1aW5lYSJ9LHtpZDoyMzIsYWxwaGEyOiJlciIsYWxwaGEzOiJlcmkiLG5hbWU6IkVyaXRyZWEifSx7aWQ6MjMzLGFscGhhMjoiZWUiLGFscGhhMzoiZXN0IixuYW1lOiJFc3RvbmlhIn0se2lkOjc0OCxhbHBoYTI6InN6IixhbHBoYTM6InN3eiIsbmFtZToiRXN3YXRpbmkifSx7aWQ6MjMxLGFscGhhMjoiZXQiLGFscGhhMzoiZXRoIixuYW1lOiJFdGhpb3BpYSJ9LHtpZDoyNDIsYWxwaGEyOiJmaiIsYWxwaGEzOiJmamkiLG5hbWU6IkZpamkifSx7aWQ6MjQ2LGFscGhhMjoiZmkiLGFscGhhMzoiZmluIixuYW1lOiJGaW5sYW5kIn0se2lkOjI1MCxhbHBoYTI6ImZyIixhbHBoYTM6ImZyYSIsbmFtZToiRnJhbmNlIn0se2lkOjI2NixhbHBoYTI6ImdhIixhbHBoYTM6ImdhYiIsbmFtZToiR2Fib24ifSx7aWQ6MjcwLGFscGhhMjoiZ20iLGFscGhhMzoiZ21iIixuYW1lOiJHYW1iaWEifSx7aWQ6MjY4LGFscGhhMjoiZ2UiLGFscGhhMzoiZ2VvIixuYW1lOiJHZW9yZ2lhIn0se2lkOjI3NixhbHBoYTI6ImRlIixhbHBoYTM6ImRldSIsbmFtZToiR2VybWFueSJ9LHtpZDoyODgsYWxwaGEyOiJnaCIsYWxwaGEzOiJnaGEiLG5hbWU6IkdoYW5hIn0se2lkOjMwMCxhbHBoYTI6ImdyIixhbHBoYTM6ImdyYyIsbmFtZToiR3JlZWNlIn0se2lkOjMwOCxhbHBoYTI6ImdkIixhbHBoYTM6ImdyZCIsbmFtZToiR3JlbmFkYSJ9LHtpZDozMjAsYWxwaGEyOiJndCIsYWxwaGEzOiJndG0iLG5hbWU6Ikd1YXRlbWFsYSJ9LHtpZDozMjQsYWxwaGEyOiJnbiIsYWxwaGEzOiJnaW4iLG5hbWU6Ikd1aW5lYSJ9LHtpZDo2MjQsYWxwaGEyOiJndyIsYWxwaGEzOiJnbmIiLG5hbWU6Ikd1aW5lYS1CaXNzYXUifSx7aWQ6MzI4LGFscGhhMjoiZ3kiLGFscGhhMzoiZ3V5IixuYW1lOiJHdXlhbmEifSx7aWQ6MzMyLGFscGhhMjoiaHQiLGFscGhhMzoiaHRpIixuYW1lOiJIYWl0aSJ9LHtpZDozNDAsYWxwaGEyOiJobiIsYWxwaGEzOiJobmQiLG5hbWU6IkhvbmR1cmFzIn0se2lkOjM0OCxhbHBoYTI6Imh1IixhbHBoYTM6Imh1biIsbmFtZToiSHVuZ2FyeSJ9LHtpZDozNTIsYWxwaGEyOiJpcyIsYWxwaGEzOiJpc2wiLG5hbWU6IkljZWxhbmQifSx7aWQ6MzU2LGFscGhhMjoiaW4iLGFscGhhMzoiaW5kIixuYW1lOiJJbmRpYSJ9LHtpZDozNjAsYWxwaGEyOiJpZCIsYWxwaGEzOiJpZG4iLG5hbWU6IkluZG9uZXNpYSJ9LHtpZDozNjQsYWxwaGEyOiJpciIsYWxwaGEzOiJpcm4iLG5hbWU6IklyYW4gKElzbGFtaWMgUmVwdWJsaWMgb2YpIn0se2lkOjM2OCxhbHBoYTI6ImlxIixhbHBoYTM6ImlycSIsbmFtZToiSXJhcSJ9LHtpZDozNzIsYWxwaGEyOiJpZSIsYWxwaGEzOiJpcmwiLG5hbWU6IklyZWxhbmQifSx7aWQ6Mzc2LGFscGhhMjoiaWwiLGFscGhhMzoiaXNyIixuYW1lOiJJc3JhZWwifSx7aWQ6MzgwLGFscGhhMjoiaXQiLGFscGhhMzoiaXRhIixuYW1lOiJJdGFseSJ9LHtpZDozODgsYWxwaGEyOiJqbSIsYWxwaGEzOiJqYW0iLG5hbWU6IkphbWFpY2EifSx7aWQ6MzkyLGFscGhhMjoianAiLGFscGhhMzoianBuIixuYW1lOiJKYXBhbiJ9LHtpZDo0MDAsYWxwaGEyOiJqbyIsYWxwaGEzOiJqb3IiLG5hbWU6IkpvcmRhbiJ9LHtpZDozOTgsYWxwaGEyOiJreiIsYWxwaGEzOiJrYXoiLG5hbWU6IkthemFraHN0YW4ifSx7aWQ6NDA0LGFscGhhMjoia2UiLGFscGhhMzoia2VuIixuYW1lOiJLZW55YSJ9LHtpZDoyOTYsYWxwaGEyOiJraSIsYWxwaGEzOiJraXIiLG5hbWU6IktpcmliYXRpIn0se2lkOjQwOCxhbHBoYTI6ImtwIixhbHBoYTM6InByayIsbmFtZToiS29yZWEgKERlbW9jcmF0aWMgUGVvcGxlJ3MgUmVwdWJsaWMgb2YpIn0se2lkOjQxMCxhbHBoYTI6ImtyIixhbHBoYTM6ImtvciIsbmFtZToiS29yZWEsIFJlcHVibGljIG9mIn0se2lkOjQxNCxhbHBoYTI6Imt3IixhbHBoYTM6Imt3dCIsbmFtZToiS3V3YWl0In0se2lkOjQxNyxhbHBoYTI6ImtnIixhbHBoYTM6ImtneiIsbmFtZToiS3lyZ3l6c3RhbiJ9LHtpZDo0MTgsYWxwaGEyOiJsYSIsYWxwaGEzOiJsYW8iLG5hbWU6IkxhbyBQZW9wbGUncyBEZW1vY3JhdGljIFJlcHVibGljIn0se2lkOjQyOCxhbHBoYTI6Imx2IixhbHBoYTM6Imx2YSIsbmFtZToiTGF0dmlhIn0se2lkOjQyMixhbHBoYTI6ImxiIixhbHBoYTM6ImxibiIsbmFtZToiTGViYW5vbiJ9LHtpZDo0MjYsYWxwaGEyOiJscyIsYWxwaGEzOiJsc28iLG5hbWU6Ikxlc290aG8ifSx7aWQ6NDMwLGFscGhhMjoibHIiLGFscGhhMzoibGJyIixuYW1lOiJMaWJlcmlhIn0se2lkOjQzNCxhbHBoYTI6Imx5IixhbHBoYTM6ImxieSIsbmFtZToiTGlieWEifSx7aWQ6NDM4LGFscGhhMjoibGkiLGFscGhhMzoibGllIixuYW1lOiJMaWVjaHRlbnN0ZWluIn0se2lkOjQ0MCxhbHBoYTI6Imx0IixhbHBoYTM6Imx0dSIsbmFtZToiTGl0aHVhbmlhIn0se2lkOjQ0MixhbHBoYTI6Imx1IixhbHBoYTM6Imx1eCIsbmFtZToiTHV4ZW1ib3VyZyJ9LHtpZDo0NTAsYWxwaGEyOiJtZyIsYWxwaGEzOiJtZGciLG5hbWU6Ik1hZGFnYXNjYXIifSx7aWQ6NDU0LGFscGhhMjoibXciLGFscGhhMzoibXdpIixuYW1lOiJNYWxhd2kifSx7aWQ6NDU4LGFscGhhMjoibXkiLGFscGhhMzoibXlzIixuYW1lOiJNYWxheXNpYSJ9LHtpZDo0NjIsYWxwaGEyOiJtdiIsYWxwaGEzOiJtZHYiLG5hbWU6Ik1hbGRpdmVzIn0se2lkOjQ2NixhbHBoYTI6Im1sIixhbHBoYTM6Im1saSIsbmFtZToiTWFsaSJ9LHtpZDo0NzAsYWxwaGEyOiJtdCIsYWxwaGEzOiJtbHQiLG5hbWU6Ik1hbHRhIn0se2lkOjU4NCxhbHBoYTI6Im1oIixhbHBoYTM6Im1obCIsbmFtZToiTWFyc2hhbGwgSXNsYW5kcyJ9LHtpZDo0NzgsYWxwaGEyOiJtciIsYWxwaGEzOiJtcnQiLG5hbWU6Ik1hdXJpdGFuaWEifSx7aWQ6NDgwLGFscGhhMjoibXUiLGFscGhhMzoibXVzIixuYW1lOiJNYXVyaXRpdXMifSx7aWQ6NDg0LGFscGhhMjoibXgiLGFscGhhMzoibWV4IixuYW1lOiJNZXhpY28ifSx7aWQ6NTgzLGFscGhhMjoiZm0iLGFscGhhMzoiZnNtIixuYW1lOiJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSJ9LHtpZDo0OTgsYWxwaGEyOiJtZCIsYWxwaGEzOiJtZGEiLG5hbWU6Ik1vbGRvdmEsIFJlcHVibGljIG9mIn0se2lkOjQ5MixhbHBoYTI6Im1jIixhbHBoYTM6Im1jbyIsbmFtZToiTW9uYWNvIn0se2lkOjQ5NixhbHBoYTI6Im1uIixhbHBoYTM6Im1uZyIsbmFtZToiTW9uZ29saWEifSx7aWQ6NDk5LGFscGhhMjoibWUiLGFscGhhMzoibW5lIixuYW1lOiJNb250ZW5lZ3JvIn0se2lkOjUwNCxhbHBoYTI6Im1hIixhbHBoYTM6Im1hciIsbmFtZToiTW9yb2NjbyJ9LHtpZDo1MDgsYWxwaGEyOiJteiIsYWxwaGEzOiJtb3oiLG5hbWU6Ik1vemFtYmlxdWUifSx7aWQ6MTA0LGFscGhhMjoibW0iLGFscGhhMzoibW1yIixuYW1lOiJNeWFubWFyIn0se2lkOjUxNixhbHBoYTI6Im5hIixhbHBoYTM6Im5hbSIsbmFtZToiTmFtaWJpYSJ9LHtpZDo1MjAsYWxwaGEyOiJuciIsYWxwaGEzOiJucnUiLG5hbWU6Ik5hdXJ1In0se2lkOjUyNCxhbHBoYTI6Im5wIixhbHBoYTM6Im5wbCIsbmFtZToiTmVwYWwifSx7aWQ6NTI4LGFscGhhMjoibmwiLGFscGhhMzoibmxkIixuYW1lOiJOZXRoZXJsYW5kcyJ9LHtpZDo1NTQsYWxwaGEyOiJueiIsYWxwaGEzOiJuemwiLG5hbWU6Ik5ldyBaZWFsYW5kIn0se2lkOjU1OCxhbHBoYTI6Im5pIixhbHBoYTM6Im5pYyIsbmFtZToiTmljYXJhZ3VhIn0se2lkOjU2MixhbHBoYTI6Im5lIixhbHBoYTM6Im5lciIsbmFtZToiTmlnZXIifSx7aWQ6NTY2LGFscGhhMjoibmciLGFscGhhMzoibmdhIixuYW1lOiJOaWdlcmlhIn0se2lkOjgwNyxhbHBoYTI6Im1rIixhbHBoYTM6Im1rZCIsbmFtZToiTm9ydGggTWFjZWRvbmlhIn0se2lkOjU3OCxhbHBoYTI6Im5vIixhbHBoYTM6Im5vciIsbmFtZToiTm9yd2F5In0se2lkOjUxMixhbHBoYTI6Im9tIixhbHBoYTM6Im9tbiIsbmFtZToiT21hbiJ9LHtpZDo1ODYsYWxwaGEyOiJwayIsYWxwaGEzOiJwYWsiLG5hbWU6IlBha2lzdGFuIn0se2lkOjU4NSxhbHBoYTI6InB3IixhbHBoYTM6InBsdyIsbmFtZToiUGFsYXUifSx7aWQ6NTkxLGFscGhhMjoicGEiLGFscGhhMzoicGFuIixuYW1lOiJQYW5hbWEifSx7aWQ6NTk4LGFscGhhMjoicGciLGFscGhhMzoicG5nIixuYW1lOiJQYXB1YSBOZXcgR3VpbmVhIn0se2lkOjYwMCxhbHBoYTI6InB5IixhbHBoYTM6InByeSIsbmFtZToiUGFyYWd1YXkifSx7aWQ6NjA0LGFscGhhMjoicGUiLGFscGhhMzoicGVyIixuYW1lOiJQZXJ1In0se2lkOjYwOCxhbHBoYTI6InBoIixhbHBoYTM6InBobCIsbmFtZToiUGhpbGlwcGluZXMifSx7aWQ6NjE2LGFscGhhMjoicGwiLGFscGhhMzoicG9sIixuYW1lOiJQb2xhbmQifSx7aWQ6NjIwLGFscGhhMjoicHQiLGFscGhhMzoicHJ0IixuYW1lOiJQb3J0dWdhbCJ9LHtpZDo2MzQsYWxwaGEyOiJxYSIsYWxwaGEzOiJxYXQiLG5hbWU6IlFhdGFyIn0se2lkOjY0MixhbHBoYTI6InJvIixhbHBoYTM6InJvdSIsbmFtZToiUm9tYW5pYSJ9LHtpZDo2NDMsYWxwaGEyOiJydSIsYWxwaGEzOiJydXMiLG5hbWU6IlJ1c3NpYW4gRmVkZXJhdGlvbiJ9LHtpZDo2NDYsYWxwaGEyOiJydyIsYWxwaGEzOiJyd2EiLG5hbWU6IlJ3YW5kYSJ9LHtpZDo2NTksYWxwaGEyOiJrbiIsYWxwaGEzOiJrbmEiLG5hbWU6IlNhaW50IEtpdHRzIGFuZCBOZXZpcyJ9LHtpZDo2NjIsYWxwaGEyOiJsYyIsYWxwaGEzOiJsY2EiLG5hbWU6IlNhaW50IEx1Y2lhIn0se2lkOjY3MCxhbHBoYTI6InZjIixhbHBoYTM6InZjdCIsbmFtZToiU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMifSx7aWQ6ODgyLGFscGhhMjoid3MiLGFscGhhMzoid3NtIixuYW1lOiJTYW1vYSJ9LHtpZDo2NzQsYWxwaGEyOiJzbSIsYWxwaGEzOiJzbXIiLG5hbWU6IlNhbiBNYXJpbm8ifSx7aWQ6Njc4LGFscGhhMjoic3QiLGFscGhhMzoic3RwIixuYW1lOiJTYW8gVG9tZSBhbmQgUHJpbmNpcGUifSx7aWQ6NjgyLGFscGhhMjoic2EiLGFscGhhMzoic2F1IixuYW1lOiJTYXVkaSBBcmFiaWEifSx7aWQ6Njg2LGFscGhhMjoic24iLGFscGhhMzoic2VuIixuYW1lOiJTZW5lZ2FsIn0se2lkOjY4OCxhbHBoYTI6InJzIixhbHBoYTM6InNyYiIsbmFtZToiU2VyYmlhIn0se2lkOjY5MCxhbHBoYTI6InNjIixhbHBoYTM6InN5YyIsbmFtZToiU2V5Y2hlbGxlcyJ9LHtpZDo2OTQsYWxwaGEyOiJzbCIsYWxwaGEzOiJzbGUiLG5hbWU6IlNpZXJyYSBMZW9uZSJ9LHtpZDo3MDIsYWxwaGEyOiJzZyIsYWxwaGEzOiJzZ3AiLG5hbWU6IlNpbmdhcG9yZSJ9LHtpZDo3MDMsYWxwaGEyOiJzayIsYWxwaGEzOiJzdmsiLG5hbWU6IlNsb3Zha2lhIn0se2lkOjcwNSxhbHBoYTI6InNpIixhbHBoYTM6InN2biIsbmFtZToiU2xvdmVuaWEifSx7aWQ6OTAsYWxwaGEyOiJzYiIsYWxwaGEzOiJzbGIiLG5hbWU6IlNvbG9tb24gSXNsYW5kcyJ9LHtpZDo3MDYsYWxwaGEyOiJzbyIsYWxwaGEzOiJzb20iLG5hbWU6IlNvbWFsaWEifSx7aWQ6NzEwLGFscGhhMjoiemEiLGFscGhhMzoiemFmIixuYW1lOiJTb3V0aCBBZnJpY2EifSx7aWQ6NzI4LGFscGhhMjoic3MiLGFscGhhMzoic3NkIixuYW1lOiJTb3V0aCBTdWRhbiJ9LHtpZDo3MjQsYWxwaGEyOiJlcyIsYWxwaGEzOiJlc3AiLG5hbWU6IlNwYWluIn0se2lkOjE0NCxhbHBoYTI6ImxrIixhbHBoYTM6ImxrYSIsbmFtZToiU3JpIExhbmthIn0se2lkOjcyOSxhbHBoYTI6InNkIixhbHBoYTM6InNkbiIsbmFtZToiU3VkYW4ifSx7aWQ6NzQwLGFscGhhMjoic3IiLGFscGhhMzoic3VyIixuYW1lOiJTdXJpbmFtZSJ9LHtpZDo3NTIsYWxwaGEyOiJzZSIsYWxwaGEzOiJzd2UiLG5hbWU6IlN3ZWRlbiJ9LHtpZDo3NTYsYWxwaGEyOiJjaCIsYWxwaGEzOiJjaGUiLG5hbWU6IlN3aXR6ZXJsYW5kIn0se2lkOjc2MCxhbHBoYTI6InN5IixhbHBoYTM6InN5ciIsbmFtZToiU3lyaWFuIEFyYWIgUmVwdWJsaWMifSx7aWQ6NzYyLGFscGhhMjoidGoiLGFscGhhMzoidGprIixuYW1lOiJUYWppa2lzdGFuIn0se2lkOjgzNCxhbHBoYTI6InR6IixhbHBoYTM6InR6YSIsbmFtZToiVGFuemFuaWEsIFVuaXRlZCBSZXB1YmxpYyBvZiJ9LHtpZDo3NjQsYWxwaGEyOiJ0aCIsYWxwaGEzOiJ0aGEiLG5hbWU6IlRoYWlsYW5kIn0se2lkOjYyNixhbHBoYTI6InRsIixhbHBoYTM6InRscyIsbmFtZToiVGltb3ItTGVzdGUifSx7aWQ6NzY4LGFscGhhMjoidGciLGFscGhhMzoidGdvIixuYW1lOiJUb2dvIn0se2lkOjc3NixhbHBoYTI6InRvIixhbHBoYTM6InRvbiIsbmFtZToiVG9uZ2EifSx7aWQ6NzgwLGFscGhhMjoidHQiLGFscGhhMzoidHRvIixuYW1lOiJUcmluaWRhZCBhbmQgVG9iYWdvIn0se2lkOjc4OCxhbHBoYTI6InRuIixhbHBoYTM6InR1biIsbmFtZToiVHVuaXNpYSJ9LHtpZDo3OTIsYWxwaGEyOiJ0ciIsYWxwaGEzOiJ0dXIiLG5hbWU6IlTDvHJraXllIn0se2lkOjc5NSxhbHBoYTI6InRtIixhbHBoYTM6InRrbSIsbmFtZToiVHVya21lbmlzdGFuIn0se2lkOjc5OCxhbHBoYTI6InR2IixhbHBoYTM6InR1diIsbmFtZToiVHV2YWx1In0se2lkOjgwMCxhbHBoYTI6InVnIixhbHBoYTM6InVnYSIsbmFtZToiVWdhbmRhIn0se2lkOjgwNCxhbHBoYTI6InVhIixhbHBoYTM6InVrciIsbmFtZToiVWtyYWluZSJ9LHtpZDo3ODQsYWxwaGEyOiJhZSIsYWxwaGEzOiJhcmUiLG5hbWU6IlVuaXRlZCBBcmFiIEVtaXJhdGVzIn0se2lkOjgyNixhbHBoYTI6ImdiIixhbHBoYTM6ImdiciIsbmFtZToiVW5pdGVkIEtpbmdkb20gb2YgR3JlYXQgQnJpdGFpbiBhbmQgTm9ydGhlcm4gSXJlbGFuZCJ9LHtpZDo4NDAsYWxwaGEyOiJ1cyIsYWxwaGEzOiJ1c2EiLG5hbWU6IlVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSJ9LHtpZDo4NTgsYWxwaGEyOiJ1eSIsYWxwaGEzOiJ1cnkiLG5hbWU6IlVydWd1YXkifSx7aWQ6ODYwLGFscGhhMjoidXoiLGFscGhhMzoidXpiIixuYW1lOiJVemJla2lzdGFuIn0se2lkOjU0OCxhbHBoYTI6InZ1IixhbHBoYTM6InZ1dCIsbmFtZToiVmFudWF0dSJ9LHtpZDo4NjIsYWxwaGEyOiJ2ZSIsYWxwaGEzOiJ2ZW4iLG5hbWU6IlZlbmV6dWVsYSAoQm9saXZhcmlhbiBSZXB1YmxpYyBvZikifSx7aWQ6NzA0LGFscGhhMjoidm4iLGFscGhhMzoidm5tIixuYW1lOiJWaWV0IE5hbSJ9LHtpZDo4ODcsYWxwaGEyOiJ5ZSIsYWxwaGEzOiJ5ZW0iLG5hbWU6IlllbWVuIn0se2lkOjg5NCxhbHBoYTI6InptIixhbHBoYTM6InptYiIsbmFtZToiWmFtYmlhIn0se2lkOjcxNixhbHBoYTI6Inp3IixhbHBoYTM6Inp3ZSIsbmFtZToiWmltYmFid2UifV0sbFI9dD0+e3N3aXRjaCh0KXtjYXNlImRlIjpyZXR1cm4gb1I7Y2FzZSJlbiI6ZGVmYXVsdDpyZXR1cm4gYVJ9fSxHYT10PT57Y29uc3QgZT1sUih0KSxuPWUuZmluZChvPT5vLmFscGhhMj09PSJhdCIpLHI9ZS5maW5kKG89Pm8uYWxwaGEyPT09ImRlIiksaT1lLmZpbmQobz0+by5hbHBoYTI9PT0iY2giKSxzPWUuZmlsdGVyKG89Pm8hPT1uJiZvIT09ciYmbyE9PWkpLnNvcnQoKG8sYSk9Pm8ubmFtZS5sb2NhbGVDb21wYXJlKGEubmFtZSkpO3JldHVybltuLHIsaSwuLi5zXS5maWx0ZXIoQm9vbGVhbil9LHRmPXtuYW1lOnQ9Pnt2YXIgZTtyZXR1cm4hISgoZT10Lm5hbWUpIT1udWxsJiZlLnRyaW0oKSl9LGVtYWlsOnQ9Pnt2YXIgZSxuO3JldHVybiEhKChuPShlPXQuY29tbXVuaWNhdGlvbik9PW51bGw/dm9pZCAwOmUuZW1haWwpIT1udWxsJiZuLnRyaW0oKSl9LHBob25lOnQ9Pnt2YXIgZSxuO3JldHVybiEhKChuPShlPXQuY29tbXVuaWNhdGlvbik9PW51bGw/dm9pZCAwOmUucGhvbmUpIT1udWxsJiZuLnRyaW0oKSl9LGRhdGVPZkJpcnRoOnQ9PiEhdC5kYXRlT2ZCaXJ0aCxsaW5lMTp0PT57dmFyIGUsbjtyZXR1cm4hISgobj0oZT10LmFkZHJlc3MpPT1udWxsP3ZvaWQgMDplLmxpbmUxKSE9bnVsbCYmbi50cmltKCkpfSxwb3N0YWxDb2RlOnQ9Pnt2YXIgZSxuO3JldHVybiEhKChuPShlPXQuYWRkcmVzcyk9PW51bGw/dm9pZCAwOmUucG9zdGFsQ29kZSkhPW51bGwmJm4udHJpbSgpKX0sY2l0eTp0PT57dmFyIGUsbjtyZXR1cm4hISgobj0oZT10LmFkZHJlc3MpPT1udWxsP3ZvaWQgMDplLmNpdHkpIT1udWxsJiZuLnRyaW0oKSl9LGNvdW50cnk6dD0+e3ZhciBlO3JldHVybiEhKChlPXQuYWRkcmVzcykhPW51bGwmJmUuY291bnRyeSl9LG5hdGlvbmFsaXR5OnQ9PiEhdC5uYXRpb25hbGl0eSxkb2N1bWVudHM6dD0+ISF0LmZpbGVzJiZ0LmZpbGVzLmxlbmd0aD4wfSxjUj1PYmplY3Qua2V5cyh0ZiksdTA9KHQsZSk9PnQ/dFtlXT8/dm9pZCAwOnZvaWQgMCx1Uj0odCxlLG4pPT57aWYodD09PSJuYW1lIiYmZSlyZXR1cm4hMDtjb25zdCByPXUwKG4sdCk7cmV0dXJuIHI/ZT8hIXIubWFpblNob3c6ISFyLmFkZGl0aW9uYWxTaG93OiEwfSxkMD0odCxlLG4scj0hMSk9PntpZih0PT09Im5hbWUiJiZlKXJldHVybiEwO2lmKHQ9PT0iZG9jdW1lbnRzIiYmcilyZXR1cm4hMTtjb25zdCBpPXUwKG4sdCk7cmV0dXJuIGk/KGU/ISFpLm1haW5TaG93OiEhaS5hZGRpdGlvbmFsU2hvdyk/ZT8hIWkubWFpblJlcXVpcmVkOiEhaS5hZGRpdGlvbmFsUmVxdWlyZWQ6ITE6dD09PSJlbWFpbCJ8fHQ9PT0icGhvbmUiPyExOnQ9PT0iZG9jdW1lbnRzIj9lJiYhcjohMH0sZFI9KHQsZSxuPSExKT0+Y1IuZmlsdGVyKHI9PmQwKHIsdCxlLG4pKSxidT0odCxlLG4scj0hMSk9PiEhdCYmZFIoZSxuLHIpLmV2ZXJ5KGk9PnRmW2ldKHQpKSxmUj17Y2xhc3M6ImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLTQifSxoUj17a2V5OjAsY2xhc3M6ImNvbC1zcGFuLTIgc3BhY2UteS0yIn0sbVI9e2ZvcjoibmFtZSIsY2xhc3M6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgdGV4dC1zbSBmb250LW1lZGl1bSBsZWFkaW5nLTYgdGV4dC1ncmF5LTkwMCJ9LHBSPVsidGl0bGUiXSxnUj17a2V5OjEsY2xhc3M6InRleHQteHMgZm9udC1ub3JtYWwgdGV4dC1ncmF5LTQwMCJ9LHlSPVsiZGlzYWJsZWQiXSx2Uj17a2V5OjEsY2xhc3M6InNwYWNlLXktMiJ9LF9SPXtmb3I6ImVtYWlsIixjbGFzczoiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSB0ZXh0LXNtIGZvbnQtbWVkaXVtIGxlYWRpbmctNiB0ZXh0LWdyYXktOTAwIn0sYlI9WyJ0aXRsZSJdLHdSPXtrZXk6MSxjbGFzczoidGV4dC14cyBmb250LW5vcm1hbCB0ZXh0LWdyYXktNDAwIn0sa1I9WyJkaXNhYmxlZCJdLFNSPXtrZXk6MixjbGFzczoic3BhY2UteS0yIn0sVFI9e2ZvcjoicGhvbmUiLGNsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy02IHRleHQtZ3JheS05MDAifSxFUj1bInRpdGxlIl0seFI9e2tleToxLGNsYXNzOiJ0ZXh0LXhzIGZvbnQtbm9ybWFsIHRleHQtZ3JheS00MDAifSxBUj1bImRpc2FibGVkIl0sT1I9e2tleTozLGNsYXNzOiJjb2wtc3Bhbi0yIHNwYWNlLXktMiJ9LENSPXtmb3I6ImRhdGVfb2ZfYmlydGgiLGNsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy02IHRleHQtZ3JheS05MDAifSxQUj1bInRpdGxlIl0sSVI9e2tleToxLGNsYXNzOiJ0ZXh0LXhzIGZvbnQtbm9ybWFsIHRleHQtZ3JheS00MDAifSxOUj1bInZhbHVlIiwibWluIiwibWF4IiwiZGlzYWJsZWQiXSxSUj17a2V5OjQsY2xhc3M6ImNvbC1zcGFuLTIgc3BhY2UteS0yIn0sRFI9e2ZvcjoiYWRkcmVzc19saW5lMSIsY2xhc3M6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgdGV4dC1zbSBmb250LW1lZGl1bSBsZWFkaW5nLTYgdGV4dC1ncmF5LTkwMCJ9LE1SPVsidGl0bGUiXSxMUj17a2V5OjEsY2xhc3M6InRleHQteHMgZm9udC1ub3JtYWwgdGV4dC1ncmF5LTQwMCJ9LEZSPVsiZGlzYWJsZWQiXSwkUj17a2V5OjUsY2xhc3M6InNwYWNlLXktMiJ9LGpSPXtmb3I6ImFkZHJlc3NfcG9zdGFsX2NvZGUiLGNsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy02IHRleHQtZ3JheS05MDAifSxCUj1bInRpdGxlIl0sVVI9e2tleToxLGNsYXNzOiJ0ZXh0LXhzIGZvbnQtbm9ybWFsIHRleHQtZ3JheS00MDAifSxWUj1bImRpc2FibGVkIl0sV1I9e2tleTo2LGNsYXNzOiJzcGFjZS15LTIifSxHUj17Zm9yOiJhZGRyZXNzX2NpdHkiLGNsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy02IHRleHQtZ3JheS05MDAifSx6Uj1bInRpdGxlIl0sSFI9e2tleToxLGNsYXNzOiJ0ZXh0LXhzIGZvbnQtbm9ybWFsIHRleHQtZ3JheS00MDAifSxKUj1bImRpc2FibGVkIl0scVI9e2tleTo3LGNsYXNzOiJzcGFjZS15LTIifSxaUj17Zm9yOiJhZGRyZXNzX2NvdW50cnkiLGNsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy02IHRleHQtZ3JheS05MDAifSxLUj1bInRpdGxlIl0sWVI9e2tleToxLGNsYXNzOiJ0ZXh0LXhzIGZvbnQtbm9ybWFsIHRleHQtZ3JheS00MDAifSxYUj1bImRpc2FibGVkIl0sUVI9WyJ2YWx1ZSJdLGVEPXtrZXk6OCxjbGFzczoic3BhY2UteS0yIn0sdEQ9e2ZvcjoibmF0aW9uYWxpdHkiLGNsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy02IHRleHQtZ3JheS05MDAifSxuRD1bInRpdGxlIl0sckQ9e2tleToxLGNsYXNzOiJ0ZXh0LXhzIGZvbnQtbm9ybWFsIHRleHQtZ3JheS00MDAifSxpRD1bImRpc2FibGVkIl0sc0Q9WyJ2YWx1ZSJdLG9EPXtrZXk6OSxjbGFzczoiY29sLXNwYW4tMiBmbGV4IGZsZXgtY29sIHNwYWNlLXktMiJ9LGFEPXtmb3I6ImRvY3VtZW50cyIsY2xhc3M6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgdGV4dC1zbSBmb250LW1lZGl1bSBsZWFkaW5nLTYgdGV4dC1ncmF5LTkwMCJ9LGxEPVsidGl0bGUiXSxjRD17a2V5OjEsY2xhc3M6InRleHQteHMgZm9udC1ub3JtYWwgdGV4dC1ncmF5LTQwMCJ9LGhyPSJibG9jayB3LWZ1bGwgcm91bmRlZC1tZCBib3JkZXItMCBweS0xLjUgdGV4dC1ncmF5LTkwMCBzaGFkb3ctc20gcmluZy0xIHJpbmctaW5zZXQgcGxhY2Vob2xkZXI6dGV4dC1ncmF5LTQwMCBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1pbnNldCBmb2N1czpyaW5nLXByaW1hcnktNjAwIGRpc2FibGVkOm9wYWNpdHktNzAgc206dGV4dC1zbSBzbTpsZWFkaW5nLTYiLHVEPU5lKHtfX25hbWU6Ikd1ZXN0Rm9ybSIscHJvcHM6Y28oe3VwbG9hZGluZ0ZpbGU6e3R5cGU6Qm9vbGVhbn0saXNNYWluR3Vlc3Q6e3R5cGU6Qm9vbGVhbn19LHttb2RlbFZhbHVlOnt9LG1vZGVsTW9kaWZpZXJzOnt9fSksZW1pdHM6Y28oWyJmaWxlQ2hhbmdlZCIsImZpbGVEZWxldGVkIiwiY29tbWl0Il0sWyJ1cGRhdGU6bW9kZWxWYWx1ZSJdKSxzZXR1cCh0LHtlbWl0OmV9KXtjb25zdHt0Om4sbG9jYWxlOnJ9PVd0KCksaT10aSgpLHM9Y2wodCwibW9kZWxWYWx1ZSIpLG89dCxhPWUsbD1FPT57YSgiZmlsZUNoYW5nZWQiLEUpfSxjPUU9PnthKCJmaWxlRGVsZXRlZCIsRSl9LHU9b2UoKCk9Pnt2YXIgdztjb25zdCBFPSh3PXMudmFsdWUpIT1udWxsJiZ3LmRhdGVPZkJpcnRoP09lLmZyb21KU0RhdGUocy52YWx1ZS5kYXRlT2ZCaXJ0aCk6bnVsbDtyZXR1cm4gRT9FLnRvRm9ybWF0KCJ5eXl5LU1NLWRkIik6bnVsbH0pLGQ9T2Uubm93KCkubWludXMoe3llYXJzOjF9KS50b0Zvcm1hdCgieXl5eS1NTS1kZCIpLGY9T2Uubm93KCkubWludXMoe3llYXJzOjExMH0pLnRvRm9ybWF0KCJ5eXl5LU1NLWRkIiksaD1FPT57Y29uc3Qgdz1PZS5mcm9tSVNPKEUpLFI9RT49ZiYmRTw9ZDtFJiZ3LmlzVmFsaWQmJlI/cy52YWx1ZS5kYXRlT2ZCaXJ0aD13LnRvSlNEYXRlKCk6cy52YWx1ZS5kYXRlT2ZCaXJ0aD12b2lkIDB9LG09c2UoW10pO20udmFsdWU9R2Eoci52YWx1ZSksZ3QocixFPT57bS52YWx1ZT1HYShFKX0pO2NvbnN0IHA9b2UoKCk9Pnt2YXIgRTtyZXR1cm4oKEU9aS5nZW5lcmFsU2V0dGluZ3MpPT1udWxsP3ZvaWQgMDpFLmd1ZXN0Rm9ybSk/P251bGx9KSxrPW9lKCgpPT57dmFyIEUsdyxSO3JldHVybiEhKChFPWkuZ2VuZXJhbFNldHRpbmdzKSE9bnVsbCYmRS5mZWF0dXJlU2tpcERvY3VtZW50Rm9yR2VybWFucykmJigoUj0odz1zLnZhbHVlKT09bnVsbD92b2lkIDA6dy5uYXRpb25hbGl0eSk9PW51bGw/dm9pZCAwOlIudG9VcHBlckNhc2UoKSk9PT0iREUifSkseD1FPT51UihFLG8uaXNNYWluR3Vlc3QscC52YWx1ZSksQz1FPT5kMChFLG8uaXNNYWluR3Vlc3QscC52YWx1ZSxrLnZhbHVlKSxiPUU9PiEhcy52YWx1ZSYmdGZbRV0ocy52YWx1ZSksVD1FPT5DKEUpP2IoRSk/ImJnLWdyZWVuLTUwIHJpbmctZ3JlZW4tNDAwIjoiYmctcmVkLTUwIHJpbmctcmVkLTQwMCI6ImJnLXdoaXRlIHJpbmctZ3JheS0zMDAiO3JldHVybihFLHcpPT5zLnZhbHVlPyhVKCksWigiZm9ybSIse2tleTowLGNsYXNzOiJtdC02IixvbkZvY3Vzb3V0OndbOV18fCh3WzldPVI9PmEoImNvbW1pdCIpKX0sW0EoImRpdiIsZlIsW3goIm5hbWUiKT8oVSgpLFooImRpdiIsaFIsW0EoImxhYmVsIixtUixbJGUoSyhTKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5uYW1lIikpKyIgIiwxKSxDKCJuYW1lIik/KFUoKSxaKCJzcGFuIix7a2V5OjAsY2xhc3M6RGUoWyJoLTIgdy0yIHNocmluay0wIHJvdW5kZWQtZnVsbCIsYigibmFtZSIpPyJiZy1ncmVlbi01MDAiOiJiZy1yZWQtNTAwIl0pLHRpdGxlOmIoIm5hbWUiKT9TKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5maWVsZF9vayIpOlMobikoInBvcnRhbC5ndWVzdF9mb3JtLmZpZWxkX21pc3NpbmciKX0sbnVsbCwxMCxwUikpOihVKCksWigic3BhbiIsZ1IsIigiK0soUyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0ub3B0aW9uYWwiKSkrIikiLDEpKV0pLEEoImRpdiIsbnVsbCxbJHQoQSgiaW5wdXQiLHt0eXBlOiJ0ZXh0IixuYW1lOiJuYW1lIixpZDoibmFtZSIsY2xhc3M6RGUoW2hyLFQoIm5hbWUiKV0pLHBsYWNlaG9sZGVyOiJNYXggTXVzdGVybWFubiIsIm9uVXBkYXRlOm1vZGVsVmFsdWUiOndbMF18fCh3WzBdPVI9PnMudmFsdWUubmFtZT1SKSxkaXNhYmxlZDpTKGkpLmNoZWNrZWRJbn0sbnVsbCwxMCx5UiksW1tCbixzLnZhbHVlLm5hbWVdXSldKV0pKTpNZSgiIiwhMCkseCgiZW1haWwiKT8oVSgpLFooImRpdiIsdlIsW0EoImxhYmVsIixfUixbJGUoSyhTKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5lbWFpbCIpKSsiICIsMSksQygiZW1haWwiKT8oVSgpLFooInNwYW4iLHtrZXk6MCxjbGFzczpEZShbImgtMiB3LTIgc2hyaW5rLTAgcm91bmRlZC1mdWxsIixiKCJlbWFpbCIpPyJiZy1ncmVlbi01MDAiOiJiZy1yZWQtNTAwIl0pLHRpdGxlOmIoImVtYWlsIik/UyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0uZmllbGRfb2siKTpTKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5maWVsZF9taXNzaW5nIil9LG51bGwsMTAsYlIpKTooVSgpLFooInNwYW4iLHdSLCIoIitLKFMobikoInBvcnRhbC5ndWVzdF9mb3JtLm9wdGlvbmFsIikpKyIpIiwxKSldKSxBKCJkaXYiLG51bGwsWyR0KEEoImlucHV0Iix7dHlwZToiZW1haWwiLG5hbWU6ImVtYWlsIixpZDoiZW1haWwiLGNsYXNzOkRlKFtocixUKCJlbWFpbCIpXSkscGxhY2Vob2xkZXI6Im1heC5tdXN0ZXJtYW5uQGV4YW1wbGUuY29tIiwib25VcGRhdGU6bW9kZWxWYWx1ZSI6d1sxXXx8KHdbMV09Uj0+cy52YWx1ZS5jb21tdW5pY2F0aW9uLmVtYWlsPVIpLGRpc2FibGVkOlMoaSkuY2hlY2tlZElufSxudWxsLDEwLGtSKSxbW0JuLHMudmFsdWUuY29tbXVuaWNhdGlvbi5lbWFpbF1dKV0pXSkpOk1lKCIiLCEwKSx4KCJwaG9uZSIpPyhVKCksWigiZGl2IixTUixbQSgibGFiZWwiLFRSLFskZShLKFMobikoInBvcnRhbC5ndWVzdF9mb3JtLnBob25lIikpKyIgIiwxKSxDKCJwaG9uZSIpPyhVKCksWigic3BhbiIse2tleTowLGNsYXNzOkRlKFsiaC0yIHctMiBzaHJpbmstMCByb3VuZGVkLWZ1bGwiLGIoInBob25lIik/ImJnLWdyZWVuLTUwMCI6ImJnLXJlZC01MDAiXSksdGl0bGU6YigicGhvbmUiKT9TKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5maWVsZF9vayIpOlMobikoInBvcnRhbC5ndWVzdF9mb3JtLmZpZWxkX21pc3NpbmciKX0sbnVsbCwxMCxFUikpOihVKCksWigic3BhbiIseFIsIigiK0soUyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0ub3B0aW9uYWwiKSkrIikiLDEpKV0pLEEoImRpdiIsbnVsbCxbJHQoQSgiaW5wdXQiLHt0eXBlOiJ0ZWwiLG5hbWU6InBob25lIixpZDoicGhvbmUiLGNsYXNzOkRlKFtocixUKCJwaG9uZSIpXSkscGxhY2Vob2xkZXI6Iis0MyA2NjAgMTIzNDU2NyIsIm9uVXBkYXRlOm1vZGVsVmFsdWUiOndbMl18fCh3WzJdPVI9PnMudmFsdWUuY29tbXVuaWNhdGlvbi5waG9uZT1SKSxkaXNhYmxlZDpTKGkpLmNoZWNrZWRJbn0sbnVsbCwxMCxBUiksW1tCbixzLnZhbHVlLmNvbW11bmljYXRpb24ucGhvbmVdXSldKV0pKTpNZSgiIiwhMCkseCgiZGF0ZU9mQmlydGgiKT8oVSgpLFooImRpdiIsT1IsW0EoImxhYmVsIixDUixbJGUoSyhTKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5kYXRlX29mX2JpcnRoIikpKyIgIiwxKSxDKCJkYXRlT2ZCaXJ0aCIpPyhVKCksWigic3BhbiIse2tleTowLGNsYXNzOkRlKFsiaC0yIHctMiBzaHJpbmstMCByb3VuZGVkLWZ1bGwiLGIoImRhdGVPZkJpcnRoIik/ImJnLWdyZWVuLTUwMCI6ImJnLXJlZC01MDAiXSksdGl0bGU6YigiZGF0ZU9mQmlydGgiKT9TKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5maWVsZF9vayIpOlMobikoInBvcnRhbC5ndWVzdF9mb3JtLmZpZWxkX21pc3NpbmciKX0sbnVsbCwxMCxQUikpOihVKCksWigic3BhbiIsSVIsIigiK0soUyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0ub3B0aW9uYWwiKSkrIikiLDEpKV0pLEEoImRpdiIsbnVsbCxbQSgiaW5wdXQiLHt0eXBlOiJkYXRlIixuYW1lOiJkYXRlX29mX2JpcnRoIixpZDoiZGF0ZV9vZl9iaXJ0aCIsY2xhc3M6RGUoW2hyLFQoImRhdGVPZkJpcnRoIildKSxwbGFjZWhvbGRlcjoiMDEuMDkuMTk5NSIsdmFsdWU6dS52YWx1ZSxtaW46UyhmKSxtYXg6UyhkKSxvbkNoYW5nZTp3WzNdfHwod1szXT1SPT5oKFIudGFyZ2V0LnZhbHVlKSksZGlzYWJsZWQ6UyhpKS5jaGVja2VkSW59LG51bGwsNDIsTlIpXSldKSk6TWUoIiIsITApLHgoImxpbmUxIik/KFUoKSxaKCJkaXYiLFJSLFtBKCJsYWJlbCIsRFIsWyRlKEsoUyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0uc3RyZWV0IikpKyIgIiwxKSxDKCJsaW5lMSIpPyhVKCksWigic3BhbiIse2tleTowLGNsYXNzOkRlKFsiaC0yIHctMiBzaHJpbmstMCByb3VuZGVkLWZ1bGwiLGIoImxpbmUxIik/ImJnLWdyZWVuLTUwMCI6ImJnLXJlZC01MDAiXSksdGl0bGU6YigibGluZTEiKT9TKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5maWVsZF9vayIpOlMobikoInBvcnRhbC5ndWVzdF9mb3JtLmZpZWxkX21pc3NpbmciKX0sbnVsbCwxMCxNUikpOihVKCksWigic3BhbiIsTFIsIigiK0soUyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0ub3B0aW9uYWwiKSkrIikiLDEpKV0pLEEoImRpdiIsbnVsbCxbJHQoQSgiaW5wdXQiLHt0eXBlOiJ0ZXh0IixuYW1lOiJhZGRyZXNzX2xpbmUxIixpZDoiYWRkcmVzc19saW5lMSIsY2xhc3M6RGUoW2hyLFQoImxpbmUxIildKSxwbGFjZWhvbGRlcjoiTXVzdGVyc3RyYcOfZSAxIiwib25VcGRhdGU6bW9kZWxWYWx1ZSI6d1s0XXx8KHdbNF09Uj0+cy52YWx1ZS5hZGRyZXNzLmxpbmUxPVIpLGRpc2FibGVkOlMoaSkuY2hlY2tlZElufSxudWxsLDEwLEZSKSxbW0JuLHMudmFsdWUuYWRkcmVzcy5saW5lMV1dKV0pXSkpOk1lKCIiLCEwKSx4KCJwb3N0YWxDb2RlIik/KFUoKSxaKCJkaXYiLCRSLFtBKCJsYWJlbCIsalIsWyRlKEsoUyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0ucG9zdGFsX2NvZGUiKSkrIiAiLDEpLEMoInBvc3RhbENvZGUiKT8oVSgpLFooInNwYW4iLHtrZXk6MCxjbGFzczpEZShbImgtMiB3LTIgc2hyaW5rLTAgcm91bmRlZC1mdWxsIixiKCJwb3N0YWxDb2RlIik/ImJnLWdyZWVuLTUwMCI6ImJnLXJlZC01MDAiXSksdGl0bGU6YigicG9zdGFsQ29kZSIpP1MobikoInBvcnRhbC5ndWVzdF9mb3JtLmZpZWxkX29rIik6UyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0uZmllbGRfbWlzc2luZyIpfSxudWxsLDEwLEJSKSk6KFUoKSxaKCJzcGFuIixVUiwiKCIrSyhTKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5vcHRpb25hbCIpKSsiKSIsMSkpXSksQSgiZGl2IixudWxsLFskdChBKCJpbnB1dCIse3R5cGU6InRleHQiLG5hbWU6ImFkZHJlc3NfcG9zdGFsX2NvZGUiLGlkOiJhZGRyZXNzX3Bvc3RhbF9jb2RlIixjbGFzczpEZShbaHIsVCgicG9zdGFsQ29kZSIpXSkscGxhY2Vob2xkZXI6IjQ2MjMiLCJvblVwZGF0ZTptb2RlbFZhbHVlIjp3WzVdfHwod1s1XT1SPT5zLnZhbHVlLmFkZHJlc3MucG9zdGFsQ29kZT1SKSxkaXNhYmxlZDpTKGkpLmNoZWNrZWRJbn0sbnVsbCwxMCxWUiksW1tCbixzLnZhbHVlLmFkZHJlc3MucG9zdGFsQ29kZV1dKV0pXSkpOk1lKCIiLCEwKSx4KCJjaXR5Iik/KFUoKSxaKCJkaXYiLFdSLFtBKCJsYWJlbCIsR1IsWyRlKEsoUyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0uY2l0eSIpKSsiICIsMSksQygiY2l0eSIpPyhVKCksWigic3BhbiIse2tleTowLGNsYXNzOkRlKFsiaC0yIHctMiBzaHJpbmstMCByb3VuZGVkLWZ1bGwiLGIoImNpdHkiKT8iYmctZ3JlZW4tNTAwIjoiYmctcmVkLTUwMCJdKSx0aXRsZTpiKCJjaXR5Iik/UyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0uZmllbGRfb2siKTpTKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5maWVsZF9taXNzaW5nIil9LG51bGwsMTAselIpKTooVSgpLFooInNwYW4iLEhSLCIoIitLKFMobikoInBvcnRhbC5ndWVzdF9mb3JtLm9wdGlvbmFsIikpKyIpIiwxKSldKSxBKCJkaXYiLG51bGwsWyR0KEEoImlucHV0Iix7dHlwZToidGV4dCIsbmFtZToiYWRkcmVzc19jaXR5IixpZDoiYWRkcmVzc19jaXR5IixjbGFzczpEZShbaHIsVCgiY2l0eSIpXSkscGxhY2Vob2xkZXI6Ikd1bnNraXJjaGVuIiwib25VcGRhdGU6bW9kZWxWYWx1ZSI6d1s2XXx8KHdbNl09Uj0+cy52YWx1ZS5hZGRyZXNzLmNpdHk9UiksZGlzYWJsZWQ6UyhpKS5jaGVja2VkSW59LG51bGwsMTAsSlIpLFtbQm4scy52YWx1ZS5hZGRyZXNzLmNpdHldXSldKV0pKTpNZSgiIiwhMCkseCgiY291bnRyeSIpPyhVKCksWigiZGl2IixxUixbQSgibGFiZWwiLFpSLFskZShLKFMobikoInBvcnRhbC5ndWVzdF9mb3JtLmNvdW50cnkiKSkrIiAiLDEpLEMoImNvdW50cnkiKT8oVSgpLFooInNwYW4iLHtrZXk6MCxjbGFzczpEZShbImgtMiB3LTIgc2hyaW5rLTAgcm91bmRlZC1mdWxsIixiKCJjb3VudHJ5Iik/ImJnLWdyZWVuLTUwMCI6ImJnLXJlZC01MDAiXSksdGl0bGU6YigiY291bnRyeSIpP1MobikoInBvcnRhbC5ndWVzdF9mb3JtLmZpZWxkX29rIik6UyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0uZmllbGRfbWlzc2luZyIpfSxudWxsLDEwLEtSKSk6KFUoKSxaKCJzcGFuIixZUiwiKCIrSyhTKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5vcHRpb25hbCIpKSsiKSIsMSkpXSksQSgiZGl2IixudWxsLFskdChBKCJzZWxlY3QiLHtuYW1lOiJhZGRyZXNzX2NvdW50cnkiLGlkOiJhZGRyZXNzX2NvdW50cnkiLGNsYXNzOkRlKFtocixUKCJjb3VudHJ5IildKSxwbGFjZWhvbGRlcjoiTGFuZCIsIm9uVXBkYXRlOm1vZGVsVmFsdWUiOndbN118fCh3WzddPVI9PnMudmFsdWUuYWRkcmVzcy5jb3VudHJ5PVIpLGRpc2FibGVkOlMoaSkuY2hlY2tlZElufSxbKFUoITApLFoocWUsbnVsbCx0bihtLnZhbHVlLFI9PihVKCksWigib3B0aW9uIix7a2V5OlIuYWxwaGEyLHZhbHVlOlIuYWxwaGEyfSxLKFIubmFtZSksOSxRUikpKSwxMjgpKV0sMTAsWFIpLFtbZm8scy52YWx1ZS5hZGRyZXNzLmNvdW50cnldXSldKV0pKTpNZSgiIiwhMCkseCgibmF0aW9uYWxpdHkiKT8oVSgpLFooImRpdiIsZUQsW0EoImxhYmVsIix0RCxbJGUoSyhTKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5uYXRpb25hbGl0eSIpKSsiICIsMSksQygibmF0aW9uYWxpdHkiKT8oVSgpLFooInNwYW4iLHtrZXk6MCxjbGFzczpEZShbImgtMiB3LTIgc2hyaW5rLTAgcm91bmRlZC1mdWxsIixiKCJuYXRpb25hbGl0eSIpPyJiZy1ncmVlbi01MDAiOiJiZy1yZWQtNTAwIl0pLHRpdGxlOmIoIm5hdGlvbmFsaXR5Iik/UyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0uZmllbGRfb2siKTpTKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5maWVsZF9taXNzaW5nIil9LG51bGwsMTAsbkQpKTooVSgpLFooInNwYW4iLHJELCIoIitLKFMobikoInBvcnRhbC5ndWVzdF9mb3JtLm9wdGlvbmFsIikpKyIpIiwxKSldKSxBKCJkaXYiLG51bGwsWyR0KEEoInNlbGVjdCIse25hbWU6Im5hdGlvbmFsaXR5IixpZDoibmF0aW9uYWxpdHkiLGNsYXNzOkRlKFtocixUKCJuYXRpb25hbGl0eSIpXSkscGxhY2Vob2xkZXI6Ik5hdGlvbmFsaXTDpHQiLCJvblVwZGF0ZTptb2RlbFZhbHVlIjp3WzhdfHwod1s4XT1SPT5zLnZhbHVlLm5hdGlvbmFsaXR5PVIpLGRpc2FibGVkOlMoaSkuY2hlY2tlZElufSxbKFUoITApLFoocWUsbnVsbCx0bihtLnZhbHVlLFI9PihVKCksWigib3B0aW9uIix7a2V5OlIuYWxwaGEyLHZhbHVlOlIuYWxwaGEyfSxLKFIubmFtZSksOSxzRCkpKSwxMjgpKV0sMTAsaUQpLFtbZm8scy52YWx1ZS5uYXRpb25hbGl0eV1dKV0pXSkpOk1lKCIiLCEwKSx4KCJkb2N1bWVudHMiKT8oVSgpLFooImRpdiIsb0QsW0EoImxhYmVsIixhRCxbJGUoSyhTKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5kb2N1bWVudHMiKSkrIiAiLDEpLEMoImRvY3VtZW50cyIpPyhVKCksWigic3BhbiIse2tleTowLGNsYXNzOkRlKFsiaC0yIHctMiBzaHJpbmstMCByb3VuZGVkLWZ1bGwiLGIoImRvY3VtZW50cyIpPyJiZy1ncmVlbi01MDAiOiJiZy1yZWQtNTAwIl0pLHRpdGxlOmIoImRvY3VtZW50cyIpP1MobikoInBvcnRhbC5ndWVzdF9mb3JtLmZpZWxkX29rIik6UyhuKSgicG9ydGFsLmd1ZXN0X2Zvcm0uZmllbGRfbWlzc2luZyIpfSxudWxsLDEwLGxEKSk6KFUoKSxaKCJzcGFuIixjRCwiKCIrSyhTKG4pKCJwb3J0YWwuZ3Vlc3RfZm9ybS5vcHRpb25hbCIpKSsiKSIsMSkpXSksQSgiZGl2Iix7Y2xhc3M6RGUoWyJmbGV4IGZsZXgtd3JhcCBnYXAtNCByb3VuZGVkLW1kIHAtMyByaW5nLTEiLEMoImRvY3VtZW50cyIpP2IoImRvY3VtZW50cyIpPyJiZy1ncmVlbi01MCByaW5nLWdyZWVuLTQwMCI6ImJnLXJlZC01MCByaW5nLXJlZC00MDAiOiJiZy1ncmF5LTUwIHJpbmctZ3JheS0zMDAiXSl9LFtlZShzUix7ZGlzYWJsZWQ6UyhpKS5jaGVja2VkSW4sY2xhc3M6IiFoLTMyICF3LTMyIHNocmluay0wIixvbkNoYW5nZWQ6bCx1cGxvYWRpbmc6RS51cGxvYWRpbmdGaWxlfSxudWxsLDgsWyJkaXNhYmxlZCIsInVwbG9hZGluZyJdKSwoVSghMCksWihxZSxudWxsLHRuKHMudmFsdWUuZmlsZXMsUj0+KFUoKSx0dChyUix7ZGVsZXRhYmxlOiFTKGkpLmNoZWNrZWRJbixjbGFzczoiaC0zMiB3LTMyIixrZXk6Ui5pZCxmaWxlOlIsb25EZWxldGVkOkQ9PmMoUi5pZCl9LG51bGwsOCxbImRlbGV0YWJsZSIsImZpbGUiLCJvbkRlbGV0ZWQiXSkpKSwxMjgpKV0sMildKSk6TWUoIiIsITApXSldLDMyKSk6TWUoIiIsITApfX0pLGREPXtjbGFzczoic3BhY2UteS0yIHNtOmhpZGRlbiJ9LGZEPXtmb3I6Imd1ZXN0cyIsY2xhc3M6ImJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy02IHRleHQtZ3JheS05MDAifSxoRD1bInZhbHVlIl0sbUQ9e2tleTowLGNsYXNzOiJzcGFjZS15LTEifSxwRD1BKCJzcGFuIix7Y2xhc3M6ImgtMiB3LTIgc2hyaW5rLTAgcm91bmRlZC1mdWxsIGJnLXJlZC01MDAifSxudWxsLC0xKSxnRD17Y2xhc3M6ImhpZGRlbiBzcGFjZS15LTIgc206YmxvY2sifSx5RD17Zm9yOiJndWVzdHMiLGNsYXNzOiJibG9jayB0ZXh0LXNtIGZvbnQtbWVkaXVtIGxlYWRpbmctNiB0ZXh0LWdyYXktOTAwIn0sdkQ9WyJhcmlhLWxhYmVsIl0sX0Q9WyJhcmlhLWN1cnJlbnQiLCJvbkNsaWNrIl0sYkQ9TmUoe19fbmFtZToiR3Vlc3RQaWNrZXIiLHByb3BzOmNvKHtndWVzdHM6e319LHttb2RlbFZhbHVlOnt9LG1vZGVsTW9kaWZpZXJzOnt9fSksZW1pdHM6WyJ1cGRhdGU6bW9kZWxWYWx1ZSJdLHNldHVwKHQpe2NvbnN0IGU9dCx7dDpufT1XdCgpLHI9dGkoKSxpPWNsKHQsIm1vZGVsVmFsdWUiKSxzPW9lKCgpPT57dmFyIGQ7cmV0dXJuKChkPXIuZ2VuZXJhbFNldHRpbmdzKT09bnVsbD92b2lkIDA6ZC5ndWVzdEZvcm0pPz9udWxsfSksbz1vZSgoKT0+e3ZhciBkO3JldHVybigoZD1zLnZhbHVlKT09bnVsbD92b2lkIDA6ZC5jb2xsZWN0QWRkaXRpb25hbEd1ZXN0cyk9PT0hMT9lLmd1ZXN0cy5zbGljZSgwLDEpOmUuZ3Vlc3RzfSksYT1kPT57dmFyIGYsaDtyZXR1cm4hISgoZj1yLmdlbmVyYWxTZXR0aW5ncykhPW51bGwmJmYuZmVhdHVyZVNraXBEb2N1bWVudEZvckdlcm1hbnMpJiYoKGg9ZC5uYXRpb25hbGl0eSk9PW51bGw/dm9pZCAwOmgudG9VcHBlckNhc2UoKSk9PT0iREUifSxsPShkLGYpPT57dmFyIGgsbTtyZXR1cm4gZC5uYW1lfHwoKGg9ZC5jb21tdW5pY2F0aW9uKT09bnVsbD92b2lkIDA6aC5lbWFpbCl8fCgobT1kLmNvbW11bmljYXRpb24pPT1udWxsP3ZvaWQgMDptLnBob25lKXx8bigicG9ydGFsLmd1ZXN0X3BpY2tlci5mYWxsYmFja19uYW1lIix7aW5kZXg6ZisxfSl9LGM9KGQsZik9PmJ1KGQsZj09PTAscy52YWx1ZSxhKGQpKSx1PW9lKCgpPT5vLnZhbHVlLm1hcCgoZCxmKT0+KHtndWVzdDpkLGluZGV4OmZ9KSkuZmlsdGVyKCh7Z3Vlc3Q6ZCxpbmRleDpmfSk9PiFjKGQsZikpKTtyZXR1cm4oZCxmKT0+KFUoKSxaKCJkaXYiLG51bGwsW0EoImRpdiIsZEQsW0EoImxhYmVsIixmRCxLKFMobikoInBvcnRhbC5ndWVzdF9waWNrZXIubGFiZWxfc2luZ3VsYXIiKSksMSksJHQoQSgic2VsZWN0Iix7aWQ6Imd1ZXN0cyIsbmFtZToiZ3Vlc3RzIixjbGFzczpEZShbImJsb2NrIHctZnVsbCByb3VuZGVkLW1kIGJvcmRlci0wIHB5LTEuNSB0ZXh0LWdyYXktOTAwIHNoYWRvdy1zbSByaW5nLTEgcmluZy1pbnNldCBwbGFjZWhvbGRlcjp0ZXh0LWdyYXktNDAwIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWluc2V0IGZvY3VzOnJpbmctcHJpbWFyeS02MDAgc206dGV4dC1zbSBzbTpsZWFkaW5nLTYiLHUudmFsdWUubGVuZ3RoPT09MD8iYmctZ3JlZW4tNTAgcmluZy1ncmVlbi00MDAiOiJiZy1yZWQtNTAgcmluZy1yZWQtNDAwIl0pLCJvblVwZGF0ZTptb2RlbFZhbHVlIjpmWzBdfHwoZlswXT1oPT5pLnZhbHVlPWgpfSxbKFUoITApLFoocWUsbnVsbCx0bihvLnZhbHVlLChoLG0pPT4oVSgpLFooIm9wdGlvbiIse2tleTpoLmlkLHZhbHVlOmh9LEsoKGMoaCxtKT8i4pyTICI6IuKaoCAiKStsKGgsbSkpLDksaEQpKSksMTI4KSldLDIpLFtbZm8saS52YWx1ZV1dKSx1LnZhbHVlLmxlbmd0aD4wPyhVKCksWigidWwiLG1ELFsoVSghMCksWihxZSxudWxsLHRuKHUudmFsdWUsKHtndWVzdDpoLGluZGV4Om19KT0+KFUoKSxaKCJsaSIse2tleTpoLmlkLGNsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXNtIHRleHQtcmVkLTcwMCJ9LFtwRCwkZSgiICIrSyhTKG4pKCJwb3J0YWwuZ3Vlc3RfcGlja2VyLmluY29tcGxldGUiLHtuYW1lOmwoaCxtKX0pKSwxKV0pKSksMTI4KSldKSk6TWUoIiIsITApXSksQSgiZGl2IixnRCxbQSgibGFiZWwiLHlELEsoUyhuKSgicG9ydGFsLmd1ZXN0X3BpY2tlci5sYWJlbF9wbHVyYWwiKSksMSksQSgibmF2Iix7Y2xhc3M6ImZsZXggZmxleC13cmFwIGdhcC0yIiwiYXJpYS1sYWJlbCI6UyhuKSgicG9ydGFsLmd1ZXN0X3BpY2tlci5sYWJlbF9wbHVyYWwiKX0sWyhVKCEwKSxaKHFlLG51bGwsdG4oby52YWx1ZSwoaCxtKT0+e3ZhciBwLGs7cmV0dXJuIFUoKSxaKCJidXR0b24iLHtrZXk6aC5pZCxjbGFzczpEZShbImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHJvdW5kZWQtbWQgcHgtMyBweS0yIHRleHQtc20gZm9udC1tZWRpdW0iLGMoaCxtKT8iYmctZ3JlZW4tNTAiOiJiZy1yZWQtNTAiLCgocD1pLnZhbHVlKT09bnVsbD92b2lkIDA6cC5pZCk9PT1oLmlkPyJ0ZXh0LXByaW1hcnktNzAwIHJpbmctMiByaW5nLXByaW1hcnktNTAwIjpjKGgsbSk/InRleHQtZ3JlZW4tODAwIHJpbmctMSByaW5nLWdyZWVuLTMwMCBob3ZlcjpiZy1ncmVlbi0xMDAiOiJ0ZXh0LXJlZC04MDAgcmluZy0xIHJpbmctcmVkLTMwMCBob3ZlcjpiZy1yZWQtMTAwIl0pLCJhcmlhLWN1cnJlbnQiOigoaz1pLnZhbHVlKT09bnVsbD92b2lkIDA6ay5pZCk9PT1oLmlkPyJwYWdlIjp2b2lkIDAsb25DbGljazp4PT5pLnZhbHVlPWh9LFtBKCJzcGFuIix7Y2xhc3M6RGUoWyJoLTIgdy0yIHNocmluay0wIHJvdW5kZWQtZnVsbCIsYyhoLG0pPyJiZy1ncmVlbi01MDAiOiJiZy1yZWQtNTAwIl0pfSxudWxsLDIpLCRlKCIgIitLKGwoaCxtKSksMSldLDEwLF9EKX0pLDEyOCkpXSw4LHZEKV0pXSkpfX0pOy8qIQogKiBTaWduYXR1cmUgUGFkIHYzLjAuMC1iZXRhLjQgfCBodHRwczovL2dpdGh1Yi5jb20vc3ppbWVrL3NpZ25hdHVyZV9wYWQKICogKGMpIDIwMjAgU3p5bW9uIE5vd2FrIHwgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqL2NsYXNzIHphe2NvbnN0cnVjdG9yKGUsbixyKXt0aGlzLng9ZSx0aGlzLnk9bix0aGlzLnRpbWU9cnx8RGF0ZS5ub3coKX1kaXN0YW5jZVRvKGUpe3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3codGhpcy54LWUueCwyKStNYXRoLnBvdyh0aGlzLnktZS55LDIpKX1lcXVhbHMoZSl7cmV0dXJuIHRoaXMueD09PWUueCYmdGhpcy55PT09ZS55JiZ0aGlzLnRpbWU9PT1lLnRpbWV9dmVsb2NpdHlGcm9tKGUpe3JldHVybiB0aGlzLnRpbWUhPT1lLnRpbWU/dGhpcy5kaXN0YW5jZVRvKGUpLyh0aGlzLnRpbWUtZS50aW1lKTowfX1jbGFzcyBuZntjb25zdHJ1Y3RvcihlLG4scixpLHMsbyl7dGhpcy5zdGFydFBvaW50PWUsdGhpcy5jb250cm9sMj1uLHRoaXMuY29udHJvbDE9cix0aGlzLmVuZFBvaW50PWksdGhpcy5zdGFydFdpZHRoPXMsdGhpcy5lbmRXaWR0aD1vfXN0YXRpYyBmcm9tUG9pbnRzKGUsbil7Y29uc3Qgcj10aGlzLmNhbGN1bGF0ZUNvbnRyb2xQb2ludHMoZVswXSxlWzFdLGVbMl0pLmMyLGk9dGhpcy5jYWxjdWxhdGVDb250cm9sUG9pbnRzKGVbMV0sZVsyXSxlWzNdKS5jMTtyZXR1cm4gbmV3IG5mKGVbMV0scixpLGVbMl0sbi5zdGFydCxuLmVuZCl9c3RhdGljIGNhbGN1bGF0ZUNvbnRyb2xQb2ludHMoZSxuLHIpe2NvbnN0IGk9ZS54LW4ueCxzPWUueS1uLnksbz1uLngtci54LGE9bi55LXIueSxsPXt4OihlLngrbi54KS8yLHk6KGUueStuLnkpLzJ9LGM9e3g6KG4ueCtyLngpLzIseToobi55K3IueSkvMn0sdT1NYXRoLnNxcnQoaSppK3MqcyksZD1NYXRoLnNxcnQobypvK2EqYSksZj1sLngtYy54LGg9bC55LWMueSxtPWQvKHUrZCkscD17eDpjLngrZiptLHk6Yy55K2gqbX0saz1uLngtcC54LHg9bi55LXAueTtyZXR1cm57YzE6bmV3IHphKGwueCtrLGwueSt4KSxjMjpuZXcgemEoYy54K2ssYy55K3gpfX1sZW5ndGgoKXtsZXQgbj0wLHIsaTtmb3IobGV0IHM9MDtzPD0xMDtzKz0xKXtjb25zdCBvPXMvMTAsYT10aGlzLnBvaW50KG8sdGhpcy5zdGFydFBvaW50LngsdGhpcy5jb250cm9sMS54LHRoaXMuY29udHJvbDIueCx0aGlzLmVuZFBvaW50LngpLGw9dGhpcy5wb2ludChvLHRoaXMuc3RhcnRQb2ludC55LHRoaXMuY29udHJvbDEueSx0aGlzLmNvbnRyb2wyLnksdGhpcy5lbmRQb2ludC55KTtpZihzPjApe2NvbnN0IGM9YS1yLHU9bC1pO24rPU1hdGguc3FydChjKmMrdSp1KX1yPWEsaT1sfXJldHVybiBufXBvaW50KGUsbixyLGkscyl7cmV0dXJuIG4qKDEtZSkqKDEtZSkqKDEtZSkrMypyKigxLWUpKigxLWUpKmUrMyppKigxLWUpKmUqZStzKmUqZSplfX1mdW5jdGlvbiB3RCh0LGU9MjUwKXtsZXQgbj0wLHI9bnVsbCxpLHMsbztjb25zdCBhPSgpPT57bj1EYXRlLm5vdygpLHI9bnVsbCxpPXQuYXBwbHkocyxvKSxyfHwocz1udWxsLG89W10pfTtyZXR1cm4gZnVuY3Rpb24oLi4uYyl7Y29uc3QgdT1EYXRlLm5vdygpLGQ9ZS0odS1uKTtyZXR1cm4gcz10aGlzLG89YyxkPD0wfHxkPmU/KHImJihjbGVhclRpbWVvdXQocikscj1udWxsKSxuPXUsaT10LmFwcGx5KHMsbykscnx8KHM9bnVsbCxvPVtdKSk6cnx8KHI9d2luZG93LnNldFRpbWVvdXQoYSxkKSksaX19bGV0IGtEPWNsYXNzIHd1e2NvbnN0cnVjdG9yKGUsbj17fSl7dGhpcy5jYW52YXM9ZSx0aGlzLm9wdGlvbnM9bix0aGlzLl9oYW5kbGVNb3VzZURvd249cj0+e3Iud2hpY2g9PT0xJiYodGhpcy5fbW91c2VCdXR0b25Eb3duPSEwLHRoaXMuX3N0cm9rZUJlZ2luKHIpKX0sdGhpcy5faGFuZGxlTW91c2VNb3ZlPXI9Pnt0aGlzLl9tb3VzZUJ1dHRvbkRvd24mJnRoaXMuX3N0cm9rZU1vdmVVcGRhdGUocil9LHRoaXMuX2hhbmRsZU1vdXNlVXA9cj0+e3Iud2hpY2g9PT0xJiZ0aGlzLl9tb3VzZUJ1dHRvbkRvd24mJih0aGlzLl9tb3VzZUJ1dHRvbkRvd249ITEsdGhpcy5fc3Ryb2tlRW5kKHIpKX0sdGhpcy5faGFuZGxlVG91Y2hTdGFydD1yPT57aWYoci5wcmV2ZW50RGVmYXVsdCgpLHIudGFyZ2V0VG91Y2hlcy5sZW5ndGg9PT0xKXtjb25zdCBpPXIuY2hhbmdlZFRvdWNoZXNbMF07dGhpcy5fc3Ryb2tlQmVnaW4oaSl9fSx0aGlzLl9oYW5kbGVUb3VjaE1vdmU9cj0+e3IucHJldmVudERlZmF1bHQoKTtjb25zdCBpPXIudGFyZ2V0VG91Y2hlc1swXTt0aGlzLl9zdHJva2VNb3ZlVXBkYXRlKGkpfSx0aGlzLl9oYW5kbGVUb3VjaEVuZD1yPT57aWYoci50YXJnZXQ9PT10aGlzLmNhbnZhcyl7ci5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHM9ci5jaGFuZ2VkVG91Y2hlc1swXTt0aGlzLl9zdHJva2VFbmQocyl9fSx0aGlzLnZlbG9jaXR5RmlsdGVyV2VpZ2h0PW4udmVsb2NpdHlGaWx0ZXJXZWlnaHR8fC43LHRoaXMubWluV2lkdGg9bi5taW5XaWR0aHx8LjUsdGhpcy5tYXhXaWR0aD1uLm1heFdpZHRofHwyLjUsdGhpcy50aHJvdHRsZT0idGhyb3R0bGUiaW4gbj9uLnRocm90dGxlOjE2LHRoaXMubWluRGlzdGFuY2U9Im1pbkRpc3RhbmNlImluIG4/bi5taW5EaXN0YW5jZTo1LHRoaXMuZG90U2l6ZT1uLmRvdFNpemV8fGZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMubWluV2lkdGgrdGhpcy5tYXhXaWR0aCkvMn0sdGhpcy5wZW5Db2xvcj1uLnBlbkNvbG9yfHwiYmxhY2siLHRoaXMuYmFja2dyb3VuZENvbG9yPW4uYmFja2dyb3VuZENvbG9yfHwicmdiYSgwLDAsMCwwKSIsdGhpcy5vbkJlZ2luPW4ub25CZWdpbix0aGlzLm9uRW5kPW4ub25FbmQsdGhpcy5fc3Ryb2tlTW92ZVVwZGF0ZT10aGlzLnRocm90dGxlP3dEKHd1LnByb3RvdHlwZS5fc3Ryb2tlVXBkYXRlLHRoaXMudGhyb3R0bGUpOnd1LnByb3RvdHlwZS5fc3Ryb2tlVXBkYXRlLHRoaXMuX2N0eD1lLmdldENvbnRleHQoIjJkIiksdGhpcy5jbGVhcigpLHRoaXMub24oKX1jbGVhcigpe2NvbnN0e19jdHg6ZSxjYW52YXM6bn09dGhpcztlLmZpbGxTdHlsZT10aGlzLmJhY2tncm91bmRDb2xvcixlLmNsZWFyUmVjdCgwLDAsbi53aWR0aCxuLmhlaWdodCksZS5maWxsUmVjdCgwLDAsbi53aWR0aCxuLmhlaWdodCksdGhpcy5fZGF0YT1bXSx0aGlzLl9yZXNldCgpLHRoaXMuX2lzRW1wdHk9ITB9ZnJvbURhdGFVUkwoZSxuPXt9LHIpe2NvbnN0IGk9bmV3IEltYWdlLHM9bi5yYXRpb3x8d2luZG93LmRldmljZVBpeGVsUmF0aW98fDEsbz1uLndpZHRofHx0aGlzLmNhbnZhcy53aWR0aC9zLGE9bi5oZWlnaHR8fHRoaXMuY2FudmFzLmhlaWdodC9zO3RoaXMuX3Jlc2V0KCksaS5vbmxvYWQ9KCk9Pnt0aGlzLl9jdHguZHJhd0ltYWdlKGksMCwwLG8sYSksciYmcigpfSxpLm9uZXJyb3I9bD0+e3ImJnIobCl9LGkuc3JjPWUsdGhpcy5faXNFbXB0eT0hMX10b0RhdGFVUkwoZT0iaW1hZ2UvcG5nIixuKXtzd2l0Y2goZSl7Y2FzZSJpbWFnZS9zdmcreG1sIjpyZXR1cm4gdGhpcy5fdG9TVkcoKTtkZWZhdWx0OnJldHVybiB0aGlzLmNhbnZhcy50b0RhdGFVUkwoZSxuKX19b24oKXt0aGlzLmNhbnZhcy5zdHlsZS50b3VjaEFjdGlvbj0ibm9uZSIsdGhpcy5jYW52YXMuc3R5bGUubXNUb3VjaEFjdGlvbj0ibm9uZSIsd2luZG93LlBvaW50ZXJFdmVudD90aGlzLl9oYW5kbGVQb2ludGVyRXZlbnRzKCk6KHRoaXMuX2hhbmRsZU1vdXNlRXZlbnRzKCksIm9udG91Y2hzdGFydCJpbiB3aW5kb3cmJnRoaXMuX2hhbmRsZVRvdWNoRXZlbnRzKCkpfW9mZigpe3RoaXMuY2FudmFzLnN0eWxlLnRvdWNoQWN0aW9uPSJhdXRvIix0aGlzLmNhbnZhcy5zdHlsZS5tc1RvdWNoQWN0aW9uPSJhdXRvIix0aGlzLmNhbnZhcy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsdGhpcy5faGFuZGxlTW91c2VEb3duKSx0aGlzLmNhbnZhcy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5faGFuZGxlTW91c2VNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHRoaXMuX2hhbmRsZU1vdXNlVXApLHRoaXMuY2FudmFzLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5faGFuZGxlTW91c2VEb3duKSx0aGlzLmNhbnZhcy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX2hhbmRsZU1vdXNlTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5faGFuZGxlTW91c2VVcCksdGhpcy5jYW52YXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5faGFuZGxlVG91Y2hTdGFydCksdGhpcy5jYW52YXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0aGlzLl9oYW5kbGVUb3VjaE1vdmUpLHRoaXMuY2FudmFzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl9oYW5kbGVUb3VjaEVuZCl9aXNFbXB0eSgpe3JldHVybiB0aGlzLl9pc0VtcHR5fWZyb21EYXRhKGUpe3RoaXMuY2xlYXIoKSx0aGlzLl9mcm9tRGF0YShlLCh7Y29sb3I6bixjdXJ2ZTpyfSk9PnRoaXMuX2RyYXdDdXJ2ZSh7Y29sb3I6bixjdXJ2ZTpyfSksKHtjb2xvcjpuLHBvaW50OnJ9KT0+dGhpcy5fZHJhd0RvdCh7Y29sb3I6bixwb2ludDpyfSkpLHRoaXMuX2RhdGE9ZX10b0RhdGEoKXtyZXR1cm4gdGhpcy5fZGF0YX1fc3Ryb2tlQmVnaW4oZSl7Y29uc3Qgbj17Y29sb3I6dGhpcy5wZW5Db2xvcixwb2ludHM6W119O3R5cGVvZiB0aGlzLm9uQmVnaW49PSJmdW5jdGlvbiImJnRoaXMub25CZWdpbihlKSx0aGlzLl9kYXRhLnB1c2gobiksdGhpcy5fcmVzZXQoKSx0aGlzLl9zdHJva2VVcGRhdGUoZSl9X3N0cm9rZVVwZGF0ZShlKXtpZih0aGlzLl9kYXRhLmxlbmd0aD09PTApe3RoaXMuX3N0cm9rZUJlZ2luKGUpO3JldHVybn1jb25zdCBuPWUuY2xpZW50WCxyPWUuY2xpZW50WSxpPXRoaXMuX2NyZWF0ZVBvaW50KG4scikscz10aGlzLl9kYXRhW3RoaXMuX2RhdGEubGVuZ3RoLTFdLG89cy5wb2ludHMsYT1vLmxlbmd0aD4wJiZvW28ubGVuZ3RoLTFdLGw9YT9pLmRpc3RhbmNlVG8oYSk8PXRoaXMubWluRGlzdGFuY2U6ITEsYz1zLmNvbG9yO2lmKCFhfHwhKGEmJmwpKXtjb25zdCB1PXRoaXMuX2FkZFBvaW50KGkpO2E/dSYmdGhpcy5fZHJhd0N1cnZlKHtjb2xvcjpjLGN1cnZlOnV9KTp0aGlzLl9kcmF3RG90KHtjb2xvcjpjLHBvaW50Oml9KSxvLnB1c2goe3RpbWU6aS50aW1lLHg6aS54LHk6aS55fSl9fV9zdHJva2VFbmQoZSl7dGhpcy5fc3Ryb2tlVXBkYXRlKGUpLHR5cGVvZiB0aGlzLm9uRW5kPT0iZnVuY3Rpb24iJiZ0aGlzLm9uRW5kKGUpfV9oYW5kbGVQb2ludGVyRXZlbnRzKCl7dGhpcy5fbW91c2VCdXR0b25Eb3duPSExLHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIix0aGlzLl9oYW5kbGVNb3VzZURvd24pLHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIix0aGlzLl9oYW5kbGVNb3VzZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsdGhpcy5faGFuZGxlTW91c2VVcCl9X2hhbmRsZU1vdXNlRXZlbnRzKCl7dGhpcy5fbW91c2VCdXR0b25Eb3duPSExLHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5faGFuZGxlTW91c2VEb3duKSx0aGlzLmNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX2hhbmRsZU1vdXNlTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5faGFuZGxlTW91c2VVcCl9X2hhbmRsZVRvdWNoRXZlbnRzKCl7dGhpcy5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5faGFuZGxlVG91Y2hTdGFydCksdGhpcy5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0aGlzLl9oYW5kbGVUb3VjaE1vdmUpLHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl9oYW5kbGVUb3VjaEVuZCl9X3Jlc2V0KCl7dGhpcy5fbGFzdFBvaW50cz1bXSx0aGlzLl9sYXN0VmVsb2NpdHk9MCx0aGlzLl9sYXN0V2lkdGg9KHRoaXMubWluV2lkdGgrdGhpcy5tYXhXaWR0aCkvMix0aGlzLl9jdHguZmlsbFN0eWxlPXRoaXMucGVuQ29sb3J9X2NyZWF0ZVBvaW50KGUsbil7Y29uc3Qgcj10aGlzLmNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gbmV3IHphKGUtci5sZWZ0LG4tci50b3AsbmV3IERhdGUoKS5nZXRUaW1lKCkpfV9hZGRQb2ludChlKXtjb25zdHtfbGFzdFBvaW50czpufT10aGlzO2lmKG4ucHVzaChlKSxuLmxlbmd0aD4yKXtuLmxlbmd0aD09PTMmJm4udW5zaGlmdChuWzBdKTtjb25zdCByPXRoaXMuX2NhbGN1bGF0ZUN1cnZlV2lkdGhzKG5bMV0sblsyXSksaT1uZi5mcm9tUG9pbnRzKG4scik7cmV0dXJuIG4uc2hpZnQoKSxpfXJldHVybiBudWxsfV9jYWxjdWxhdGVDdXJ2ZVdpZHRocyhlLG4pe2NvbnN0IHI9dGhpcy52ZWxvY2l0eUZpbHRlcldlaWdodCpuLnZlbG9jaXR5RnJvbShlKSsoMS10aGlzLnZlbG9jaXR5RmlsdGVyV2VpZ2h0KSp0aGlzLl9sYXN0VmVsb2NpdHksaT10aGlzLl9zdHJva2VXaWR0aChyKSxzPXtlbmQ6aSxzdGFydDp0aGlzLl9sYXN0V2lkdGh9O3JldHVybiB0aGlzLl9sYXN0VmVsb2NpdHk9cix0aGlzLl9sYXN0V2lkdGg9aSxzfV9zdHJva2VXaWR0aChlKXtyZXR1cm4gTWF0aC5tYXgodGhpcy5tYXhXaWR0aC8oZSsxKSx0aGlzLm1pbldpZHRoKX1fZHJhd0N1cnZlU2VnbWVudChlLG4scil7Y29uc3QgaT10aGlzLl9jdHg7aS5tb3ZlVG8oZSxuKSxpLmFyYyhlLG4sciwwLDIqTWF0aC5QSSwhMSksdGhpcy5faXNFbXB0eT0hMX1fZHJhd0N1cnZlKHtjb2xvcjplLGN1cnZlOm59KXtjb25zdCByPXRoaXMuX2N0eCxpPW4uZW5kV2lkdGgtbi5zdGFydFdpZHRoLHM9TWF0aC5mbG9vcihuLmxlbmd0aCgpKSoyO3IuYmVnaW5QYXRoKCksci5maWxsU3R5bGU9ZTtmb3IobGV0IG89MDtvPHM7bys9MSl7Y29uc3QgYT1vL3MsbD1hKmEsYz1sKmEsdT0xLWEsZD11KnUsZj1kKnU7bGV0IGg9ZipuLnN0YXJ0UG9pbnQueDtoKz0zKmQqYSpuLmNvbnRyb2wxLngsaCs9Myp1Kmwqbi5jb250cm9sMi54LGgrPWMqbi5lbmRQb2ludC54O2xldCBtPWYqbi5zdGFydFBvaW50Lnk7bSs9MypkKmEqbi5jb250cm9sMS55LG0rPTMqdSpsKm4uY29udHJvbDIueSxtKz1jKm4uZW5kUG9pbnQueTtjb25zdCBwPU1hdGgubWluKG4uc3RhcnRXaWR0aCtjKmksdGhpcy5tYXhXaWR0aCk7dGhpcy5fZHJhd0N1cnZlU2VnbWVudChoLG0scCl9ci5jbG9zZVBhdGgoKSxyLmZpbGwoKX1fZHJhd0RvdCh7Y29sb3I6ZSxwb2ludDpufSl7Y29uc3Qgcj10aGlzLl9jdHgsaT10eXBlb2YgdGhpcy5kb3RTaXplPT0iZnVuY3Rpb24iP3RoaXMuZG90U2l6ZSgpOnRoaXMuZG90U2l6ZTtyLmJlZ2luUGF0aCgpLHRoaXMuX2RyYXdDdXJ2ZVNlZ21lbnQobi54LG4ueSxpKSxyLmNsb3NlUGF0aCgpLHIuZmlsbFN0eWxlPWUsci5maWxsKCl9X2Zyb21EYXRhKGUsbixyKXtmb3IoY29uc3QgaSBvZiBlKXtjb25zdHtjb2xvcjpzLHBvaW50czpvfT1pO2lmKG8ubGVuZ3RoPjEpZm9yKGxldCBhPTA7YTxvLmxlbmd0aDthKz0xKXtjb25zdCBsPW9bYV0sYz1uZXcgemEobC54LGwueSxsLnRpbWUpO3RoaXMucGVuQ29sb3I9cyxhPT09MCYmdGhpcy5fcmVzZXQoKTtjb25zdCB1PXRoaXMuX2FkZFBvaW50KGMpO3UmJm4oe2NvbG9yOnMsY3VydmU6dX0pfWVsc2UgdGhpcy5fcmVzZXQoKSxyKHtjb2xvcjpzLHBvaW50Om9bMF19KX19X3RvU1ZHKCl7Y29uc3QgZT10aGlzLl9kYXRhLG49TWF0aC5tYXgod2luZG93LmRldmljZVBpeGVsUmF0aW98fDEsMSkscj0wLGk9MCxzPXRoaXMuY2FudmFzLndpZHRoL24sbz10aGlzLmNhbnZhcy5oZWlnaHQvbixhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJzdmciKTthLnNldEF0dHJpYnV0ZSgid2lkdGgiLHRoaXMuY2FudmFzLndpZHRoLnRvU3RyaW5nKCkpLGEuc2V0QXR0cmlidXRlKCJoZWlnaHQiLHRoaXMuY2FudmFzLmhlaWdodC50b1N0cmluZygpKSx0aGlzLl9mcm9tRGF0YShlLCh7Y29sb3I6aCxjdXJ2ZTptfSk9Pntjb25zdCBwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInBhdGgiKTtpZighaXNOYU4obS5jb250cm9sMS54KSYmIWlzTmFOKG0uY29udHJvbDEueSkmJiFpc05hTihtLmNvbnRyb2wyLngpJiYhaXNOYU4obS5jb250cm9sMi55KSl7Y29uc3Qgaz1gTSAke20uc3RhcnRQb2ludC54LnRvRml4ZWQoMyl9LCR7bS5zdGFydFBvaW50LnkudG9GaXhlZCgzKX0gQyAke20uY29udHJvbDEueC50b0ZpeGVkKDMpfSwke20uY29udHJvbDEueS50b0ZpeGVkKDMpfSAke20uY29udHJvbDIueC50b0ZpeGVkKDMpfSwke20uY29udHJvbDIueS50b0ZpeGVkKDMpfSAke20uZW5kUG9pbnQueC50b0ZpeGVkKDMpfSwke20uZW5kUG9pbnQueS50b0ZpeGVkKDMpfWA7cC5zZXRBdHRyaWJ1dGUoImQiLGspLHAuc2V0QXR0cmlidXRlKCJzdHJva2Utd2lkdGgiLChtLmVuZFdpZHRoKjIuMjUpLnRvRml4ZWQoMykpLHAuc2V0QXR0cmlidXRlKCJzdHJva2UiLGgpLHAuc2V0QXR0cmlidXRlKCJmaWxsIiwibm9uZSIpLHAuc2V0QXR0cmlidXRlKCJzdHJva2UtbGluZWNhcCIsInJvdW5kIiksYS5hcHBlbmRDaGlsZChwKX19LCh7Y29sb3I6aCxwb2ludDptfSk9Pntjb25zdCBwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNpcmNsZSIpLGs9dHlwZW9mIHRoaXMuZG90U2l6ZT09ImZ1bmN0aW9uIj90aGlzLmRvdFNpemUoKTp0aGlzLmRvdFNpemU7cC5zZXRBdHRyaWJ1dGUoInIiLGsudG9TdHJpbmcoKSkscC5zZXRBdHRyaWJ1dGUoImN4IixtLngudG9TdHJpbmcoKSkscC5zZXRBdHRyaWJ1dGUoImN5IixtLnkudG9TdHJpbmcoKSkscC5zZXRBdHRyaWJ1dGUoImZpbGwiLGgpLGEuYXBwZW5kQ2hpbGQocCl9KTtjb25zdCBsPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LCIsYz1gPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIke3J9ICR7aX0gJHtzfSAke299IiB3aWR0aD0iJHtzfSIgaGVpZ2h0PSIke299Ij5gO2xldCB1PWEuaW5uZXJIVE1MO2lmKHU9PT12b2lkIDApe2NvbnN0IGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZHVtbXkiKSxtPWEuY2hpbGROb2RlcztoLmlubmVySFRNTD0iIjtmb3IobGV0IHA9MDtwPG0ubGVuZ3RoO3ArPTEpaC5hcHBlbmRDaGlsZChtW3BdLmNsb25lTm9kZSghMCkpO3U9aC5pbm5lckhUTUx9Y29uc3QgZj1jK3UrIjwvc3ZnPiI7cmV0dXJuIGwrYnRvYShmKX19O3ZhciBTRD17Zm9ybWF0OiJpbWFnZS9wbmciLHF1YWxpdHk6LjkyLHdpZHRoOnZvaWQgMCxoZWlnaHQ6dm9pZCAwLENhbnZhczp2b2lkIDAsY3Jvc3NPcmlnaW46dm9pZCAwfSxocD1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09dm9pZCAwJiYodD1bXSksZT09PXZvaWQgMCYmKGU9e30pLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4pe2U9T2JqZWN0LmFzc2lnbih7fSxTRCxlKTt2YXIgcj1lLkNhbnZhcz9uZXcgZS5DYW52YXM6d2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGk9ZS5DYW52YXM/ZS5DYW52YXMuSW1hZ2U6d2luZG93LkltYWdlO2UuQ2FudmFzJiYoZS5xdWFsaXR5Kj0xMDApO3ZhciBzPXQubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihsLGMpe2EuY29uc3RydWN0b3IubmFtZSE9PSJPYmplY3QiJiYoYT17c3JjOmF9KTt2YXIgdT1uZXcgaTt1LmNyb3NzT3JpZ2luPWUuY3Jvc3NPcmlnaW4sdS5vbmVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIGMobmV3IEVycm9yKCJDb3VsZG4ndCBsb2FkIGltYWdlIikpfSx1Lm9ubG9hZD1mdW5jdGlvbigpe3JldHVybiBsKE9iamVjdC5hc3NpZ24oe30sYSx7aW1nOnV9KSl9LHUuc3JjPWEuc3JjfSl9KSxvPXIuZ2V0Q29udGV4dCgiMmQiKTtuKFByb21pc2UuYWxsKHMpLnRoZW4oZnVuY3Rpb24oYSl7dmFyIGw9ZnVuY3Rpb24oYyl7cmV0dXJuIGVbY118fE1hdGgubWF4LmFwcGx5KE1hdGgsYS5tYXAoZnVuY3Rpb24odSl7cmV0dXJuIHUuaW1nW2NdfSkpfTtyZXR1cm4gci53aWR0aD1sKCJ3aWR0aCIpLHIuaGVpZ2h0PWwoImhlaWdodCIpLGEuZm9yRWFjaChmdW5jdGlvbihjKXtyZXR1cm4gby5nbG9iYWxBbHBoYT1jLm9wYWNpdHk/Yy5vcGFjaXR5OjEsby5kcmF3SW1hZ2UoYy5pbWcsYy54fHwwLGMueXx8MCl9KSxlLkNhbnZhcyYmZS5mb3JtYXQ9PT0iaW1hZ2UvanBlZyI/bmV3IFByb21pc2UoZnVuY3Rpb24oYyl7ci50b0RhdGFVUkwoZS5mb3JtYXQse3F1YWxpdHk6ZS5xdWFsaXR5LHByb2dyZXNzaXZlOiExfSxmdW5jdGlvbih1LGQpe2lmKHUpdGhyb3cgdTtjKGQpfSl9KTpyLnRvRGF0YVVSTChlLmZvcm1hdCxlLnF1YWxpdHkpfSkpfSl9O2NvbnN0IGt1PVsiaW1hZ2UvcG5nIiwiaW1hZ2UvanBlZyIsImltYWdlL3N2Zyt4bWwiXSxURD10PT5rdS5pbmNsdWRlcyh0KSxFRD17ZG90U2l6ZTooLjUrMi41KS8yLG1pbldpZHRoOi41LG1heFdpZHRoOjIuNSx0aHJvdHRsZToxNixtaW5EaXN0YW5jZTo1LGJhY2tncm91bmRDb2xvcjoicmdiYSgwLDAsMCwwKSIscGVuQ29sb3I6ImJsYWNrIix2ZWxvY2l0eUZpbHRlcldlaWdodDouNyxvbkJlZ2luOigpPT57fSxvbkVuZDooKT0+e319LG1wPXQ9PkpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodCkpLHBwPXtzcmM6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTmtZQUFBQUFZQUFqQ0IwQzhBQUFBQVNVVk9SSzVDWUlJPSIseDowLHk6MH07dmFyIHJmPU5lKHtuYW1lOiJWdWVTaWduYXR1cmVQYWQiLHByb3BzOnt3aWR0aDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiMTAwJSJ9LGhlaWdodDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiMTAwJSJ9LGN1c3RvbVN0eWxlOnt0eXBlOk9iamVjdCxkZWZhdWx0OigpPT4oe30pfSxvcHRpb25zOnt0eXBlOk9iamVjdCxkZWZhdWx0OigpPT4oe30pfSxpbWFnZXM6e3R5cGU6QXJyYXksZGVmYXVsdDooKT0+W119LHNjYWxlVG9EZXZpY2VQaXhlbFJhdGlvOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDooKT0+ITB9fSxkYXRhOigpPT4oe3NpZ25hdHVyZVBhZDp7fSxjYWNoZUltYWdlczpbXSxzaWduYXR1cmVEYXRhOnBwLG9uUmVzaXplSGFuZGxlcjpudWxsfSksY29tcHV0ZWQ6e3Byb3BzSW1hZ2VzQW5kQ3VzdG9tSW1hZ2VzKCl7Y29uc3QgdD1tcCh0aGlzLmltYWdlcyksZT1tcCh0aGlzLmNhY2hlSW1hZ2VzKTtyZXR1cm5bLi4udCwuLi5lXX19LHdhdGNoOntvcHRpb25zOmZ1bmN0aW9uKHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZT0+e3RoaXMuc2lnbmF0dXJlUGFkW2VdJiYodGhpcy5zaWduYXR1cmVQYWRbZV09dFtlXSl9KX19LG1vdW50ZWQoKXtjb25zdHtvcHRpb25zOnR9PXRoaXMsZT10aGlzLiRyZWZzLnNpZ25hdHVyZVBhZENhbnZhcyxuPW5ldyBrRChlLHsuLi5FRCwuLi50fSk7dGhpcy5zaWduYXR1cmVQYWQ9bix0LnJlc2l6ZUhhbmRsZXImJih0aGlzLnJlc2l6ZUNhbnZhcz10LnJlc2l6ZUhhbmRsZXIuYmluZCh0aGlzKSksdGhpcy5vblJlc2l6ZUhhbmRsZXI9dGhpcy5yZXNpemVDYW52YXMuYmluZCh0aGlzKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLm9uUmVzaXplSGFuZGxlciwhMSksdGhpcy5yZXNpemVDYW52YXMoKX0sYmVmb3JlVW5tb3VudCgpe3RoaXMub25SZXNpemVIYW5kbGVyJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLm9uUmVzaXplSGFuZGxlciwhMSl9LG1ldGhvZHM6e3Jlc2l6ZUNhbnZhcygpe2NvbnN0IHQ9dGhpcy4kcmVmcy5zaWduYXR1cmVQYWRDYW52YXMsZT10aGlzLnNpZ25hdHVyZVBhZC50b0RhdGEoKSxuPXRoaXMuc2NhbGVUb0RldmljZVBpeGVsUmF0aW8/TWF0aC5tYXgod2luZG93LmRldmljZVBpeGVsUmF0aW98fDEsMSk6MTt0LndpZHRoPXQub2Zmc2V0V2lkdGgqbix0LmhlaWdodD10Lm9mZnNldEhlaWdodCpuLHQuZ2V0Q29udGV4dCgiMmQiKS5zY2FsZShuLG4pLHRoaXMuc2lnbmF0dXJlUGFkLmNsZWFyKCksdGhpcy5zaWduYXR1cmVEYXRhPXBwLHRoaXMuc2lnbmF0dXJlUGFkLmZyb21EYXRhKGUpfSxzYXZlU2lnbmF0dXJlKCl7bGV0IHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOmt1WzBdLGU9YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDA7Y29uc3R7c2lnbmF0dXJlUGFkOm59PXRoaXMscj17aXNFbXB0eTohMSxkYXRhOnZvaWQgMH07aWYoIVREKHQpKXtjb25zdCBpPWt1LmpvaW4oIiwgIik7dGhyb3cgbmV3IEVycm9yKGBUaGUgSW1hZ2UgdHlwZSBpcyBpbmNvcnJlY3QhIFdlIGFyZSBzdXBwb3J0ICR7aX0gdHlwZXMuYCl9cmV0dXJuIG4uaXNFbXB0eSgpP3suLi5yLGlzRW1wdHk6ITB9Oih0aGlzLnNpZ25hdHVyZURhdGE9bi50b0RhdGFVUkwodCxlKSx7Li4ucixkYXRhOnRoaXMuc2lnbmF0dXJlRGF0YX0pfSx1bmRvU2lnbmF0dXJlKCl7Y29uc3R7c2lnbmF0dXJlUGFkOnR9PXRoaXMsZT10LnRvRGF0YSgpO2lmKGUpcmV0dXJuIHQuZnJvbURhdGEoZS5zbGljZSgwLC0xKSl9LG1lcmdlSW1hZ2VBbmRTaWduYXR1cmUodCl7cmV0dXJuIHRoaXMuc2lnbmF0dXJlRGF0YT10LGhwKFsuLi50aGlzLmltYWdlcywuLi50aGlzLmNhY2hlSW1hZ2VzLHRoaXMuc2lnbmF0dXJlRGF0YV0pfSxhZGRJbWFnZXMoKXtsZXQgdD1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXZvaWQgMD9hcmd1bWVudHNbMF06W107cmV0dXJuIHRoaXMuY2FjaGVJbWFnZXM9Wy4uLnRoaXMuY2FjaGVJbWFnZXMsLi4udF0saHAoWy4uLnRoaXMuaW1hZ2VzLC4uLnRoaXMuY2FjaGVJbWFnZXMsdGhpcy5zaWduYXR1cmVEYXRhXSl9LGZyb21EYXRhVVJMKHQpe2xldCBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSxuPWFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwO3JldHVybiB0aGlzLnNpZ25hdHVyZVBhZC5mcm9tRGF0YVVSTCh0LGUsbil9LGZyb21EYXRhKHQpe3JldHVybiB0aGlzLnNpZ25hdHVyZVBhZC5mcm9tRGF0YSh0KX0sdG9EYXRhKCl7cmV0dXJuIHRoaXMuc2lnbmF0dXJlUGFkLnRvRGF0YSgpfSxsb2NrU2lnbmF0dXJlUGFkKCl7cmV0dXJuIHRoaXMuc2lnbmF0dXJlUGFkLm9mZigpfSxvcGVuU2lnbmF0dXJlUGFkKCl7cmV0dXJuIHRoaXMuc2lnbmF0dXJlUGFkLm9uKCl9LGlzRW1wdHkoKXtyZXR1cm4gdGhpcy5zaWduYXR1cmVQYWQuaXNFbXB0eSgpfSxnZXRQcm9wSW1hZ2VzQW5kQ2FjaGVJbWFnZXMoKXtyZXR1cm4gdGhpcy5wcm9wc0ltYWdlc0FuZEN1c3RvbUltYWdlc30sY2xlYXJDYWNoZUltYWdlcygpe3JldHVybiB0aGlzLmNhY2hlSW1hZ2VzPVtdLHRoaXMuY2FjaGVJbWFnZXN9LGNsZWFyU2lnbmF0dXJlKCl7cmV0dXJuIHRoaXMuc2lnbmF0dXJlUGFkLmNsZWFyKCl9fSxyZW5kZXIoKXtjb25zdHt3aWR0aDp0LGhlaWdodDplLGN1c3RvbVN0eWxlOm59PXRoaXM7cmV0dXJuIGJ0KCJkaXYiLHtzdHlsZTp7d2lkdGg6dCxoZWlnaHQ6ZSwuLi5ufX0sW2J0KCJjYW52YXMiLHtzdHlsZTp7d2lkdGg6dCxoZWlnaHQ6ZX0scmVmOiJzaWduYXR1cmVQYWRDYW52YXMifSldKX19KTtyZi5fX2ZpbGU9InNyYy9jb21wb25lbnRzL1Z1ZVNpZ25hdHVyZVBhZC52dWUiO2NvbnN0IHhEPXQ9Pih6dygiZGF0YS12LWI0YjBmOGZiIiksdD10KCksSHcoKSx0KSxBRD17a2V5OjAsY2xhc3M6InBvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgbGVmdC0xLzIgdG9wLTEvMiBmbGV4IGZsZXgtY29sIC10cmFuc2xhdGUteC0xLzIgLXRyYW5zbGF0ZS15LTEvMiB0cmFuc2Zvcm0gc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtbWQgdGV4dC1jZW50ZXIgdGV4dC1zbSB0ZXh0LWdyYXktNDAwIHRyYWNraW5nLXdpZGVzdCJ9LE9EPXhEKCgpPT5BKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOiI5MCIsaGVpZ2h0OiI4MCIsdmlld0JveDoiMCAwIDE1MCAxNDAiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIixjbGFzczoidGV4dC1ncmF5LTQwMCJ9LFtBKCJwYXRoIix7ZDoiTTMgMTdjMy4zMzMgLTMuMzMzIDUgLTYgNSAtOGMwIC0zIC0xIC0zIC0yIC0zcy0yLjAzMiAxLjA4NSAtMiAzYy4wMzQgMi4wNDggMS42NTggNC44NzcgMi41IDZjMS41IDIgMi41IDIuNSAzLjUgMWwyIC0zYy4zMzMgMi42NjcgMS4zMzMgNCAzIDRjLjUzIDAgMi42MzkgLTIgMyAtMmMuNTE3IDAgMS41MTcgLjY2NyAzIDIiLHRyYW5zZm9ybToic2NhbGUoNikgdHJhbnNsYXRlKDAsIDApIixjbGFzczoic2lnbmF0dXJlLXBhdGgifSldLC0xKSksQ0Q9e2tleTowLGNsYXNzOiJtdC0yIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kIHNwYWNlLXgtMiJ9LFBEPU5lKHtfX25hbWU6IlNpZ25hdHVyZVBhZCIscHJvcHM6Y28oe2Rpc2FibGVkOnt0eXBlOkJvb2xlYW59fSx7bW9kZWxWYWx1ZTp7fSxtb2RlbE1vZGlmaWVyczp7fX0pLGVtaXRzOlsidXBkYXRlOm1vZGVsVmFsdWUiXSxzZXR1cCh0KXtjb25zdHt0OmV9PVd0KCksbj10aSgpLHI9Y2wodCwibW9kZWxWYWx1ZSIpLGk9c2UobnVsbCkscz1zZShudWxsKSxvPXNlKCExKSxhPW9lKCgpPT4hci52YWx1ZSksbD0oKT0+e3MudmFsdWUmJmNsZWFyVGltZW91dChzLnZhbHVlKSxzLnZhbHVlPXNldFRpbWVvdXQoKCk9PmMoKSw1MCl9LGM9KCk9Pnt2YXIgaCxtOyhoPWkudmFsdWUpPT1udWxsfHxoLnJlc2l6ZUNhbnZhcygpLChtPWkudmFsdWUpPT1udWxsfHxtLmZyb21EYXRhVVJMKHIudmFsdWUpfTthZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57bCgpfSkseXQoKCk9PntsKCl9KTtjb25zdCB1PSgpPT57by52YWx1ZT0hMH0sZD0oKT0+e3ZhciBtO2NvbnN0IGg9KG09aS52YWx1ZSk9PW51bGw/dm9pZCAwOm0uc2F2ZVNpZ25hdHVyZSgpO3IudmFsdWU9aD09bnVsbD92b2lkIDA6aC5kYXRhfSxmPSgpPT57dmFyIGg7KGg9aS52YWx1ZSk9PW51bGx8fGguY2xlYXJTaWduYXR1cmUoKSxyLnZhbHVlPW51bGwsby52YWx1ZT0hMX07cmV0dXJuKGgsbSk9PihVKCksWihxZSxudWxsLFtBKCJkaXYiLHtjbGFzczpEZShbInJlbGF0aXZlIGgtNjQgdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1kYXNoZWQgYm9yZGVyLWdyYXktMjAwIix7InBvaW50ZXItZXZlbnRzLW5vbmUiOmguZGlzYWJsZWR9XSl9LFtlZShTKHJmKSx7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIscmVmX2tleToic2lnbmF0dXJlUGFkIixyZWY6aSxvcHRpb25zOntvbkJlZ2luOnUsb25FbmQ6ZH19LG51bGwsOCxbIm9wdGlvbnMiXSksIW8udmFsdWUmJmEudmFsdWU/KFUoKSxaKCJkaXYiLEFELFtPRCxBKCJzcGFuIixudWxsLEsoUyhlKSgicG9ydGFsLnNpZ25hdHVyZV9wYWQuc2lnbl9oZXJlIikpLDEpXSkpOk1lKCIiLCEwKV0sMiksUyhuKS5jaGVja2VkSW4/TWUoIiIsITApOihVKCksWigiZGl2IixDRCxbZWUoU3Qse2NvbG9yOiJzZWNvbmRhcnkiLG9uQ2xpY2s6ZixkaXNhYmxlZDphLnZhbHVlfSx7ZGVmYXVsdDpuZSgoKT0+WyRlKEsoUyhlKSgicG9ydGFsLnNpZ25hdHVyZV9wYWQuZGVsZXRlX3NpZ25hdHVyZSIpKSwxKV0pLF86MX0sOCxbImRpc2FibGVkIl0pXSkpXSw2NCkpfX0pLElEPVJkKFBELFtbIl9fc2NvcGVJZCIsImRhdGEtdi1iNGIwZjhmYiJdXSksTkQ9e2NsYXNzOiJtaW4tdy1zY3JlZW4tc20gdy1mdWxsIG92ZXJmbG93LXgtYXV0byBzbTptaW4tdy0wIn0sUkQ9e2NsYXNzOiJtaW4tdy1mdWxsIHRhYmxlLWZpeGVkIG92ZXJmbG93LWhpZGRlbiBwcmludDpvdmVyZmxvdy12aXNpYmxlIn0sREQ9e2NsYXNzOiJib3JkZXItYiBib3JkZXItZ3JheS0yMDAgdGV4dC1sZWZ0IHRleHQtZ3JheS03MDAifSxNRD17a2V5OjAsY2xhc3M6ImN1cnNvci1wb2ludGVyIn0sTEQ9e2ZvcjoiY2hlY2tib3gtaGVhZGVyIixjbGFzczoiZmxleCBoLWZ1bGwgdy1mdWxsIGN1cnNvci1wb2ludGVyIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC0yIHB5LTIifSxGRD17Y2xhc3M6ImRpdmlkZS15IGRpdmlkZS1ncmF5LTIwMCB3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LXNtIn0sJEQ9e2tleTowLGNsYXNzOiJjdXJzb3ItcG9pbnRlciJ9LGpEPVsiZm9yIl0sQkQ9WyJpZCIsImNoZWNrZWQiLCJvbkNoYW5nZSJdLFVEPXtrZXk6MX0sVkQ9e2NvbHNwYW46IjEwMCUifSxXRD17Y2xhc3M6InB4LTIgcHktMi41IHRleHQtc20gdGV4dC1ncmF5LTUwMCJ9LEdEPXtrZXk6MixjbGFzczoiYmctZ3JheS01MCBmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIn0sekQ9e2tleTowfSxIRD17a2V5OjAsY2xhc3M6ImZsZXggdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gYm9yZGVyLXQgYm9yZGVyLWdyYXktMjAwIGJnLXdoaXRlIHB5LTIiLCJhcmlhLWxhYmVsIjoiUGFnaW5hdGlvbiJ9LEpEPXtjbGFzczoiaGlkZGVuIHNocmluay0wIGl0ZW1zLWNlbnRlciBzcGFjZS14LTQgc206ZmxleCJ9LHFEPXtjbGFzczoic2hyaW5rLTAifSxaRD17Y2xhc3M6InRleHQtc20gdGV4dC1ncmF5LTcwMCJ9LEtEPXtjbGFzczoiZm9udC1tZWRpdW0ifSxZRD17Y2xhc3M6ImZvbnQtbWVkaXVtIn0sWEQ9e2NsYXNzOiJmb250LW1lZGl1bSJ9LFFEPXtjbGFzczoiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIn0sZU09QSgib3B0aW9uIixudWxsLCIxNSIsLTEpLHRNPUEoIm9wdGlvbiIsbnVsbCwiMjUiLC0xKSxuTT1BKCJvcHRpb24iLG51bGwsIjUwIiwtMSksck09QSgib3B0aW9uIixudWxsLCIxMDAiLC0xKSxpTT1bZU0sdE0sbk0sck1dLHNNPXtmb3I6InJlc3VsdHNfcGVyX3BhZ2UiLGNsYXNzOiJzaHJpbmstMCB0ZXh0LXhzIHRleHQtZ3JheS01MDAifSxvTT17a2V5OjAsY2xhc3M6ImZsZXggdy1mdWxsIGZsZXgtMSBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHNwYWNlLXgtMiBzbTpqdXN0aWZ5LWVuZCJ9LGFNPXtjbGFzczoiYmxvY2sgdGV4dC14cyB0ZXh0LWdyYXktNzAwIHNtOmhpZGRlbiJ9LGxNPXtjbGFzczoiZm9udC1tZWRpdW0ifSxjTT17Y2xhc3M6ImZvbnQtbWVkaXVtIn0sdU09QSgic3BhbiIsbnVsbCwiIHZvbiAiLC0xKSxkTT17Y2xhc3M6ImZvbnQtbWVkaXVtIn0sZjA9TmUoe19fbmFtZToiVGFibGUiLHByb3BzOntoZWFkZXJzOnt9LGZ1bmN0aW9uOnt9LGl0ZW1zOnt9LGRldGFpbFJvdXRlTmFtZTp7fSxtdWx0aVNlbGVjdDp7dHlwZTpCb29sZWFufSxhZ2dyZWdhdGVSb3c6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfX0sZW1pdHM6WyJzZWxlY3Rpb246Y2hhbmdlIl0sYXN5bmMgc2V0dXAodCx7ZXhwb3NlOmUsZW1pdDpufSl7bGV0IHIsaTtjb25zdCBzPXQsbz1uLGE9bWwoKSxsPUFkKCkse3Q6Y309V3QoKSx1PWJzKCksZD1zZSh1LnBhZ2VTaXplKSxmPXNlKGwucXVlcnkucGFnZT8rbC5xdWVyeS5wYWdlOjEpO2d0KGYsTD0+e2NvbnN0e3BhZ2U6aiwuLi5yZX09bC5xdWVyeTthLnB1c2goe3BhdGg6bC5wYXRoLHF1ZXJ5Okw9PT0xP3JlOnsuLi5yZSxwYWdlOkx9fSl9KTtjb25zdCBoPXNlKFtdKSxtPXNlKCExKSxwPXNlKG51bGwpLGs9YXN5bmMgTD0+YXdhaXQgcy5mdW5jdGlvbihMLGQudmFsdWUpLHg9YXN5bmMoKT0+e2lmKGYudmFsdWU9MSxzLml0ZW1zKXAudmFsdWU9e2RhdGE6cy5pdGVtc307ZWxzZXtjb25zdCBMPWF3YWl0IGsoZi52YWx1ZSk7cC52YWx1ZT1MfUIoKX07ZSh7cmVmcmVzaDp4fSk7Y29uc3QgQz1zLml0ZW1zP3tkYXRhOnMuaXRlbXN9OihbcixpXT1lcygoKT0+ayhmLnZhbHVlKSkscj1hd2FpdCByLGkoKSxyKTtwLnZhbHVlPUMsZ3QoKCk9PnMuaXRlbXMsYXN5bmMgTD0+e0wmJihwLnZhbHVlPXtkYXRhOkx9KX0pO2NvbnN0IGI9b2UoKCk9Pnt2YXIgTDtyZXR1cm4gcC52YWx1ZT8oTD1wLnZhbHVlKT09bnVsbD92b2lkIDA6TC5oYXNQcmV2aW91c1BhZ2U6ITF9KSxUPW9lKCgpPT57dmFyIEw7cmV0dXJuIHAudmFsdWU/KEw9cC52YWx1ZSk9PW51bGw/dm9pZCAwOkwuaGFzTmV4dFBhZ2U6ITF9KSxFPWFzeW5jKCk9PnttLnZhbHVlPSEwLGYudmFsdWUtLTtjb25zdCBMPWF3YWl0IGsoZi52YWx1ZSk7cC52YWx1ZT1MLG0udmFsdWU9ITF9LHc9YXN5bmMoKT0+e20udmFsdWU9ITAsZi52YWx1ZSsrO2NvbnN0IEw9YXdhaXQgayhmLnZhbHVlKTtwLnZhbHVlPUwsbS52YWx1ZT0hMX0sUj1hc3luYygpPT57dS5wYWdlU2l6ZT1kLnZhbHVlLGF3YWl0IHgoKX0sRD1MPT57aC52YWx1ZS5pbmNsdWRlcyhMKT9oLnZhbHVlPWgudmFsdWUuZmlsdGVyKGo9PmohPT1MKTpoLnZhbHVlLnB1c2goTCksQigpfSxJPUw9Pnt2YXIgajtMP2gudmFsdWU9KChqPXAudmFsdWUpPT1udWxsP3ZvaWQgMDpqLmRhdGEubWFwKHJlPT5yZS5pZCkpPz9bXTpoLnZhbHVlPVtdLEIoKX0sQj0oKT0+e3ZhciBMO28oInNlbGVjdGlvbjpjaGFuZ2UiLChMPXAudmFsdWUpPT1udWxsP3ZvaWQgMDpMLmRhdGEuZmlsdGVyKGo9PmgudmFsdWUuaW5jbHVkZXMoai5pZCkpKX07cmV0dXJuKEwsaik9Pnt2YXIgeGUsVGUsbGUseWUsQWUsWmUscnQsd2U7Y29uc3QgcmU9cmwoInJvdXRlci1saW5rIik7cmV0dXJuIFUoKSxaKCJkaXYiLG51bGwsW0EoImRpdiIsTkQsW0EoInRhYmxlIixSRCxbQSgidGhlYWQiLERELFtBKCJ0ciIsbnVsbCxbTC5tdWx0aVNlbGVjdCYmcC52YWx1ZSYmcC52YWx1ZS5kYXRhLmxlbmd0aD4wPyhVKCksWigidGgiLE1ELFtBKCJsYWJlbCIsTEQsW0EoImlucHV0Iix7aWQ6ImNoZWNrYm94LWhlYWRlciIsdHlwZToiY2hlY2tib3giLGNsYXNzOiJjaGVja2JveCIsb25DaGFuZ2U6alswXXx8KGpbMF09Sj0+SShKLnRhcmdldC5jaGVja2VkKSl9LG51bGwsMzIpXSldKSk6TWUoIiIsITApLChVKCEwKSxaKHFlLG51bGwsdG4oTC5oZWFkZXJzLEo9PihVKCksWigidGgiLHtrZXk6Si5rZXksY2xhc3M6RGUoWyJweC0yIHB5LTIgdGV4dC14cyBmb250LW1lZGl1bSB1cHBlcmNhc2UiLEouY2xhc3Nlc10pfSxLKEoudGl0bGUpLDMpKSksMTI4KSldKV0pLEEoInRib2R5IixGRCxbcC52YWx1ZSYmcC52YWx1ZS5kYXRhLmxlbmd0aD4wPyhVKCEwKSxaKHFlLHtrZXk6MH0sdG4ocC52YWx1ZS5kYXRhLEo9PihVKCksWigidHIiLHtjbGFzczoidHJhbnNpdGlvbiBkdXJhdGlvbi0xMDAgZWFzZS1pbi1vdXQgaG92ZXI6YmctZ3JheS01MCIsa2V5OkouaWR9LFtMLm11bHRpU2VsZWN0PyhVKCksWigidGQiLCRELFtBKCJsYWJlbCIse2ZvcjpgY2hlY2tib3gtJHtKLmlkfWAsY2xhc3M6ImZsZXggaC1mdWxsIHctZnVsbCBjdXJzb3ItcG9pbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHgtMiBweS0yIn0sW0EoImlucHV0Iix7aWQ6YGNoZWNrYm94LSR7Si5pZH1gLGNoZWNrZWQ6aC52YWx1ZS5pbmNsdWRlcyhKLmlkKSx0eXBlOiJjaGVja2JveCIsY2xhc3M6ImNoZWNrYm94IixvbkNoYW5nZTpJZT0+RChKLmlkKX0sbnVsbCw0MCxCRCldLDgsakQpXSkpOk1lKCIiLCEwKSwoVSghMCksWihxZSxudWxsLHRuKEwuaGVhZGVycyxJZT0+KFUoKSxaKCJ0ZCIse2NsYXNzOiJtLTAgcC0wIixrZXk6YCR7SWUua2V5fS0ke0ouaWR9YH0sW3MuZGV0YWlsUm91dGVOYW1lPyhVKCksdHQocmUse2tleTowLHRhYmluZGV4OiItMSIsY2xhc3M6RGUoWyJmbGV4IGgtZnVsbCB3LWZ1bGwgcHgtMiBweS0yIHRleHQtZ3JheS01MDAgZm9jdXM6b3V0bGluZS1ub25lIixJZS5jbGFzc2VzXSksdG86cy5kZXRhaWxSb3V0ZU5hbWU/e25hbWU6cy5kZXRhaWxSb3V0ZU5hbWUscGFyYW1zOntpZDpKLmlkfX06IiJ9LHtkZWZhdWx0Om5lKCgpPT5bVXQoTC4kc2xvdHMsSWUua2V5LHtpdGVtOkp9KV0pLF86Mn0sMTAzMixbImNsYXNzIiwidG8iXSkpOihVKCksWigic3BhbiIse2tleToxLGNsYXNzOkRlKFsiZmxleCBoLWZ1bGwgdy1mdWxsIGN1cnNvci1kZWZhdWx0IHB4LTIgcHktMiB0ZXh0LWdyYXktNTAwIGZvY3VzOm91dGxpbmUtbm9uZSIsSWUuY2xhc3Nlc10pfSxbVXQoTC4kc2xvdHMsSWUua2V5LHtpdGVtOkp9KV0sMikpXSkpKSwxMjgpKV0pKSksMTI4KSk6KFUoKSxaKCJ0ciIsVUQsW0EoInRkIixWRCxbQSgicCIsV0QsSyhTKGMpKCJ0YWJsZS5ub19yZXN1bHRzIikpLDEpXSldKSksTC5hZ2dyZWdhdGVSb3cmJnAudmFsdWUmJnAudmFsdWUuZGF0YS5sZW5ndGg+MD8oVSgpLFooInRyIixHRCxbTC5tdWx0aVNlbGVjdD8oVSgpLFooInRkIix6RCkpOk1lKCIiLCEwKSwoVSghMCksWihxZSxudWxsLHRuKEwuaGVhZGVycyxKPT4oVSgpLFooInRkIix7Y2xhc3M6Im0tMCBwLTAiLGtleTpgJHtKLmtleX0tYWdncmVnYXRlYH0sW0EoInNwYW4iLHtjbGFzczpEZShbImZsZXggaC1mdWxsIHctZnVsbCBweC0yIHB5LTIgZm9jdXM6b3V0bGluZS1ub25lIixKLmNsYXNzZXNdKX0sW1V0KEwuJHNsb3RzLGAke0oua2V5fUFnZ3JlZ2F0ZWAse2l0ZW1zOnAudmFsdWUuZGF0YX0pXSwyKV0pKSksMTI4KSldKSk6TWUoIiIsITApXSldKV0pLHAudmFsdWUmJnAudmFsdWUuY291bnQ+MD8oVSgpLFooIm5hdiIsSEQsW0EoImRpdiIsSkQsW0EoImRpdiIscUQsW0EoInAiLFpELFtBKCJzcGFuIixLRCxLKCgoeGU9cC52YWx1ZSk9PW51bGw/dm9pZCAwOnhlLmNvdW50KT8/MCksMSksJGUoIiAiK0soKChUZT1wLnZhbHVlKT09bnVsbD92b2lkIDA6VGUuY291bnQpPT09MT9TKGMpKCJ0YWJsZS5yZXN1bHQiKTpTKGMpKCJ0YWJsZS5yZXN1bHRzIikpKyIsICIrSyhTKGMpKCJ0YWJsZS5wYWdlIikpKyIgIiwxKSxBKCJzcGFuIixZRCxLKCgobGU9cC52YWx1ZSk9PW51bGw/dm9pZCAwOmxlLnBhZ2VOdW1iZXIpPz8wKSwxKSxBKCJzcGFuIixudWxsLCLCoCIrSyhTKGMpKCJ0YWJsZS5vZiIpKSsiwqAiLDEpLEEoInNwYW4iLFhELEsoKCh5ZT1wLnZhbHVlKT09bnVsbD92b2lkIDA6eWUudG90YWxQYWdlcyk/PzApLDEpXSldKSxBKCJkaXYiLFFELFskdChBKCJzZWxlY3QiLHtvbkNoYW5nZTpSLCJvblVwZGF0ZTptb2RlbFZhbHVlIjpqWzFdfHwoalsxXT1KPT5kLnZhbHVlPUopLGlkOiJyZXN1bHRzX3Blcl9wYWdlIixjbGFzczoiaW5wdXQgdy1hdXRvIHRleHQteHMifSxpTSw1NDQpLFtbZm8sZC52YWx1ZV1dKSxBKCJsYWJlbCIsc00sSyhTKGMpKCJ0YWJsZS5wZXJfcGFnZSIpKSwxKV0pXSksYi52YWx1ZXx8VC52YWx1ZT8oVSgpLFooImRpdiIsb00sW2VlKFN0LHt0eXBlOiJidXR0b24iLGRpc2FibGVkOiFiLnZhbHVlfHxtLnZhbHVlLG9uQ2xpY2s6alsyXXx8KGpbMl09Sj0+RSgpKSxjb2xvcjoic2Vjb25kYXJ5In0se2RlZmF1bHQ6bmUoKCk9PlskZShLKFMoYykoInRhYmxlLnByZXZpb3VzIikpLDEpXSksXzoxfSw4LFsiZGlzYWJsZWQiXSksQSgiZGl2IixhTSxbQSgic3BhbiIsbE0sSygoKEFlPXAudmFsdWUpPT1udWxsP3ZvaWQgMDpBZS5jb3VudCk/PzApLDEpLCRlKCIgIitLKCgoWmU9cC52YWx1ZSk9PW51bGw/dm9pZCAwOlplLmNvdW50KT09PTE/UyhjKSgidGFibGUucmVzdWx0Iik6UyhjKSgidGFibGUucmVzdWx0cyIpKSsiLCBTZWl0ZSAiLDEpLEEoInNwYW4iLGNNLEsoKChydD1wLnZhbHVlKT09bnVsbD92b2lkIDA6cnQucGFnZU51bWJlcik/PzApLDEpLHVNLEEoInNwYW4iLGRNLEsoKCh3ZT1wLnZhbHVlKT09bnVsbD92b2lkIDA6d2UudG90YWxQYWdlcyk/PzApLDEpXSksZWUoU3Qse3R5cGU6ImJ1dHRvbiIsZGlzYWJsZWQ6IVQudmFsdWV8fG0udmFsdWUsb25DbGljazpqWzNdfHwoalszXT1KPT53KCkpLGNvbG9yOiJzZWNvbmRhcnkifSx7ZGVmYXVsdDpuZSgoKT0+WyRlKEsoUyhjKSgidGFibGUubmV4dCIpKSwxKV0pLF86MX0sOCxbImRpc2FibGVkIl0pXSkpOk1lKCIiLCEwKV0pKTpNZSgiIiwhMCldKX19fSksRGk9dD0+KHQvMTAwKS50b0xvY2FsZVN0cmluZyhuYXZpZ2F0b3IubGFuZ3VhZ2Use3N0eWxlOiJjdXJyZW5jeSIsY3VycmVuY3k6ImV1ciIsbWluaW11bUZyYWN0aW9uRGlnaXRzOjJ9KSxmTT0odCxlPSIiKT0+e2NvbnN0IG49QWQoKSxyPW1sKCk7cmV0dXJuW29lKCgpPT5uLnF1ZXJ5W3RdfHxlKSxvPT57Y29uc3R7W3RdOmEsLi4ubH09bi5xdWVyeTtvP3IucmVwbGFjZSh7cXVlcnk6e1t0XTpvLC4uLmx9fSk6ci5yZXBsYWNlKHtxdWVyeTpsfSl9XX0saE09e2NsYXNzOiJyZWxhdGl2ZSJ9LG1NPXtjbGFzczoiZmxleCB3LWZ1bGwgZmxleC1jb2wgaXRlbXMtY2VudGVyIHB5LTQgbWQ6cHktOCJ9LHBNPXtjbGFzczoibXgtYXV0byB3LWZ1bGwgbWF4LXctMnhsIn0sZ009e2NsYXNzOiJzcGFjZS15LTIgbWQ6c3BhY2UteS00In0seU09QSgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJub25lIix2aWV3Qm94OiIwIDAgMjQgMjQiLCJzdHJva2Utd2lkdGgiOiIxLjUiLHN0cm9rZToiY3VycmVudENvbG9yIixjbGFzczoiaC02IHctNiJ9LFtBKCJwYXRoIix7InN0cm9rZS1saW5lY2FwIjoicm91bmQiLCJzdHJva2UtbGluZWpvaW4iOiJyb3VuZCIsZDoiTTE1IDloMy43NU0xNSAxMmgzLjc1TTE1IDE1aDMuNzVNNC41IDE5LjVoMTVhMi4yNSAyLjI1IDAgMDAyLjI1LTIuMjVWNi43NUEyLjI1IDIuMjUgMCAwMDE5LjUgNC41aC0xNWEyLjI1IDIuMjUgMCAwMC0yLjI1IDIuMjV2MTAuNUEyLjI1IDIuMjUgMCAwMDQuNSAxOS41em02LTEwLjEyNWExLjg3NSAxLjg3NSAwIDExLTMuNzUgMCAxLjg3NSAxLjg3NSAwIDAxMy43NSAwem0xLjI5NCA2LjMzNmE2LjcyMSA2LjcyMSAwIDAxLTMuMTcuNzg5IDYuNzIxIDYuNzIxIDAgMDEtMy4xNjgtLjc4OSAzLjM3NiAzLjM3NiAwIDAxNi4zMzggMHoifSldLC0xKSx2TT1BKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6Im5vbmUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsInN0cm9rZS13aWR0aCI6IjEuNSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLGNsYXNzOiJoLTYgdy02IHNocmluay0wIn0sW0EoInBhdGgiLHsic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIixkOiJNMTAuMTI1IDIuMjVoLTQuNWMtLjYyMSAwLTEuMTI1LjUwNC0xLjEyNSAxLjEyNXYxNy4yNWMwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1aDEyLjc1Yy42MjEgMCAxLjEyNS0uNTA0IDEuMTI1LTEuMTI1di05TTEwLjEyNSAyLjI1aC4zNzVhOSA5IDAgMDE5IDl2LjM3NU0xMC4xMjUgMi4yNUEzLjM3NSAzLjM3NSAwIDAxMTMuNSA1LjYyNXYxLjVjMCAuNjIxLjUwNCAxLjEyNSAxLjEyNSAxLjEyNWgxLjVhMy4zNzUgMy4zNzUgMCAwMTMuMzc1IDMuMzc1TTkgMTVsMi4yNSAyLjI1TDE1IDEyIn0pXSwtMSksX009e2NsYXNzOiJtdC04In0sYk09QSgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJub25lIix2aWV3Qm94OiIwIDAgMjQgMjQiLCJzdHJva2Utd2lkdGgiOiIxLjUiLHN0cm9rZToiY3VycmVudENvbG9yIixjbGFzczoiaC02IHctNiJ9LFtBKCJwYXRoIix7InN0cm9rZS1saW5lY2FwIjoicm91bmQiLCJzdHJva2UtbGluZWpvaW4iOiJyb3VuZCIsZDoiTTIuMjUgMTguNzVhNjAuMDcgNjAuMDcgMCAwMTE1Ljc5NyAyLjEwMWMuNzI3LjE5OCAxLjQ1My0uMzQyIDEuNDUzLTEuMDk2VjE4Ljc1TTMuNzUgNC41di43NUEuNzUuNzUgMCAwMTMgNmgtLjc1bTAgMHYtLjM3NWMwLS42MjEuNTA0LTEuMTI1IDEuMTI1LTEuMTI1SDIwLjI1TTIuMjUgNnY5bTE4LTEwLjV2Ljc1YzAgLjQxNC4zMzYuNzUuNzUuNzVoLjc1bS0xLjUtMS41aC4zNzVjLjYyMSAwIDEuMTI1LjUwNCAxLjEyNSAxLjEyNXY5Ljc1YzAgLjYyMS0uNTA0IDEuMTI1LTEuMTI1IDEuMTI1aC0uMzc1bTEuNS0xLjVIMjFhLjc1Ljc1IDAgMDAtLjc1Ljc1di43NW0wIDBIMy43NW0wIDBoLS4zNzVhMS4xMjUgMS4xMjUgMCAwMS0xLjEyNS0xLjEyNVYxNW0xLjUgMS41di0uNzVBLjc1Ljc1IDAgMDAzIDE1aC0uNzVNMTUgMTAuNWEzIDMgMCAxMS02IDAgMyAzIDAgMDE2IDB6bTMgMGguMDA4di4wMDhIMThWMTAuNXptLTEyIDBoLjAwOHYuMDA4SDZWMTAuNXoifSldLC0xKSx3TT17Y2xhc3M6InRleHQtZ3JheS05MDAifSxrTT17Y2xhc3M6InRleHQtZ3JheS05MDAifSxTTT17Y2xhc3M6InRleHQtZ3JheS05MDAifSxUTT17Y2xhc3M6ImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIHNwYWNlLXgtMSJ9LEVNPXtjbGFzczoidGV4dC1ncmF5LTkwMCJ9LHhNPXtjbGFzczoidGV4dC14cyB0ZXh0LWdyYXktNTAwIn0sQU09e2NsYXNzOiJ0ZXh0LWdyYXktOTAwIn0sT009e2tleToxLGNsYXNzOiJtdC04In0sQ009QSgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJub25lIix2aWV3Qm94OiIwIDAgMjQgMjQiLCJzdHJva2Utd2lkdGgiOiIxLjUiLHN0cm9rZToiY3VycmVudENvbG9yIixjbGFzczoiaC02IHctNiJ9LFtBKCJwYXRoIix7InN0cm9rZS1saW5lY2FwIjoicm91bmQiLCJzdHJva2UtbGluZWpvaW4iOiJyb3VuZCIsZDoiTTkgMTIuNzVMMTEuMjUgMTUgMTUgOS43NU0yMSAxMmE5IDkgMCAxMS0xOCAwIDkgOSAwIDAxMTggMHoifSldLC0xKSxQTT17a2V5OjAsY2xhc3M6Im10LTgifSxJTT17a2V5OjAsY2xhc3M6InN0aWNreSBib3R0b20tMCB6LTUwIGJvcmRlci10IGJvcmRlci1ncmF5LTIwMCBiZy13aGl0ZSBzaGFkb3cteGwifSxOTT17Y2xhc3M6Im14LWF1dG8gZmxleCB3LWZ1bGwgbWF4LXctMnhsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gc3BhY2UteC00IG92ZXJmbG93LWhpZGRlbiBweC04IHB5LTQgdGV4dC1zbSJ9LFJNPXtjbGFzczoic2hyaW5rLTAifSxETT17Y2xhc3M6ImZsZXggdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciIsImFyaWEtbGFiZWwiOiJQcm9ncmVzcyJ9LE1NPXtjbGFzczoiZmxleCB3LWZ1bGwgZmxleC1jb2wgaXRlbXMtZW5kIn0sTE09e2NsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciJ9LEZNPXtjbGFzczoidGV4dC1zbSBmb250LW1lZGl1bSJ9LCRNPXtjbGFzczoidHJ1bmNhdGUgdGV4dC14cyB0ZXh0LWdyYXktNTAwIn0sak09e3JvbGU6Imxpc3QiLGNsYXNzOiJtbC02IGZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtNCJ9LEJNPVsiaHJlZiJdLFVNPUEoInNwYW4iLHtjbGFzczoiYWJzb2x1dGUgZmxleCBoLTUgdy01IHAtcHgiLCJhcmlhLWhpZGRlbiI6InRydWUifSxbQSgic3BhbiIse2NsYXNzOiJoLWZ1bGwgdy1mdWxsIHJvdW5kZWQtZnVsbCBiZy1wcmltYXJ5LTIwMCJ9KV0sLTEpLFZNPUEoInNwYW4iLHtjbGFzczoicmVsYXRpdmUgYmxvY2sgaC0yLjUgdy0yLjUgcm91bmRlZC1mdWxsIGJnLXByaW1hcnktNjAwIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sbnVsbCwtMSksV009e2NsYXNzOiJzci1vbmx5In0sR009WyJocmVmIl0sek09e2NsYXNzOiJzci1vbmx5In0sSE09WyJocmVmIl0sSk09e2NsYXNzOiJzci1vbmx5In0scU09e2NsYXNzOiJ0ZXh0LXNtIHRleHQtZ3JheS01MDAifSxaTT0xMjAwLEtNPU5lKHtfX25hbWU6IkNoZWNrSW5WaWV3Iixhc3luYyBzZXR1cCh0KXt2YXIgYWUsZmUsamUsTyxQO2xldCBlLG47Y29uc3R7dDpyfT1XdCgpLGk9dGkoKSx7bm90aWZ5OnN9PVBsKCksbz1tbCgpLFthXT1uci51c2VJbmplY3QoWWEubmFtZSksW2xdPW5yLnVzZUluamVjdChLcC5uYW1lKSxbY109Zk0oInN0YXR1cyIpO2MudmFsdWU9PT0ic3VjY2VzcyI/cyh7dHlwZToic3VjY2VzcyIsdGl0bGU6cigicG9ydGFsLmNoZWNrX2luX3ZpZXcucGF5bWVudF9zdWNjZXNzIiksdGV4dDpyKCJwb3J0YWwuY2hlY2tfaW5fdmlldy5wYXltZW50X3N1Y2Nlc3NfdGV4dCIpfSk6Yy52YWx1ZT09PSJjYW5jZWwiJiZzKHt0eXBlOiJlcnJvciIsdGl0bGU6cigicG9ydGFsLmNoZWNrX2luX3ZpZXcucGF5bWVudF9jYW5jZWwiKSx0ZXh0OnIoInBvcnRhbC5jaGVja19pbl92aWV3LnBheW1lbnRfY2FuY2VsX3RleHQiKX0pO2NvbnN0IHU9c2UoITEpLGQ9c2UobnVsbCksZj1zZSghMSksaD1zZSghMSksbT1zZSghMSkscD1zZShudWxsKSxrPWc9PihnLmFkZHJlc3N8fChnLmFkZHJlc3M9bmV3IEpyKSxnLmNvbW11bmljYXRpb258fChnLmNvbW11bmljYXRpb249bmV3IF9zKSxnKTsoZmU9KGFlPWkuYm9va2luZyk9PW51bGw/dm9pZCAwOmFlLmd1ZXN0cyk9PW51bGx8fGZlLmZvckVhY2goayk7Y29uc3QgeD1zZShrKCgoTz0oamU9aS5ib29raW5nKT09bnVsbD92b2lkIDA6amUuZ3Vlc3RzKT09bnVsbD92b2lkIDA6T1swXSk/P25ldyB4bykpLEM9c2UoITEpLGI9b2UoKCk9Pnt2YXIgZyxOLFc7cmV0dXJuISF4LnZhbHVlJiYoKFc9KE49KGc9aS5ib29raW5nKT09bnVsbD92b2lkIDA6Zy5ndWVzdHMpPT1udWxsP3ZvaWQgMDpOWzBdKT09bnVsbD92b2lkIDA6Vy5pZCk9PT14LnZhbHVlLmlkfSksVD1nPT57dmFyIE4sVztyZXR1cm4hISgoTj1pLmdlbmVyYWxTZXR0aW5ncykhPW51bGwmJk4uZmVhdHVyZVNraXBEb2N1bWVudEZvckdlcm1hbnMpJiYoKFc9Zy5uYXRpb25hbGl0eSk9PW51bGw/dm9pZCAwOlcudG9VcHBlckNhc2UoKSk9PT0iREUifSxFPW9lKCgpPT57dmFyIGc7cmV0dXJuKChnPWkuZ2VuZXJhbFNldHRpbmdzKT09bnVsbD92b2lkIDA6Zy5ndWVzdEZvcm0pPz9udWxsfSksdz1vZSgoKT0+e3ZhciBnLE4sVyx6O3JldHVybigoZz1FLnZhbHVlKT09bnVsbD92b2lkIDA6Zy5jb2xsZWN0QWRkaXRpb25hbEd1ZXN0cyk9PT0hMT8oKFc9KE49aS5ib29raW5nKT09bnVsbD92b2lkIDA6Ti5ndWVzdHMpPT1udWxsP3ZvaWQgMDpXLnNsaWNlKDAsMSkpPz9bXTooKHo9aS5ib29raW5nKT09bnVsbD92b2lkIDA6ei5ndWVzdHMpPz9bXX0pLFI9b2UoKCk9PncudmFsdWUuZXZlcnkoKGcsTik9PmJ1KGcsTj09PTAsRS52YWx1ZSxUKGcpKSk/PyExKSxEPW9lKCgpPT57dmFyIGc7cmV0dXJuIFIudmFsdWUmJiEhKChnPWkuYm9va2luZykhPW51bGwmJmcuc2lnbmF0dXJlKX0pLEk9b2UoKCk9PiF3LnZhbHVlLmV2ZXJ5KChnLE4pPT5idShnLE49PT0wLEUudmFsdWUsVChnKSkpKSxCPW9lKCgpPT57dmFyIGc7cmV0dXJuIEkudmFsdWV8fCEoKGc9aS5ib29raW5nKSE9bnVsbCYmZy5zaWduYXR1cmUpfSksTD1vZSgoKT0+e3ZhciBnLE47cmV0dXJuIEIudmFsdWV8fCgoZz1pLmdlbmVyYWxTZXR0aW5ncyk9PW51bGw/dm9pZCAwOmcuZmVhdHVyZVBheW1lbnQpJiYoKE49aS5ib29raW5nTWV0YWRhdGEpPT1udWxsP3ZvaWQgMDpOLmR1ZUFtb3VudCk+MH0pLGo9b2UoKCk9Plt7a2V5OiJxdWFudGl0eSIsdGl0bGU6cigiYm9va2luZ3MuZGV0YWlsLmZvbGlvcy5xdWFudGl0eSIpfSx7a2V5OiJ0ZXh0Iix0aXRsZTpyKCJib29raW5ncy5kZXRhaWwuZm9saW9zLm5hbWUiKX0se2tleToibmV0QW1vdW50Iix0aXRsZTpyKCJib29raW5ncy5kZXRhaWwuZm9saW9zLm5ldF9hbW91bnQiKSxjbGFzc2VzOiJqdXN0aWZ5LWVuZCB0ZXh0LXJpZ2h0In0se2tleToidGF4QW1vdW50Iix0aXRsZTpyKCJib29raW5ncy5kZXRhaWwuZm9saW9zLnRheCIpLGNsYXNzZXM6Imp1c3RpZnktZW5kIHRleHQtcmlnaHQifSx7a2V5OiJncm9zc0Ftb3VudCIsdGl0bGU6cigiYm9va2luZ3MuZGV0YWlsLmZvbGlvcy5ncm9zc19hbW91bnQiKSxjbGFzc2VzOiJqdXN0aWZ5LWVuZCB0ZXh0LXJpZ2h0In1dKSxyZT1PaShbe25hbWU6cigicG9ydGFsLmNoZWNrX2luX3ZpZXcuc3RlcHMucmVnaXN0cmF0aW9uX2Zvcm0iKSxocmVmOiIjcmVnaXN0cmF0aW9uLWZvcm0ifSx7bmFtZTpyKCJwb3J0YWwuY2hlY2tfaW5fdmlldy5zdGVwcy5jb25maXJtYXRpb24iKSxocmVmOiIjY29uZmlybWF0aW9uIn0sKFA9aS5nZW5lcmFsU2V0dGluZ3MpIT1udWxsJiZQLmZlYXR1cmVQYXltZW50P3tuYW1lOnIoInBvcnRhbC5jaGVja19pbl92aWV3LnN0ZXBzLnBheW1lbnQiKSxocmVmOiIjcGF5bWVudCJ9Ont9LHtuYW1lOnIoInBvcnRhbC5jaGVja19pbl92aWV3LnN0ZXBzLmNoZWNrX2luIiksaHJlZjoiI2NoZWNrLWluIn1dLmZpbHRlcihnPT5nLm5hbWUpKSx4ZT1vZSgoKT0+e3ZhciBnLE47cmV0dXJuKGc9aT09bnVsbD92b2lkIDA6aS5nZW5lcmFsU2V0dGluZ3MpIT1udWxsJiZnLmZlYXR1cmVQYXltZW50JiYoKE49aT09bnVsbD92b2lkIDA6aS5ib29raW5nTWV0YWRhdGEpPT1udWxsP3ZvaWQgMDpOLmR1ZUFtb3VudCk9PT0wJiZSLnZhbHVlJiZELnZhbHVlPzQ6Ui52YWx1ZSYmRC52YWx1ZT8zOlIudmFsdWU/MjoxfSk7Z3QoeCwoKT0+SighMSkse2RlZXA6ITB9KSx5dChhc3luYygpPT57dmFyIE47aWYoISgoTj1pLmJvb2tpbmcpIT1udWxsJiZOLmlkKSlyZXR1cm47Y29uc3QgZz1hd2FpdCBhLmdldENoYXJnZXMoKTtnJiYocC52YWx1ZT1nPT1udWxsP3ZvaWQgMDpnLnJlZHVjZSgoVyx6KT0+e2NvbnN0IHRlPVcuZmluZChRPT5RLml0ZW1JZD09PXouaXRlbUlkKTtpZih0ZSl0ZS5xdWFudGl0eT10ZS5xdWFudGl0eSt6LnF1YW50aXR5LHRlLmdyb3NzQW1vdW50PXRlLmdyb3NzQW1vdW50K3ouZ3Jvc3NBbW91bnQsdGUubmV0QW1vdW50PXRlLm5ldEFtb3VudCt6Lm5ldEFtb3VudCx0ZS50YXhBbW91bnQ9dGUudGF4QW1vdW50K3oudGF4QW1vdW50O2Vsc2V7Y29uc3QgUT1uZXcgWGE7US5pbml0KHoudG9KU09OKCkpLFcucHVzaChRKX1yZXR1cm4gV30sW10pKX0pO2NvbnN0IFRlPW5ldyBNYXAsbGU9bmV3IE1hcDtsZXQgeWU9ITE7Y29uc3QgQWU9YXN5bmMoKT0+e2lmKCF5ZSl7eWU9ITAsZi52YWx1ZT0hMDt0cnl7Zm9yKDtsZS5zaXplPjA7KXtjb25zdFtnLE5dPWxlLmVudHJpZXMoKS5uZXh0KCkudmFsdWU7bGUuZGVsZXRlKGcpO3RyeXthd2FpdCBOKCl9Y2F0Y2h7cyh7dHlwZToiZXJyb3IiLHRpdGxlOnIoImVycm9ycy5nZW5lcmFsIil9KX19fWZpbmFsbHl7eWU9ITEsZi52YWx1ZT0hMX19fSxaZT0oZyxOKT0+e2xlLnNldChnLE4pLEFlKCl9LHJ0PShnLE4pPT57Y29uc3QgVz1UZS5nZXQoZyk7VyYmY2xlYXJUaW1lb3V0KFcpLFRlLnNldChnLHNldFRpbWVvdXQoKCk9PntUZS5kZWxldGUoZyksWmUoZyxOKX0sWk0pKX0sd2U9KGcsTik9Pntjb25zdCBXPVRlLmdldChnKTtXJiYoY2xlYXJUaW1lb3V0KFcpLFRlLmRlbGV0ZShnKSksWmUoZyxOKX0sSj0oZz0hMSk9PntpZihpLmNoZWNrZWRJbilyZXR1cm47Y29uc3QgTj14LnZhbHVlO2lmKCEoTiE9bnVsbCYmTi5pZCkpcmV0dXJuO2NvbnN0IFc9KCk9PmEudXBkYXRlR3Vlc3QoTi5pZCxuZXcgQnUoe25hbWU6Ti5uYW1lLGFkZHJlc3M6Ti5hZGRyZXNzLGNvbW11bmljYXRpb246Ti5jb21tdW5pY2F0aW9uLGRhdGVPZkJpcnRoOk4uZGF0ZU9mQmlydGgsbmF0aW9uYWxpdHk6Ti5uYXRpb25hbGl0eX0pKTtnP3dlKE4uaWQsVyk6cnQoTi5pZCxXKX0sSWU9YXN5bmMgZz0+e3ZhciBOO2lmKGcpe0MudmFsdWU9ITA7Y29uc3QgVz17ZGF0YTpnLGZpbGVOYW1lOmcubmFtZX0sej1hd2FpdCBhLmNyZWF0ZUNvbnRhY3RGaWxlKHgudmFsdWUuaWQsVyk7KE49eC52YWx1ZS5maWxlcyk9PW51bGx8fE4ucHVzaCh6KSxDLnZhbHVlPSExfX0semU9YXN5bmMgZz0+e3ZhciBOO2cmJihhd2FpdCBhLmRlbGV0ZUNvbnRhY3RGaWxlKHgudmFsdWUuaWQsZykseC52YWx1ZS5maWxlcz0oTj14LnZhbHVlLmZpbGVzKT09bnVsbD92b2lkIDA6Ti5maWx0ZXIoVz0+Vy5pZCE9PWcpKX0sUmU9YXN5bmMgZz0+e2lmKGcpe2NvbnN0IFc9YXdhaXQoYXdhaXQgZmV0Y2goZz8/IiIpKS5ibG9iKCksej1uZXcgRmlsZShbV10sInNpZ25hdHVyZS5wbmciLHt0eXBlOiJpbWFnZS9wbmcifSk7d2UoInNpZ25hdHVyZSIsYXN5bmMoKT0+e2NvbnN0IHRlPWF3YWl0IGEudXBkYXRlU2lnbmF0dXJlKHtkYXRhOnosZmlsZU5hbWU6InNpZ25hdHVyZS5wbmcifSk7aS5ib29raW5nLnNpZ25hdHVyZT10ZS5zaWduYXR1cmUsYXdhaXQgVWUoKX0pfWVsc2UgaS5ib29raW5nLnNpZ25hdHVyZT12b2lkIDAsd2UoInNpZ25hdHVyZSIsKCk9PmEuZGVsZXRlU2lnbmF0dXJlKCkpLGF3YWl0IFVlKCl9LFVlPWFzeW5jKCk9Pnt2YXIgZztpZigoZz1pLmJvb2tpbmcpIT1udWxsJiZnLnNpZ25hdHVyZSl7Y29uc3QgTj1hd2FpdCBhLmdldEZpbGVDb250ZW50KGkuYm9va2luZy5zaWduYXR1cmUuaWQpLFc9d2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoTi5kYXRhKTtkLnZhbHVlPVd9ZWxzZSBkLnZhbHVlPW51bGx9O1tlLG5dPWVzKCgpPT5VZSgpKSxhd2FpdCBlLG4oKTtjb25zdCBIPWFzeW5jKCk9PntoLnZhbHVlPSEwO2NvbnN0IGc9YXdhaXQgYS5jcmVhdGVDaGVja291dFNlc3Npb24oKTt3aW5kb3cub3BlbihnLCJfc2VsZiIpLGgudmFsdWU9ITF9LGNlPWFzeW5jKCk9PnttLnZhbHVlPSEwLGF3YWl0IGEucHJlQ2hlY2tJbigpLGF3YWl0IGkuZ2V0Qm9va2luZ01ldGFkYXRhKCksYXdhaXQgaS5nZXRBY2Nlc3NQb2ludHMoKSxvLnB1c2goYC9wb3J0YWwvJHtpLmxpbmtJZH1gKSxzKHt0eXBlOiJzdWNjZXNzIix0aXRsZTpyKCJwb3J0YWwuY2hlY2tfaW5fdmlldy5jaGVja19pbl9zdWNjZXNzIiksdGV4dDpyKCJwb3J0YWwuY2hlY2tfaW5fdmlldy5jaGVja19pbl9zdWNjZXNzX3RleHQiKX0pLG0udmFsdWU9ITF9O3JldHVybihnLE4pPT57dmFyIHosdGUsUSx2O2NvbnN0IFc9cmwoIlJvdXRlckxpbmsiKTtyZXR1cm4gVSgpLFoocWUsbnVsbCxbQSgibWFpbiIsaE0sW0EoImRpdiIsbU0sW0EoImRpdiIscE0sW0EoImRpdiIsZ00sW2VlKGVmLHtpZDoic3VtbWFyeSJ9KSxlZShfbix7aWQ6InJlZ2lzdHJhdGlvbi1mb3JtIix0aXRsZTpTKHIpKCJwb3J0YWwuY2hlY2tfaW5fdmlldy5yZWdpc3RyYXRpb25fZm9ybXNfY2FyZC50aXRsZSIpLGRlc2NyaXB0aW9uOlMocikoInBvcnRhbC5jaGVja19pbl92aWV3LnJlZ2lzdHJhdGlvbl9mb3Jtc19jYXJkLmRlc2NyaXB0aW9uIil9LHtpY29uOm5lKCgpPT5beU1dKSxkZWZhdWx0Om5lKCgpPT5bUyhpKS5ib29raW5nPyhVKCksdHQoYkQse2tleTowLGd1ZXN0czpTKGkpLmJvb2tpbmcuZ3Vlc3RzPz9bXSxjbGFzczoibXQtOCIsbW9kZWxWYWx1ZTp4LnZhbHVlLCJvblVwZGF0ZTptb2RlbFZhbHVlIjpOWzBdfHwoTlswXT15PT54LnZhbHVlPXkpfSxudWxsLDgsWyJndWVzdHMiLCJtb2RlbFZhbHVlIl0pKTpNZSgiIiwhMCksZWUodUQse2NsYXNzOiJtdC00Iixtb2RlbFZhbHVlOngudmFsdWUsIm9uVXBkYXRlOm1vZGVsVmFsdWUiOk5bMV18fChOWzFdPXk9PngudmFsdWU9eSksImlzLW1haW4tZ3Vlc3QiOmIudmFsdWUsInVwbG9hZGluZy1maWxlIjpDLnZhbHVlLG9uRmlsZUNoYW5nZWQ6SWUsb25GaWxlRGVsZXRlZDp6ZSxvbkNvbW1pdDpOWzJdfHwoTlsyXT15PT5KKCEwKSl9LG51bGwsOCxbIm1vZGVsVmFsdWUiLCJpcy1tYWluLWd1ZXN0IiwidXBsb2FkaW5nLWZpbGUiXSldKSxfOjF9LDgsWyJ0aXRsZSIsImRlc2NyaXB0aW9uIl0pLGVlKF9uLHtpZDoiY29uZmlybWF0aW9uIix0aXRsZTpTKHIpKCJwb3J0YWwuY2hlY2tfaW5fdmlldy5jb25maXJtYXRpb25fY2FyZC50aXRsZSIpLGRlc2NyaXB0aW9uOlMocikoInBvcnRhbC5jaGVja19pbl92aWV3LmNvbmZpcm1hdGlvbl9jYXJkLmRlc2NyaXB0aW9uIiksZGlzYWJsZWQ6SS52YWx1ZSwiZGlzYWJsZWQtdGV4dCI6UyhyKSgicG9ydGFsLmNoZWNrX2luX3ZpZXcuY29uZmlybWF0aW9uX2NhcmQuZGlzYWJsZWRfdGV4dCIpfSx7aWNvbjpuZSgoKT0+W3ZNXSksZGVmYXVsdDpuZSgoKT0+W0EoImRpdiIsX00sW2VlKElELHtkaXNhYmxlZDpTKGkpLmNoZWNrZWRJbiwibW9kZWwtdmFsdWUiOmQudmFsdWUsIm9uVXBkYXRlOm1vZGVsVmFsdWUiOlJlfSxudWxsLDgsWyJkaXNhYmxlZCIsIm1vZGVsLXZhbHVlIl0pXSldKSxfOjF9LDgsWyJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiZGlzYWJsZWQiLCJkaXNhYmxlZC10ZXh0Il0pLCh6PVMoaSkuZ2VuZXJhbFNldHRpbmdzKSE9bnVsbCYmei5mZWF0dXJlUGF5bWVudD8oVSgpLHR0KF9uLHtrZXk6MCxpZDoicGF5bWVudCIsdGl0bGU6UyhyKSgicG9ydGFsLmNoZWNrX2luX3ZpZXcucGF5bWVudF9jYXJkLnRpdGxlIiksZGVzY3JpcHRpb246KCh0ZT1TKGkpLmJvb2tpbmdNZXRhZGF0YSk9PW51bGw/dm9pZCAwOnRlLmR1ZUFtb3VudCk9PT0wP1MocikoInBvcnRhbC5jaGVja19pbl92aWV3LnBheW1lbnRfY2FyZC5kZXNjcmlwdGlvbi5wYXltZW50X2NvbXBsZXRlIix7ZHVlQW1vdW50OlMoRGkpKChRPVMoaSkuYm9va2luZ01ldGFkYXRhKT09bnVsbD92b2lkIDA6US5kdWVBbW91bnQpfSk6UyhyKSgicG9ydGFsLmNoZWNrX2luX3ZpZXcucGF5bWVudF9jYXJkLmRlc2NyaXB0aW9uLnBheW1lbnRfaW5jb21wbGV0ZSIse2R1ZUFtb3VudDpTKERpKSgodj1TKGkpLmJvb2tpbmdNZXRhZGF0YSk9PW51bGw/dm9pZCAwOnYuZHVlQW1vdW50KX0pLGRpc2FibGVkOkIudmFsdWUsImRpc2FibGVkLXRleHQiOlMocikoInBvcnRhbC5jaGVja19pbl92aWV3LnBheW1lbnRfY2FyZC5kaXNhYmxlZF90ZXh0Iil9LHtpY29uOm5lKCgpPT5bYk1dKSxkZWZhdWx0Om5lKCgpPT57dmFyIHk7cmV0dXJuW3AudmFsdWU/KFUoKSx0dChmMCx7a2V5OjAsY2xhc3M6Im10LTQiLGhlYWRlcnM6ai52YWx1ZSxpdGVtczpwLnZhbHVlfSx7cXVhbnRpdHk6bmUoKHtpdGVtOk19KT0+W0EoInNwYW4iLHdNLEsoTS5xdWFudGl0eSksMSldKSx0ZXh0Om5lKCh7aXRlbTpNfSk9PltBKCJzcGFuIixrTSxLKE0udGV4dCksMSldKSxuZXRBbW91bnQ6bmUoKHtpdGVtOk19KT0+W0EoInNwYW4iLFNNLEsoUyhEaSkoTS5uZXRBbW91bnQpKSwxKV0pLHRheEFtb3VudDpuZSgoe2l0ZW06TX0pPT5bQSgiZGl2IixUTSxbQSgic3BhbiIsRU0sSyhTKERpKShNLnRheEFtb3VudCkpLDEpLEEoInNwYW4iLHhNLCIgKCIrSyhNLnRheFBlcmNlbnRhZ2UpKyIlKSAiLDEpXSldKSxncm9zc0Ftb3VudDpuZSgoe2l0ZW06TX0pPT5bQSgic3BhbiIsQU0sSyhTKERpKShNLmdyb3NzQW1vdW50KSksMSldKSxfOjF9LDgsWyJoZWFkZXJzIiwiaXRlbXMiXSkpOk1lKCIiLCEwKSwoKHk9UyhpKS5ib29raW5nTWV0YWRhdGEpPT1udWxsP3ZvaWQgMDp5LmR1ZUFtb3VudCk+MD8oVSgpLFooImRpdiIsT00sW2VlKFN0LHtsb2FkaW5nOmgudmFsdWUsY29sb3I6InByaW1hcnkiLG9uQ2xpY2s6SH0se2RlZmF1bHQ6bmUoKCk9Pnt2YXIgTTtyZXR1cm5bJGUoSyhTKHIpKCJwb3J0YWwuY2hlY2tfaW5fdmlldy5wYXltZW50X2NhcmQucGF5Iix7ZHVlQW1vdW50OlMoRGkpKChNPVMoaSkuYm9va2luZ01ldGFkYXRhKT09bnVsbD92b2lkIDA6TS5kdWVBbW91bnQpfSkpLDEpXX0pLF86MX0sOCxbImxvYWRpbmciXSldKSk6TWUoIiIsITApXX0pLF86MX0sOCxbInRpdGxlIiwiZGVzY3JpcHRpb24iLCJkaXNhYmxlZCIsImRpc2FibGVkLXRleHQiXSkpOk1lKCIiLCEwKSxlZShfbix7aWQ6ImNoZWNrLWluIix0aXRsZTpTKHIpKCJwb3J0YWwuY2hlY2tfaW5fdmlldy5jaGVja19pbl9jYXJkLnRpdGxlIiksZGVzY3JpcHRpb246UyhpKS5jaGVja2VkSW4/UyhyKSgicG9ydGFsLmNoZWNrX2luX3ZpZXcuY2hlY2tfaW5fY2FyZC5kZXNjcmlwdGlvbi5jaGVja19pbl9jb21wbGV0ZSIpOlMocikoInBvcnRhbC5jaGVja19pbl92aWV3LmNoZWNrX2luX2NhcmQuZGVzY3JpcHRpb24uY2hlY2tfaW5faW5jb21wbGV0ZSIpLGRpc2FibGVkOkwudmFsdWUsImRpc2FibGVkLXRleHQiOlMocikoInBvcnRhbC5jaGVja19pbl92aWV3LmNoZWNrX2luX2NhcmQuZGlzYWJsZWRfdGV4dCIpfSx7aWNvbjpuZSgoKT0+W0NNXSksZGVmYXVsdDpuZSgoKT0+W1MoaSkuY2hlY2tlZEluP01lKCIiLCEwKTooVSgpLFooImRpdiIsUE0sW2VlKFN0LHtsb2FkaW5nOm0udmFsdWUsY29sb3I6InByaW1hcnkiLG9uQ2xpY2s6Y2V9LHtkZWZhdWx0Om5lKCgpPT5bJGUoSyhTKHIpKCJwb3J0YWwuY2hlY2tfaW5fdmlldy5jaGVja19pbl9jYXJkLmNoZWNrX2luIikpLDEpXSksXzoxfSw4LFsibG9hZGluZyJdKV0pKV0pLF86MX0sOCxbInRpdGxlIiwiZGVzY3JpcHRpb24iLCJkaXNhYmxlZCIsImRpc2FibGVkLXRleHQiXSldKV0pXSksUyhpKS5ib29raW5nPyhVKCksWigiZGl2IixJTSxbQSgiZGl2IixOTSxbQSgiZGl2IixSTSxbZWUoVyx7dG86e25hbWU6InBvcnRhbCIscGFyYW1zOntpZDpTKGkpLmxpbmtJZH19fSx7ZGVmYXVsdDpuZSgoKT0+W2VlKFN0LHtjb2xvcjoic2Vjb25kYXJ5In0se2RlZmF1bHQ6bmUoKCk9PlskZSgi4oaQICIrSyhTKHIpKCJwb3J0YWwuY2hlY2tfaW5fdmlldy5iYWNrIikpLDEpXSksXzoxfSldKSxfOjF9LDgsWyJ0byJdKV0pLEEoIm5hdiIsRE0sW0EoImRpdiIsTU0sW0EoImRpdiIsTE0sW2YudmFsdWU/KFUoKSx0dCh3bCx7a2V5OjAsY2xhc3M6Im1yLTIgaC00IHctNCBzaHJpbmstMCB0ZXh0LWdyYXktNDAwIn0pKTpNZSgiIiwhMCksQSgic3BhbiIsRk0sSyhmLnZhbHVlP1MocikoInBvcnRhbC5jaGVja19pbl92aWV3LnNhdmluZyIpOnJlW3hlLnZhbHVlLTFdLm5hbWUpLDEpXSksQSgicCIsJE0sSyhTKHIpKCJwb3J0YWwuY2hlY2tfaW5fdmlldy5zdGVwX29mIix7c3RlcDp4ZS52YWx1ZSxvZjpyZS5sZW5ndGh9KSksMSldKSxBKCJvbCIsak0sWyhVKCEwKSxaKHFlLG51bGwsdG4ocmUsKHksTSk9PihVKCksWigibGkiLHtrZXk6eS5uYW1lfSxbTSsxPT09eGUudmFsdWU/KFUoKSxaKCJhIix7a2V5OjAsaHJlZjp5LmhyZWYsY2xhc3M6InJlbGF0aXZlIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIiwiYXJpYS1jdXJyZW50Ijoic3RlcCJ9LFtVTSxWTSxBKCJzcGFuIixXTSxLKHkubmFtZSksMSldLDgsQk0pKTpNKzE8eGUudmFsdWU/KFUoKSxaKCJhIix7a2V5OjEsaHJlZjp5LmhyZWYsY2xhc3M6ImJsb2NrIGgtMi41IHctMi41IHJvdW5kZWQtZnVsbCBiZy1wcmltYXJ5LTYwMCBob3ZlcjpiZy1wcmltYXJ5LTkwMCJ9LFtBKCJzcGFuIix6TSxLKHkubmFtZSksMSldLDgsR00pKTooVSgpLFooImEiLHtrZXk6MixocmVmOnkuaHJlZixjbGFzczoiYmxvY2sgaC0yLjUgdy0yLjUgcm91bmRlZC1mdWxsIGJnLWdyYXktMjAwIGhvdmVyOmJnLWdyYXktNDAwIn0sW0EoInNwYW4iLEpNLEsoeS5uYW1lKSwxKV0sOCxITSkpXSkpKSwxMjgpKV0pXSldKV0pKTpNZSgiIiwhMCldKSxlZShtUCx7bW9kZWxWYWx1ZTp1LnZhbHVlLCJvblVwZGF0ZTptb2RlbFZhbHVlIjpOWzNdfHwoTlszXT15PT51LnZhbHVlPXkpLHRpdGxlOlMocikoInBvcnRhbC5hbGVydF9tb2RhbC50aXRsZSIpLCJidXR0b24tdGV4dCI6UyhyKSgicG9ydGFsLmFsZXJ0X21vZGFsLmJ1dHRvbl90ZXh0Iil9LHtkZWZhdWx0Om5lKCgpPT5bQSgiZGl2IixxTSxLKFMocikoInBvcnRhbC5hbGVydF9tb2RhbC50ZXh0IikpLDEpXSksXzoxfSw4LFsibW9kZWxWYWx1ZSIsInRpdGxlIiwiYnV0dG9uLXRleHQiXSldLDY0KX19fSksWU09e2tleTowLGNsYXNzOiJyZWxhdGl2ZSBmbGV4IHctZnVsbCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIifSxYTT17Y2xhc3M6Im14LWF1dG8gdy1mdWxsIG1heC13LTJ4bCBweS00IG1kOnB5LTgifSxRTT17Y2xhc3M6InNwYWNlLXktMiBtZDpzcGFjZS15LTQifSxlTD17a2V5OjAsY2xhc3M6Im10LTggZGl2aWRlLXkgZGl2aWRlLWdyYXktMjAwIHRleHQtc20ifSx0TD17Y2xhc3M6ImZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAifSxuTD17a2V5OjEsY2xhc3M6Im10LTgifSxyTD17Y2xhc3M6Im10LTggZGl2aWRlLXkgZGl2aWRlLWdyYXktMjAwIHRleHQtc20ifSxpTD17Y2xhc3M6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0yIn0sc0w9e2NsYXNzOiJmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIn0sb0w9e2NsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMiJ9LGFMPXtjbGFzczoiZm9udC1tZWRpdW0gdGV4dC1ncmF5LTkwMCJ9LGxMPXtjbGFzczoiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTIifSxjTD17Y2xhc3M6ImZvbnQtbWVkaXVtIHRleHQtZ3JheS05MDAifSx1TD17a2V5OjEsY2xhc3M6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0yIn0sZEw9e2NsYXNzOiJmb250LW1lZGl1bSB0ZXh0LWdyYXktOTAwIn0sZkw9e2NsYXNzOiJtdC04In0saEw9e2NsYXNzOiJtdC04IHRleHQtc20ifSxtTD1bImhyZWYiXSxwTD17Y2xhc3M6Im10LTgifSxnTD17Y2xhc3M6Im10LTggZmxleCBmbGV4LWNvbCBpdGVtcy1zdGFydCBzcGFjZS15LTIgbWQ6ZmxleC1yb3cgbWQ6aXRlbXMtY2VudGVyIG1kOnNwYWNlLXgtNCBtZDpzcGFjZS15LTAifSx5TD1bImhyZWYiXSx2TD1bImhyZWYiXSxfTD1OZSh7X19uYW1lOiJIb21lVmlldyIsc2V0dXAodCl7Y29uc3R7dDplfT1XdCgpLG49dGkoKSx7bm90aWZ5OnJ9PVBsKCksaT1zZSh7fSkscz1zZSghMSksbz1hc3luYyBmPT57aS52YWx1ZVtmXT0hMCxhd2FpdCBuLnVubG9ja0FjY2Vzc1BvaW50KGYpO2NvbnN0IGg9bi5hY2Nlc3NQb2ludHMuZmluZChtPT5tLmlkPT09Zik7cih7dHlwZToic3VjY2VzcyIsdGl0bGU6ZSgicG9ydGFsLmhvbWVfdmlldy51bmxvY2tfYWNjZXNzX3BvaW50X3N1Y2Nlc3MiKSx0ZXh0OmUoInBvcnRhbC5ob21lX3ZpZXcudW5sb2NrX2FjY2Vzc19wb2ludF9zdWNjZXNzX3RleHQiLHtuYW1lOmg9PW51bGw/dm9pZCAwOmgubmFtZX0pfSksaS52YWx1ZVtmXT0hMX0sYT1vZSgoKT0+e3ZhciBmLGg7cmV0dXJuKChoPShmPW4uYm9va2luZyk9PW51bGw/dm9pZCAwOmYuZ3Vlc3RzKT09bnVsbD92b2lkIDA6aFswXSk/P251bGx9KSxsPW9lKCgpPT57dmFyIG0scDtjb25zdCBmPShwPShtPWEudmFsdWUpPT1udWxsP3ZvaWQgMDptLm5hbWUpPT1udWxsP3ZvaWQgMDpwLnRyaW0oKTtpZighZilyZXR1cm4iIjtjb25zdCBoPWYuc3BsaXQoL1xzKy8pO3JldHVybiBoW2gubGVuZ3RoLTFdfSksYz1vZSgoKT0+e3ZhciBmO3JldHVybihmPWEudmFsdWUpIT1udWxsJiZmLmRhdGVPZkJpcnRoP1VOKGEudmFsdWUuZGF0ZU9mQmlydGgpOiIifSksdT1vZSgoKT0+e3ZhciBoLG07Y29uc3QgZj1PZS5mcm9tRm9ybWF0KChoPW4ucHJvcGVydHkpPT1udWxsP3ZvaWQgMDpoLmNoZWNrSW5UaW1lLCJoaDptbTpzcyIpO3JldHVybiBPZS5mcm9tSlNEYXRlKChtPW4uYm9va2luZyk9PW51bGw/dm9pZCAwOm0uY2hlY2tJbikucGx1cyh7aG91cjpmLmhvdXIsbWludXRlOmYubWludXRlLHNlY29uZDpmLnNlY29uZH0pfSksZD1hc3luYygpPT57cy52YWx1ZT0hMCxhd2FpdCBuLmNoZWNrSW4oKSxzLnZhbHVlPSExfTtyZXR1cm4oZixoKT0+e3ZhciBwLGsseCxDLGIsVCxFLHcsUixEO2NvbnN0IG09cmwoIlJvdXRlckxpbmsiKTtyZXR1cm4gUyhuKS5ib29raW5nPyhVKCksWigibWFpbiIsWU0sW0EoImRpdiIsWE0sW0EoImRpdiIsUU0sW2VlKGVmKSwocD1TKG4pLmdlbmVyYWxTZXR0aW5ncykhPW51bGwmJnAuaGFzQWNjZXNzQ29udHJvbCYmIVMobikuZXhwaXJlZCYmKCEoKGs9UyhuKS5nZW5lcmFsU2V0dGluZ3MpIT1udWxsJiZrLmZlYXR1cmVQcmVDaGVja0luKXx8KHg9UyhuKS5nZW5lcmFsU2V0dGluZ3MpIT1udWxsJiZ4LmZlYXR1cmVQcmVDaGVja0luJiZTKG4pLmNoZWNrZWRJbik/KFUoKSx0dChfbix7a2V5OjAsdGl0bGU6UyhlKSgicG9ydGFsLmhvbWVfdmlldy5kb29yc19jYXJkLnRpdGxlIiksZGVzY3JpcHRpb246UyhlKSgicG9ydGFsLmhvbWVfdmlldy5kb29yc19jYXJkLmRlc2NyaXB0aW9uIiksZGlzYWJsZWQ6IVMobikuaGFzQWNjZXNzVG9rZW4mJiEoKEM9UyhuKS5ib29raW5nTWV0YWRhdGEpIT1udWxsJiZDLmlzUmVhZHlGb3JDaGVja0luKSYmIVMobikucG1zQ2hlY2tlZEluLCJkaXNhYmxlZC10ZXh0IjpTKGUpKCJwb3J0YWwuaG9tZV92aWV3LmRvb3JzX2NhcmQuZGlzYWJsZWRfdGV4dCIse2RhdGU6UyhXYSkodS52YWx1ZS50b0pTRGF0ZSgpKX0pfSx7aWNvbjpuZSgoKT0+W2VlKFMoYk8pLHtjbGFzczoiaC02IHctNiJ9KV0pLGRlZmF1bHQ6bmUoKCk9PltTKG4pLmhhc0FjY2Vzc1Rva2VuPyhVKCksWigiZGl2IixlTCxbKFUoITApLFoocWUsbnVsbCx0bihTKG4pLmFjY2Vzc1BvaW50cyxJPT4oVSgpLFooImRpdiIse2tleTpJLmlkLGNsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMiJ9LFtBKCJzcGFuIix0TCxLKEkubmFtZSksMSksZWUoU3Qse2xvYWRpbmc6aS52YWx1ZVtJLmlkXSxvbkNsaWNrOkI9Pm8oSS5pZCl9LHtkZWZhdWx0Om5lKCgpPT5bJGUoSyhTKGUpKCJwb3J0YWwuaG9tZV92aWV3LmRvb3JzX2NhcmQub3Blbl9kb29yIikpLDEpXSksXzoyfSwxMDMyLFsibG9hZGluZyIsIm9uQ2xpY2siXSldKSkpLDEyOCkpXSkpOihVKCksWigiZGl2IixuTCxbZWUoU3Qse2xvYWRpbmc6cy52YWx1ZSxvbkNsaWNrOmR9LHtkZWZhdWx0Om5lKCgpPT5bJGUoSyhTKGUpKCJwb3J0YWwuaG9tZV92aWV3LmRvb3JzX2NhcmQuY3JlYXRlX2FjY2Vzc190b2tlbiIpKSwxKV0pLF86MX0sOCxbImxvYWRpbmciXSldKSldKSxfOjF9LDgsWyJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiZGlzYWJsZWQiLCJkaXNhYmxlZC10ZXh0Il0pKTpNZSgiIiwhMCksKGI9UyhuKS5nZW5lcmFsU2V0dGluZ3MpIT1udWxsJiZiLmZlYXR1cmVDaGVja0luSmFjayYmUyhuKS5oYXNBY2Nlc3NUb2tlbj8oVSgpLHR0KF9uLHtrZXk6MSx0aXRsZTpTKGUpKCJwb3J0YWwuaG9tZV92aWV3LmtleV9jYXJkLnRpdGxlIiksZGVzY3JpcHRpb246KFQ9UyhuKS5nZW5lcmFsU2V0dGluZ3MpIT1udWxsJiZULmZlYXR1cmVLZXljYXJkRG9iP1MoZSkoInBvcnRhbC5ob21lX3ZpZXcua2V5X2NhcmQuZGVzY3JpcHRpb25fZG9iIik6UyhlKSgicG9ydGFsLmhvbWVfdmlldy5rZXlfY2FyZC5kZXNjcmlwdGlvbiIpLGRpc2FibGVkOiFTKG4pLmhhc0FjY2Vzc1Rva2VuJiYhKChFPVMobikuYm9va2luZ01ldGFkYXRhKSE9bnVsbCYmRS5pc1JlYWR5Rm9yQ2hlY2tJbiksImRpc2FibGVkLXRleHQiOlMoZSkoInBvcnRhbC5ob21lX3ZpZXcuZG9vcnNfY2FyZC5kaXNhYmxlZF90ZXh0Iix7ZGF0ZTpTKFdhKSh1LnZhbHVlLnRvSlNEYXRlKCkpfSl9LHtpY29uOm5lKCgpPT5bZWUoUyh2Tykse2NsYXNzOiJoLTYgdy02In0pXSksZGVmYXVsdDpuZSgoKT0+e3ZhciBJO3JldHVybltBKCJkaXYiLHJMLFtBKCJkaXYiLGlMLFtBKCJzcGFuIixzTCxLKFMoZSkoInBvcnRhbC5ob21lX3ZpZXcua2V5X2NhcmQucm9vbV9udW1iZXIiKSksMSksZWUoVnIse2NvbG9yOiJwcmltYXJ5IixjbGFzczoibS0xIGZvbnQtbW9ubyAhZm9udC1zZW1pYm9sZCJ9LHtkZWZhdWx0Om5lKCgpPT57dmFyIEI7cmV0dXJuWyRlKEsoKEI9UyhuKS5ib29raW5nLnJvb20pPT1udWxsP3ZvaWQgMDpCLm51bWJlciksMSldfSksXzoxfSldKSwoST1TKG4pLmdlbmVyYWxTZXR0aW5ncykhPW51bGwmJkkuZmVhdHVyZUtleWNhcmREb2I/KFUoKSxaKHFlLHtrZXk6MH0sW0EoImRpdiIsb0wsW0EoInNwYW4iLGFMLEsoUyhlKSgicG9ydGFsLmhvbWVfdmlldy5rZXlfY2FyZC5sYXN0X25hbWUiKSksMSksZWUoVnIse2NvbG9yOiJwcmltYXJ5IixjbGFzczoibS0xIGZvbnQtbW9ubyAhZm9udC1zZW1pYm9sZCJ9LHtkZWZhdWx0Om5lKCgpPT5bJGUoSyhsLnZhbHVlKSwxKV0pLF86MX0pXSksQSgiZGl2IixsTCxbQSgic3BhbiIsY0wsSyhTKGUpKCJwb3J0YWwuaG9tZV92aWV3LmtleV9jYXJkLmRhdGVfb2ZfYmlydGgiKSksMSksZWUoVnIse2NvbG9yOiJwcmltYXJ5IixjbGFzczoibS0xIGZvbnQtbW9ubyAhZm9udC1zZW1pYm9sZCJ9LHtkZWZhdWx0Om5lKCgpPT5bJGUoSyhjLnZhbHVlKSwxKV0pLF86MX0pXSldLDY0KSk6KFUoKSxaKCJkaXYiLHVMLFtBKCJzcGFuIixkTCxLKFMoZSkoInBvcnRhbC5ob21lX3ZpZXcua2V5X2NhcmQuc2VjdXJpdHlfY29kZSIpKSwxKSxlZShWcix7Y29sb3I6InByaW1hcnkiLGNsYXNzOiJtLTEgZm9udC1tb25vICFmb250LXNlbWlib2xkIn0se2RlZmF1bHQ6bmUoKCk9PlskZShLKFMobikuYm9va2luZy5zZWN1cml0eUNvZGUpLDEpXSksXzoxfSldKSldKV19KSxfOjF9LDgsWyJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiZGlzYWJsZWQiLCJkaXNhYmxlZC10ZXh0Il0pKTpNZSgiIiwhMCksIVMobikuZXhwaXJlZCYmKCh3PVMobikuZ2VuZXJhbFNldHRpbmdzKSE9bnVsbCYmdy5mZWF0dXJlUHJlQ2hlY2tJbik/KFUoKSx0dChfbix7a2V5OjIsdGl0bGU6UyhlKSgicG9ydGFsLmhvbWVfdmlldy5wcmVfY2hlY2tfaW5fY2FyZC50aXRsZSIpLGRlc2NyaXB0aW9uOlMoZSkoInBvcnRhbC5ob21lX3ZpZXcucHJlX2NoZWNrX2luX2NhcmQuZGVzY3JpcHRpb24iKSwiaW5mby10ZXh0IjpTKG4pLmNoZWNrZWRJbj9TKGUpKCJwb3J0YWwuaG9tZV92aWV3LnByZV9jaGVja19pbl9jYXJkLmluZm9fdGV4dCIpOnZvaWQgMH0se2ljb246bmUoKCk9PltlZShTKHBPKSx7Y2xhc3M6ImgtNiB3LTYifSldKSxkZWZhdWx0Om5lKCgpPT5bQSgiZGl2IixmTCxbZWUobSx7dG86e25hbWU6ImNoZWNrLWluIixwYXJhbXM6e2lkOlMobikubGlua0lkfX19LHtkZWZhdWx0Om5lKCgpPT5bZWUoU3Qse2NvbG9yOlMobikuY2hlY2tlZEluPyJzZWNvbmRhcnkiOiJwcmltYXJ5In0se2RlZmF1bHQ6bmUoKCk9PltBKCJzcGFuIixudWxsLEsoUyhuKS5jaGVja2VkSW4/UyhlKSgicG9ydGFsLmhvbWVfdmlldy5wcmVfY2hlY2tfaW5fY2FyZC5kZXRhaWxzIik6UyhlKSgicG9ydGFsLmhvbWVfdmlldy5wcmVfY2hlY2tfaW5fY2FyZC5jaGVja19pbiIpKSsiIOKGkiIsMSldKSxfOjF9LDgsWyJjb2xvciJdKV0pLF86MX0sOCxbInRvIl0pXSldKSxfOjF9LDgsWyJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiaW5mby10ZXh0Il0pKTpNZSgiIiwhMCksKFI9UyhuKS5nZW5lcmFsU2V0dGluZ3MpIT1udWxsJiZSLnByb3BlcnR5SW5mb1VybD8oVSgpLHR0KF9uLHtrZXk6Myx0aXRsZTpTKGUpKCJwb3J0YWwuaG9tZV92aWV3LmhvdGVsX2luZm8udGl0bGUiKSxkZXNjcmlwdGlvbjpTKGUpKCJwb3J0YWwuaG9tZV92aWV3LmhvdGVsX2luZm8uZGVzY3JpcHRpb24iKX0se2ljb246bmUoKCk9PltlZShTKGxfKSx7Y2xhc3M6ImgtNiB3LTYifSldKSxkZWZhdWx0Om5lKCgpPT5bQSgiZGl2IixoTCxbQSgiYSIse2hyZWY6UyhuKS5nZW5lcmFsU2V0dGluZ3MucHJvcGVydHlJbmZvVXJsLHRhcmdldDoiX2JsYW5rIn0sW2VlKFN0LHtjb2xvcjoic2Vjb25kYXJ5In0se2RlZmF1bHQ6bmUoKCk9PlskZShLKFMoZSkoInBvcnRhbC5ob21lX3ZpZXcuaG90ZWxfaW5mby5idXR0b25fdGV4dCIpKSwxKV0pLF86MX0pXSw4LG1MKV0pXSksXzoxfSw4LFsidGl0bGUiLCJkZXNjcmlwdGlvbiJdKSk6TWUoIiIsITApLChEPVMobikuYm9va2luZ01ldGFkYXRhKSE9bnVsbCYmRC5oYXNJbnZvaWNlcz8oVSgpLHR0KF9uLHtrZXk6NCx0aXRsZTpTKGUpKCJwb3J0YWwuaG9tZV92aWV3Lmludm9pY2VfY2FyZC50aXRsZSIpLGRlc2NyaXB0aW9uOlMoZSkoInBvcnRhbC5ob21lX3ZpZXcuaW52b2ljZV9jYXJkLmRlc2NyaXB0aW9uIil9LHtpY29uOm5lKCgpPT5bZWUoUyhjXykse2NsYXNzOiJoLTYgdy02In0pXSksZGVmYXVsdDpuZSgoKT0+W0EoImRpdiIscEwsW2VlKG0se3RvOntuYW1lOiJpbnZvaWNlcyJ9fSx7ZGVmYXVsdDpuZSgoKT0+W2VlKFN0LHtjb2xvcjoic2Vjb25kYXJ5In0se2RlZmF1bHQ6bmUoKCk9PltBKCJzcGFuIixudWxsLEsoUyhlKSgicG9ydGFsLmhvbWVfdmlldy5pbnZvaWNlX2NhcmQudmlld19pbnZvaWNlcyIpKSsiIOKGkiIsMSldKSxfOjF9KV0pLF86MX0pXSldKSxfOjF9LDgsWyJ0aXRsZSIsImRlc2NyaXB0aW9uIl0pKTpNZSgiIiwhMCksZWUoX24se3RpdGxlOlMoZSkoInBvcnRhbC5ob21lX3ZpZXcuY29udGFjdF9jYXJkLnRpdGxlIiksZGVzY3JpcHRpb246UyhlKSgicG9ydGFsLmhvbWVfdmlldy5jb250YWN0X2NhcmQuZGVzY3JpcHRpb24iKX0se2ljb246bmUoKCk9PltlZShTKF9PKSx7Y2xhc3M6ImgtNiB3LTYifSldKSxkZWZhdWx0Om5lKCgpPT57dmFyIEksQixMLGo7cmV0dXJuW0EoImRpdiIsZ0wsW0EoImEiLHtocmVmOmB0ZWw6JHsoQj0oST1TKG4pLnByb3BlcnR5KT09bnVsbD92b2lkIDA6SS5jb21tdW5pY2F0aW9uKT09bnVsbD92b2lkIDA6Qi5waG9uZX1gfSxbZWUoU3Qse2NvbG9yOiJzZWNvbmRhcnkifSx7ZGVmYXVsdDpuZSgoKT0+W2VlKFMoaE8pLHtjbGFzczoiaC01IHctNSJ9KSxBKCJzcGFuIixudWxsLEsoUyhlKSgicG9ydGFsLmhvbWVfdmlldy5jb250YWN0X2NhcmQuY2FsbCIpKSwxKV0pLF86MX0pXSw4LHlMKSxBKCJhIix7aHJlZjpgbWFpbHRvOiR7KGo9KEw9UyhuKS5wcm9wZXJ0eSk9PW51bGw/dm9pZCAwOkwuY29tbXVuaWNhdGlvbik9PW51bGw/dm9pZCAwOmouZW1haWx9YH0sW2VlKFN0LHtjb2xvcjoic2Vjb25kYXJ5In0se2RlZmF1bHQ6bmUoKCk9PltlZShTKGNPKSx7Y2xhc3M6ImgtNSB3LTUifSksQSgic3BhbiIsbnVsbCxLKFMoZSkoInBvcnRhbC5ob21lX3ZpZXcuY29udGFjdF9jYXJkLm1haWwiKSksMSldKSxfOjF9KV0sOCx2TCldKV19KSxfOjF9LDgsWyJ0aXRsZSIsImRlc2NyaXB0aW9uIl0pXSldKV0pKTpNZSgiIiwhMCl9fX0pLGJMPXt9LHdMPXtjbGFzczoicm91bmRlZC1tZCBiZy1wcmltYXJ5LTEwMCBweC00IHB5LTMgZm9udC1tZWRpdW0gdGV4dC1wcmltYXJ5LTcwMCByaW5nLTEgcmluZy1pbnNldCByaW5nLXByaW1hcnktNjAwLzIwIn0sa0w9e2NsYXNzOiJ0ZXh0LXNtIn07ZnVuY3Rpb24gU0wodCxlKXtyZXR1cm4gVSgpLFooImRpdiIsd0wsW0EoImRpdiIsa0wsW1V0KHQuJHNsb3RzLCJkZWZhdWx0IildKV0pfWNvbnN0IFRMPVJkKGJMLFtbInJlbmRlciIsU0xdXSk7dmFyIHJuPSJ0b3AiLFBuPSJib3R0b20iLEluPSJyaWdodCIsc249ImxlZnQiLHNmPSJhdXRvIixXbz1bcm4sUG4sSW4sc25dLG1zPSJzdGFydCIsd289ImVuZCIsRUw9ImNsaXBwaW5nUGFyZW50cyIsaDA9InZpZXdwb3J0IixNcz0icG9wcGVyIix4TD0icmVmZXJlbmNlIixncD1Xby5yZWR1Y2UoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jb25jYXQoW2UrIi0iK21zLGUrIi0iK3dvXSl9LFtdKSxtMD1bXS5jb25jYXQoV28sW3NmXSkucmVkdWNlKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY29uY2F0KFtlLGUrIi0iK21zLGUrIi0iK3dvXSl9LFtdKSxBTD0iYmVmb3JlUmVhZCIsT0w9InJlYWQiLENMPSJhZnRlclJlYWQiLFBMPSJiZWZvcmVNYWluIixJTD0ibWFpbiIsTkw9ImFmdGVyTWFpbiIsUkw9ImJlZm9yZVdyaXRlIixETD0id3JpdGUiLE1MPSJhZnRlcldyaXRlIixMTD1bQUwsT0wsQ0wsUEwsSUwsTkwsUkwsREwsTUxdO2Z1bmN0aW9uIGFyKHQpe3JldHVybiB0Pyh0Lm5vZGVOYW1lfHwiIikudG9Mb3dlckNhc2UoKTpudWxsfWZ1bmN0aW9uIGhuKHQpe2lmKHQ9PW51bGwpcmV0dXJuIHdpbmRvdztpZih0LnRvU3RyaW5nKCkhPT0iW29iamVjdCBXaW5kb3ddIil7dmFyIGU9dC5vd25lckRvY3VtZW50O3JldHVybiBlJiZlLmRlZmF1bHRWaWV3fHx3aW5kb3d9cmV0dXJuIHR9ZnVuY3Rpb24geGkodCl7dmFyIGU9aG4odCkuRWxlbWVudDtyZXR1cm4gdCBpbnN0YW5jZW9mIGV8fHQgaW5zdGFuY2VvZiBFbGVtZW50fWZ1bmN0aW9uIE9uKHQpe3ZhciBlPWhuKHQpLkhUTUxFbGVtZW50O3JldHVybiB0IGluc3RhbmNlb2YgZXx8dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50fWZ1bmN0aW9uIG9mKHQpe2lmKHR5cGVvZiBTaGFkb3dSb290PiJ1IilyZXR1cm4hMTt2YXIgZT1obih0KS5TaGFkb3dSb290O3JldHVybiB0IGluc3RhbmNlb2YgZXx8dCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3R9ZnVuY3Rpb24gRkwodCl7dmFyIGU9dC5zdGF0ZTtPYmplY3Qua2V5cyhlLmVsZW1lbnRzKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciByPWUuc3R5bGVzW25dfHx7fSxpPWUuYXR0cmlidXRlc1tuXXx8e30scz1lLmVsZW1lbnRzW25dOyFPbihzKXx8IWFyKHMpfHwoT2JqZWN0LmFzc2lnbihzLnN0eWxlLHIpLE9iamVjdC5rZXlzKGkpLmZvckVhY2goZnVuY3Rpb24obyl7dmFyIGE9aVtvXTthPT09ITE/cy5yZW1vdmVBdHRyaWJ1dGUobyk6cy5zZXRBdHRyaWJ1dGUobyxhPT09ITA/IiI6YSl9KSl9KX1mdW5jdGlvbiAkTCh0KXt2YXIgZT10LnN0YXRlLG49e3BvcHBlcjp7cG9zaXRpb246ZS5vcHRpb25zLnN0cmF0ZWd5LGxlZnQ6IjAiLHRvcDoiMCIsbWFyZ2luOiIwIn0sYXJyb3c6e3Bvc2l0aW9uOiJhYnNvbHV0ZSJ9LHJlZmVyZW5jZTp7fX07cmV0dXJuIE9iamVjdC5hc3NpZ24oZS5lbGVtZW50cy5wb3BwZXIuc3R5bGUsbi5wb3BwZXIpLGUuc3R5bGVzPW4sZS5lbGVtZW50cy5hcnJvdyYmT2JqZWN0LmFzc2lnbihlLmVsZW1lbnRzLmFycm93LnN0eWxlLG4uYXJyb3cpLGZ1bmN0aW9uKCl7T2JqZWN0LmtleXMoZS5lbGVtZW50cykuZm9yRWFjaChmdW5jdGlvbihyKXt2YXIgaT1lLmVsZW1lbnRzW3JdLHM9ZS5hdHRyaWJ1dGVzW3JdfHx7fSxvPU9iamVjdC5rZXlzKGUuc3R5bGVzLmhhc093blByb3BlcnR5KHIpP2Uuc3R5bGVzW3JdOm5bcl0pLGE9by5yZWR1Y2UoZnVuY3Rpb24obCxjKXtyZXR1cm4gbFtjXT0iIixsfSx7fSk7IU9uKGkpfHwhYXIoaSl8fChPYmplY3QuYXNzaWduKGkuc3R5bGUsYSksT2JqZWN0LmtleXMocykuZm9yRWFjaChmdW5jdGlvbihsKXtpLnJlbW92ZUF0dHJpYnV0ZShsKX0pKX0pfX1jb25zdCBqTD17bmFtZToiYXBwbHlTdHlsZXMiLGVuYWJsZWQ6ITAscGhhc2U6IndyaXRlIixmbjpGTCxlZmZlY3Q6JEwscmVxdWlyZXM6WyJjb21wdXRlU3R5bGVzIl19O2Z1bmN0aW9uIHJyKHQpe3JldHVybiB0LnNwbGl0KCItIilbMF19dmFyIGtpPU1hdGgubWF4LEhhPU1hdGgubWluLHBzPU1hdGgucm91bmQ7ZnVuY3Rpb24gU3UoKXt2YXIgdD1uYXZpZ2F0b3IudXNlckFnZW50RGF0YTtyZXR1cm4gdCE9bnVsbCYmdC5icmFuZHMmJkFycmF5LmlzQXJyYXkodC5icmFuZHMpP3QuYnJhbmRzLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5icmFuZCsiLyIrZS52ZXJzaW9ufSkuam9pbigiICIpOm5hdmlnYXRvci51c2VyQWdlbnR9ZnVuY3Rpb24gcDAoKXtyZXR1cm4hL14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChTdSgpKX1mdW5jdGlvbiBncyh0LGUsbil7ZT09PXZvaWQgMCYmKGU9ITEpLG49PT12b2lkIDAmJihuPSExKTt2YXIgcj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9MSxzPTE7ZSYmT24odCkmJihpPXQub2Zmc2V0V2lkdGg+MCYmcHMoci53aWR0aCkvdC5vZmZzZXRXaWR0aHx8MSxzPXQub2Zmc2V0SGVpZ2h0PjAmJnBzKHIuaGVpZ2h0KS90Lm9mZnNldEhlaWdodHx8MSk7dmFyIG89eGkodCk/aG4odCk6d2luZG93LGE9by52aXN1YWxWaWV3cG9ydCxsPSFwMCgpJiZuLGM9KHIubGVmdCsobCYmYT9hLm9mZnNldExlZnQ6MCkpL2ksdT0oci50b3ArKGwmJmE/YS5vZmZzZXRUb3A6MCkpL3MsZD1yLndpZHRoL2ksZj1yLmhlaWdodC9zO3JldHVybnt3aWR0aDpkLGhlaWdodDpmLHRvcDp1LHJpZ2h0OmMrZCxib3R0b206dStmLGxlZnQ6Yyx4OmMseTp1fX1mdW5jdGlvbiBhZih0KXt2YXIgZT1ncyh0KSxuPXQub2Zmc2V0V2lkdGgscj10Lm9mZnNldEhlaWdodDtyZXR1cm4gTWF0aC5hYnMoZS53aWR0aC1uKTw9MSYmKG49ZS53aWR0aCksTWF0aC5hYnMoZS5oZWlnaHQtcik8PTEmJihyPWUuaGVpZ2h0KSx7eDp0Lm9mZnNldExlZnQseTp0Lm9mZnNldFRvcCx3aWR0aDpuLGhlaWdodDpyfX1mdW5jdGlvbiBnMCh0LGUpe3ZhciBuPWUuZ2V0Um9vdE5vZGUmJmUuZ2V0Um9vdE5vZGUoKTtpZih0LmNvbnRhaW5zKGUpKXJldHVybiEwO2lmKG4mJm9mKG4pKXt2YXIgcj1lO2Rve2lmKHImJnQuaXNTYW1lTm9kZShyKSlyZXR1cm4hMDtyPXIucGFyZW50Tm9kZXx8ci5ob3N0fXdoaWxlKHIpfXJldHVybiExfWZ1bmN0aW9uIGJyKHQpe3JldHVybiBobih0KS5nZXRDb21wdXRlZFN0eWxlKHQpfWZ1bmN0aW9uIEJMKHQpe3JldHVyblsidGFibGUiLCJ0ZCIsInRoIl0uaW5kZXhPZihhcih0KSk+PTB9ZnVuY3Rpb24gbmkodCl7cmV0dXJuKCh4aSh0KT90Lm93bmVyRG9jdW1lbnQ6dC5kb2N1bWVudCl8fHdpbmRvdy5kb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50fWZ1bmN0aW9uIExsKHQpe3JldHVybiBhcih0KT09PSJodG1sIj90OnQuYXNzaWduZWRTbG90fHx0LnBhcmVudE5vZGV8fChvZih0KT90Lmhvc3Q6bnVsbCl8fG5pKHQpfWZ1bmN0aW9uIHlwKHQpe3JldHVybiFPbih0KXx8YnIodCkucG9zaXRpb249PT0iZml4ZWQiP251bGw6dC5vZmZzZXRQYXJlbnR9ZnVuY3Rpb24gVUwodCl7dmFyIGU9L2ZpcmVmb3gvaS50ZXN0KFN1KCkpLG49L1RyaWRlbnQvaS50ZXN0KFN1KCkpO2lmKG4mJk9uKHQpKXt2YXIgcj1icih0KTtpZihyLnBvc2l0aW9uPT09ImZpeGVkIilyZXR1cm4gbnVsbH12YXIgaT1MbCh0KTtmb3Iob2YoaSkmJihpPWkuaG9zdCk7T24oaSkmJlsiaHRtbCIsImJvZHkiXS5pbmRleE9mKGFyKGkpKTwwOyl7dmFyIHM9YnIoaSk7aWYocy50cmFuc2Zvcm0hPT0ibm9uZSJ8fHMucGVyc3BlY3RpdmUhPT0ibm9uZSJ8fHMuY29udGFpbj09PSJwYWludCJ8fFsidHJhbnNmb3JtIiwicGVyc3BlY3RpdmUiXS5pbmRleE9mKHMud2lsbENoYW5nZSkhPT0tMXx8ZSYmcy53aWxsQ2hhbmdlPT09ImZpbHRlciJ8fGUmJnMuZmlsdGVyJiZzLmZpbHRlciE9PSJub25lIilyZXR1cm4gaTtpPWkucGFyZW50Tm9kZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBHbyh0KXtmb3IodmFyIGU9aG4odCksbj15cCh0KTtuJiZCTChuKSYmYnIobikucG9zaXRpb249PT0ic3RhdGljIjspbj15cChuKTtyZXR1cm4gbiYmKGFyKG4pPT09Imh0bWwifHxhcihuKT09PSJib2R5IiYmYnIobikucG9zaXRpb249PT0ic3RhdGljIik/ZTpufHxVTCh0KXx8ZX1mdW5jdGlvbiBsZih0KXtyZXR1cm5bInRvcCIsImJvdHRvbSJdLmluZGV4T2YodCk+PTA/IngiOiJ5In1mdW5jdGlvbiBRcyh0LGUsbil7cmV0dXJuIGtpKHQsSGEoZSxuKSl9ZnVuY3Rpb24gVkwodCxlLG4pe3ZhciByPVFzKHQsZSxuKTtyZXR1cm4gcj5uP246cn1mdW5jdGlvbiB5MCgpe3JldHVybnt0b3A6MCxyaWdodDowLGJvdHRvbTowLGxlZnQ6MH19ZnVuY3Rpb24gdjAodCl7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30seTAoKSx0KX1mdW5jdGlvbiBfMCh0LGUpe3JldHVybiBlLnJlZHVjZShmdW5jdGlvbihuLHIpe3JldHVybiBuW3JdPXQsbn0se30pfXZhciBXTD1mdW5jdGlvbihlLG4pe3JldHVybiBlPXR5cGVvZiBlPT0iZnVuY3Rpb24iP2UoT2JqZWN0LmFzc2lnbih7fSxuLnJlY3RzLHtwbGFjZW1lbnQ6bi5wbGFjZW1lbnR9KSk6ZSx2MCh0eXBlb2YgZSE9Im51bWJlciI/ZTpfMChlLFdvKSl9O2Z1bmN0aW9uIEdMKHQpe3ZhciBlLG49dC5zdGF0ZSxyPXQubmFtZSxpPXQub3B0aW9ucyxzPW4uZWxlbWVudHMuYXJyb3csbz1uLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cyxhPXJyKG4ucGxhY2VtZW50KSxsPWxmKGEpLGM9W3NuLEluXS5pbmRleE9mKGEpPj0wLHU9Yz8iaGVpZ2h0Ijoid2lkdGgiO2lmKCEoIXN8fCFvKSl7dmFyIGQ9V0woaS5wYWRkaW5nLG4pLGY9YWYocyksaD1sPT09InkiP3JuOnNuLG09bD09PSJ5Ij9QbjpJbixwPW4ucmVjdHMucmVmZXJlbmNlW3VdK24ucmVjdHMucmVmZXJlbmNlW2xdLW9bbF0tbi5yZWN0cy5wb3BwZXJbdV0saz1vW2xdLW4ucmVjdHMucmVmZXJlbmNlW2xdLHg9R28ocyksQz14P2w9PT0ieSI/eC5jbGllbnRIZWlnaHR8fDA6eC5jbGllbnRXaWR0aHx8MDowLGI9cC8yLWsvMixUPWRbaF0sRT1DLWZbdV0tZFttXSx3PUMvMi1mW3VdLzIrYixSPVFzKFQsdyxFKSxEPWw7bi5tb2RpZmllcnNEYXRhW3JdPShlPXt9LGVbRF09UixlLmNlbnRlck9mZnNldD1SLXcsZSl9fWZ1bmN0aW9uIHpMKHQpe3ZhciBlPXQuc3RhdGUsbj10Lm9wdGlvbnMscj1uLmVsZW1lbnQsaT1yPT09dm9pZCAwPyJbZGF0YS1wb3BwZXItYXJyb3ddIjpyO2khPW51bGwmJih0eXBlb2YgaT09InN0cmluZyImJihpPWUuZWxlbWVudHMucG9wcGVyLnF1ZXJ5U2VsZWN0b3IoaSksIWkpfHxnMChlLmVsZW1lbnRzLnBvcHBlcixpKSYmKGUuZWxlbWVudHMuYXJyb3c9aSkpfWNvbnN0IEhMPXtuYW1lOiJhcnJvdyIsZW5hYmxlZDohMCxwaGFzZToibWFpbiIsZm46R0wsZWZmZWN0OnpMLHJlcXVpcmVzOlsicG9wcGVyT2Zmc2V0cyJdLHJlcXVpcmVzSWZFeGlzdHM6WyJwcmV2ZW50T3ZlcmZsb3ciXX07ZnVuY3Rpb24geXModCl7cmV0dXJuIHQuc3BsaXQoIi0iKVsxXX12YXIgSkw9e3RvcDoiYXV0byIscmlnaHQ6ImF1dG8iLGJvdHRvbToiYXV0byIsbGVmdDoiYXV0byJ9O2Z1bmN0aW9uIHFMKHQsZSl7dmFyIG49dC54LHI9dC55LGk9ZS5kZXZpY2VQaXhlbFJhdGlvfHwxO3JldHVybnt4OnBzKG4qaSkvaXx8MCx5OnBzKHIqaSkvaXx8MH19ZnVuY3Rpb24gdnAodCl7dmFyIGUsbj10LnBvcHBlcixyPXQucG9wcGVyUmVjdCxpPXQucGxhY2VtZW50LHM9dC52YXJpYXRpb24sbz10Lm9mZnNldHMsYT10LnBvc2l0aW9uLGw9dC5ncHVBY2NlbGVyYXRpb24sYz10LmFkYXB0aXZlLHU9dC5yb3VuZE9mZnNldHMsZD10LmlzRml4ZWQsZj1vLngsaD1mPT09dm9pZCAwPzA6ZixtPW8ueSxwPW09PT12b2lkIDA/MDptLGs9dHlwZW9mIHU9PSJmdW5jdGlvbiI/dSh7eDpoLHk6cH0pOnt4OmgseTpwfTtoPWsueCxwPWsueTt2YXIgeD1vLmhhc093blByb3BlcnR5KCJ4IiksQz1vLmhhc093blByb3BlcnR5KCJ5IiksYj1zbixUPXJuLEU9d2luZG93O2lmKGMpe3ZhciB3PUdvKG4pLFI9ImNsaWVudEhlaWdodCIsRD0iY2xpZW50V2lkdGgiO2lmKHc9PT1obihuKSYmKHc9bmkobiksYnIodykucG9zaXRpb24hPT0ic3RhdGljIiYmYT09PSJhYnNvbHV0ZSImJihSPSJzY3JvbGxIZWlnaHQiLEQ9InNjcm9sbFdpZHRoIikpLHc9dyxpPT09cm58fChpPT09c258fGk9PT1JbikmJnM9PT13byl7VD1Qbjt2YXIgST1kJiZ3PT09RSYmRS52aXN1YWxWaWV3cG9ydD9FLnZpc3VhbFZpZXdwb3J0LmhlaWdodDp3W1JdO3AtPUktci5oZWlnaHQscCo9bD8xOi0xfWlmKGk9PT1zbnx8KGk9PT1ybnx8aT09PVBuKSYmcz09PXdvKXtiPUluO3ZhciBCPWQmJnc9PT1FJiZFLnZpc3VhbFZpZXdwb3J0P0UudmlzdWFsVmlld3BvcnQud2lkdGg6d1tEXTtoLT1CLXIud2lkdGgsaCo9bD8xOi0xfX12YXIgTD1PYmplY3QuYXNzaWduKHtwb3NpdGlvbjphfSxjJiZKTCksaj11PT09ITA/cUwoe3g6aCx5OnB9LGhuKG4pKTp7eDpoLHk6cH07aWYoaD1qLngscD1qLnksbCl7dmFyIHJlO3JldHVybiBPYmplY3QuYXNzaWduKHt9LEwsKHJlPXt9LHJlW1RdPUM/IjAiOiIiLHJlW2JdPXg/IjAiOiIiLHJlLnRyYW5zZm9ybT0oRS5kZXZpY2VQaXhlbFJhdGlvfHwxKTw9MT8idHJhbnNsYXRlKCIraCsicHgsICIrcCsicHgpIjoidHJhbnNsYXRlM2QoIitoKyJweCwgIitwKyJweCwgMCkiLHJlKSl9cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sTCwoZT17fSxlW1RdPUM/cCsicHgiOiIiLGVbYl09eD9oKyJweCI6IiIsZS50cmFuc2Zvcm09IiIsZSkpfWZ1bmN0aW9uIFpMKHQpe3ZhciBlPXQuc3RhdGUsbj10Lm9wdGlvbnMscj1uLmdwdUFjY2VsZXJhdGlvbixpPXI9PT12b2lkIDA/ITA6cixzPW4uYWRhcHRpdmUsbz1zPT09dm9pZCAwPyEwOnMsYT1uLnJvdW5kT2Zmc2V0cyxsPWE9PT12b2lkIDA/ITA6YSxjPXtwbGFjZW1lbnQ6cnIoZS5wbGFjZW1lbnQpLHZhcmlhdGlvbjp5cyhlLnBsYWNlbWVudCkscG9wcGVyOmUuZWxlbWVudHMucG9wcGVyLHBvcHBlclJlY3Q6ZS5yZWN0cy5wb3BwZXIsZ3B1QWNjZWxlcmF0aW9uOmksaXNGaXhlZDplLm9wdGlvbnMuc3RyYXRlZ3k9PT0iZml4ZWQifTtlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cyE9bnVsbCYmKGUuc3R5bGVzLnBvcHBlcj1PYmplY3QuYXNzaWduKHt9LGUuc3R5bGVzLnBvcHBlcix2cChPYmplY3QuYXNzaWduKHt9LGMse29mZnNldHM6ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMscG9zaXRpb246ZS5vcHRpb25zLnN0cmF0ZWd5LGFkYXB0aXZlOm8scm91bmRPZmZzZXRzOmx9KSkpKSxlLm1vZGlmaWVyc0RhdGEuYXJyb3chPW51bGwmJihlLnN0eWxlcy5hcnJvdz1PYmplY3QuYXNzaWduKHt9LGUuc3R5bGVzLmFycm93LHZwKE9iamVjdC5hc3NpZ24oe30sYyx7b2Zmc2V0czplLm1vZGlmaWVyc0RhdGEuYXJyb3cscG9zaXRpb246ImFic29sdXRlIixhZGFwdGl2ZTohMSxyb3VuZE9mZnNldHM6bH0pKSkpLGUuYXR0cmlidXRlcy5wb3BwZXI9T2JqZWN0LmFzc2lnbih7fSxlLmF0dHJpYnV0ZXMucG9wcGVyLHsiZGF0YS1wb3BwZXItcGxhY2VtZW50IjplLnBsYWNlbWVudH0pfWNvbnN0IEtMPXtuYW1lOiJjb21wdXRlU3R5bGVzIixlbmFibGVkOiEwLHBoYXNlOiJiZWZvcmVXcml0ZSIsZm46WkwsZGF0YTp7fX07dmFyIGhhPXtwYXNzaXZlOiEwfTtmdW5jdGlvbiBZTCh0KXt2YXIgZT10LnN0YXRlLG49dC5pbnN0YW5jZSxyPXQub3B0aW9ucyxpPXIuc2Nyb2xsLHM9aT09PXZvaWQgMD8hMDppLG89ci5yZXNpemUsYT1vPT09dm9pZCAwPyEwOm8sbD1obihlLmVsZW1lbnRzLnBvcHBlciksYz1bXS5jb25jYXQoZS5zY3JvbGxQYXJlbnRzLnJlZmVyZW5jZSxlLnNjcm9sbFBhcmVudHMucG9wcGVyKTtyZXR1cm4gcyYmYy5mb3JFYWNoKGZ1bmN0aW9uKHUpe3UuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixuLnVwZGF0ZSxoYSl9KSxhJiZsLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsbi51cGRhdGUsaGEpLGZ1bmN0aW9uKCl7cyYmYy5mb3JFYWNoKGZ1bmN0aW9uKHUpe3UucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixuLnVwZGF0ZSxoYSl9KSxhJiZsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsbi51cGRhdGUsaGEpfX1jb25zdCBYTD17bmFtZToiZXZlbnRMaXN0ZW5lcnMiLGVuYWJsZWQ6ITAscGhhc2U6IndyaXRlIixmbjpmdW5jdGlvbigpe30sZWZmZWN0OllMLGRhdGE6e319O3ZhciBRTD17bGVmdDoicmlnaHQiLHJpZ2h0OiJsZWZ0Iixib3R0b206InRvcCIsdG9wOiJib3R0b20ifTtmdW5jdGlvbiBTYSh0KXtyZXR1cm4gdC5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZyxmdW5jdGlvbihlKXtyZXR1cm4gUUxbZV19KX12YXIgZTM9e3N0YXJ0OiJlbmQiLGVuZDoic3RhcnQifTtmdW5jdGlvbiBfcCh0KXtyZXR1cm4gdC5yZXBsYWNlKC9zdGFydHxlbmQvZyxmdW5jdGlvbihlKXtyZXR1cm4gZTNbZV19KX1mdW5jdGlvbiBjZih0KXt2YXIgZT1obih0KSxuPWUucGFnZVhPZmZzZXQscj1lLnBhZ2VZT2Zmc2V0O3JldHVybntzY3JvbGxMZWZ0Om4sc2Nyb2xsVG9wOnJ9fWZ1bmN0aW9uIHVmKHQpe3JldHVybiBncyhuaSh0KSkubGVmdCtjZih0KS5zY3JvbGxMZWZ0fWZ1bmN0aW9uIHQzKHQsZSl7dmFyIG49aG4odCkscj1uaSh0KSxpPW4udmlzdWFsVmlld3BvcnQscz1yLmNsaWVudFdpZHRoLG89ci5jbGllbnRIZWlnaHQsYT0wLGw9MDtpZihpKXtzPWkud2lkdGgsbz1pLmhlaWdodDt2YXIgYz1wMCgpOyhjfHwhYyYmZT09PSJmaXhlZCIpJiYoYT1pLm9mZnNldExlZnQsbD1pLm9mZnNldFRvcCl9cmV0dXJue3dpZHRoOnMsaGVpZ2h0Om8seDphK3VmKHQpLHk6bH19ZnVuY3Rpb24gbjModCl7dmFyIGUsbj1uaSh0KSxyPWNmKHQpLGk9KGU9dC5vd25lckRvY3VtZW50KT09bnVsbD92b2lkIDA6ZS5ib2R5LHM9a2kobi5zY3JvbGxXaWR0aCxuLmNsaWVudFdpZHRoLGk/aS5zY3JvbGxXaWR0aDowLGk/aS5jbGllbnRXaWR0aDowKSxvPWtpKG4uc2Nyb2xsSGVpZ2h0LG4uY2xpZW50SGVpZ2h0LGk/aS5zY3JvbGxIZWlnaHQ6MCxpP2kuY2xpZW50SGVpZ2h0OjApLGE9LXIuc2Nyb2xsTGVmdCt1Zih0KSxsPS1yLnNjcm9sbFRvcDtyZXR1cm4gYnIoaXx8bikuZGlyZWN0aW9uPT09InJ0bCImJihhKz1raShuLmNsaWVudFdpZHRoLGk/aS5jbGllbnRXaWR0aDowKS1zKSx7d2lkdGg6cyxoZWlnaHQ6byx4OmEseTpsfX1mdW5jdGlvbiBkZih0KXt2YXIgZT1icih0KSxuPWUub3ZlcmZsb3cscj1lLm92ZXJmbG93WCxpPWUub3ZlcmZsb3dZO3JldHVybi9hdXRvfHNjcm9sbHxvdmVybGF5fGhpZGRlbi8udGVzdChuK2krcil9ZnVuY3Rpb24gYjAodCl7cmV0dXJuWyJodG1sIiwiYm9keSIsIiNkb2N1bWVudCJdLmluZGV4T2YoYXIodCkpPj0wP3Qub3duZXJEb2N1bWVudC5ib2R5Ok9uKHQpJiZkZih0KT90OmIwKExsKHQpKX1mdW5jdGlvbiBlbyh0LGUpe3ZhciBuO2U9PT12b2lkIDAmJihlPVtdKTt2YXIgcj1iMCh0KSxpPXI9PT0oKG49dC5vd25lckRvY3VtZW50KT09bnVsbD92b2lkIDA6bi5ib2R5KSxzPWhuKHIpLG89aT9bc10uY29uY2F0KHMudmlzdWFsVmlld3BvcnR8fFtdLGRmKHIpP3I6W10pOnIsYT1lLmNvbmNhdChvKTtyZXR1cm4gaT9hOmEuY29uY2F0KGVvKExsKG8pKSl9ZnVuY3Rpb24gVHUodCl7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sdCx7bGVmdDp0LngsdG9wOnQueSxyaWdodDp0LngrdC53aWR0aCxib3R0b206dC55K3QuaGVpZ2h0fSl9ZnVuY3Rpb24gcjModCxlKXt2YXIgbj1ncyh0LCExLGU9PT0iZml4ZWQiKTtyZXR1cm4gbi50b3A9bi50b3ArdC5jbGllbnRUb3Asbi5sZWZ0PW4ubGVmdCt0LmNsaWVudExlZnQsbi5ib3R0b209bi50b3ArdC5jbGllbnRIZWlnaHQsbi5yaWdodD1uLmxlZnQrdC5jbGllbnRXaWR0aCxuLndpZHRoPXQuY2xpZW50V2lkdGgsbi5oZWlnaHQ9dC5jbGllbnRIZWlnaHQsbi54PW4ubGVmdCxuLnk9bi50b3Asbn1mdW5jdGlvbiBicCh0LGUsbil7cmV0dXJuIGU9PT1oMD9UdSh0Myh0LG4pKTp4aShlKT9yMyhlLG4pOlR1KG4zKG5pKHQpKSl9ZnVuY3Rpb24gaTModCl7dmFyIGU9ZW8oTGwodCkpLG49WyJhYnNvbHV0ZSIsImZpeGVkIl0uaW5kZXhPZihicih0KS5wb3NpdGlvbik+PTAscj1uJiZPbih0KT9Hbyh0KTp0O3JldHVybiB4aShyKT9lLmZpbHRlcihmdW5jdGlvbihpKXtyZXR1cm4geGkoaSkmJmcwKGkscikmJmFyKGkpIT09ImJvZHkifSk6W119ZnVuY3Rpb24gczModCxlLG4scil7dmFyIGk9ZT09PSJjbGlwcGluZ1BhcmVudHMiP2kzKHQpOltdLmNvbmNhdChlKSxzPVtdLmNvbmNhdChpLFtuXSksbz1zWzBdLGE9cy5yZWR1Y2UoZnVuY3Rpb24obCxjKXt2YXIgdT1icCh0LGMscik7cmV0dXJuIGwudG9wPWtpKHUudG9wLGwudG9wKSxsLnJpZ2h0PUhhKHUucmlnaHQsbC5yaWdodCksbC5ib3R0b209SGEodS5ib3R0b20sbC5ib3R0b20pLGwubGVmdD1raSh1LmxlZnQsbC5sZWZ0KSxsfSxicCh0LG8scikpO3JldHVybiBhLndpZHRoPWEucmlnaHQtYS5sZWZ0LGEuaGVpZ2h0PWEuYm90dG9tLWEudG9wLGEueD1hLmxlZnQsYS55PWEudG9wLGF9ZnVuY3Rpb24gdzAodCl7dmFyIGU9dC5yZWZlcmVuY2Usbj10LmVsZW1lbnQscj10LnBsYWNlbWVudCxpPXI/cnIocik6bnVsbCxzPXI/eXMocik6bnVsbCxvPWUueCtlLndpZHRoLzItbi53aWR0aC8yLGE9ZS55K2UuaGVpZ2h0LzItbi5oZWlnaHQvMixsO3N3aXRjaChpKXtjYXNlIHJuOmw9e3g6byx5OmUueS1uLmhlaWdodH07YnJlYWs7Y2FzZSBQbjpsPXt4Om8seTplLnkrZS5oZWlnaHR9O2JyZWFrO2Nhc2UgSW46bD17eDplLngrZS53aWR0aCx5OmF9O2JyZWFrO2Nhc2Ugc246bD17eDplLngtbi53aWR0aCx5OmF9O2JyZWFrO2RlZmF1bHQ6bD17eDplLngseTplLnl9fXZhciBjPWk/bGYoaSk6bnVsbDtpZihjIT1udWxsKXt2YXIgdT1jPT09InkiPyJoZWlnaHQiOiJ3aWR0aCI7c3dpdGNoKHMpe2Nhc2UgbXM6bFtjXT1sW2NdLShlW3VdLzItblt1XS8yKTticmVhaztjYXNlIHdvOmxbY109bFtjXSsoZVt1XS8yLW5bdV0vMik7YnJlYWt9fXJldHVybiBsfWZ1bmN0aW9uIGtvKHQsZSl7ZT09PXZvaWQgMCYmKGU9e30pO3ZhciBuPWUscj1uLnBsYWNlbWVudCxpPXI9PT12b2lkIDA/dC5wbGFjZW1lbnQ6cixzPW4uc3RyYXRlZ3ksbz1zPT09dm9pZCAwP3Quc3RyYXRlZ3k6cyxhPW4uYm91bmRhcnksbD1hPT09dm9pZCAwP0VMOmEsYz1uLnJvb3RCb3VuZGFyeSx1PWM9PT12b2lkIDA/aDA6YyxkPW4uZWxlbWVudENvbnRleHQsZj1kPT09dm9pZCAwP01zOmQsaD1uLmFsdEJvdW5kYXJ5LG09aD09PXZvaWQgMD8hMTpoLHA9bi5wYWRkaW5nLGs9cD09PXZvaWQgMD8wOnAseD12MCh0eXBlb2YgayE9Im51bWJlciI/azpfMChrLFdvKSksQz1mPT09TXM/eEw6TXMsYj10LnJlY3RzLnBvcHBlcixUPXQuZWxlbWVudHNbbT9DOmZdLEU9czMoeGkoVCk/VDpULmNvbnRleHRFbGVtZW50fHxuaSh0LmVsZW1lbnRzLnBvcHBlciksbCx1LG8pLHc9Z3ModC5lbGVtZW50cy5yZWZlcmVuY2UpLFI9dzAoe3JlZmVyZW5jZTp3LGVsZW1lbnQ6YixwbGFjZW1lbnQ6aX0pLEQ9VHUoT2JqZWN0LmFzc2lnbih7fSxiLFIpKSxJPWY9PT1Ncz9EOncsQj17dG9wOkUudG9wLUkudG9wK3gudG9wLGJvdHRvbTpJLmJvdHRvbS1FLmJvdHRvbSt4LmJvdHRvbSxsZWZ0OkUubGVmdC1JLmxlZnQreC5sZWZ0LHJpZ2h0OkkucmlnaHQtRS5yaWdodCt4LnJpZ2h0fSxMPXQubW9kaWZpZXJzRGF0YS5vZmZzZXQ7aWYoZj09PU1zJiZMKXt2YXIgaj1MW2ldO09iamVjdC5rZXlzKEIpLmZvckVhY2goZnVuY3Rpb24ocmUpe3ZhciB4ZT1bSW4sUG5dLmluZGV4T2YocmUpPj0wPzE6LTEsVGU9W3JuLFBuXS5pbmRleE9mKHJlKT49MD8ieSI6IngiO0JbcmVdKz1qW1RlXSp4ZX0pfXJldHVybiBCfWZ1bmN0aW9uIG8zKHQsZSl7ZT09PXZvaWQgMCYmKGU9e30pO3ZhciBuPWUscj1uLnBsYWNlbWVudCxpPW4uYm91bmRhcnkscz1uLnJvb3RCb3VuZGFyeSxvPW4ucGFkZGluZyxhPW4uZmxpcFZhcmlhdGlvbnMsbD1uLmFsbG93ZWRBdXRvUGxhY2VtZW50cyxjPWw9PT12b2lkIDA/bTA6bCx1PXlzKHIpLGQ9dT9hP2dwOmdwLmZpbHRlcihmdW5jdGlvbihtKXtyZXR1cm4geXMobSk9PT11fSk6V28sZj1kLmZpbHRlcihmdW5jdGlvbihtKXtyZXR1cm4gYy5pbmRleE9mKG0pPj0wfSk7Zi5sZW5ndGg9PT0wJiYoZj1kKTt2YXIgaD1mLnJlZHVjZShmdW5jdGlvbihtLHApe3JldHVybiBtW3BdPWtvKHQse3BsYWNlbWVudDpwLGJvdW5kYXJ5Omkscm9vdEJvdW5kYXJ5OnMscGFkZGluZzpvfSlbcnIocCldLG19LHt9KTtyZXR1cm4gT2JqZWN0LmtleXMoaCkuc29ydChmdW5jdGlvbihtLHApe3JldHVybiBoW21dLWhbcF19KX1mdW5jdGlvbiBhMyh0KXtpZihycih0KT09PXNmKXJldHVybltdO3ZhciBlPVNhKHQpO3JldHVybltfcCh0KSxlLF9wKGUpXX1mdW5jdGlvbiBsMyh0KXt2YXIgZT10LnN0YXRlLG49dC5vcHRpb25zLHI9dC5uYW1lO2lmKCFlLm1vZGlmaWVyc0RhdGFbcl0uX3NraXApe2Zvcih2YXIgaT1uLm1haW5BeGlzLHM9aT09PXZvaWQgMD8hMDppLG89bi5hbHRBeGlzLGE9bz09PXZvaWQgMD8hMDpvLGw9bi5mYWxsYmFja1BsYWNlbWVudHMsYz1uLnBhZGRpbmcsdT1uLmJvdW5kYXJ5LGQ9bi5yb290Qm91bmRhcnksZj1uLmFsdEJvdW5kYXJ5LGg9bi5mbGlwVmFyaWF0aW9ucyxtPWg9PT12b2lkIDA/ITA6aCxwPW4uYWxsb3dlZEF1dG9QbGFjZW1lbnRzLGs9ZS5vcHRpb25zLnBsYWNlbWVudCx4PXJyKGspLEM9eD09PWssYj1sfHwoQ3x8IW0/W1NhKGspXTphMyhrKSksVD1ba10uY29uY2F0KGIpLnJlZHVjZShmdW5jdGlvbih6ZSxSZSl7cmV0dXJuIHplLmNvbmNhdChycihSZSk9PT1zZj9vMyhlLHtwbGFjZW1lbnQ6UmUsYm91bmRhcnk6dSxyb290Qm91bmRhcnk6ZCxwYWRkaW5nOmMsZmxpcFZhcmlhdGlvbnM6bSxhbGxvd2VkQXV0b1BsYWNlbWVudHM6cH0pOlJlKX0sW10pLEU9ZS5yZWN0cy5yZWZlcmVuY2Usdz1lLnJlY3RzLnBvcHBlcixSPW5ldyBNYXAsRD0hMCxJPVRbMF0sQj0wO0I8VC5sZW5ndGg7QisrKXt2YXIgTD1UW0JdLGo9cnIoTCkscmU9eXMoTCk9PT1tcyx4ZT1bcm4sUG5dLmluZGV4T2Yoaik+PTAsVGU9eGU/IndpZHRoIjoiaGVpZ2h0IixsZT1rbyhlLHtwbGFjZW1lbnQ6TCxib3VuZGFyeTp1LHJvb3RCb3VuZGFyeTpkLGFsdEJvdW5kYXJ5OmYscGFkZGluZzpjfSkseWU9eGU/cmU/SW46c246cmU/UG46cm47RVtUZV0+d1tUZV0mJih5ZT1TYSh5ZSkpO3ZhciBBZT1TYSh5ZSksWmU9W107aWYocyYmWmUucHVzaChsZVtqXTw9MCksYSYmWmUucHVzaChsZVt5ZV08PTAsbGVbQWVdPD0wKSxaZS5ldmVyeShmdW5jdGlvbih6ZSl7cmV0dXJuIHplfSkpe0k9TCxEPSExO2JyZWFrfVIuc2V0KEwsWmUpfWlmKEQpZm9yKHZhciBydD1tPzM6MSx3ZT1mdW5jdGlvbihSZSl7dmFyIFVlPVQuZmluZChmdW5jdGlvbihIKXt2YXIgY2U9Ui5nZXQoSCk7aWYoY2UpcmV0dXJuIGNlLnNsaWNlKDAsUmUpLmV2ZXJ5KGZ1bmN0aW9uKGFlKXtyZXR1cm4gYWV9KX0pO2lmKFVlKXJldHVybiBJPVVlLCJicmVhayJ9LEo9cnQ7Sj4wO0otLSl7dmFyIEllPXdlKEopO2lmKEllPT09ImJyZWFrIilicmVha31lLnBsYWNlbWVudCE9PUkmJihlLm1vZGlmaWVyc0RhdGFbcl0uX3NraXA9ITAsZS5wbGFjZW1lbnQ9SSxlLnJlc2V0PSEwKX19Y29uc3QgYzM9e25hbWU6ImZsaXAiLGVuYWJsZWQ6ITAscGhhc2U6Im1haW4iLGZuOmwzLHJlcXVpcmVzSWZFeGlzdHM6WyJvZmZzZXQiXSxkYXRhOntfc2tpcDohMX19O2Z1bmN0aW9uIHdwKHQsZSxuKXtyZXR1cm4gbj09PXZvaWQgMCYmKG49e3g6MCx5OjB9KSx7dG9wOnQudG9wLWUuaGVpZ2h0LW4ueSxyaWdodDp0LnJpZ2h0LWUud2lkdGgrbi54LGJvdHRvbTp0LmJvdHRvbS1lLmhlaWdodCtuLnksbGVmdDp0LmxlZnQtZS53aWR0aC1uLnh9fWZ1bmN0aW9uIGtwKHQpe3JldHVybltybixJbixQbixzbl0uc29tZShmdW5jdGlvbihlKXtyZXR1cm4gdFtlXT49MH0pfWZ1bmN0aW9uIHUzKHQpe3ZhciBlPXQuc3RhdGUsbj10Lm5hbWUscj1lLnJlY3RzLnJlZmVyZW5jZSxpPWUucmVjdHMucG9wcGVyLHM9ZS5tb2RpZmllcnNEYXRhLnByZXZlbnRPdmVyZmxvdyxvPWtvKGUse2VsZW1lbnRDb250ZXh0OiJyZWZlcmVuY2UifSksYT1rbyhlLHthbHRCb3VuZGFyeTohMH0pLGw9d3AobyxyKSxjPXdwKGEsaSxzKSx1PWtwKGwpLGQ9a3AoYyk7ZS5tb2RpZmllcnNEYXRhW25dPXtyZWZlcmVuY2VDbGlwcGluZ09mZnNldHM6bCxwb3BwZXJFc2NhcGVPZmZzZXRzOmMsaXNSZWZlcmVuY2VIaWRkZW46dSxoYXNQb3BwZXJFc2NhcGVkOmR9LGUuYXR0cmlidXRlcy5wb3BwZXI9T2JqZWN0LmFzc2lnbih7fSxlLmF0dHJpYnV0ZXMucG9wcGVyLHsiZGF0YS1wb3BwZXItcmVmZXJlbmNlLWhpZGRlbiI6dSwiZGF0YS1wb3BwZXItZXNjYXBlZCI6ZH0pfWNvbnN0IGQzPXtuYW1lOiJoaWRlIixlbmFibGVkOiEwLHBoYXNlOiJtYWluIixyZXF1aXJlc0lmRXhpc3RzOlsicHJldmVudE92ZXJmbG93Il0sZm46dTN9O2Z1bmN0aW9uIGYzKHQsZSxuKXt2YXIgcj1ycih0KSxpPVtzbixybl0uaW5kZXhPZihyKT49MD8tMToxLHM9dHlwZW9mIG49PSJmdW5jdGlvbiI/bihPYmplY3QuYXNzaWduKHt9LGUse3BsYWNlbWVudDp0fSkpOm4sbz1zWzBdLGE9c1sxXTtyZXR1cm4gbz1vfHwwLGE9KGF8fDApKmksW3NuLEluXS5pbmRleE9mKHIpPj0wP3t4OmEseTpvfTp7eDpvLHk6YX19ZnVuY3Rpb24gaDModCl7dmFyIGU9dC5zdGF0ZSxuPXQub3B0aW9ucyxyPXQubmFtZSxpPW4ub2Zmc2V0LHM9aT09PXZvaWQgMD9bMCwwXTppLG89bTAucmVkdWNlKGZ1bmN0aW9uKHUsZCl7cmV0dXJuIHVbZF09ZjMoZCxlLnJlY3RzLHMpLHV9LHt9KSxhPW9bZS5wbGFjZW1lbnRdLGw9YS54LGM9YS55O2UubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzIT1udWxsJiYoZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMueCs9bCxlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cy55Kz1jKSxlLm1vZGlmaWVyc0RhdGFbcl09b31jb25zdCBtMz17bmFtZToib2Zmc2V0IixlbmFibGVkOiEwLHBoYXNlOiJtYWluIixyZXF1aXJlczpbInBvcHBlck9mZnNldHMiXSxmbjpoM307ZnVuY3Rpb24gcDModCl7dmFyIGU9dC5zdGF0ZSxuPXQubmFtZTtlLm1vZGlmaWVyc0RhdGFbbl09dzAoe3JlZmVyZW5jZTplLnJlY3RzLnJlZmVyZW5jZSxlbGVtZW50OmUucmVjdHMucG9wcGVyLHBsYWNlbWVudDplLnBsYWNlbWVudH0pfWNvbnN0IGczPXtuYW1lOiJwb3BwZXJPZmZzZXRzIixlbmFibGVkOiEwLHBoYXNlOiJyZWFkIixmbjpwMyxkYXRhOnt9fTtmdW5jdGlvbiB5Myh0KXtyZXR1cm4gdD09PSJ4Ij8ieSI6IngifWZ1bmN0aW9uIHYzKHQpe3ZhciBlPXQuc3RhdGUsbj10Lm9wdGlvbnMscj10Lm5hbWUsaT1uLm1haW5BeGlzLHM9aT09PXZvaWQgMD8hMDppLG89bi5hbHRBeGlzLGE9bz09PXZvaWQgMD8hMTpvLGw9bi5ib3VuZGFyeSxjPW4ucm9vdEJvdW5kYXJ5LHU9bi5hbHRCb3VuZGFyeSxkPW4ucGFkZGluZyxmPW4udGV0aGVyLGg9Zj09PXZvaWQgMD8hMDpmLG09bi50ZXRoZXJPZmZzZXQscD1tPT09dm9pZCAwPzA6bSxrPWtvKGUse2JvdW5kYXJ5Omwscm9vdEJvdW5kYXJ5OmMscGFkZGluZzpkLGFsdEJvdW5kYXJ5OnV9KSx4PXJyKGUucGxhY2VtZW50KSxDPXlzKGUucGxhY2VtZW50KSxiPSFDLFQ9bGYoeCksRT15MyhUKSx3PWUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzLFI9ZS5yZWN0cy5yZWZlcmVuY2UsRD1lLnJlY3RzLnBvcHBlcixJPXR5cGVvZiBwPT0iZnVuY3Rpb24iP3AoT2JqZWN0LmFzc2lnbih7fSxlLnJlY3RzLHtwbGFjZW1lbnQ6ZS5wbGFjZW1lbnR9KSk6cCxCPXR5cGVvZiBJPT0ibnVtYmVyIj97bWFpbkF4aXM6SSxhbHRBeGlzOkl9Ok9iamVjdC5hc3NpZ24oe21haW5BeGlzOjAsYWx0QXhpczowfSxJKSxMPWUubW9kaWZpZXJzRGF0YS5vZmZzZXQ/ZS5tb2RpZmllcnNEYXRhLm9mZnNldFtlLnBsYWNlbWVudF06bnVsbCxqPXt4OjAseTowfTtpZih3KXtpZihzKXt2YXIgcmUseGU9VD09PSJ5Ij9ybjpzbixUZT1UPT09InkiP1BuOkluLGxlPVQ9PT0ieSI/ImhlaWdodCI6IndpZHRoIix5ZT13W1RdLEFlPXllK2tbeGVdLFplPXllLWtbVGVdLHJ0PWg/LURbbGVdLzI6MCx3ZT1DPT09bXM/UltsZV06RFtsZV0sSj1DPT09bXM/LURbbGVdOi1SW2xlXSxJZT1lLmVsZW1lbnRzLmFycm93LHplPWgmJkllP2FmKEllKTp7d2lkdGg6MCxoZWlnaHQ6MH0sUmU9ZS5tb2RpZmllcnNEYXRhWyJhcnJvdyNwZXJzaXN0ZW50Il0/ZS5tb2RpZmllcnNEYXRhWyJhcnJvdyNwZXJzaXN0ZW50Il0ucGFkZGluZzp5MCgpLFVlPVJlW3hlXSxIPVJlW1RlXSxjZT1RcygwLFJbbGVdLHplW2xlXSksYWU9Yj9SW2xlXS8yLXJ0LWNlLVVlLUIubWFpbkF4aXM6d2UtY2UtVWUtQi5tYWluQXhpcyxmZT1iPy1SW2xlXS8yK3J0K2NlK0grQi5tYWluQXhpczpKK2NlK0grQi5tYWluQXhpcyxqZT1lLmVsZW1lbnRzLmFycm93JiZHbyhlLmVsZW1lbnRzLmFycm93KSxPPWplP1Q9PT0ieSI/amUuY2xpZW50VG9wfHwwOmplLmNsaWVudExlZnR8fDA6MCxQPShyZT1MPT1udWxsP3ZvaWQgMDpMW1RdKSE9bnVsbD9yZTowLGc9eWUrYWUtUC1PLE49eWUrZmUtUCxXPVFzKGg/SGEoQWUsZyk6QWUseWUsaD9raShaZSxOKTpaZSk7d1tUXT1XLGpbVF09Vy15ZX1pZihhKXt2YXIgeix0ZT1UPT09IngiP3JuOnNuLFE9VD09PSJ4Ij9QbjpJbix2PXdbRV0seT1FPT09InkiPyJoZWlnaHQiOiJ3aWR0aCIsTT12K2tbdGVdLFg9di1rW1FdLHVlPVtybixzbl0uaW5kZXhPZih4KSE9PS0xLGllPSh6PUw9PW51bGw/dm9pZCAwOkxbRV0pIT1udWxsP3o6MCwkPXVlP006di1SW3ldLURbeV0taWUrQi5hbHRBeGlzLEc9dWU/ditSW3ldK0RbeV0taWUtQi5hbHRBeGlzOlgsRWU9aCYmdWU/VkwoJCx2LEcpOlFzKGg/JDpNLHYsaD9HOlgpO3dbRV09RWUsaltFXT1FZS12fWUubW9kaWZpZXJzRGF0YVtyXT1qfX1jb25zdCBfMz17bmFtZToicHJldmVudE92ZXJmbG93IixlbmFibGVkOiEwLHBoYXNlOiJtYWluIixmbjp2MyxyZXF1aXJlc0lmRXhpc3RzOlsib2Zmc2V0Il19O2Z1bmN0aW9uIGIzKHQpe3JldHVybntzY3JvbGxMZWZ0OnQuc2Nyb2xsTGVmdCxzY3JvbGxUb3A6dC5zY3JvbGxUb3B9fWZ1bmN0aW9uIHczKHQpe3JldHVybiB0PT09aG4odCl8fCFPbih0KT9jZih0KTpiMyh0KX1mdW5jdGlvbiBrMyh0KXt2YXIgZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49cHMoZS53aWR0aCkvdC5vZmZzZXRXaWR0aHx8MSxyPXBzKGUuaGVpZ2h0KS90Lm9mZnNldEhlaWdodHx8MTtyZXR1cm4gbiE9PTF8fHIhPT0xfWZ1bmN0aW9uIFMzKHQsZSxuKXtuPT09dm9pZCAwJiYobj0hMSk7dmFyIHI9T24oZSksaT1PbihlKSYmazMoZSkscz1uaShlKSxvPWdzKHQsaSxuKSxhPXtzY3JvbGxMZWZ0OjAsc2Nyb2xsVG9wOjB9LGw9e3g6MCx5OjB9O3JldHVybihyfHwhciYmIW4pJiYoKGFyKGUpIT09ImJvZHkifHxkZihzKSkmJihhPXczKGUpKSxPbihlKT8obD1ncyhlLCEwKSxsLngrPWUuY2xpZW50TGVmdCxsLnkrPWUuY2xpZW50VG9wKTpzJiYobC54PXVmKHMpKSkse3g6by5sZWZ0K2Euc2Nyb2xsTGVmdC1sLngseTpvLnRvcCthLnNjcm9sbFRvcC1sLnksd2lkdGg6by53aWR0aCxoZWlnaHQ6by5oZWlnaHR9fWZ1bmN0aW9uIFQzKHQpe3ZhciBlPW5ldyBNYXAsbj1uZXcgU2V0LHI9W107dC5mb3JFYWNoKGZ1bmN0aW9uKHMpe2Uuc2V0KHMubmFtZSxzKX0pO2Z1bmN0aW9uIGkocyl7bi5hZGQocy5uYW1lKTt2YXIgbz1bXS5jb25jYXQocy5yZXF1aXJlc3x8W10scy5yZXF1aXJlc0lmRXhpc3RzfHxbXSk7by5mb3JFYWNoKGZ1bmN0aW9uKGEpe2lmKCFuLmhhcyhhKSl7dmFyIGw9ZS5nZXQoYSk7bCYmaShsKX19KSxyLnB1c2gocyl9cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihzKXtuLmhhcyhzLm5hbWUpfHxpKHMpfSkscn1mdW5jdGlvbiBFMyh0KXt2YXIgZT1UMyh0KTtyZXR1cm4gTEwucmVkdWNlKGZ1bmN0aW9uKG4scil7cmV0dXJuIG4uY29uY2F0KGUuZmlsdGVyKGZ1bmN0aW9uKGkpe3JldHVybiBpLnBoYXNlPT09cn0pKX0sW10pfWZ1bmN0aW9uIHgzKHQpe3ZhciBlO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlfHwoZT1uZXcgUHJvbWlzZShmdW5jdGlvbihuKXtQcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCl7ZT12b2lkIDAsbih0KCkpfSl9KSksZX19ZnVuY3Rpb24gQTModCl7dmFyIGU9dC5yZWR1Y2UoZnVuY3Rpb24obixyKXt2YXIgaT1uW3IubmFtZV07cmV0dXJuIG5bci5uYW1lXT1pP09iamVjdC5hc3NpZ24oe30saSxyLHtvcHRpb25zOk9iamVjdC5hc3NpZ24oe30saS5vcHRpb25zLHIub3B0aW9ucyksZGF0YTpPYmplY3QuYXNzaWduKHt9LGkuZGF0YSxyLmRhdGEpfSk6cixufSx7fSk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gZVtuXX0pfXZhciBTcD17cGxhY2VtZW50OiJib3R0b20iLG1vZGlmaWVyczpbXSxzdHJhdGVneToiYWJzb2x1dGUifTtmdW5jdGlvbiBUcCgpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLGU9bmV3IEFycmF5KHQpLG49MDtuPHQ7bisrKWVbbl09YXJndW1lbnRzW25dO3JldHVybiFlLnNvbWUoZnVuY3Rpb24ocil7cmV0dXJuIShyJiZ0eXBlb2Ygci5nZXRCb3VuZGluZ0NsaWVudFJlY3Q9PSJmdW5jdGlvbiIpfSl9ZnVuY3Rpb24gTzModCl7dD09PXZvaWQgMCYmKHQ9e30pO3ZhciBlPXQsbj1lLmRlZmF1bHRNb2RpZmllcnMscj1uPT09dm9pZCAwP1tdOm4saT1lLmRlZmF1bHRPcHRpb25zLHM9aT09PXZvaWQgMD9TcDppO3JldHVybiBmdW5jdGlvbihhLGwsYyl7Yz09PXZvaWQgMCYmKGM9cyk7dmFyIHU9e3BsYWNlbWVudDoiYm90dG9tIixvcmRlcmVkTW9kaWZpZXJzOltdLG9wdGlvbnM6T2JqZWN0LmFzc2lnbih7fSxTcCxzKSxtb2RpZmllcnNEYXRhOnt9LGVsZW1lbnRzOntyZWZlcmVuY2U6YSxwb3BwZXI6bH0sYXR0cmlidXRlczp7fSxzdHlsZXM6e319LGQ9W10sZj0hMSxoPXtzdGF0ZTp1LHNldE9wdGlvbnM6ZnVuY3Rpb24oeCl7dmFyIEM9dHlwZW9mIHg9PSJmdW5jdGlvbiI/eCh1Lm9wdGlvbnMpOng7cCgpLHUub3B0aW9ucz1PYmplY3QuYXNzaWduKHt9LHMsdS5vcHRpb25zLEMpLHUuc2Nyb2xsUGFyZW50cz17cmVmZXJlbmNlOnhpKGEpP2VvKGEpOmEuY29udGV4dEVsZW1lbnQ/ZW8oYS5jb250ZXh0RWxlbWVudCk6W10scG9wcGVyOmVvKGwpfTt2YXIgYj1FMyhBMyhbXS5jb25jYXQocix1Lm9wdGlvbnMubW9kaWZpZXJzKSkpO3JldHVybiB1Lm9yZGVyZWRNb2RpZmllcnM9Yi5maWx0ZXIoZnVuY3Rpb24oVCl7cmV0dXJuIFQuZW5hYmxlZH0pLG0oKSxoLnVwZGF0ZSgpfSxmb3JjZVVwZGF0ZTpmdW5jdGlvbigpe2lmKCFmKXt2YXIgeD11LmVsZW1lbnRzLEM9eC5yZWZlcmVuY2UsYj14LnBvcHBlcjtpZihUcChDLGIpKXt1LnJlY3RzPXtyZWZlcmVuY2U6UzMoQyxHbyhiKSx1Lm9wdGlvbnMuc3RyYXRlZ3k9PT0iZml4ZWQiKSxwb3BwZXI6YWYoYil9LHUucmVzZXQ9ITEsdS5wbGFjZW1lbnQ9dS5vcHRpb25zLnBsYWNlbWVudCx1Lm9yZGVyZWRNb2RpZmllcnMuZm9yRWFjaChmdW5jdGlvbihCKXtyZXR1cm4gdS5tb2RpZmllcnNEYXRhW0IubmFtZV09T2JqZWN0LmFzc2lnbih7fSxCLmRhdGEpfSk7Zm9yKHZhciBUPTA7VDx1Lm9yZGVyZWRNb2RpZmllcnMubGVuZ3RoO1QrKyl7aWYodS5yZXNldD09PSEwKXt1LnJlc2V0PSExLFQ9LTE7Y29udGludWV9dmFyIEU9dS5vcmRlcmVkTW9kaWZpZXJzW1RdLHc9RS5mbixSPUUub3B0aW9ucyxEPVI9PT12b2lkIDA/e306UixJPUUubmFtZTt0eXBlb2Ygdz09ImZ1bmN0aW9uIiYmKHU9dyh7c3RhdGU6dSxvcHRpb25zOkQsbmFtZTpJLGluc3RhbmNlOmh9KXx8dSl9fX19LHVwZGF0ZTp4MyhmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihrKXtoLmZvcmNlVXBkYXRlKCksayh1KX0pfSksZGVzdHJveTpmdW5jdGlvbigpe3AoKSxmPSEwfX07aWYoIVRwKGEsbCkpcmV0dXJuIGg7aC5zZXRPcHRpb25zKGMpLnRoZW4oZnVuY3Rpb24oayl7IWYmJmMub25GaXJzdFVwZGF0ZSYmYy5vbkZpcnN0VXBkYXRlKGspfSk7ZnVuY3Rpb24gbSgpe3Uub3JkZXJlZE1vZGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uKGspe3ZhciB4PWsubmFtZSxDPWsub3B0aW9ucyxiPUM9PT12b2lkIDA/e306QyxUPWsuZWZmZWN0O2lmKHR5cGVvZiBUPT0iZnVuY3Rpb24iKXt2YXIgRT1UKHtzdGF0ZTp1LG5hbWU6eCxpbnN0YW5jZTpoLG9wdGlvbnM6Yn0pLHc9ZnVuY3Rpb24oKXt9O2QucHVzaChFfHx3KX19KX1mdW5jdGlvbiBwKCl7ZC5mb3JFYWNoKGZ1bmN0aW9uKGspe3JldHVybiBrKCl9KSxkPVtdfXJldHVybiBofX12YXIgQzM9W1hMLGczLEtMLGpMLG0zLGMzLF8zLEhMLGQzXSxQMz1PMyh7ZGVmYXVsdE1vZGlmaWVyczpDM30pO2NvbnN0IEkzPXQ9PntsZXQgZT1zZShudWxsKSxuPXNlKG51bGwpO3JldHVybiB5dCgoKT0+e0t0KHI9PntpZighbi52YWx1ZXx8IWUudmFsdWUpcmV0dXJuO2xldCBpPW4udmFsdWUuZWx8fG4udmFsdWUscz1lLnZhbHVlLmVsfHxlLnZhbHVlO2lmKCEocyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXx8IShpIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtsZXR7ZGVzdHJveTpvfT1QMyhzLGksdCk7cihvKX0pfSksW2Usbl19LE4zPXtjbGFzczoiei1bMTAwXSJ9LFIzPU5lKHtfX25hbWU6IkRyb3Bkb3duIixwcm9wczp7cGxhY2VtZW50OntkZWZhdWx0OiJib3R0b20tZW5kIn0sY2xhc3Nlczp7fX0sc2V0dXAodCl7Y29uc3QgZT10LFtuLHJdPUkzKHtwbGFjZW1lbnQ6ZS5wbGFjZW1lbnQsc3RyYXRlZ3k6ImZpeGVkIixtb2RpZmllcnM6W3tuYW1lOiJvZmZzZXQiLG9wdGlvbnM6e29mZnNldDpbMCw0XX19XX0pO3JldHVybihpLHMpPT4oVSgpLHR0KFMoVzIpLHthczoiZGl2In0se2RlZmF1bHQ6bmUoKCk9PltlZShTKEcyKSx7cmVmX2tleToidHJpZ2dlciIscmVmOm4sY2xhc3M6RGUoaS5jbGFzc2VzKX0se2RlZmF1bHQ6bmUoKCk9PltVdChpLiRzbG90cywiYnV0dG9uIildKSxfOjN9LDgsWyJjbGFzcyJdKSxBKCJkaXYiLE4zLFsoVSgpLHR0KG95LHt0bzoiYm9keSJ9LFtlZShTKHoyKSx7cmVmX2tleToiY29udGFpbmVyIixyZWY6cixjbGFzczoiYWJzb2x1dGUgei1bMTAwXSB3LTY0IG9yaWdpbi10b3AtcmlnaHQgcm91bmRlZC1tZCBiZy13aGl0ZSBzaGFkb3ctbGcgcmluZy0xIHJpbmctYmxhY2sgcmluZy1vcGFjaXR5LTUgZm9jdXM6b3V0bGluZS1ub25lIn0se2RlZmF1bHQ6bmUoKCk9PltVdChpLiRzbG90cywiaXRlbXMiKV0pLF86M30sNTEyKV0pKV0pXSksXzozfSkpfX0pLEQzPUEoInNwYW4iLHtjbGFzczoic3Itb25seSJ9LCJPcGVuIG9wdGlvbnMiLC0xKSxNMz1OZSh7X19uYW1lOiJPcHRpb25zRHJvcGRvd24iLHNldHVwKHQpe3JldHVybihlLG4pPT4oVSgpLHR0KFIzLHtjbGFzc2VzOiJweS0xLjUgdGV4dC14cyBib3JkZXItdHJhbnNwYXJlbnQgc2hhZG93LW5vbmUgYnV0dG9uIGhvdmVyOnJpbmctMSBob3ZlcjpyaW5nLWluc2V0IGZvY3VzLXZpc2libGU6b3V0bGluZS1wcmltYXJ5LTYwMCBob3ZlcjpyaW5nLWdyYXktMzAwIGhvdmVyOiFiZy13aGl0ZSB0cmFuc2l0aW9uIGR1cmF0aW9uLTE1MCBlYXNlLWluLW91dCIscGxhY2VtZW50OiJib3R0b20tZW5kIn0se2J1dHRvbjpuZSgoKT0+W0QzLGVlKFModU8pLHtjbGFzczoiaC00IHctNCJ9KV0pLGl0ZW1zOm5lKCgpPT5bVXQoZS4kc2xvdHMsImRlZmF1bHQiKV0pLF86M30pKX19KSxMMz0oKT0+KHtkb3dubG9hZEZpbGU6KGUsbik9Pntjb25zdCByPXdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKG4pLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2kuaHJlZj1yLGkuc2V0QXR0cmlidXRlKCJkb3dubG9hZCIsZSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKSxpLmNsaWNrKCksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChpKSx3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTChyKX19KSxGMz17Y2xhc3M6InJlbGF0aXZlIn0sJDM9e2NsYXNzOiJmbGV4IHctZnVsbCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgcGItMjQgcHQtNCBtZDpwdC04In0sajM9e2NsYXNzOiJteC1hdXRvIHctZnVsbCBtYXgtdy0yeGwifSxCMz17Y2xhc3M6InNwYWNlLXktMiBtZDpzcGFjZS15LTQifSxVMz17Y2xhc3M6InRleHQtZ3JheS05MDAifSxWMz17Y2xhc3M6InRleHQtZ3JheS05MDAifSxXMz17Y2xhc3M6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIn0sRzM9e2NsYXNzOiJweS0xIn0sejM9WyJvbkNsaWNrIl0sSDM9e2NsYXNzOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiJ9LEozPVsib25DbGljayJdLHEzPXtjbGFzczoiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIifSxaMz17a2V5OjAsY2xhc3M6ImZpeGVkIGJvdHRvbS0wIGxlZnQtMCByaWdodC0wIHotNTAgYm9yZGVyLXQgYm9yZGVyLWdyYXktMjAwIGJnLXdoaXRlIHNoYWRvdy14bCJ9LEszPXtjbGFzczoibXgtYXV0byBmbGV4IHctZnVsbCBtYXgtdy0yeGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBzcGFjZS14LTQgb3ZlcmZsb3ctaGlkZGVuIHB4LTggcHktNCB0ZXh0LXNtIn0sWTM9e2NsYXNzOiJzaHJpbmstMCJ9LFgzPXtjbGFzczoic3BhY2UteS00In0sUTM9e2NsYXNzOiJmb3JtLWdyb3VwIn0sZUY9e2NsYXNzOiJsYWJlbCIsZm9yOiJiaWxsaW5nX2FkZHJlc3NfbGluZTEifSx0Rj17Y2xhc3M6ImZvcm0tZ3JvdXAifSxuRj1bInBsYWNlaG9sZGVyIl0sckY9e2NsYXNzOiJmb3JtLWdyb3VwIn0saUY9WyJwbGFjZWhvbGRlciJdLHNGPXtjbGFzczoiZ3JpZCBncmlkLWNvbHMtMiBnYXAtMSJ9LG9GPXtjbGFzczoiZm9ybS1ncm91cCJ9LGFGPVsicGxhY2Vob2xkZXIiXSxsRj17Y2xhc3M6ImZvcm0tZ3JvdXAifSxjRj1bInBsYWNlaG9sZGVyIl0sdUY9WyJwbGFjZWhvbGRlciJdLGRGPVsidmFsdWUiXSxmRj17Y2xhc3M6ImZvcm0tZ3JvdXAifSxoRj17Y2xhc3M6ImxhYmVsIixmb3I6ImFkZGl0aW9uYWxfdGV4dCJ9LG1GPVsicGxhY2Vob2xkZXIiXSxwRj1OZSh7X19uYW1lOiJJbnZvaWNlc1ZpZXciLGFzeW5jIHNldHVwKHQpe2xldCBlLG47Y29uc3R7dDpyLGxvY2FsZTppfT1XdCgpLHM9dGkoKSx7bm90aWZ5Om99PVBsKCkse21hcEludm9pY2VTdGF0dXM6YX09dV8oKSx7ZG93bmxvYWRGaWxlOmx9PUwzKCksW2NdPW5yLnVzZUluamVjdChZYS5uYW1lKSx1PXNlKFtdKSxkPXNlKCksZj1zZShuZXcgenUpLGg9c2UoITEpLG09c2UoITEpLHA9c2UoW10pO3AudmFsdWU9R2EoaS52YWx1ZSk7Y29uc3Qgaz1hc3luYygpPT57dmFyIEk7aWYoISgoST1zLmJvb2tpbmcpIT1udWxsJiZJLmlkKSlyZXR1cm47Y29uc3QgRD1hd2FpdCBjLmdldEludm9pY2VzKCk7aWYoRClyZXR1cm4gRH0seD0oW2Usbl09ZXMoKCk9PmsoKSksZT1hd2FpdCBlLG4oKSxlKTt1LnZhbHVlPXgsZ3QoaSxEPT57cC52YWx1ZT1HYShEKX0pO2NvbnN0IEM9b2UoKCk9PnUudmFsdWUuZmlsdGVyKEQ9PkQuc3RhdHVzPT09ImNhbmNlbGVkIikubGVuZ3RoPDEpLGI9b2UoKCk9Plt7a2V5OiJpbnZvaWNlIix0aXRsZTpyKCJwb3J0YWwuaG9tZV92aWV3Lmludm9pY2VfY2FyZC50YWJsZV9oZWFkZXJzLmludm9pY2UiKX0se2tleToiYW1vdW50Iix0aXRsZTpyKCJwb3J0YWwuaG9tZV92aWV3Lmludm9pY2VfY2FyZC50YWJsZV9oZWFkZXJzLmFtb3VudCIpfSx7a2V5OiJzdGF0dXMiLHRpdGxlOnIoInBvcnRhbC5ob21lX3ZpZXcuaW52b2ljZV9jYXJkLnRhYmxlX2hlYWRlcnMuc3RhdHVzIil9LHtrZXk6ImFjdGlvbnMiLHRpdGxlOiIiLGNsYXNzZXM6Imp1c3RpZnktZW5kIn1dKSxUPWFzeW5jIEQ9Pntjb25zdCBJPWF3YWl0IGMuZ2V0UG1zRmlsZURvd25sb2FkVXJsKEQuZmlsZUlkKTt3aW5kb3cub3BlbihJLCJfYmxhbmsiKX0sRT1hc3luYyBEPT57ZC52YWx1ZT1ELGYudmFsdWUuZm9saW9JZD1ELmZvbGlvSWQsZi52YWx1ZS5jdXN0b21lcklkPUQuY3VzdG9tZXJJZCxmLnZhbHVlLmJpbGxpbmdBZGRyZXNzPUQuYmlsbGluZ0FkZHJlc3M/P25ldyBKcih7fSksZi52YWx1ZS5hZGRpdGlvbmFsVGV4dD1ELmFkZGl0aW9uYWxUZXh0LGgudmFsdWU9ITB9LHc9YXN5bmMgRD0+e2NvbnN0IEk9YXdhaXQgYy5nZXRQbXNGaWxlQ29udGVudChELmZpbGVJZCk7bChELmZpbGVOYW1lLEkuZGF0YSl9LFI9YXN5bmMoKT0+e2lmKG0udmFsdWU9ITAsYXdhaXQgYy51cGRhdGVJbnZvaWNlKGQudmFsdWUuaWQsZi52YWx1ZSkpe20udmFsdWU9ITEsaC52YWx1ZT0hMTtjb25zdCBJPWF3YWl0IGsoKTt1LnZhbHVlPUksbyh7dHlwZToic3VjY2VzcyIsdGl0bGU6cigicG9ydGFsLmhvbWVfdmlldy51cGRhdGVfaW52b2ljZV9zdWNjZXNzIiksdGV4dDpyKCJwb3J0YWwuaG9tZV92aWV3LnVwZGF0ZV9pbnZvaWNlX3N1Y2Nlc3NfdGV4dCIpfSl9ZWxzZSBtLnZhbHVlPSExLG8oe3R5cGU6ImVycm9yIix0aXRsZTpyKCJwb3J0YWwuaG9tZV92aWV3LnVwZGF0ZV9pbnZvaWNlX2Vycm9yIiksdGV4dDpyKCJwb3J0YWwuaG9tZV92aWV3LnVwZGF0ZV9pbnZvaWNlX2Vycm9yX3RleHQiKX0pfTtyZXR1cm4oRCxJKT0+e2NvbnN0IEI9cmwoIlJvdXRlckxpbmsiKTtyZXR1cm4gVSgpLFoocWUsbnVsbCxbQSgibWFpbiIsRjMsW0EoImRpdiIsJDMsW0EoImRpdiIsajMsW0EoImRpdiIsQjMsW2VlKGVmLHtpZDoic3VtbWFyeSJ9KSx1LnZhbHVlJiZ1LnZhbHVlLmxlbmd0aD4wPyhVKCksdHQoX24se2tleTowLHRpdGxlOlMocikoInBvcnRhbC5ob21lX3ZpZXcuaW52b2ljZV9jYXJkLnRpdGxlIiksZGVzY3JpcHRpb246UyhyKSgicG9ydGFsLmhvbWVfdmlldy5pbnZvaWNlX2NhcmQuZGVzY3JpcHRpb24iKX0se2ljb246bmUoKCk9PltlZShTKGNfKSx7Y2xhc3M6ImgtNiB3LTYifSldKSxkZWZhdWx0Om5lKCgpPT5bQy52YWx1ZT9NZSgiIiwhMCk6KFUoKSx0dChUTCx7a2V5OjAsY2xhc3M6Im10LTQgYmcteWVsbG93LTEwMCB0ZXh0LXllbGxvdy03MDAgcmluZy15ZWxsb3ctNjAwLzIwIn0se2RlZmF1bHQ6bmUoKCk9PlskZShLKFMocikoInBvcnRhbC5ob21lX3ZpZXcuaW52b2ljZV9jYXJkLmFsZXJ0IikpLDEpXSksXzoxfSkpLGVlKGYwLHtjbGFzczoibXQtOCIsaGVhZGVyczpiLnZhbHVlLGl0ZW1zOnUudmFsdWUsZnVuY3Rpb246a30se2ludm9pY2U6bmUoKHtpdGVtOkx9KT0+W0EoInNwYW4iLFUzLEsoTC5maWxlTmFtZSksMSldKSxhbW91bnQ6bmUoKHtpdGVtOkx9KT0+W0EoInNwYW4iLFYzLEsoUyhCTikoTC50b3RhbEFtb3VudCkpLDEpXSksc3RhdHVzOm5lKCh7aXRlbTpMfSk9PltBKCJzcGFuIix7Y2xhc3M6RGUoWyJiYWRnZSIseyJiYWRnZS0tZ3JlZW4iOkwuc3RhdHVzPT09InBhaWQiLCJiYWRnZS0teWVsbG93IjpMLnN0YXR1cz09PSJvcGVuIiwiYmFkZ2UtLXJlZCI6TC5zdGF0dXM9PT0iY2FuY2VsZWQiLCJiYWRnZS0tZ3JheSI6TC5zdGF0dXM9PT0iZHJhZnQifV0pfSxLKFMoYSkoTC5zdGF0dXMpKSwzKV0pLGFjdGlvbnM6bmUoKHtpdGVtOkx9KT0+W0EoImRpdiIsVzMsW2VlKFN0LHtjbGFzczoiIXB4LTIgIXB5LTEiLGNvbG9yOiJwcmltYXJ5IixvbkNsaWNrOmo9PlQoTCl9LHtkZWZhdWx0Om5lKCgpPT5bJGUoSyhTKHIpKCJwb3J0YWwuaG9tZV92aWV3Lmludm9pY2VfY2FyZC50YWJsZV9hY3Rpb25zLm9wZW4iKSksMSldKSxfOjJ9LDEwMzIsWyJvbkNsaWNrIl0pLGVlKE0zLG51bGwse2RlZmF1bHQ6bmUoKCk9PltBKCJkaXYiLEczLFtMLnN0YXR1cyE9PSJjYW5jZWxlZCImJkMudmFsdWU/KFUoKSx0dChTKFhoKSx7a2V5OjB9LHtkZWZhdWx0Om5lKCh7YWN0aXZlOmp9KT0+W0EoImJ1dHRvbiIse2NsYXNzOkRlKFsiYmxvY2sgdy1mdWxsIixbaj8iZHJvcGRvd24tbWVudS1pdGVtLS1hY3RpdmUiOiJkcm9wZG93bi1tZW51LWl0ZW0tLWRlZmF1bHQiLCJkcm9wZG93bi1tZW51LWl0ZW0iXV0pLG9uQ2xpY2s6cmU9PkUoTCl9LFtBKCJkaXYiLEgzLFtlZShTKGZPKSx7Y2xhc3M6ImgtNCB3LTQifSksQSgic3BhbiIsbnVsbCxLKFMocikoInBvcnRhbC5ob21lX3ZpZXcuaW52b2ljZV9jYXJkLnRhYmxlX2FjdGlvbnMuZWRpdCIpKSwxKV0pXSwxMCx6MyldKSxfOjJ9LDEwMjQpKTpNZSgiIiwhMCksZWUoUyhYaCksbnVsbCx7ZGVmYXVsdDpuZSgoe2FjdGl2ZTpqfSk9PltBKCJidXR0b24iLHtjbGFzczpEZShbImJsb2NrIHctZnVsbCIsW2o/ImRyb3Bkb3duLW1lbnUtaXRlbS0tYWN0aXZlIjoiZHJvcGRvd24tbWVudS1pdGVtLS1kZWZhdWx0IiwiZHJvcGRvd24tbWVudS1pdGVtIl1dKSxvbkNsaWNrOnJlPT53KEwpfSxbQSgiZGl2IixxMyxbZWUoUyhhXykse2NsYXNzOiJoLTQgdy00In0pLEEoInNwYW4iLG51bGwsSyhTKHIpKCJwb3J0YWwuaG9tZV92aWV3Lmludm9pY2VfY2FyZC50YWJsZV9hY3Rpb25zLmRvd25sb2FkIikpLDEpXSldLDEwLEozKV0pLF86Mn0sMTAyNCldKV0pLF86Mn0sMTAyNCldKV0pLF86MX0sOCxbImhlYWRlcnMiLCJpdGVtcyJdKV0pLF86MX0sOCxbInRpdGxlIiwiZGVzY3JpcHRpb24iXSkpOk1lKCIiLCEwKV0pXSldKSxTKHMpLmJvb2tpbmc/KFUoKSxaKCJkaXYiLFozLFtBKCJkaXYiLEszLFtBKCJkaXYiLFkzLFtlZShCLHt0bzp7bmFtZToicG9ydGFsIixwYXJhbXM6e2lkOlMocykubGlua0lkfX19LHtkZWZhdWx0Om5lKCgpPT5bZWUoU3Qse2NvbG9yOiJzZWNvbmRhcnkifSx7ZGVmYXVsdDpuZSgoKT0+WyRlKCLihpAgIitLKFMocikoInBvcnRhbC5jaGVja19pbl92aWV3LmJhY2siKSksMSldKSxfOjF9KV0pLF86MX0sOCxbInRvIl0pXSldKV0pKTpNZSgiIiwhMCldKSxlZShEdix7dGl0bGU6UyhyKSgicG9ydGFsLmhvbWVfdmlldy5lZGl0X2ludm9pY2VfZGlhbG9nLnRpdGxlIiksbW9kZWxWYWx1ZTpoLnZhbHVlLCJvblVwZGF0ZTptb2RlbFZhbHVlIjpJWzddfHwoSVs3XT1MPT5oLnZhbHVlPUwpLHN1Ym1pdDpSfSx7Y29udGVudDpuZSgoKT0+W0EoImRpdiIsWDMsW0EoImRpdiIsUTMsW0EoImxhYmVsIixlRixLKFMocikoInBvcnRhbC5ob21lX3ZpZXcuZWRpdF9pbnZvaWNlX2RpYWxvZy5iaWxsaW5nX2FkZHJlc3MiKSksMSksQSgiZGl2Iix0RixbJHQoQSgiaW5wdXQiLHsib25VcGRhdGU6bW9kZWxWYWx1ZSI6SVswXXx8KElbMF09TD0+Zi52YWx1ZS5iaWxsaW5nQWRkcmVzcy5saW5lMT1MKSxpZDoiYmlsbGluZ19hZGRyZXNzX2xpbmUxIix0eXBlOiJ0ZXh0IixjbGFzczoiaW5wdXQiLHBsYWNlaG9sZGVyOlMocikoInBvcnRhbC5ob21lX3ZpZXcuZWRpdF9pbnZvaWNlX2RpYWxvZy5iaWxsaW5nX2FkZHJlc3NfbGluZTFfcGxhY2Vob2xkZXIiKX0sbnVsbCw4LG5GKSxbW0JuLGYudmFsdWUuYmlsbGluZ0FkZHJlc3MubGluZTFdXSldKSxBKCJkaXYiLHJGLFskdChBKCJpbnB1dCIseyJvblVwZGF0ZTptb2RlbFZhbHVlIjpJWzFdfHwoSVsxXT1MPT5mLnZhbHVlLmJpbGxpbmdBZGRyZXNzLmxpbmUyPUwpLGlkOiJiaWxsaW5nX2FkZHJlc3NfbGluZTIiLHR5cGU6InRleHQiLGNsYXNzOiJpbnB1dCIscGxhY2Vob2xkZXI6UyhyKSgicG9ydGFsLmhvbWVfdmlldy5lZGl0X2ludm9pY2VfZGlhbG9nLmJpbGxpbmdfYWRkcmVzc19saW5lMl9wbGFjZWhvbGRlciIpfSxudWxsLDgsaUYpLFtbQm4sZi52YWx1ZS5iaWxsaW5nQWRkcmVzcy5saW5lMl1dKV0pLEEoImRpdiIsc0YsW0EoImRpdiIsb0YsWyR0KEEoImlucHV0Iix7Im9uVXBkYXRlOm1vZGVsVmFsdWUiOklbMl18fChJWzJdPUw9PmYudmFsdWUuYmlsbGluZ0FkZHJlc3MucG9zdGFsQ29kZT1MKSxpZDoiYmlsbGluZ19hZGRyZXNzX3Bvc3RhbF9jb2RlIix0eXBlOiJ0ZXh0IixjbGFzczoiaW5wdXQiLHBsYWNlaG9sZGVyOlMocikoInBvcnRhbC5ob21lX3ZpZXcuZWRpdF9pbnZvaWNlX2RpYWxvZy5iaWxsaW5nX2FkZHJlc3NfcG9zdGFsX2NvZGVfcGxhY2Vob2xkZXIiKX0sbnVsbCw4LGFGKSxbW0JuLGYudmFsdWUuYmlsbGluZ0FkZHJlc3MucG9zdGFsQ29kZV1dKV0pLEEoImRpdiIsbEYsWyR0KEEoImlucHV0Iix7Im9uVXBkYXRlOm1vZGVsVmFsdWUiOklbM118fChJWzNdPUw9PmYudmFsdWUuYmlsbGluZ0FkZHJlc3MuY2l0eT1MKSxpZDoiYmlsbGluZ19hZGRyZXNzX2NpdHkiLHR5cGU6InRleHQiLGNsYXNzOiJpbnB1dCIscGxhY2Vob2xkZXI6UyhyKSgicG9ydGFsLmhvbWVfdmlldy5lZGl0X2ludm9pY2VfZGlhbG9nLmJpbGxpbmdfYWRkcmVzc19jaXR5X3BsYWNlaG9sZGVyIil9LG51bGwsOCxjRiksW1tCbixmLnZhbHVlLmJpbGxpbmdBZGRyZXNzLmNpdHldXSldKV0pLCR0KEEoInNlbGVjdCIseyJvblVwZGF0ZTptb2RlbFZhbHVlIjpJWzRdfHwoSVs0XT1MPT5mLnZhbHVlLmJpbGxpbmdBZGRyZXNzLmNvdW50cnk9TCksaWQ6ImJpbGxpbmdfYWRkcmVzc19jb3VudHJ5IixjbGFzczoiaW5wdXQiLHBsYWNlaG9sZGVyOlMocikoInBvcnRhbC5ob21lX3ZpZXcuZWRpdF9pbnZvaWNlX2RpYWxvZy5iaWxsaW5nX2FkZHJlc3NfY291bnRyeV9wbGFjZWhvbGRlciIpfSxbKFUoITApLFoocWUsbnVsbCx0bihwLnZhbHVlLEw9PihVKCksWigib3B0aW9uIix7a2V5OkwuYWxwaGEyLHZhbHVlOkwuYWxwaGEyfSxLKEwubmFtZSksOSxkRikpKSwxMjgpKV0sOCx1RiksW1tmbyxmLnZhbHVlLmJpbGxpbmdBZGRyZXNzLmNvdW50cnldXSldKSxBKCJkaXYiLGZGLFtBKCJsYWJlbCIsaEYsSyhTKHIpKCJwb3J0YWwuaG9tZV92aWV3LmVkaXRfaW52b2ljZV9kaWFsb2cuYWRkaXRpb25hbF90ZXh0IikpLDEpLCR0KEEoInRleHRhcmVhIix7aWQ6ImFkZGl0aW9uYWxfdGV4dCIsIm9uVXBkYXRlOm1vZGVsVmFsdWUiOklbNV18fChJWzVdPUw9PmYudmFsdWUuYWRkaXRpb25hbFRleHQ9TCksY2xhc3M6ImlucHV0Iixyb3dzOiI0IixwbGFjZWhvbGRlcjpTKHIpKCJwb3J0YWwuaG9tZV92aWV3LmVkaXRfaW52b2ljZV9kaWFsb2cuYWRkaXRpb25hbF90ZXh0X3BsYWNlaG9sZGVyIil9LG51bGwsOCxtRiksW1tCbixmLnZhbHVlLmFkZGl0aW9uYWxUZXh0XV0pXSldKV0pLGFjdGlvbnM6bmUoKCk9PltlZShTdCx7dHlwZToiYnV0dG9uIixjb2xvcjoic2Vjb25kYXJ5IixvbkNsaWNrOklbNl18fChJWzZdPUw9PmgudmFsdWU9ITEpfSx7ZGVmYXVsdDpuZSgoKT0+WyRlKEsoUyhyKSgicG9ydGFsLmhvbWVfdmlldy5lZGl0X2ludm9pY2VfZGlhbG9nLmFjdGlvbnMuY2FuY2VsIikpLDEpXSksXzoxfSksZWUoU3Qse3R5cGU6InN1Ym1pdCIsY29sb3I6InByaW1hcnkiLGxvYWRpbmc6bS52YWx1ZX0se2RlZmF1bHQ6bmUoKCk9PlskZShLKFMocikoInBvcnRhbC5ob21lX3ZpZXcuZWRpdF9pbnZvaWNlX2RpYWxvZy5hY3Rpb25zLnNhdmUiKSksMSldKSxfOjF9LDgsWyJsb2FkaW5nIl0pXSksXzoxfSw4LFsidGl0bGUiLCJtb2RlbFZhbHVlIl0pXSw2NCl9fX0pLEVwPSJsb2NhbGUiLGdGPXQ9PnQ9PT0iZGUifHx0PT09ImVuIixrMD10PT50P2Ake0VwfToke3R9YDpFcCxTMD10PT57dHJ5e2NvbnN0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oazAodCkpO3JldHVybiBnRihlKT9lOm51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fSx4cD0odCxlKT0+e1l0Lmdsb2JhbC5sb2NhbGUudmFsdWU9dDt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oazAoZSksdCl9Y2F0Y2h7fX0seUY9e2NsYXNzOiJyZWxhdGl2ZSJ9LHZGPXtjbGFzczoibXgtYXV0byBmbGV4IHctZnVsbCBtYXgtdy0yeGwganVzdGlmeS1lbmQgcHgtNCBwdC00IHRleHQtc20ifSxfRj17Y2xhc3M6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIn0sYkY9QSgic3BhbiIse2NsYXNzOiJ0ZXh0LWdyYXktMzAwIn0sInwiLC0xKSx3Rj1OZSh7X19uYW1lOiJQb3J0YWxWaWV3Iixhc3luYyBzZXR1cCh0KXtsZXQgZSxuO2NvbnN0e2xvY2FsZTpyfT1XdCgpLGk9QWQoKSxzPXRpKCksbz1pLnBhcmFtcy5pZDtpZihvKXtzLnNldExpbmtJZChvKSxLZS5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vblsiTGluay1JZCJdPW87Y29uc3QgYT1TMChvKTthJiYoci52YWx1ZT1hKX1yZXR1cm5bZSxuXT1lcygoKT0+UHJvbWlzZS5hbGxTZXR0bGVkKFtzLmdldFByb3BlcnR5KCkscy5nZXRCb29raW5nKCkscy5nZXRCb29raW5nTWV0YWRhdGEoKSxzLmdldEFjY2Vzc1BvaW50cygpLHMuZ2V0R2VuZXJhbFNldHRpbmdzKCldKSksYXdhaXQgZSxuKCksW2Usbl09ZXMoKCk9PnMuYXBwbHlCcmFuZGluZygpKSxhd2FpdCBlLG4oKSwoYSxsKT0+KFUoKSxaKCJkaXYiLHlGLFtBKCJkaXYiLHZGLFtBKCJkaXYiLF9GLFtBKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzOkRlKFsicHgtMSIsUyhyKT09PSJkZSI/ImZvbnQtc2VtaWJvbGQgdGV4dC1ncmF5LTkwMCI6InRleHQtZ3JheS00MDAiXSksb25DbGljazpsWzBdfHwobFswXT1jPT5TKHhwKSgiZGUiLFMobykpKX0sIkRFIiwyKSxiRixBKCJidXR0b24iLHt0eXBlOiJidXR0b24iLGNsYXNzOkRlKFsicHgtMSIsUyhyKT09PSJlbiI/ImZvbnQtc2VtaWJvbGQgdGV4dC1ncmF5LTkwMCI6InRleHQtZ3JheS00MDAiXSksb25DbGljazpsWzFdfHwobFsxXT1jPT5TKHhwKSgiZW4iLFMobykpKX0sIkVOIiwyKV0pXSksZWUobHYpXSkpfX0pLFQwPXFTKHtzY3JvbGxCZWhhdmlvcjoodCxlKT0+e2lmKCEoIWUubmFtZXx8dC5uYW1lPT09ZS5uYW1lKSlyZXR1cm4gbmV3IFByb21pc2Uobj0+e3NldFRpbWVvdXQoKCk9PntuKHtsZWZ0OjAsdG9wOjB9KX0sMjUwKX0pfSxoaXN0b3J5OlRTKCIvIikscm91dGVzOlt7cGF0aDoiLyIsbmFtZToibWFpbiIscmVkaXJlY3Q6Ii9ib29raW5ncyIsY29tcG9uZW50OigpPT5jbigoKT0+aW1wb3J0KCIuL01haW5WaWV3LUI2VEhvMXp5LmpzIiksX192aXRlX19tYXBEZXBzKFswLDFdKSksbWV0YTp7YXV0aGVudGljYXRlZDohMH0sY2hpbGRyZW46W3twYXRoOiJhcGkta2V5cyIsbmFtZToiYXBpLWtleXMiLGNvbXBvbmVudDooKT0+Y24oKCk9PmltcG9ydCgiLi9BcGlLZXlzVmlldy1CTk81V3pxVS5qcyIpLF9fdml0ZV9fbWFwRGVwcyhbMiwzXSkpfSx7cGF0aDoiYXBpLWtleXMvOmlkIixuYW1lOiJhcGkta2V5LWRldGFpbCIsY29tcG9uZW50OigpPT5jbigoKT0+aW1wb3J0KCIuL0FwaUtleURldGFpbFZpZXctRE9aZVdRUVQuanMiKSxfX3ZpdGVfX21hcERlcHMoWzQsNV0pKX0se3BhdGg6Ii9ib29raW5ncyIsbmFtZToiYm9va2luZ3MiLGNvbXBvbmVudDooKT0+Y24oKCk9PmltcG9ydCgiLi9Cb29raW5nc1ZpZXctOWZLQXdDN0cuanMiKSxfX3ZpdGVfX21hcERlcHMoWzYsNywzXSkpfSx7cGF0aDoiL2Jvb2tpbmdzLzppZCIsbmFtZToiYm9va2luZy1kZXRhaWwiLGNvbXBvbmVudDooKT0+Y24oKCk9PmltcG9ydCgiLi9Cb29raW5nRGV0YWlsc1ZpZXctQlF1YXpDV1UuanMiKSxfX3ZpdGVfX21hcERlcHMoWzgsNSw3XSkpfSx7cGF0aDoiL3Byb2ZpbGUiLG5hbWU6InByb2ZpbGUiLGNvbXBvbmVudDooKT0+Y24oKCk9PmltcG9ydCgiLi9Qcm9maWxlVmlldy1MNlpOVTNfTC5qcyIpLFtdKX0se3BhdGg6InNldHRpbmdzIixuYW1lOiJzZXR0aW5ncyIsY29tcG9uZW50OigpPT5jbigoKT0+aW1wb3J0KCIuL1NldHRpbmdzLUJIc1ItaXI3LmpzIiksX192aXRlX19tYXBEZXBzKFs5LDcsMV0pKSxyZWRpcmVjdDoiL3NldHRpbmdzL2JyYW5kaW5nIixjaGlsZHJlbjpbe3BhdGg6ImJyYW5kaW5nIixuYW1lOiJzZXR0aW5ncy9icmFuZGluZyIsY29tcG9uZW50OigpPT5jbigoKT0+aW1wb3J0KCIuL1NldHRpbmdzQnJhbmRpbmctQjV5cnlNb2kuanMiKSxbXSl9LHtwYXRoOiJjb25maWd1cmF0aW9uIixuYW1lOiJzZXR0aW5ncy9jb25maWd1cmF0aW9uIixjb21wb25lbnQ6KCk9PmNuKCgpPT5pbXBvcnQoIi4vU2V0dGluZ3NDb25maWd1cmF0aW9uLURGOGlINHRZLmpzIiksW10pfSx7cGF0aDoiYWR2YW5jZWQiLG5hbWU6InNldHRpbmdzL2FkdmFuY2VkIixjb21wb25lbnQ6KCk9PmNuKCgpPT5pbXBvcnQoIi4vU2V0dGluZ3NBZHZhbmNlZC1CWElTbEh6MC5qcyIpLF9fdml0ZV9fbWFwRGVwcyhbMTAsMTEsM10pKX0se3BhdGg6InVzZXJzIixuYW1lOiJzZXR0aW5ncy91c2VycyIsY29tcG9uZW50OigpPT5jbigoKT0+aW1wb3J0KCIuL1NldHRpbmdzVXNlcnMtRGtwY3UySHIuanMiKSxfX3ZpdGVfX21hcERlcHMoWzEyLDExLDNdKSl9XX1dfSx7cGF0aDoiL2xvZ2luIixuYW1lOiJsb2dpbiIsY29tcG9uZW50OigpPT5jbigoKT0+aW1wb3J0KCIuL0xvZ2luVmlldy1tbnNVVll0bi5qcyIpLF9fdml0ZV9fbWFwRGVwcyhbMTMsMTRdKSksbWV0YTp7YW5vbnltb3VzOiEwfX0se3BhdGg6Ii9nZXR5b3VycHJlY2hlY2tpbiIsbmFtZToicmVxdWVzdC1saW5rIixjb21wb25lbnQ6KCk9PmNuKCgpPT5pbXBvcnQoIi4vUmVxdWVzdExpbmtWaWV3LUItNXdHaTV1LmpzIiksX192aXRlX19tYXBEZXBzKFsxNSwxNF0pKX0se3BhdGg6Ii9wb3J0YWwvOmlkIixuYW1lOiJwb3J0YWwiLGNvbXBvbmVudDp3RixyZWRpcmVjdDp7bmFtZToiaG9tZSJ9LGNoaWxkcmVuOlt7cGF0aDoiIixuYW1lOiJob21lIixjb21wb25lbnQ6X0x9LHtwYXRoOiJjaGVjay1pbiIsbmFtZToiY2hlY2staW4iLGNvbXBvbmVudDpLTX0se3BhdGg6Imludm9pY2VzIixuYW1lOiJpbnZvaWNlcyIsY29tcG9uZW50OnBGfV19LHtwYXRoOiIvOnBhdGhNYXRjaCguKikqIixyZWRpcmVjdDoiLyJ9XX0pO1QwLmJlZm9yZUVhY2goYXN5bmModCxlLG4pPT57Y29uc3Qgcj1icygpLGk9dC5tYXRjaGVkLnNvbWUobz0+by5tZXRhLmF1dGhlbnRpY2F0ZWQpLHM9dC5tYXRjaGVkLnNvbWUobz0+by5tZXRhLmFub255bW91cyk7aWYoaSYmIXIudXNlcil7Y29uc3Qgbz17bmFtZToibG9naW4ifTt0Lm5hbWUhPT0ibWFpbiImJihvLnF1ZXJ5PXtyZWRpcmVjdDp0LnBhdGh9KSxuKG8pfWVsc2UgcyYmci51c2VyP24oe25hbWU6Im1haW4ifSk6bigpfSk7Y29uc3Qgem89ejEoRE8pO3pvLnVzZShZdCk7em8udXNlKFBFKCkpO3pvLnVzZShUMCk7Y29uc3QgRTA9YnMoKTt6by5jb21wb25lbnQoIlZ1ZVNpZ25hdHVyZVBhZCIscmYpO2NvbnN0IHgwPVMwKCk/P0UwLmxhbmd1YWdlO3B0LmRlZmF1bHRab25lPUUwLnRpbWVab25lO3B0LmRlZmF1bHRMb2NhbGU9eDA7WXQuZ2xvYmFsLmxvY2FsZS52YWx1ZT14MDt6by5tb3VudCgiI2FwcCIpO2V4cG9ydHskZSBhcyAkLFh0IGFzIEEsdXQgYXMgQixadCBhcyBDLFogYXMgRCxXRiBhcyBFLHFlIGFzIEYsQSBhcyBHLFUgYXMgSCxZciBhcyBJLFd0IGFzIEosSyxTIGFzIEwsTWUgYXMgTSxjcyBhcyBOLGZ2IGFzIE8sbnIgYXMgUCxacCBhcyBRLGVzIGFzIFIsdHQgYXMgUyx2diBhcyBULG5lIGFzIFUsZWUgYXMgVix0biBhcyBXLERlIGFzIFgsdnkgYXMgWSxicyBhcyBaLEFkIGFzIF8sTWQgYXMgYSwkZyBhcyBhMCxybCBhcyBhMSxZYiBhcyBhMixqZCBhcyBhMyxXMiBhcyBhNCxVdCBhcyBhNSxPdiBhcyBhNix5byBhcyBhNyxDdiBhcyBhOCxHMiBhcyBhOSx0ZyBhcyBhQSxZcCBhcyBhQixGdSBhcyBhQyxyUiBhcyBhRCxzUiBhcyBhRSxaYiBhcyBhRixqdSBhcyBhRyxVRiBhcyBhSCxnbiBhcyBhSSxuZyBhcyBhSixyZyBhcyBhSyxLYiBhcyBhTCxpZyBhcyBhTSxsUCBhcyBhTixQdiBhcyBhTyxZdCBhcyBhUCxlZyBhcyBhUSxUMCBhcyBhUixPaSBhcyBhUyx4cCBhcyBhVCxRcCBhcyBhVSx6MiBhcyBhYSxYaCBhcyBhYixtbCBhcyBhYyxsdiBhcyBhZCxIYiBhcyBhZSxmMCBhcyBhZixTdCBhcyBhZyxNMyBhcyBhaCxXYSBhcyBhaSxCaSBhcyBhaiwkdCBhcyBhayxCbiBhcyBhbCxmbyBhcyBhbSxKcyBhcyBhbixKYiBhcyBhbyxmTSBhcyBhcCxHRiBhcyBhcSxVTiBhcyBhcixWciBhcyBhcyxGUCBhcyBhdCxQbCBhcyBhdSxnciBhcyBhdixEdiBhcyBhdyx1XyBhcyBheCxveCBhcyBheSxTYyBhcyBheix5dCBhcyBiLG9lIGFzIGMsTmUgYXMgZCxndCBhcyBlLGJ0IGFzIGYsWGMgYXMgZyxEZCBhcyBoLE1hIGFzIGksZjIgYXMgaixkbiBhcyBrLEN0IGFzIGwsa2wgYXMgbSxubiBhcyBuLFdlIGFzIG8sTHQgYXMgcCxqMiBhcyBxLHNlIGFzIHIsczIgYXMgcyxidiBhcyB0LEhuIGFzIHUsYW4gYXMgdixwdiBhcyB3LEt0IGFzIHgsbzIgYXMgeSxYZSBhcyB6fTsK"}},"time_used":43,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":43,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"magiclink.app/favicon.ico","fqdn":"magiclink.app","domain":"magiclink.app","tld":"app"},"ip":{"addr":"76.76.21.21","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://magiclink.app/","date":"2026-07-27T07:49:21.271Z","timestamp":1785138561271,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"magiclink.app","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 24 Jul 2026 15:33:43 GMT","end":"Thu, 22 Oct 2026 15:33:42 GMT"},"fingerprint":{"sha1":"1A:58:07:31:51:B3:D6:84:CF:41:05:77:B4:8C:81:12:BA:C1:FD:EC","sha256":"4D:75:97:CC:DD:05:6D:BB:F6:32:82:48:AA:FB:FF:B7:B7:C1:95:D3:03:9F:31:F4:C3:24:88:0B:D1:1F:FA:FB"}}},"request":{"raw":"GET /favicon.ico HTTP/1.1\r\nHost: magiclink.app\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://magiclink.app/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 316291\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline; filename=\"favicon.ico\"\r\ncontent-encoding: br\r\ncontent-type: image/vnd.microsoft.icon\r\ndate: Mon, 27 Jul 2026 07:49:21 GMT\r\netag: W/\"36be830d4a7adbdbc1d8ebc064d810fc\"\r\nlast-modified: Thu, 23 Jul 2026 15:57:49 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::b7jwb-1785138561276-5c57522cfedb\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":3313,"size_decoded":3598,"mime_type":"image/vnd.microsoft.icon","magic":"PNG image data, 257 x 257, 8-bit/color RGBA, non-interlaced","md5":"36be830d4a7adbdbc1d8ebc064d810fc","sha1":"07ab1124ebb5fa61443089575d1b53bc82aef0af","sha256":"680a21bc8959717551818003774db27706d1eb7e1b412e23ca9b2fb45377c8ef","sha512":"e2054b8046971bddc806f1752fb7fb64bc948ffa410826f596771e9341876bfc4acda10a54689200afbd127573f3e2c30f8203cf11c5cab4a15c4fd8caf8a137","ssdeep":"","tlshash":"21613bb26212b65ae4c7a97755c3fec0ed2940b68178190349b71173fbf266490340d2","first_seen":"2026-07-27T04:49:29.596897Z","last_seen":"2026-07-27T11:38:36.403001Z","times_seen":5,"resource_available":false,"data":"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"}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
