{"report_id":"14baf9b1-8e09-496e-a359-c64188b834b4","version":0,"status":"done","tags":[],"date":"2026-07-27T06:15:37Z","url":{"schema":"https","addr":"flowingfunded.com/","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":0,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"final":{"url":{"schema":"https","addr":"flowingfunded.com/","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"title":"FlowingFunded | EDUCATIONAL TRADING SIMULATION — No Real Money","dom":{"size":115009,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (47307)","md5":"dd877ef479bdd997697184d91619b207","sha1":"cb6ad10afa1cb06e03dd29a248643eb119e1aa6e","sha256":"e3c364482ad4ac0c16bc1863a50fdbf44d0a2cdb7f8e590a69ffff5b442ef45b","sha512":"3c492824c81d4368712aabbbf8bd0516268278e9c43a4a45fe6c6f40d5f814c86ca07affa06b9c460c9e427a43f0064ebc5d1c0f5b21b08b2752bc0333d22ace","ssdeep":"1536:E7Xx/c64Jysq7vAGffi1+VPAK33AuvF/T:E7m14IQvhT","tlshash":"a9b3b6341254263ea60b8af4f6d4733ca16ed349db2b8c5df3ec01b767c3d989966284","dom_hash":"domhashd16ab26fbc8fe1082bf301469408df43","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"flowingfunded.com/","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":0,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T06:15:37Z","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":"fonts.googleapis.com","ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":1,"received_data":26081,"sent_data":584,"comment":"","tags":null,"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"]}]},{"fqdn":"flowingfunded.com","ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"domain_registered":"2025-11-05","domain_rank":0,"first_seen":"2025-12-02T03:32:50.851973Z","last_seen":"2026-05-23T19:58:22.366692Z","alert_count":0,"request_count":8,"received_data":2603905,"sent_data":5795,"comment":"","tags":null,"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":"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":"Bootstrap:5","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Trustpilot","description":"Trustpilot is a Danish consumer review website which provide embed stand-alone applications in your website to show your most recent reviews, TrustScore, and star ratings.","website":"https://business.trustpilot.com","common_platform_enumeration":"","icon":"Trustpilot.svg","categories":["Reviews"]}]},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":6,"received_data":296070,"sent_data":3456,"comment":"","tags":null,"fingerprints":null}],"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":"flowingfunded.com/~flock.js","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"introduction_type":"scriptElement","is_inline":false,"md5":"ed557a78d5301fbb961abfe911a42b62","sha1":"d11a2a4e9fee28c4b1abc38cd8136bffec7e325b","sha256":"a86e084b4f82709814be6c15fd6305daa783fda87ad95402da9a4d3a1dd6d748","sha512":"18dd1525e2b4d89e3c46d92367fca020cf99fb07856acfd96a25dc7410611eea83b438c91691683983495945eb04a9427bc63e2a383cbe93449f4df0eb1ddb51","ssdeep":"384:FtUCBXTpeaFEo5TTThri1t/mCsOCXiTNZruJ4vKFlcEhRCDxOcX/YM2Vybyq/kmt:n7XTpeauI/Thri1CKWM4ldRzurwkTO0D","tlshash":"cea2b6d61007243d57ead1a13929f7d63177ea98a0caec8a7de91f84d414c83f3f294a","size":21296,"data":"","first_seen":"2025-07-30T15:25:28.733337Z","last_seen":"2026-07-31T21:29:43.554119Z","times_seen":14679,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"flowingfunded.com/","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"introduction_type":"scriptElement","is_inline":true,"md5":"f0c9b5d5e69c7309b7285fbafc25462c","sha1":"3274279d7ccf3a25460f9b3c5e762887d4a9a570","sha256":"197dec2b29228251094b7b36bc64989f343a6b796904c7c966a4db1756f5041a","sha512":"967f8507be28a383ccbde8abba12069742b8606e74d735f694af78a43042d010c2c541a8247d26072c7c49a5650bf2fa330cbb5aa56764e500d2e58cf6efeed9","ssdeep":"","tlshash":"dbf0680f6ba81015146374be8d1fb0093e3b91131a898a843fee2b414fb356d42faec8","size":445,"data":"","first_seen":"2026-07-27T04:18:19.679076Z","last_seen":"2026-07-27T10:45:50.810093Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"flowingfunded.com/assets/index-BDr4kP21.js","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"introduction_type":"scriptElement","is_inline":false,"md5":"325aeefedce4ff7f225344c0c27e428d","sha1":"9bcbe8cc4f76dff9383938209ab45886dfa0a2bc","sha256":"21b832f35d8f95e732eb43d537ccfc0f0503da9f874de9896a561b2618805fb9","sha512":"6e19667133a433e6d2304b74f07bc40a714f73ae3af0008c963843f0f47a0668ea7cca3f47eabb486bd01f9ee40dd14aeb5aacd4f5b53eeb0c33d9b567e0d472","ssdeep":"49152:qkzOQqWlUeDo9+wnYpDwZyXXOSbkNjQ9+mSCordTMYkzrkqYot1n:6+wEnJos","tlshash":"ccb55c74f191baed9b6b05e1543f5005b42e1f57e92f84a0f0bc98b12a74506fa33bac","size":2297237,"data":"","first_seen":"2026-07-27T04:18:19.681316Z","last_seen":"2026-07-27T10:45:50.810894Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900\u0026family=Montserrat:wght@400;600;700;800\u0026display=swap","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.097Z","timestamp":1785132909097,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css2?family=Inter:wght@300;400;500;600;700;800;900\u0026family=Montserrat:wght@400;600;700;800\u0026display=swap HTTP/1.1\r\nHost: fonts.googleapis.com\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\nReferer: https://flowingfunded.com/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/2 200 \r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 06:15:09 GMT\r\ndate: Mon, 27 Jul 2026 06:15:09 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\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"]}],"data":{"size":25397,"size_decoded":1756,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"a705f11c019eb6d3fed67fedc2c27d45","sha1":"b7ab7b9dbb774d1470c4ef39a3fcd166f48e37db","sha256":"11048c9b0b4143c73f53d9511197d788599f964c7a5176fe5f69b11970cf2e6d","sha512":"aceb1d2e1d097ba10e37c726a8a9b7275235c70f83c1118d6f95c91cd4c6f8f3cf7c6288743c7324d748bf8c9d5f5a9b54f99da66ebf8430557ab88516a35a3a","ssdeep":"192:wNA1cO3lnxirNNIxO34OxDENOPCO3/Nx8NNryfO3iExlONEhYO3RrxGfNx0NO3ku:8KYXuM0p2+g7GQXQ4ajdfMh","tlshash":"e3b2ce91002ba500ab871cc633cf7f3aae8e20957485c1796ffd1cd9acead66436476d","first_seen":"2025-12-02T03:32:54.652996Z","last_seen":"2026-07-27T10:45:50.805571Z","times_seen":6,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMkpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEwWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEycEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyNUw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFaTDdXMEk1bnZ3VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJKTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMFpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMlpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExcEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMnBMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMjVMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExWkw3VzBJNW52d1Uud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEySkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTBaTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJaTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMXBMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTI1TDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMVpMN1cwSTVudndVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMkpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEwWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEycEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyNUw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFaTDdXMEk1bnZ3VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJKTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMFpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMlpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExcEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMnBMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMjVMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExWkw3VzBJNW52d1Uud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEySkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTBaTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJaTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMXBMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTI1TDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMVpMN1cwSTVudndVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMkpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEwWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEycEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyNUw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFaTDdXMEk1bnZ3VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1JoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVcxaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdaaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2RoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdsaHl5VG44OWRkcFEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdSaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXMWh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXWmh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdkaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXbGh5eVRuODlkZHBRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXUmh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5VzFoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1poeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXZGh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2xoeXlUbjg5ZGRwUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1JoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVcxaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdaaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2RoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdsaHl5VG44OWRkcFEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":84,"timings":{"blocked":-1,"dns":0,"connect":16,"send":0,"wait":35,"receive":0,"ssl":33},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"flowingfunded.com/assets/hero-bg-Do1TmwLC.avif","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.817Z","timestamp":1785132909817,"http_version":"HTTP/2","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":"flowingfunded.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 14:19:37 GMT","end":"Sun, 27 Sep 2026 15:19:26 GMT"},"fingerprint":{"sha1":"89:FB:AC:AE:FD:C5:E6:6C:69:96:FC:C9:2F:35:EE:BE:6D:00:74:59","sha256":"80:9F:22:30:AF:89:84:9A:68:2A:A1:33:43:79:81:0C:22:DE:46:21:AB:5F:D3:B3:0B:46:F6:D5:64:76:30:11"}}},"request":{"raw":"GET /assets/hero-bg-Do1TmwLC.avif HTTP/1.1\r\nHost: flowingfunded.com\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\nReferer: https://flowingfunded.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: __dpl=74a49da6-df72-4018-ae46-fd887bfd03c1; __cf_bm=pbR.8upXfhqfjXZJVBx4ZBKa0FNEihqEnkCVuO1dXBw-1785132908.4524689-1.0.1.1-MMtPjJdYJlho8meZJBIR6RaPq7rySJLmpHioPKijBxWMLKtCcvxpSOrOXa62bPYjdaaCzmm8GljMDkd3PxqMDruoe9RuSzvPfUBjehuCUzg0qR7aPhArgerBS6.5Bw8l\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, 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\ndate: Mon, 27 Jul 2026 06:15:09 GMT\r\ncontent-type: image/avif\r\ncontent-length: 62148\r\ncache-control: public, max-age=31536000, immutable\r\netag: \"db7e0ebbb73b25d742891fe14d320ace\"\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-content-type-options: nosniff\r\nx-deployment-id: 74a49da6-df72-4018-ae46-fd887bfd03c1\r\nserver: cloudflare\r\ncf-ray: a219820e5f160afa-OSL\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":"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"]}],"data":{"size":62148,"size_decoded":62615,"mime_type":"image/avif","magic":"ISO Media, AVIF Image","md5":"db7e0ebbb73b25d742891fe14d320ace","sha1":"cac77ae01b1539e1526a5a35a471f4ac4370d80b","sha256":"0b0ed57cdd1e4914685b369a968d4c1eb23f218d5fa5af5969d6bef69b1230bf","sha512":"d7f1751d927a39dabda99077fcc9724a4bb41165eca66754f8cf8d26d324d3b2f3667b006d9b325e0bc2c358adcef37f067f1de31df6e45ffce1fceac8400b13","ssdeep":"1536:0aOs8cHmVkLC6SWZeCKvpO6H+qwgn2Wr3:FcdrWZeCUpODsZ3","tlshash":"3753029b7bb892b6fd085ab50f0e17906690b387f044bf50dc90b82fed2de1c9941ad1","first_seen":"2026-02-16T17:38:03.131769Z","last_seen":"2026-07-27T10:45:50.808709Z","times_seen":5,"resource_available":false,"data":"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"}},"time_used":89,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":87,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.934Z","timestamp":1785132909934,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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://flowingfunded.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 407095\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-07-31T21:35:03.371896Z","times_seen":250200,"resource_available":false,"data":"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"}},"time_used":93,"timings":{"blocked":24,"dns":0,"connect":0,"send":0,"wait":43,"receive":26,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"flowingfunded.com/","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T06:15:08.096Z","timestamp":1785132908096,"http_version":"HTTP/2","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":"flowingfunded.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 14:19:37 GMT","end":"Sun, 27 Sep 2026 15:19:26 GMT"},"fingerprint":{"sha1":"89:FB:AC:AE:FD:C5:E6:6C:69:96:FC:C9:2F:35:EE:BE:6D:00:74:59","sha256":"80:9F:22:30:AF:89:84:9A:68:2A:A1:33:43:79:81:0C:22:DE:46:21:AB:5F:D3:B3:0B:46:F6:D5:64:76:30:11"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: flowingfunded.com\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\ndate: Mon, 27 Jul 2026 06:15:08 GMT\r\ncontent-type: text/html; charset=utf-8\r\ncache-control: no-cache, must-revalidate, max-age=0\r\nset-cookie: __dpl=74a49da6-df72-4018-ae46-fd887bfd03c1; Path=/; Max-Age=604800; SameSite=Lax; Secure\n__cf_bm=pbR.8upXfhqfjXZJVBx4ZBKa0FNEihqEnkCVuO1dXBw-1785132908.4524689-1.0.1.1-MMtPjJdYJlho8meZJBIR6RaPq7rySJLmpHioPKijBxWMLKtCcvxpSOrOXa62bPYjdaaCzmm8GljMDkd3PxqMDruoe9RuSzvPfUBjehuCUzg0qR7aPhArgerBS6.5Bw8l; HttpOnly; SameSite=None; Secure; Path=/; Domain=flowingfunded.com; Expires=Mon, 27 Jul 2026 06:45:08 GMT\r\nx-deployment-id: 74a49da6-df72-4018-ae46-fd887bfd03c1\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-content-type-options: nosniff\r\ncontent-encoding: gzip\r\nserver: cloudflare\r\ncf-ray: a2198205dc0e0afa-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bootstrap:5","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"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":"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":"Trustpilot","description":"Trustpilot is a Danish consumer review website which provide embed stand-alone applications in your website to show your most recent reviews, TrustScore, and star ratings.","website":"https://business.trustpilot.com","common_platform_enumeration":"","icon":"Trustpilot.svg","categories":["Reviews"]}],"data":{"size":3509,"size_decoded":2202,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (351)","md5":"a8759da3fea4a81bb6d058e9424da3ef","sha1":"51f93745fc8c692a8d6eb7a3645ed91300de7930","sha256":"bc55567d17e2425269f59ad406bc60975ab248f953c736b990294b777b8b4f78","sha512":"ff5c68fb2edfbcef6417e613329f1ffa31391b36ec462de5ac8db5b36d97868b27e462433cf791c072dbabfd58da5d2435fc62be09fc9bb7e53c136f6babab31","ssdeep":"","tlshash":"41716333af64c6182320607069d7b105db2986439a1ccda0b5ec36dd1fe2aed45f7266","first_seen":"2026-07-27T04:18:19.676421Z","last_seen":"2026-07-27T10:45:50.802799Z","times_seen":4,"resource_available":false,"data":"PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04IiAvPgogICAgPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS9wbmciIGhyZWY9Ii9mYXZpY29uLnBuZyI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCIgLz4KICAgIDx0aXRsZT5GbG93aW5nRnVuZGVkIHwgRURVQ0FUSU9OQUwgVFJBRElORyBTSU1VTEFUSU9OIOKAlCBObyBSZWFsIE1vbmV5PC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJGbG93aW5nRnVuZGVkIGlzIGFuIEVEVUNBVElPTkFMIFNJTVVMQVRJT04gcGxhdGZvcm0gb25seS4gTm8gcmVhbCBtb25leSBpcyBldmVyIGRlcG9zaXRlZCwgdHJhZGVkLCBpbnZlc3RlZCwgY3VzdG9kaWVkLCBvciBwYWlkIG91dC4gV2UgYXJlIE5PVCBhIGJyb2tlciwgZGVhbGVyLCBleGNoYW5nZSwgY3VzdG9kaWFuLCBvciBmaW5hbmNpYWwgYWR2aXNlci4gQWxsIGJhbGFuY2VzLCBwcm9maXRzLCBwYXlvdXRzLCBhbmQgY2VydGlmaWNhdGVzIGFyZSBzaW11bGF0ZWQgZWR1Y2F0aW9uYWwgbWV0cmljcyB3aXRoIG5vIG1vbmV0YXJ5IHZhbHVlLiI+CiAgICA8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9IkZsb3dpbmdGdW5kZWQiIC8+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDYWNoZS1Db250cm9sIiBjb250ZW50PSJuby1jYWNoZSwgbm8tc3RvcmUsIG11c3QtcmV2YWxpZGF0ZSIgLz4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlByYWdtYSIgY29udGVudD0ibm8tY2FjaGUiIC8+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJFeHBpcmVzIiBjb250ZW50PSIwIiAvPgogICAgCiAgICA8IS0tIEtpbGwgYW55IHN0YWxlIHNlcnZpY2Ugd29ya2VycyBmcm9tIHByZXZpb3VzIHZlcnNpb25zIHRoYXQgbWF5IGJlIGNhY2hpbmcgb2xkIEpTIC0tPgogICAgPHNjcmlwdD4KICAgICAgaWYgKCdzZXJ2aWNlV29ya2VyJyBpbiBuYXZpZ2F0b3IpIHsKICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb25zKCkudGhlbihmdW5jdGlvbihyZWdzKSB7CiAgICAgICAgICBmb3IgKGxldCByZWcgb2YgcmVncykgeyByZWcudW5yZWdpc3RlcigpOyB9CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKSB7fSk7CiAgICAgIH0KICAgICAgLy8gQ2xlYXIgc3RhbGUgY2FjaGVzIHRoYXQgbWF5IGJlIHNlcnZpbmcgb3V0ZGF0ZWQgYnVuZGxlcwogICAgICBpZiAoJ2NhY2hlcycgaW4gd2luZG93KSB7CiAgICAgICAgY2FjaGVzLmtleXMoKS50aGVuKGZ1bmN0aW9uKG5hbWVzKSB7CiAgICAgICAgICBmb3IgKGxldCBuYW1lIG9mIG5hbWVzKSB7IGNhY2hlcy5kZWxldGUobmFtZSk7IH0KICAgICAgICB9KS5jYXRjaChmdW5jdGlvbigpIHt9KTsKICAgICAgfQogICAgPC9zY3JpcHQ+CiAgICAKICAgIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iIGNyb3Nzb3JpZ2luPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDA7ODAwOzkwMCZmYW1pbHk9TW9udHNlcnJhdDp3Z2h0QDQwMDs2MDA7NzAwOzgwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBUcnVzdEJveCBzY3JpcHQgLS0+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL3dpZGdldC50cnVzdHBpbG90LmNvbS9ib290c3RyYXAvdjUvdHAud2lkZ2V0LmJvb3RzdHJhcC5taW4uanMiIGFzeW5jPjwvc2NyaXB0PgogICAgPCEtLSBFbmQgVHJ1c3RCb3ggc2NyaXB0IC0tPgoKCiAgICAKICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIiAvPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL2Zsb3dpbmdmdW5kZWQuY29tL29nLWltYWdlLmpwZyIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTp3aWR0aCIgY29udGVudD0iMTA4MCIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTpoZWlnaHQiIGNvbnRlbnQ9IjEwODAiIC8+CgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250ZW50PSJzdW1tYXJ5X2xhcmdlX2ltYWdlIiAvPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJAZmxvd2luZ2Z1bmRlZCIgLz4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vZmxvd2luZ2Z1bmRlZC5jb20vb2ctaW1hZ2UuanBnIiAvPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJGbG93aW5nRnVuZGVkIHwgRURVQ0FUSU9OQUwgVFJBRElORyBTSU1VTEFUSU9OIOKAlCBObyBSZWFsIE1vbmV5Ij4KICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJGbG93aW5nRnVuZGVkIHwgRURVQ0FUSU9OQUwgVFJBRElORyBTSU1VTEFUSU9OIOKAlCBObyBSZWFsIE1vbmV5Ij4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkVEVUNBVElPTkFMIFNJTVVMQVRJT04gT05MWS4gTm8gcmVhbCBtb25leSBpcyBldmVyIHRyYWRlZCwgaW52ZXN0ZWQsIGN1c3RvZGllZCwgb3IgcGFpZCBvdXQuIEZsb3dpbmdGdW5kZWQgaXMgbm90IGEgYnJva2VyLCBleGNoYW5nZSwgY3VzdG9kaWFuLCBvciBmaW5hbmNpYWwgYWR2aXNlci4gQWxsIGJhbGFuY2VzLCBwcm9maXRzLCBhbmQgcGF5b3V0cyBhcmUgc2ltdWxhdGVkIGVkdWNhdGlvbmFsIG1ldHJpY3Mgd2l0aCBubyBtb25ldGFyeSB2YWx1ZS4iPgogIDxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkVEVUNBVElPTkFMIFNJTVVMQVRJT04gT05MWS4gTm8gcmVhbCBtb25leSBpcyBldmVyIHRyYWRlZCwgaW52ZXN0ZWQsIGN1c3RvZGllZCwgb3IgcGFpZCBvdXQuIEZsb3dpbmdGdW5kZWQgaXMgbm90IGEgYnJva2VyLCBleGNoYW5nZSwgY3VzdG9kaWFuLCBvciBmaW5hbmNpYWwgYWR2aXNlci4gQWxsIGJhbGFuY2VzLCBwcm9maXRzLCBhbmQgcGF5b3V0cyBhcmUgc2ltdWxhdGVkIGVkdWNhdGlvbmFsIG1ldHJpY3Mgd2l0aCBubyBtb25ldGFyeSB2YWx1ZS4iPgogIDxzY3JpcHQgdHlwZT0ibW9kdWxlIiBjcm9zc29yaWdpbiBzcmM9Ii9hc3NldHMvaW5kZXgtQkRyNGtQMjEuanMiPjwvc2NyaXB0PgogIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgY3Jvc3NvcmlnaW4gaHJlZj0iL2Fzc2V0cy9pbmRleC1EZjZaQnJHSi5jc3MiPgo8c2NyaXB0IGRlZmVyIHNyYz0iL35mbG9jay5qcyIgZGF0YS1wcm94eS11cmw9Ii9+YXBpL2FuYWx5dGljcyI+PC9zY3JpcHQ+PC9oZWFkPgoKICA8Ym9keT4KICAgIDxkaXYgaWQ9InJvb3QiPjwvZGl2PgogIDwvYm9keT4KPC9odG1sPgo="}},"time_used":640,"timings":{"blocked":-1,"dns":338,"connect":1,"send":0,"wait":287,"receive":0,"ssl":14},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"flowingfunded.com/assets/index-BDr4kP21.js","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.101Z","timestamp":1785132909101,"http_version":"HTTP/2","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":"flowingfunded.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 14:19:37 GMT","end":"Sun, 27 Sep 2026 15:19:26 GMT"},"fingerprint":{"sha1":"89:FB:AC:AE:FD:C5:E6:6C:69:96:FC:C9:2F:35:EE:BE:6D:00:74:59","sha256":"80:9F:22:30:AF:89:84:9A:68:2A:A1:33:43:79:81:0C:22:DE:46:21:AB:5F:D3:B3:0B:46:F6:D5:64:76:30:11"}}},"request":{"raw":"GET /assets/index-BDr4kP21.js HTTP/1.1\r\nHost: flowingfunded.com\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\nReferer: https://flowingfunded.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: __dpl=74a49da6-df72-4018-ae46-fd887bfd03c1; __cf_bm=pbR.8upXfhqfjXZJVBx4ZBKa0FNEihqEnkCVuO1dXBw-1785132908.4524689-1.0.1.1-MMtPjJdYJlho8meZJBIR6RaPq7rySJLmpHioPKijBxWMLKtCcvxpSOrOXa62bPYjdaaCzmm8GljMDkd3PxqMDruoe9RuSzvPfUBjehuCUzg0qR7aPhArgerBS6.5Bw8l\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\ndate: Mon, 27 Jul 2026 06:15:09 GMT\r\ncontent-type: text/javascript; charset=utf-8\r\ncache-control: public, max-age=31536000, immutable\r\nx-deployment-id: 74a49da6-df72-4018-ae46-fd887bfd03c1\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-content-type-options: nosniff\r\netag: W/\"325aeefedce4ff7f225344c0c27e428d\"\r\ncontent-encoding: gzip\r\nserver: cloudflare\r\ncf-ray: a2198209ed830afa-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":"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":2297237,"size_decoded":596112,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (37600)","md5":"a48c6316ac6db1cd196f70cb3ab69a7d","sha1":"e8e3e4cf102be20d1d90efcf9faf5302647fffa8","sha256":"6d54da0ceb1d408b275d2db85d7f7b92f4e04280074f897c2234c6b9be6c5f3e","sha512":"d034efe24eec5a2f81ffc0cfe09318bdc7cbd0352f47e9af7d15516bef7f0ea0720a29645df1c8f97ac1c04fad2635ab74538b49aade7e262f6d96e7b3f899c8","ssdeep":"12288:qk/S5HEVHOQalVVElJql2IWNbXxrU9+wnYpDwZyvSsbXOSbkNS:qkzOQqWlUeDo9+wnYpDwZyvSiXOSbkNS","tlshash":"9f258d88b195b6b99ba705d0903f4116b23e1a54f81f84b0f07c9cba2a74506b637ffd","first_seen":"2026-07-27T04:18:19.653426Z","last_seen":"2026-07-27T10:45:50.804343Z","times_seen":4,"resource_available":false,"data":"dmFyIHlQPWU9Pnt0aHJvdyBUeXBlRXJyb3IoZSl9O3ZhciBzMT0oZSx0LHIpPT50LmhhcyhlKXx8eVAoIkNhbm5vdCAiK3IpO3ZhciBjZT0oZSx0LHIpPT4oczEoZSx0LCJyZWFkIGZyb20gcHJpdmF0ZSBmaWVsZCIpLHI/ci5jYWxsKGUpOnQuZ2V0KGUpKSxOdD0oZSx0LHIpPT50LmhhcyhlKT95UCgiQ2Fubm90IGFkZCB0aGUgc2FtZSBwcml2YXRlIG1lbWJlciBtb3JlIHRoYW4gb25jZSIpOnQgaW5zdGFuY2VvZiBXZWFrU2V0P3QuYWRkKGUpOnQuc2V0KGUsciksdHQ9KGUsdCxyLG4pPT4oczEoZSx0LCJ3cml0ZSB0byBwcml2YXRlIGZpZWxkIiksbj9uLmNhbGwoZSxyKTp0LnNldChlLHIpLHIpLGpuPShlLHQscik9PihzMShlLHQsImFjY2VzcyBwcml2YXRlIG1ldGhvZCIpLHIpO3ZhciB5Zz0oZSx0LHIsbik9Pih7c2V0IF8oYSl7dHQoZSx0LGEscil9LGdldCBfKCl7cmV0dXJuIGNlKGUsdCxuKX19KTtmdW5jdGlvbiBNUShlLHQpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXtjb25zdCBuPXRbcl07aWYodHlwZW9mIG4hPSJzdHJpbmciJiYhQXJyYXkuaXNBcnJheShuKSl7Zm9yKGNvbnN0IGEgaW4gbilpZihhIT09ImRlZmF1bHQiJiYhKGEgaW4gZSkpe2NvbnN0IGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLGEpO2kmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGEsaS5nZXQ/aTp7ZW51bWVyYWJsZTohMCxnZXQ6KCk9Pm5bYV19KX19fXJldHVybiBPYmplY3QuZnJlZXplKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSl9KGZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIikucmVsTGlzdDtpZih0JiZ0LnN1cHBvcnRzJiZ0LnN1cHBvcnRzKCJtb2R1bGVwcmVsb2FkIikpcmV0dXJuO2Zvcihjb25zdCBhIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpbmtbcmVsPSJtb2R1bGVwcmVsb2FkIl0nKSluKGEpO25ldyBNdXRhdGlvbk9ic2VydmVyKGE9Pntmb3IoY29uc3QgaSBvZiBhKWlmKGkudHlwZT09PSJjaGlsZExpc3QiKWZvcihjb25zdCBvIG9mIGkuYWRkZWROb2RlcylvLnRhZ05hbWU9PT0iTElOSyImJm8ucmVsPT09Im1vZHVsZXByZWxvYWQiJiZuKG8pfSkub2JzZXJ2ZShkb2N1bWVudCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KTtmdW5jdGlvbiByKGEpe2NvbnN0IGk9e307cmV0dXJuIGEuaW50ZWdyaXR5JiYoaS5pbnRlZ3JpdHk9YS5pbnRlZ3JpdHkpLGEucmVmZXJyZXJQb2xpY3kmJihpLnJlZmVycmVyUG9saWN5PWEucmVmZXJyZXJQb2xpY3kpLGEuY3Jvc3NPcmlnaW49PT0idXNlLWNyZWRlbnRpYWxzIj9pLmNyZWRlbnRpYWxzPSJpbmNsdWRlIjphLmNyb3NzT3JpZ2luPT09ImFub255bW91cyI/aS5jcmVkZW50aWFscz0ib21pdCI6aS5jcmVkZW50aWFscz0ic2FtZS1vcmlnaW4iLGl9ZnVuY3Rpb24gbihhKXtpZihhLmVwKXJldHVybjthLmVwPSEwO2NvbnN0IGk9cihhKTtmZXRjaChhLmhyZWYsaSl9fSkoKTt2YXIgdmc9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6dHlwZW9mIHdpbmRvdzwidSI/d2luZG93OnR5cGVvZiBnbG9iYWw8InUiP2dsb2JhbDp0eXBlb2Ygc2VsZjwidSI/c2VsZjp7fTtmdW5jdGlvbiBMdChlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwiZGVmYXVsdCIpP2UuZGVmYXVsdDplfWZ1bmN0aW9uIFJRKGUpe2lmKGUuX19lc01vZHVsZSlyZXR1cm4gZTt2YXIgdD1lLmRlZmF1bHQ7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpe3ZhciByPWZ1bmN0aW9uIG4oKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIG4/UmVmbGVjdC5jb25zdHJ1Y3QodCxhcmd1bWVudHMsdGhpcy5jb25zdHJ1Y3Rvcik6dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O3IucHJvdG90eXBlPXQucHJvdG90eXBlfWVsc2Ugcj17fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5rZXlzKGUpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIGE9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLG4pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG4sYS5nZXQ/YTp7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZVtuXX19KX0pLHJ9dmFyIFFRPXtleHBvcnRzOnt9fSwkdj17fSxMUT17ZXhwb3J0czp7fX0sbXQ9e307LyoqCiAqIEBsaWNlbnNlIFJlYWN0CiAqIHJlYWN0LnByb2R1Y3Rpb24ubWluLmpzCiAqCiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLgogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGUKICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi92YXIga3A9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLFFKPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLExKPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50IiksJEo9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxISj1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLEtKPVN5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIiksVko9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLHpKPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksV0o9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxHSj1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIikscUo9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLHZQPVN5bWJvbC5pdGVyYXRvcjtmdW5jdGlvbiBZSihlKXtyZXR1cm4gZT09PW51bGx8fHR5cGVvZiBlIT0ib2JqZWN0Ij9udWxsOihlPXZQJiZlW3ZQXXx8ZVsiQEBpdGVyYXRvciJdLHR5cGVvZiBlPT0iZnVuY3Rpb24iP2U6bnVsbCl9dmFyICRRPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSxIUT1PYmplY3QuYXNzaWduLEtRPXt9O2Z1bmN0aW9uICRBKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPUtRLHRoaXMudXBkYXRlcj1yfHwkUX0kQS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fTskQS5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oZSx0KXtpZih0eXBlb2YgZSE9Im9iamVjdCImJnR5cGVvZiBlIT0iZnVuY3Rpb24iJiZlIT1udWxsKXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsZSx0LCJzZXRTdGF0ZSIpfTskQS5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9O2Z1bmN0aW9uIFZRKCl7fVZRLnByb3RvdHlwZT0kQS5wcm90b3R5cGU7ZnVuY3Rpb24gV1MoZSx0LHIpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9S1EsdGhpcy51cGRhdGVyPXJ8fCRRfXZhciBHUz1XUy5wcm90b3R5cGU9bmV3IFZRO0dTLmNvbnN0cnVjdG9yPVdTO0hRKEdTLCRBLnByb3RvdHlwZSk7R1MuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIHdQPUFycmF5LmlzQXJyYXkselE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxxUz17Y3VycmVudDpudWxsfSxXUT17a2V5OiEwLHJlZjohMCxfX3NlbGY6ITAsX19zb3VyY2U6ITB9O2Z1bmN0aW9uIEdRKGUsdCxyKXt2YXIgbixhPXt9LGk9bnVsbCxvPW51bGw7aWYodCE9bnVsbClmb3IobiBpbiB0LnJlZiE9PXZvaWQgMCYmKG89dC5yZWYpLHQua2V5IT09dm9pZCAwJiYoaT0iIit0LmtleSksdCl6US5jYWxsKHQsbikmJiFXUS5oYXNPd25Qcm9wZXJ0eShuKSYmKGFbbl09dFtuXSk7dmFyIGw9YXJndW1lbnRzLmxlbmd0aC0yO2lmKGw9PT0xKWEuY2hpbGRyZW49cjtlbHNlIGlmKDE8bCl7Zm9yKHZhciBjPUFycmF5KGwpLGQ9MDtkPGw7ZCsrKWNbZF09YXJndW1lbnRzW2QrMl07YS5jaGlsZHJlbj1jfWlmKGUmJmUuZGVmYXVsdFByb3BzKWZvcihuIGluIGw9ZS5kZWZhdWx0UHJvcHMsbClhW25dPT09dm9pZCAwJiYoYVtuXT1sW25dKTtyZXR1cm57JCR0eXBlb2Y6a3AsdHlwZTplLGtleTppLHJlZjpvLHByb3BzOmEsX293bmVyOnFTLmN1cnJlbnR9fWZ1bmN0aW9uIFhKKGUsdCl7cmV0dXJueyQkdHlwZW9mOmtwLHR5cGU6ZS50eXBlLGtleTp0LHJlZjplLnJlZixwcm9wczplLnByb3BzLF9vd25lcjplLl9vd25lcn19ZnVuY3Rpb24gWVMoZSl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0IiYmZSE9PW51bGwmJmUuJCR0eXBlb2Y9PT1rcH1mdW5jdGlvbiBKSihlKXt2YXIgdD17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitlLnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihyKXtyZXR1cm4gdFtyXX0pfXZhciBiUD0vXC8rL2c7ZnVuY3Rpb24gYTEoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJvYmplY3QiJiZlIT09bnVsbCYmZS5rZXkhPW51bGw/SkooIiIrZS5rZXkpOnQudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIHp4KGUsdCxyLG4sYSl7dmFyIGk9dHlwZW9mIGU7KGk9PT0idW5kZWZpbmVkInx8aT09PSJib29sZWFuIikmJihlPW51bGwpO3ZhciBvPSExO2lmKGU9PT1udWxsKW89ITA7ZWxzZSBzd2l0Y2goaSl7Y2FzZSJzdHJpbmciOmNhc2UibnVtYmVyIjpvPSEwO2JyZWFrO2Nhc2Uib2JqZWN0Ijpzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBrcDpjYXNlIFFKOm89ITB9fWlmKG8pcmV0dXJuIG89ZSxhPWEobyksZT1uPT09IiI/Ii4iK2ExKG8sMCk6bix3UChhKT8ocj0iIixlIT1udWxsJiYocj1lLnJlcGxhY2UoYlAsIiQmLyIpKyIvIiksengoYSx0LHIsIiIsZnVuY3Rpb24oZCl7cmV0dXJuIGR9KSk6YSE9bnVsbCYmKFlTKGEpJiYoYT1YSihhLHIrKCFhLmtleXx8byYmby5rZXk9PT1hLmtleT8iIjooIiIrYS5rZXkpLnJlcGxhY2UoYlAsIiQmLyIpKyIvIikrZSkpLHQucHVzaChhKSksMTtpZihvPTAsbj1uPT09IiI/Ii4iOm4rIjoiLHdQKGUpKWZvcih2YXIgbD0wO2w8ZS5sZW5ndGg7bCsrKXtpPWVbbF07dmFyIGM9bithMShpLGwpO28rPXp4KGksdCxyLGMsYSl9ZWxzZSBpZihjPVlKKGUpLHR5cGVvZiBjPT0iZnVuY3Rpb24iKWZvcihlPWMuY2FsbChlKSxsPTA7IShpPWUubmV4dCgpKS5kb25lOylpPWkudmFsdWUsYz1uK2ExKGksbCsrKSxvKz16eChpLHQscixjLGEpO2Vsc2UgaWYoaT09PSJvYmplY3QiKXRocm93IHQ9U3RyaW5nKGUpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKHQ9PT0iW29iamVjdCBPYmplY3RdIj8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhlKS5qb2luKCIsICIpKyJ9Ijp0KSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpO3JldHVybiBvfWZ1bmN0aW9uIHdnKGUsdCxyKXtpZihlPT1udWxsKXJldHVybiBlO3ZhciBuPVtdLGE9MDtyZXR1cm4gengoZSxuLCIiLCIiLGZ1bmN0aW9uKGkpe3JldHVybiB0LmNhbGwocixpLGErKyl9KSxufWZ1bmN0aW9uIFpKKGUpe2lmKGUuX3N0YXR1cz09PS0xKXt2YXIgdD1lLl9yZXN1bHQ7dD10KCksdC50aGVuKGZ1bmN0aW9uKHIpeyhlLl9zdGF0dXM9PT0wfHxlLl9zdGF0dXM9PT0tMSkmJihlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9cil9LGZ1bmN0aW9uKHIpeyhlLl9zdGF0dXM9PT0wfHxlLl9zdGF0dXM9PT0tMSkmJihlLl9zdGF0dXM9MixlLl9yZXN1bHQ9cil9KSxlLl9zdGF0dXM9PT0tMSYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZihlLl9zdGF0dXM9PT0xKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIHFuPXtjdXJyZW50Om51bGx9LFd4PXt0cmFuc2l0aW9uOm51bGx9LGVaPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOnFuLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOld4LFJlYWN0Q3VycmVudE93bmVyOnFTfTtmdW5jdGlvbiBxUSgpe3Rocm93IEVycm9yKCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LiIpfW10LkNoaWxkcmVuPXttYXA6d2csZm9yRWFjaDpmdW5jdGlvbihlLHQscil7d2coZSxmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxyKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gd2coZSxmdW5jdGlvbigpe3QrK30pLHR9LHRvQXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIHdnKGUsZnVuY3Rpb24odCl7cmV0dXJuIHR9KXx8W119LG9ubHk6ZnVuY3Rpb24oZSl7aWYoIVlTKGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19O210LkNvbXBvbmVudD0kQTttdC5GcmFnbWVudD1MSjttdC5Qcm9maWxlcj1ISjttdC5QdXJlQ29tcG9uZW50PVdTO210LlN0cmljdE1vZGU9JEo7bXQuU3VzcGVuc2U9V0o7bXQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9ZVo7bXQuYWN0PXFRO210LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscil7aWYoZT09bnVsbCl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG49SFEoe30sZS5wcm9wcyksYT1lLmtleSxpPWUucmVmLG89ZS5fb3duZXI7aWYodCE9bnVsbCl7aWYodC5yZWYhPT12b2lkIDAmJihpPXQucmVmLG89cVMuY3VycmVudCksdC5rZXkhPT12b2lkIDAmJihhPSIiK3Qua2V5KSxlLnR5cGUmJmUudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGw9ZS50eXBlLmRlZmF1bHRQcm9wcztmb3IoYyBpbiB0KXpRLmNhbGwodCxjKSYmIVdRLmhhc093blByb3BlcnR5KGMpJiYobltjXT10W2NdPT09dm9pZCAwJiZsIT09dm9pZCAwP2xbY106dFtjXSl9dmFyIGM9YXJndW1lbnRzLmxlbmd0aC0yO2lmKGM9PT0xKW4uY2hpbGRyZW49cjtlbHNlIGlmKDE8Yyl7bD1BcnJheShjKTtmb3IodmFyIGQ9MDtkPGM7ZCsrKWxbZF09YXJndW1lbnRzW2QrMl07bi5jaGlsZHJlbj1sfXJldHVybnskJHR5cGVvZjprcCx0eXBlOmUudHlwZSxrZXk6YSxyZWY6aSxwcm9wczpuLF9vd25lcjpvfX07bXQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gZT17JCR0eXBlb2Y6VkosX2N1cnJlbnRWYWx1ZTplLF9jdXJyZW50VmFsdWUyOmUsX3RocmVhZENvdW50OjAsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsLF9kZWZhdWx0VmFsdWU6bnVsbCxfZ2xvYmFsTmFtZTpudWxsfSxlLlByb3ZpZGVyPXskJHR5cGVvZjpLSixfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9O210LmNyZWF0ZUVsZW1lbnQ9R1E7bXQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1HUS5iaW5kKG51bGwsZSk7cmV0dXJuIHQudHlwZT1lLHR9O210LmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fTttdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjp6SixyZW5kZXI6ZX19O210LmlzVmFsaWRFbGVtZW50PVlTO210Lmxhenk9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnFKLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6Wkp9fTttdC5tZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOkdKLHR5cGU6ZSxjb21wYXJlOnQ9PT12b2lkIDA/bnVsbDp0fX07bXQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PVd4LnRyYW5zaXRpb247V3gudHJhbnNpdGlvbj17fTt0cnl7ZSgpfWZpbmFsbHl7V3gudHJhbnNpdGlvbj10fX07bXQudW5zdGFibGVfYWN0PXFRO210LnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHFuLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX07bXQudXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gcW4uY3VycmVudC51c2VDb250ZXh0KGUpfTttdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fTttdC51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBxbi5jdXJyZW50LnVzZURlZmVycmVkVmFsdWUoZSl9O210LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBxbi5jdXJyZW50LnVzZUVmZmVjdChlLHQpfTttdC51c2VJZD1mdW5jdGlvbigpe3JldHVybiBxbi5jdXJyZW50LnVzZUlkKCl9O210LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBxbi5jdXJyZW50LnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LHIpfTttdC51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcW4uY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX07bXQudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHFuLmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KGUsdCl9O210LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcW4uY3VycmVudC51c2VNZW1vKGUsdCl9O210LnVzZVJlZHVjZXI9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBxbi5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LHIpfTttdC51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIHFuLmN1cnJlbnQudXNlUmVmKGUpfTttdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gcW4uY3VycmVudC51c2VTdGF0ZShlKX07bXQudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBxbi5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxyKX07bXQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBxbi5jdXJyZW50LnVzZVRyYW5zaXRpb24oKX07bXQudmVyc2lvbj0iMTguMy4xIjtMUS5leHBvcnRzPW10O3ZhciBnPUxRLmV4cG9ydHM7Y29uc3QgSz1MdChnKSxYUz1NUSh7X19wcm90b19fOm51bGwsZGVmYXVsdDpLfSxbZ10pOy8qKgogKiBAbGljZW5zZSBSZWFjdAogKiByZWFjdC1qc3gtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcwogKgogKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4KICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlCiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovdmFyIHRaPWcsclo9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLG5aPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50Iiksc1o9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxhWj10Wi5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRC5SZWFjdEN1cnJlbnRPd25lcixpWj17a2V5OiEwLHJlZjohMCxfX3NlbGY6ITAsX19zb3VyY2U6ITB9O2Z1bmN0aW9uIFlRKGUsdCxyKXt2YXIgbixhPXt9LGk9bnVsbCxvPW51bGw7ciE9PXZvaWQgMCYmKGk9IiIrciksdC5rZXkhPT12b2lkIDAmJihpPSIiK3Qua2V5KSx0LnJlZiE9PXZvaWQgMCYmKG89dC5yZWYpO2ZvcihuIGluIHQpc1ouY2FsbCh0LG4pJiYhaVouaGFzT3duUHJvcGVydHkobikmJihhW25dPXRbbl0pO2lmKGUmJmUuZGVmYXVsdFByb3BzKWZvcihuIGluIHQ9ZS5kZWZhdWx0UHJvcHMsdClhW25dPT09dm9pZCAwJiYoYVtuXT10W25dKTtyZXR1cm57JCR0eXBlb2Y6closdHlwZTplLGtleTppLHJlZjpvLHByb3BzOmEsX293bmVyOmFaLmN1cnJlbnR9fSR2LkZyYWdtZW50PW5aOyR2LmpzeD1ZUTskdi5qc3hzPVlRO1FRLmV4cG9ydHM9JHY7dmFyIHM9UVEuZXhwb3J0cyxYUT17ZXhwb3J0czp7fX0sQnM9e30sSlE9e2V4cG9ydHM6e319LFpRPXt9Oy8qKgogKiBAbGljZW5zZSBSZWFjdAogKiBzY2hlZHVsZXIucHJvZHVjdGlvbi5taW4uanMKICoKICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZQogKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqLyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KEQsSSl7dmFyIFI9RC5sZW5ndGg7RC5wdXNoKEkpO2U6Zm9yKDswPFI7KXt2YXIgTD1SLTE+Pj4xLCQ9RFtMXTtpZigwPGEoJCxJKSlEW0xdPUksRFtSXT0kLFI9TDtlbHNlIGJyZWFrIGV9fWZ1bmN0aW9uIHIoRCl7cmV0dXJuIEQubGVuZ3RoPT09MD9udWxsOkRbMF19ZnVuY3Rpb24gbihEKXtpZihELmxlbmd0aD09PTApcmV0dXJuIG51bGw7dmFyIEk9RFswXSxSPUQucG9wKCk7aWYoUiE9PUkpe0RbMF09UjtlOmZvcih2YXIgTD0wLCQ9RC5sZW5ndGgsSD0kPj4+MTtMPEg7KXt2YXIgWj0yKihMKzEpLTEsZWU9RFtaXSxyZT1aKzEsWD1EW3JlXTtpZigwPmEoZWUsUikpcmU8JCYmMD5hKFgsZWUpPyhEW0xdPVgsRFtyZV09UixMPXJlKTooRFtMXT1lZSxEW1pdPVIsTD1aKTtlbHNlIGlmKHJlPCQmJjA+YShYLFIpKURbTF09WCxEW3JlXT1SLEw9cmU7ZWxzZSBicmVhayBlfX1yZXR1cm4gSX1mdW5jdGlvbiBhKEQsSSl7dmFyIFI9RC5zb3J0SW5kZXgtSS5zb3J0SW5kZXg7cmV0dXJuIFIhPT0wP1I6RC5pZC1JLmlkfWlmKHR5cGVvZiBwZXJmb3JtYW5jZT09Im9iamVjdCImJnR5cGVvZiBwZXJmb3JtYW5jZS5ub3c9PSJmdW5jdGlvbiIpe3ZhciBpPXBlcmZvcm1hbmNlO2UudW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIGkubm93KCl9fWVsc2V7dmFyIG89RGF0ZSxsPW8ubm93KCk7ZS51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gby5ub3coKS1sfX12YXIgYz1bXSxkPVtdLHU9MSxBPW51bGwsZj0zLGg9ITEscD0hMSxtPSExLHg9dHlwZW9mIHNldFRpbWVvdXQ9PSJmdW5jdGlvbiI/c2V0VGltZW91dDpudWxsLHc9dHlwZW9mIGNsZWFyVGltZW91dD09ImZ1bmN0aW9uIj9jbGVhclRpbWVvdXQ6bnVsbCx5PXR5cGVvZiBzZXRJbW1lZGlhdGU8InUiP3NldEltbWVkaWF0ZTpudWxsO3R5cGVvZiBuYXZpZ2F0b3I8InUiJiZuYXZpZ2F0b3Iuc2NoZWR1bGluZyE9PXZvaWQgMCYmbmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmchPT12b2lkIDAmJm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpO2Z1bmN0aW9uIHYoRCl7Zm9yKHZhciBJPXIoZCk7SSE9PW51bGw7KXtpZihJLmNhbGxiYWNrPT09bnVsbCluKGQpO2Vsc2UgaWYoSS5zdGFydFRpbWU8PUQpbihkKSxJLnNvcnRJbmRleD1JLmV4cGlyYXRpb25UaW1lLHQoYyxJKTtlbHNlIGJyZWFrO0k9cihkKX19ZnVuY3Rpb24gYihEKXtpZihtPSExLHYoRCksIXApaWYocihjKSE9PW51bGwpcD0hMCxQKGopO2Vsc2V7dmFyIEk9cihkKTtJIT09bnVsbCYmVShiLEkuc3RhcnRUaW1lLUQpfX1mdW5jdGlvbiBqKEQsSSl7cD0hMSxtJiYobT0hMSx3KF8pLF89LTEpLGg9ITA7dmFyIFI9Zjt0cnl7Zm9yKHYoSSksQT1yKGMpO0EhPT1udWxsJiYoIShBLmV4cGlyYXRpb25UaW1lPkkpfHxEJiYhRSgpKTspe3ZhciBMPUEuY2FsbGJhY2s7aWYodHlwZW9mIEw9PSJmdW5jdGlvbiIpe0EuY2FsbGJhY2s9bnVsbCxmPUEucHJpb3JpdHlMZXZlbDt2YXIgJD1MKEEuZXhwaXJhdGlvblRpbWU8PUkpO0k9ZS51bnN0YWJsZV9ub3coKSx0eXBlb2YgJD09ImZ1bmN0aW9uIj9BLmNhbGxiYWNrPSQ6QT09PXIoYykmJm4oYyksdihJKX1lbHNlIG4oYyk7QT1yKGMpfWlmKEEhPT1udWxsKXZhciBIPSEwO2Vsc2V7dmFyIFo9cihkKTtaIT09bnVsbCYmVShiLFouc3RhcnRUaW1lLUkpLEg9ITF9cmV0dXJuIEh9ZmluYWxseXtBPW51bGwsZj1SLGg9ITF9fXZhciBOPSExLEM9bnVsbCxfPS0xLEI9NSxrPS0xO2Z1bmN0aW9uIEUoKXtyZXR1cm4hKGUudW5zdGFibGVfbm93KCktazxCKX1mdW5jdGlvbiBGKCl7aWYoQyE9PW51bGwpe3ZhciBEPWUudW5zdGFibGVfbm93KCk7az1EO3ZhciBJPSEwO3RyeXtJPUMoITAsRCl9ZmluYWxseXtJP08oKTooTj0hMSxDPW51bGwpfX1lbHNlIE49ITF9dmFyIE87aWYodHlwZW9mIHk9PSJmdW5jdGlvbiIpTz1mdW5jdGlvbigpe3koRil9O2Vsc2UgaWYodHlwZW9mIE1lc3NhZ2VDaGFubmVsPCJ1Iil7dmFyIFM9bmV3IE1lc3NhZ2VDaGFubmVsLFQ9Uy5wb3J0MjtTLnBvcnQxLm9ubWVzc2FnZT1GLE89ZnVuY3Rpb24oKXtULnBvc3RNZXNzYWdlKG51bGwpfX1lbHNlIE89ZnVuY3Rpb24oKXt4KEYsMCl9O2Z1bmN0aW9uIFAoRCl7Qz1ELE58fChOPSEwLE8oKSl9ZnVuY3Rpb24gVShELEkpe189eChmdW5jdGlvbigpe0QoZS51bnN0YWJsZV9ub3coKSl9LEkpfWUudW5zdGFibGVfSWRsZVByaW9yaXR5PTUsZS51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eT0xLGUudW5zdGFibGVfTG93UHJpb3JpdHk9NCxlLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5PTMsZS51bnN0YWJsZV9Qcm9maWxpbmc9bnVsbCxlLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5PTIsZS51bnN0YWJsZV9jYW5jZWxDYWxsYmFjaz1mdW5jdGlvbihEKXtELmNhbGxiYWNrPW51bGx9LGUudW5zdGFibGVfY29udGludWVFeGVjdXRpb249ZnVuY3Rpb24oKXtwfHxofHwocD0hMCxQKGopKX0sZS51bnN0YWJsZV9mb3JjZUZyYW1lUmF0ZT1mdW5jdGlvbihEKXswPkR8fDEyNTxEP2NvbnNvbGUuZXJyb3IoImZvcmNlRnJhbWVSYXRlIHRha2VzIGEgcG9zaXRpdmUgaW50IGJldHdlZW4gMCBhbmQgMTI1LCBmb3JjaW5nIGZyYW1lIHJhdGVzIGhpZ2hlciB0aGFuIDEyNSBmcHMgaXMgbm90IHN1cHBvcnRlZCIpOkI9MDxEP01hdGguZmxvb3IoMWUzL0QpOjV9LGUudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gZn0sZS51bnN0YWJsZV9nZXRGaXJzdENhbGxiYWNrTm9kZT1mdW5jdGlvbigpe3JldHVybiByKGMpfSxlLnVuc3RhYmxlX25leHQ9ZnVuY3Rpb24oRCl7c3dpdGNoKGYpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOnZhciBJPTM7YnJlYWs7ZGVmYXVsdDpJPWZ9dmFyIFI9ZjtmPUk7dHJ5e3JldHVybiBEKCl9ZmluYWxseXtmPVJ9fSxlLnVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uPWZ1bmN0aW9uKCl7fSxlLnVuc3RhYmxlX3JlcXVlc3RQYWludD1mdW5jdGlvbigpe30sZS51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHk9ZnVuY3Rpb24oRCxJKXtzd2l0Y2goRCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6Y2FzZSA0OmNhc2UgNTpicmVhaztkZWZhdWx0OkQ9M312YXIgUj1mO2Y9RDt0cnl7cmV0dXJuIEkoKX1maW5hbGx5e2Y9Un19LGUudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjaz1mdW5jdGlvbihELEksUil7dmFyIEw9ZS51bnN0YWJsZV9ub3coKTtzd2l0Y2godHlwZW9mIFI9PSJvYmplY3QiJiZSIT09bnVsbD8oUj1SLmRlbGF5LFI9dHlwZW9mIFI9PSJudW1iZXIiJiYwPFI/TCtSOkwpOlI9TCxEKXtjYXNlIDE6dmFyICQ9LTE7YnJlYWs7Y2FzZSAyOiQ9MjUwO2JyZWFrO2Nhc2UgNTokPTEwNzM3NDE4MjM7YnJlYWs7Y2FzZSA0OiQ9MWU0O2JyZWFrO2RlZmF1bHQ6JD01ZTN9cmV0dXJuICQ9UiskLEQ9e2lkOnUrKyxjYWxsYmFjazpJLHByaW9yaXR5TGV2ZWw6RCxzdGFydFRpbWU6UixleHBpcmF0aW9uVGltZTokLHNvcnRJbmRleDotMX0sUj5MPyhELnNvcnRJbmRleD1SLHQoZCxEKSxyKGMpPT09bnVsbCYmRD09PXIoZCkmJihtPyh3KF8pLF89LTEpOm09ITAsVShiLFItTCkpKTooRC5zb3J0SW5kZXg9JCx0KGMsRCkscHx8aHx8KHA9ITAsUChqKSkpLER9LGUudW5zdGFibGVfc2hvdWxkWWllbGQ9RSxlLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihEKXt2YXIgST1mO3JldHVybiBmdW5jdGlvbigpe3ZhciBSPWY7Zj1JO3RyeXtyZXR1cm4gRC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtmPVJ9fX19KShaUSk7SlEuZXhwb3J0cz1aUTt2YXIgb1o9SlEuZXhwb3J0czsvKioKICogQGxpY2Vuc2UgUmVhY3QKICogcmVhY3QtZG9tLnByb2R1Y3Rpb24ubWluLmpzCiAqCiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLgogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGUKICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi92YXIgbFo9Zyxqcz1vWjtmdW5jdGlvbiB5ZShlKXtmb3IodmFyIHQ9Imh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9lcnJvci1kZWNvZGVyLmh0bWw/aW52YXJpYW50PSIrZSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0Kz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbcl0pO3JldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitlKyI7IHZpc2l0ICIrdCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifXZhciBlTD1uZXcgU2V0LEpoPXt9O2Z1bmN0aW9uIHBkKGUsdCl7V3UoZSx0KSxXdShlKyJDYXB0dXJlIix0KX1mdW5jdGlvbiBXdShlLHQpe2ZvcihKaFtlXT10LGU9MDtlPHQubGVuZ3RoO2UrKyllTC5hZGQodFtlXSl9dmFyIGNvPSEodHlwZW9mIHdpbmRvdz4idSJ8fHR5cGVvZiB3aW5kb3cuZG9jdW1lbnQ+InUifHx0eXBlb2Ygd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQ+InUiKSxrTj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGNaPS9eWzpBLVpfYS16XHUwMEMwLVx1MDBENlx1MDBEOC1cdTAwRjZcdTAwRjgtXHUwMkZGXHUwMzcwLVx1MDM3RFx1MDM3Ri1cdTFGRkZcdTIwMEMtXHUyMDBEXHUyMDcwLVx1MjE4Rlx1MkMwMC1cdTJGRUZcdTMwMDEtXHVEN0ZGXHVGOTAwLVx1RkRDRlx1RkRGMC1cdUZGRkRdWzpBLVpfYS16XHUwMEMwLVx1MDBENlx1MDBEOC1cdTAwRjZcdTAwRjgtXHUwMkZGXHUwMzcwLVx1MDM3RFx1MDM3Ri1cdTFGRkZcdTIwMEMtXHUyMDBEXHUyMDcwLVx1MjE4Rlx1MkMwMC1cdTJGRUZcdTMwMDEtXHVEN0ZGXHVGOTAwLVx1RkRDRlx1RkRGMC1cdUZGRkRcLS4wLTlcdTAwQjdcdTAzMDAtXHUwMzZGXHUyMDNGLVx1MjA0MF0qJC8salA9e30sTlA9e307ZnVuY3Rpb24gZFooZSl7cmV0dXJuIGtOLmNhbGwoTlAsZSk/ITA6a04uY2FsbChqUCxlKT8hMTpjWi50ZXN0KGUpP05QW2VdPSEwOihqUFtlXT0hMCwhMSl9ZnVuY3Rpb24gdVooZSx0LHIsbil7aWYociE9PW51bGwmJnIudHlwZT09PTApcmV0dXJuITE7c3dpdGNoKHR5cGVvZiB0KXtjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6cmV0dXJuITA7Y2FzZSJib29sZWFuIjpyZXR1cm4gbj8hMTpyIT09bnVsbD8hci5hY2NlcHRzQm9vbGVhbnM6KGU9ZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSksZSE9PSJkYXRhLSImJmUhPT0iYXJpYS0iKTtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBBWihlLHQscixuKXtpZih0PT09bnVsbHx8dHlwZW9mIHQ+InUifHx1WihlLHQscixuKSlyZXR1cm4hMDtpZihuKXJldHVybiExO2lmKHIhPT1udWxsKXN3aXRjaChyLnR5cGUpe2Nhc2UgMzpyZXR1cm4hdDtjYXNlIDQ6cmV0dXJuIHQ9PT0hMTtjYXNlIDU6cmV0dXJuIGlzTmFOKHQpO2Nhc2UgNjpyZXR1cm4gaXNOYU4odCl8fDE+dH1yZXR1cm4hMX1mdW5jdGlvbiBZbihlLHQscixuLGEsaSxvKXt0aGlzLmFjY2VwdHNCb29sZWFucz10PT09Mnx8dD09PTN8fHQ9PT00LHRoaXMuYXR0cmlidXRlTmFtZT1uLHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWEsdGhpcy5tdXN0VXNlUHJvcGVydHk9cix0aGlzLnByb3BlcnR5TmFtZT1lLHRoaXMudHlwZT10LHRoaXMuc2FuaXRpemVVUkw9aSx0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPW99dmFyIHZuPXt9OyJjaGlsZHJlbiBkYW5nZXJvdXNseVNldElubmVySFRNTCBkZWZhdWx0VmFsdWUgZGVmYXVsdENoZWNrZWQgaW5uZXJIVE1MIHN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcgc3R5bGUiLnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2bltlXT1uZXcgWW4oZSwwLCExLGUsbnVsbCwhMSwhMSl9KTtbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImNsYXNzTmFtZSIsImNsYXNzIl0sWyJodG1sRm9yIiwiZm9yIl0sWyJodHRwRXF1aXYiLCJodHRwLWVxdWl2Il1dLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9ZVswXTt2blt0XT1uZXcgWW4odCwxLCExLGVbMV0sbnVsbCwhMSwhMSl9KTtbImNvbnRlbnRFZGl0YWJsZSIsImRyYWdnYWJsZSIsInNwZWxsQ2hlY2siLCJ2YWx1ZSJdLmZvckVhY2goZnVuY3Rpb24oZSl7dm5bZV09bmV3IFluKGUsMiwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KTtbImF1dG9SZXZlcnNlIiwiZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCIsImZvY3VzYWJsZSIsInByZXNlcnZlQWxwaGEiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZuW2VdPW5ldyBZbihlLDIsITEsZSxudWxsLCExLCExKX0pOyJhbGxvd0Z1bGxTY3JlZW4gYXN5bmMgYXV0b0ZvY3VzIGF1dG9QbGF5IGNvbnRyb2xzIGRlZmF1bHQgZGVmZXIgZGlzYWJsZWQgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUgZGlzYWJsZVJlbW90ZVBsYXliYWNrIGZvcm1Ob1ZhbGlkYXRlIGhpZGRlbiBsb29wIG5vTW9kdWxlIG5vVmFsaWRhdGUgb3BlbiBwbGF5c0lubGluZSByZWFkT25seSByZXF1aXJlZCByZXZlcnNlZCBzY29wZWQgc2VhbWxlc3MgaXRlbVNjb3BlIi5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24oZSl7dm5bZV09bmV3IFluKGUsMywhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KTtbImNoZWNrZWQiLCJtdWx0aXBsZSIsIm11dGVkIiwic2VsZWN0ZWQiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZuW2VdPW5ldyBZbihlLDMsITAsZSxudWxsLCExLCExKX0pO1siY2FwdHVyZSIsImRvd25sb2FkIl0uZm9yRWFjaChmdW5jdGlvbihlKXt2bltlXT1uZXcgWW4oZSw0LCExLGUsbnVsbCwhMSwhMSl9KTtbImNvbHMiLCJyb3dzIiwic2l6ZSIsInNwYW4iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZuW2VdPW5ldyBZbihlLDYsITEsZSxudWxsLCExLCExKX0pO1sicm93U3BhbiIsInN0YXJ0Il0uZm9yRWFjaChmdW5jdGlvbihlKXt2bltlXT1uZXcgWW4oZSw1LCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pO3ZhciBKUz0vW1wtOl0oW2Etel0pL2c7ZnVuY3Rpb24gWlMoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX0iYWNjZW50LWhlaWdodCBhbGlnbm1lbnQtYmFzZWxpbmUgYXJhYmljLWZvcm0gYmFzZWxpbmUtc2hpZnQgY2FwLWhlaWdodCBjbGlwLXBhdGggY2xpcC1ydWxlIGNvbG9yLWludGVycG9sYXRpb24gY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIGNvbG9yLXByb2ZpbGUgY29sb3ItcmVuZGVyaW5nIGRvbWluYW50LWJhc2VsaW5lIGVuYWJsZS1iYWNrZ3JvdW5kIGZpbGwtb3BhY2l0eSBmaWxsLXJ1bGUgZmxvb2QtY29sb3IgZmxvb2Qtb3BhY2l0eSBmb250LWZhbWlseSBmb250LXNpemUgZm9udC1zaXplLWFkanVzdCBmb250LXN0cmV0Y2ggZm9udC1zdHlsZSBmb250LXZhcmlhbnQgZm9udC13ZWlnaHQgZ2x5cGgtbmFtZSBnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIGdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIGhvcml6LWFkdi14IGhvcml6LW9yaWdpbi14IGltYWdlLXJlbmRlcmluZyBsZXR0ZXItc3BhY2luZyBsaWdodGluZy1jb2xvciBtYXJrZXItZW5kIG1hcmtlci1taWQgbWFya2VyLXN0YXJ0IG92ZXJsaW5lLXBvc2l0aW9uIG92ZXJsaW5lLXRoaWNrbmVzcyBwYWludC1vcmRlciBwYW5vc2UtMSBwb2ludGVyLWV2ZW50cyByZW5kZXJpbmctaW50ZW50IHNoYXBlLXJlbmRlcmluZyBzdG9wLWNvbG9yIHN0b3Atb3BhY2l0eSBzdHJpa2V0aHJvdWdoLXBvc2l0aW9uIHN0cmlrZXRocm91Z2gtdGhpY2tuZXNzIHN0cm9rZS1kYXNoYXJyYXkgc3Ryb2tlLWRhc2hvZmZzZXQgc3Ryb2tlLWxpbmVjYXAgc3Ryb2tlLWxpbmVqb2luIHN0cm9rZS1taXRlcmxpbWl0IHN0cm9rZS1vcGFjaXR5IHN0cm9rZS13aWR0aCB0ZXh0LWFuY2hvciB0ZXh0LWRlY29yYXRpb24gdGV4dC1yZW5kZXJpbmcgdW5kZXJsaW5lLXBvc2l0aW9uIHVuZGVybGluZS10aGlja25lc3MgdW5pY29kZS1iaWRpIHVuaWNvZGUtcmFuZ2UgdW5pdHMtcGVyLWVtIHYtYWxwaGFiZXRpYyB2LWhhbmdpbmcgdi1pZGVvZ3JhcGhpYyB2LW1hdGhlbWF0aWNhbCB2ZWN0b3ItZWZmZWN0IHZlcnQtYWR2LXkgdmVydC1vcmlnaW4teCB2ZXJ0LW9yaWdpbi15IHdvcmQtc3BhY2luZyB3cml0aW5nLW1vZGUgeG1sbnM6eGxpbmsgeC1oZWlnaHQiLnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UoSlMsWlMpO3ZuW3RdPW5ldyBZbih0LDEsITEsZSxudWxsLCExLCExKX0pOyJ4bGluazphY3R1YXRlIHhsaW5rOmFyY3JvbGUgeGxpbms6cm9sZSB4bGluazpzaG93IHhsaW5rOnRpdGxlIHhsaW5rOnR5cGUiLnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UoSlMsWlMpO3ZuW3RdPW5ldyBZbih0LDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITEsITEpfSk7WyJ4bWw6YmFzZSIsInhtbDpsYW5nIiwieG1sOnNwYWNlIl0uZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UoSlMsWlMpO3ZuW3RdPW5ldyBZbih0LDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwhMSwhMSl9KTtbInRhYkluZGV4IiwiY3Jvc3NPcmlnaW4iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZuW2VdPW5ldyBZbihlLDEsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSk7dm4ueGxpbmtIcmVmPW5ldyBZbigieGxpbmtIcmVmIiwxLCExLCJ4bGluazpocmVmIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITAsITEpO1sic3JjIiwiaHJlZiIsImFjdGlvbiIsImZvcm1BY3Rpb24iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZuW2VdPW5ldyBZbihlLDEsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITAsITApfSk7ZnVuY3Rpb24gZTIoZSx0LHIsbil7dmFyIGE9dm4uaGFzT3duUHJvcGVydHkodCk/dm5bdF06bnVsbDsoYSE9PW51bGw/YS50eXBlIT09MDpufHwhKDI8dC5sZW5ndGgpfHx0WzBdIT09Im8iJiZ0WzBdIT09Ik8ifHx0WzFdIT09Im4iJiZ0WzFdIT09Ik4iKSYmKEFaKHQscixhLG4pJiYocj1udWxsKSxufHxhPT09bnVsbD9kWih0KSYmKHI9PT1udWxsP2UucmVtb3ZlQXR0cmlidXRlKHQpOmUuc2V0QXR0cmlidXRlKHQsIiIrcikpOmEubXVzdFVzZVByb3BlcnR5P2VbYS5wcm9wZXJ0eU5hbWVdPXI9PT1udWxsP2EudHlwZT09PTM/ITE6IiI6cjoodD1hLmF0dHJpYnV0ZU5hbWUsbj1hLmF0dHJpYnV0ZU5hbWVzcGFjZSxyPT09bnVsbD9lLnJlbW92ZUF0dHJpYnV0ZSh0KTooYT1hLnR5cGUscj1hPT09M3x8YT09PTQmJnI9PT0hMD8iIjoiIityLG4/ZS5zZXRBdHRyaWJ1dGVOUyhuLHQscik6ZS5zZXRBdHRyaWJ1dGUodCxyKSkpKX12YXIgYm89bFouX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQsYmc9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLFpkPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLGV1PVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50IiksdDI9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxUTj1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHRMPVN5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIiksckw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLHIyPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksUE49U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxGTj1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZV9saXN0IiksbjI9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLCRvPVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSxuTD1TeW1ib2wuZm9yKCJyZWFjdC5vZmZzY3JlZW4iKSxDUD1TeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gX2YoZSl7cmV0dXJuIGU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCI/bnVsbDooZT1DUCYmZVtDUF18fGVbIkBAaXRlcmF0b3IiXSx0eXBlb2YgZT09ImZ1bmN0aW9uIj9lOm51bGwpfXZhciBwcj1PYmplY3QuYXNzaWduLGkxO2Z1bmN0aW9uIHRoKGUpe2lmKGkxPT09dm9pZCAwKXRyeXt0aHJvdyBFcnJvcigpfWNhdGNoKHIpe3ZhciB0PXIuc3RhY2sudHJpbSgpLm1hdGNoKC9cbiggKihhdCApPykvKTtpMT10JiZ0WzFdfHwiIn1yZXR1cm5gCmAraTErZX12YXIgbzE9ITE7ZnVuY3Rpb24gbDEoZSx0KXtpZighZXx8bzEpcmV0dXJuIiI7bzE9ITA7dmFyIHI9RXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7RXJyb3IucHJlcGFyZVN0YWNrVHJhY2U9dm9pZCAwO3RyeXtpZih0KWlmKHQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSx0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QodCxbXSl9Y2F0Y2goZCl7dmFyIG49ZH1SZWZsZWN0LmNvbnN0cnVjdChlLFtdLHQpfWVsc2V7dHJ5e3QuY2FsbCgpfWNhdGNoKGQpe249ZH1lLmNhbGwodC5wcm90b3R5cGUpfWVsc2V7dHJ5e3Rocm93IEVycm9yKCl9Y2F0Y2goZCl7bj1kfWUoKX19Y2F0Y2goZCl7aWYoZCYmbiYmdHlwZW9mIGQuc3RhY2s9PSJzdHJpbmciKXtmb3IodmFyIGE9ZC5zdGFjay5zcGxpdChgCmApLGk9bi5zdGFjay5zcGxpdChgCmApLG89YS5sZW5ndGgtMSxsPWkubGVuZ3RoLTE7MTw9byYmMDw9bCYmYVtvXSE9PWlbbF07KWwtLTtmb3IoOzE8PW8mJjA8PWw7by0tLGwtLSlpZihhW29dIT09aVtsXSl7aWYobyE9PTF8fGwhPT0xKWRvIGlmKG8tLSxsLS0sMD5sfHxhW29dIT09aVtsXSl7dmFyIGM9YApgK2Fbb10ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGUuZGlzcGxheU5hbWUmJmMuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihjPWMucmVwbGFjZSgiPGFub255bW91cz4iLGUuZGlzcGxheU5hbWUpKSxjfXdoaWxlKDE8PW8mJjA8PWwpO2JyZWFrfX19ZmluYWxseXtvMT0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT1yfXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT90aChlKToiIn1mdW5jdGlvbiBmWihlKXtzd2l0Y2goZS50YWcpe2Nhc2UgNTpyZXR1cm4gdGgoZS50eXBlKTtjYXNlIDE2OnJldHVybiB0aCgiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIHRoKCJTdXNwZW5zZSIpO2Nhc2UgMTk6cmV0dXJuIHRoKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9bDEoZS50eXBlLCExKSxlO2Nhc2UgMTE6cmV0dXJuIGU9bDEoZS50eXBlLnJlbmRlciwhMSksZTtjYXNlIDE6cmV0dXJuIGU9bDEoZS50eXBlLCEwKSxlO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIE9OKGUpe2lmKGU9PW51bGwpcmV0dXJuIG51bGw7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpcmV0dXJuIGUuZGlzcGxheU5hbWV8fGUubmFtZXx8bnVsbDtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJuIGU7c3dpdGNoKGUpe2Nhc2UgZXU6cmV0dXJuIkZyYWdtZW50IjtjYXNlIFpkOnJldHVybiJQb3J0YWwiO2Nhc2UgVE46cmV0dXJuIlByb2ZpbGVyIjtjYXNlIHQyOnJldHVybiJTdHJpY3RNb2RlIjtjYXNlIFBOOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBGTjpyZXR1cm4iU3VzcGVuc2VMaXN0In1pZih0eXBlb2YgZT09Im9iamVjdCIpc3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2Ugckw6cmV0dXJuKGUuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSB0TDpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIHIyOnZhciB0PWUucmVuZGVyO3JldHVybiBlPWUuZGlzcGxheU5hbWUsZXx8KGU9dC5kaXNwbGF5TmFtZXx8dC5uYW1lfHwiIixlPWUhPT0iIj8iRm9yd2FyZFJlZigiK2UrIikiOiJGb3J3YXJkUmVmIiksZTtjYXNlIG4yOnJldHVybiB0PWUuZGlzcGxheU5hbWV8fG51bGwsdCE9PW51bGw/dDpPTihlLnR5cGUpfHwiTWVtbyI7Y2FzZSAkbzp0PWUuX3BheWxvYWQsZT1lLl9pbml0O3RyeXtyZXR1cm4gT04oZSh0KSl9Y2F0Y2h7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBoWihlKXt2YXIgdD1lLnR5cGU7c3dpdGNoKGUudGFnKXtjYXNlIDI0OnJldHVybiJDYWNoZSI7Y2FzZSA5OnJldHVybih0LmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgMTA6cmV0dXJuKHQuX2NvbnRleHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Qcm92aWRlciI7Y2FzZSAxODpyZXR1cm4iRGVoeWRyYXRlZEZyYWdtZW50IjtjYXNlIDExOnJldHVybiBlPXQucmVuZGVyLGU9ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHwiIix0LmRpc3BsYXlOYW1lfHwoZSE9PSIiPyJGb3J3YXJkUmVmKCIrZSsiKSI6IkZvcndhcmRSZWYiKTtjYXNlIDc6cmV0dXJuIkZyYWdtZW50IjtjYXNlIDU6cmV0dXJuIHQ7Y2FzZSA0OnJldHVybiJQb3J0YWwiO2Nhc2UgMzpyZXR1cm4iUm9vdCI7Y2FzZSA2OnJldHVybiJUZXh0IjtjYXNlIDE2OnJldHVybiBPTih0KTtjYXNlIDg6cmV0dXJuIHQ9PT10Mj8iU3RyaWN0TW9kZSI6Ik1vZGUiO2Nhc2UgMjI6cmV0dXJuIk9mZnNjcmVlbiI7Y2FzZSAxMjpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgMjE6cmV0dXJuIlNjb3BlIjtjYXNlIDEzOnJldHVybiJTdXNwZW5zZSI7Y2FzZSAxOTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIDI1OnJldHVybiJUcmFjaW5nTWFya2VyIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZih0eXBlb2YgdD09ImZ1bmN0aW9uIilyZXR1cm4gdC5kaXNwbGF5TmFtZXx8dC5uYW1lfHxudWxsO2lmKHR5cGVvZiB0PT0ic3RyaW5nIilyZXR1cm4gdH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBUbChlKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2UiYm9vbGVhbiI6Y2FzZSJudW1iZXIiOmNhc2Uic3RyaW5nIjpjYXNlInVuZGVmaW5lZCI6cmV0dXJuIGU7Y2FzZSJvYmplY3QiOnJldHVybiBlO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIHNMKGUpe3ZhciB0PWUudHlwZTtyZXR1cm4oZT1lLm5vZGVOYW1lKSYmZS50b0xvd2VyQ2FzZSgpPT09ImlucHV0IiYmKHQ9PT0iY2hlY2tib3gifHx0PT09InJhZGlvIil9ZnVuY3Rpb24gbVooZSl7dmFyIHQ9c0woZSk/ImNoZWNrZWQiOiJ2YWx1ZSIscj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUuY29uc3RydWN0b3IucHJvdG90eXBlLHQpLG49IiIrZVt0XTtpZighZS5oYXNPd25Qcm9wZXJ0eSh0KSYmdHlwZW9mIHI8InUiJiZ0eXBlb2Ygci5nZXQ9PSJmdW5jdGlvbiImJnR5cGVvZiByLnNldD09ImZ1bmN0aW9uIil7dmFyIGE9ci5nZXQsaT1yLnNldDtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhLmNhbGwodGhpcyl9LHNldDpmdW5jdGlvbihvKXtuPSIiK28saS5jYWxsKHRoaXMsbyl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7ZW51bWVyYWJsZTpyLmVudW1lcmFibGV9KSx7Z2V0VmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbn0sc2V0VmFsdWU6ZnVuY3Rpb24obyl7bj0iIitvfSxzdG9wVHJhY2tpbmc6ZnVuY3Rpb24oKXtlLl92YWx1ZVRyYWNrZXI9bnVsbCxkZWxldGUgZVt0XX19fX1mdW5jdGlvbiBqZyhlKXtlLl92YWx1ZVRyYWNrZXJ8fChlLl92YWx1ZVRyYWNrZXI9bVooZSkpfWZ1bmN0aW9uIGFMKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUuX3ZhbHVlVHJhY2tlcjtpZighdClyZXR1cm4hMDt2YXIgcj10LmdldFZhbHVlKCksbj0iIjtyZXR1cm4gZSYmKG49c0woZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLGU9bixlIT09cj8odC5zZXRWYWx1ZShlKSwhMCk6ITF9ZnVuY3Rpb24geTAoZSl7aWYoZT1lfHwodHlwZW9mIGRvY3VtZW50PCJ1Ij9kb2N1bWVudDp2b2lkIDApLHR5cGVvZiBlPiJ1IilyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIGUuYWN0aXZlRWxlbWVudHx8ZS5ib2R5fWNhdGNoe3JldHVybiBlLmJvZHl9fWZ1bmN0aW9uIElOKGUsdCl7dmFyIHI9dC5jaGVja2VkO3JldHVybiBwcih7fSx0LHtkZWZhdWx0Q2hlY2tlZDp2b2lkIDAsZGVmYXVsdFZhbHVlOnZvaWQgMCx2YWx1ZTp2b2lkIDAsY2hlY2tlZDpyPz9lLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWR9KX1mdW5jdGlvbiBfUChlLHQpe3ZhciByPXQuZGVmYXVsdFZhbHVlPT1udWxsPyIiOnQuZGVmYXVsdFZhbHVlLG49dC5jaGVja2VkIT1udWxsP3QuY2hlY2tlZDp0LmRlZmF1bHRDaGVja2VkO3I9VGwodC52YWx1ZSE9bnVsbD90LnZhbHVlOnIpLGUuX3dyYXBwZXJTdGF0ZT17aW5pdGlhbENoZWNrZWQ6bixpbml0aWFsVmFsdWU6cixjb250cm9sbGVkOnQudHlwZT09PSJjaGVja2JveCJ8fHQudHlwZT09PSJyYWRpbyI/dC5jaGVja2VkIT1udWxsOnQudmFsdWUhPW51bGx9fWZ1bmN0aW9uIGlMKGUsdCl7dD10LmNoZWNrZWQsdCE9bnVsbCYmZTIoZSwiY2hlY2tlZCIsdCwhMSl9ZnVuY3Rpb24gVU4oZSx0KXtpTChlLHQpO3ZhciByPVRsKHQudmFsdWUpLG49dC50eXBlO2lmKHIhPW51bGwpbj09PSJudW1iZXIiPyhyPT09MCYmZS52YWx1ZT09PSIifHxlLnZhbHVlIT1yKSYmKGUudmFsdWU9IiIrcik6ZS52YWx1ZSE9PSIiK3ImJihlLnZhbHVlPSIiK3IpO2Vsc2UgaWYobj09PSJzdWJtaXQifHxuPT09InJlc2V0Iil7ZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIik7cmV0dXJufXQuaGFzT3duUHJvcGVydHkoInZhbHVlIik/RE4oZSx0LnR5cGUscik6dC5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikmJkROKGUsdC50eXBlLFRsKHQuZGVmYXVsdFZhbHVlKSksdC5jaGVja2VkPT1udWxsJiZ0LmRlZmF1bHRDaGVja2VkIT1udWxsJiYoZS5kZWZhdWx0Q2hlY2tlZD0hIXQuZGVmYXVsdENoZWNrZWQpfWZ1bmN0aW9uIEJQKGUsdCxyKXtpZih0Lmhhc093blByb3BlcnR5KCJ2YWx1ZSIpfHx0Lmhhc093blByb3BlcnR5KCJkZWZhdWx0VmFsdWUiKSl7dmFyIG49dC50eXBlO2lmKCEobiE9PSJzdWJtaXQiJiZuIT09InJlc2V0Inx8dC52YWx1ZSE9PXZvaWQgMCYmdC52YWx1ZSE9PW51bGwpKXJldHVybjt0PSIiK2UuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUscnx8dD09PWUudmFsdWV8fChlLnZhbHVlPXQpLGUuZGVmYXVsdFZhbHVlPXR9cj1lLm5hbWUsciE9PSIiJiYoZS5uYW1lPSIiKSxlLmRlZmF1bHRDaGVja2VkPSEhZS5fd3JhcHBlclN0YXRlLmluaXRpYWxDaGVja2VkLHIhPT0iIiYmKGUubmFtZT1yKX1mdW5jdGlvbiBETihlLHQscil7KHQhPT0ibnVtYmVyInx8eTAoZS5vd25lckRvY3VtZW50KSE9PWUpJiYocj09bnVsbD9lLmRlZmF1bHRWYWx1ZT0iIitlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlOmUuZGVmYXVsdFZhbHVlIT09IiIrciYmKGUuZGVmYXVsdFZhbHVlPSIiK3IpKX12YXIgcmg9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiB2dShlLHQscixuKXtpZihlPWUub3B0aW9ucyx0KXt0PXt9O2Zvcih2YXIgYT0wO2E8ci5sZW5ndGg7YSsrKXRbIiQiK3JbYV1dPSEwO2ZvcihyPTA7cjxlLmxlbmd0aDtyKyspYT10Lmhhc093blByb3BlcnR5KCIkIitlW3JdLnZhbHVlKSxlW3JdLnNlbGVjdGVkIT09YSYmKGVbcl0uc2VsZWN0ZWQ9YSksYSYmbiYmKGVbcl0uZGVmYXVsdFNlbGVjdGVkPSEwKX1lbHNle2ZvcihyPSIiK1RsKHIpLHQ9bnVsbCxhPTA7YTxlLmxlbmd0aDthKyspe2lmKGVbYV0udmFsdWU9PT1yKXtlW2FdLnNlbGVjdGVkPSEwLG4mJihlW2FdLmRlZmF1bHRTZWxlY3RlZD0hMCk7cmV0dXJufXQhPT1udWxsfHxlW2FdLmRpc2FibGVkfHwodD1lW2FdKX10IT09bnVsbCYmKHQuc2VsZWN0ZWQ9ITApfX1mdW5jdGlvbiBNTihlLHQpe2lmKHQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwhPW51bGwpdGhyb3cgRXJyb3IoeWUoOTEpKTtyZXR1cm4gcHIoe30sdCx7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIFNQKGUsdCl7dmFyIHI9dC52YWx1ZTtpZihyPT1udWxsKXtpZihyPXQuY2hpbGRyZW4sdD10LmRlZmF1bHRWYWx1ZSxyIT1udWxsKXtpZih0IT1udWxsKXRocm93IEVycm9yKHllKDkyKSk7aWYocmgocikpe2lmKDE8ci5sZW5ndGgpdGhyb3cgRXJyb3IoeWUoOTMpKTtyPXJbMF19dD1yfXQ9PW51bGwmJih0PSIiKSxyPXR9ZS5fd3JhcHBlclN0YXRlPXtpbml0aWFsVmFsdWU6VGwocil9fWZ1bmN0aW9uIG9MKGUsdCl7dmFyIHI9VGwodC52YWx1ZSksbj1UbCh0LmRlZmF1bHRWYWx1ZSk7ciE9bnVsbCYmKHI9IiIrcixyIT09ZS52YWx1ZSYmKGUudmFsdWU9ciksdC5kZWZhdWx0VmFsdWU9PW51bGwmJmUuZGVmYXVsdFZhbHVlIT09ciYmKGUuZGVmYXVsdFZhbHVlPXIpKSxuIT1udWxsJiYoZS5kZWZhdWx0VmFsdWU9IiIrbil9ZnVuY3Rpb24gRVAoZSl7dmFyIHQ9ZS50ZXh0Q29udGVudDt0PT09ZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSYmdCE9PSIiJiZ0IT09bnVsbCYmKGUudmFsdWU9dCl9ZnVuY3Rpb24gbEwoZSl7c3dpdGNoKGUpe2Nhc2Uic3ZnIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciO2Nhc2UibWF0aCI6cmV0dXJuImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiO2RlZmF1bHQ6cmV0dXJuImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwifX1mdW5jdGlvbiBSTihlLHQpe3JldHVybiBlPT1udWxsfHxlPT09Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiP2xMKHQpOmU9PT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciJiZ0PT09ImZvcmVpZ25PYmplY3QiPyJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIjplfXZhciBOZyxjTD1mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIE1TQXBwPCJ1IiYmTVNBcHAuZXhlY1Vuc2FmZUxvY2FsRnVuY3Rpb24/ZnVuY3Rpb24odCxyLG4sYSl7TVNBcHAuZXhlY1Vuc2FmZUxvY2FsRnVuY3Rpb24oZnVuY3Rpb24oKXtyZXR1cm4gZSh0LHIsbixhKX0pfTplfShmdW5jdGlvbihlLHQpe2lmKGUubmFtZXNwYWNlVVJJIT09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnInx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPXQ7ZWxzZXtmb3IoTmc9Tmd8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLE5nLmlubmVySFRNTD0iPHN2Zz4iK3QudmFsdWVPZigpLnRvU3RyaW5nKCkrIjwvc3ZnPiIsdD1OZy5maXJzdENoaWxkO2UuZmlyc3RDaGlsZDspZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpO2Zvcig7dC5maXJzdENoaWxkOyllLmFwcGVuZENoaWxkKHQuZmlyc3RDaGlsZCl9fSk7ZnVuY3Rpb24gWmgoZSx0KXtpZih0KXt2YXIgcj1lLmZpcnN0Q2hpbGQ7aWYociYmcj09PWUubGFzdENoaWxkJiZyLm5vZGVUeXBlPT09Myl7ci5ub2RlVmFsdWU9dDtyZXR1cm59fWUudGV4dENvbnRlbnQ9dH12YXIgYmg9e2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiEwLGFzcGVjdFJhdGlvOiEwLGJvcmRlckltYWdlT3V0c2V0OiEwLGJvcmRlckltYWdlU2xpY2U6ITAsYm9yZGVySW1hZ2VXaWR0aDohMCxib3hGbGV4OiEwLGJveEZsZXhHcm91cDohMCxib3hPcmRpbmFsR3JvdXA6ITAsY29sdW1uQ291bnQ6ITAsY29sdW1uczohMCxmbGV4OiEwLGZsZXhHcm93OiEwLGZsZXhQb3NpdGl2ZTohMCxmbGV4U2hyaW5rOiEwLGZsZXhOZWdhdGl2ZTohMCxmbGV4T3JkZXI6ITAsZ3JpZEFyZWE6ITAsZ3JpZFJvdzohMCxncmlkUm93RW5kOiEwLGdyaWRSb3dTcGFuOiEwLGdyaWRSb3dTdGFydDohMCxncmlkQ29sdW1uOiEwLGdyaWRDb2x1bW5FbmQ6ITAsZ3JpZENvbHVtblNwYW46ITAsZ3JpZENvbHVtblN0YXJ0OiEwLGZvbnRXZWlnaHQ6ITAsbGluZUNsYW1wOiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHRhYlNpemU6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwLGZpbGxPcGFjaXR5OiEwLGZsb29kT3BhY2l0eTohMCxzdG9wT3BhY2l0eTohMCxzdHJva2VEYXNoYXJyYXk6ITAsc3Ryb2tlRGFzaG9mZnNldDohMCxzdHJva2VNaXRlcmxpbWl0OiEwLHN0cm9rZU9wYWNpdHk6ITAsc3Ryb2tlV2lkdGg6ITB9LHBaPVsiV2Via2l0IiwibXMiLCJNb3oiLCJPIl07T2JqZWN0LmtleXMoYmgpLmZvckVhY2goZnVuY3Rpb24oZSl7cFouZm9yRWFjaChmdW5jdGlvbih0KXt0PXQrZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKSxiaFt0XT1iaFtlXX0pfSk7ZnVuY3Rpb24gZEwoZSx0LHIpe3JldHVybiB0PT1udWxsfHx0eXBlb2YgdD09ImJvb2xlYW4ifHx0PT09IiI/IiI6cnx8dHlwZW9mIHQhPSJudW1iZXIifHx0PT09MHx8YmguaGFzT3duUHJvcGVydHkoZSkmJmJoW2VdPygiIit0KS50cmltKCk6dCsicHgifWZ1bmN0aW9uIHVMKGUsdCl7ZT1lLnN0eWxlO2Zvcih2YXIgciBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkocikpe3ZhciBuPXIuaW5kZXhPZigiLS0iKT09PTAsYT1kTChyLHRbcl0sbik7cj09PSJmbG9hdCImJihyPSJjc3NGbG9hdCIpLG4/ZS5zZXRQcm9wZXJ0eShyLGEpOmVbcl09YX19dmFyIGdaPXByKHttZW51aXRlbTohMH0se2FyZWE6ITAsYmFzZTohMCxicjohMCxjb2w6ITAsZW1iZWQ6ITAsaHI6ITAsaW1nOiEwLGlucHV0OiEwLGtleWdlbjohMCxsaW5rOiEwLG1ldGE6ITAscGFyYW06ITAsc291cmNlOiEwLHRyYWNrOiEwLHdicjohMH0pO2Z1bmN0aW9uIFFOKGUsdCl7aWYodCl7aWYoZ1pbZV0mJih0LmNoaWxkcmVuIT1udWxsfHx0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIT1udWxsKSl0aHJvdyBFcnJvcih5ZSgxMzcsZSkpO2lmKHQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwhPW51bGwpe2lmKHQuY2hpbGRyZW4hPW51bGwpdGhyb3cgRXJyb3IoeWUoNjApKTtpZih0eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTCE9Im9iamVjdCJ8fCEoIl9faHRtbCJpbiB0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSl0aHJvdyBFcnJvcih5ZSg2MSkpfWlmKHQuc3R5bGUhPW51bGwmJnR5cGVvZiB0LnN0eWxlIT0ib2JqZWN0Iil0aHJvdyBFcnJvcih5ZSg2MikpfX1mdW5jdGlvbiBMTihlLHQpe2lmKGUuaW5kZXhPZigiLSIpPT09LTEpcmV0dXJuIHR5cGVvZiB0LmlzPT0ic3RyaW5nIjtzd2l0Y2goZSl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgJE49bnVsbDtmdW5jdGlvbiBzMihlKXtyZXR1cm4gZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3csZS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCYmKGU9ZS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCksZS5ub2RlVHlwZT09PTM/ZS5wYXJlbnROb2RlOmV9dmFyIEhOPW51bGwsd3U9bnVsbCxidT1udWxsO2Z1bmN0aW9uIGtQKGUpe2lmKGU9RnAoZSkpe2lmKHR5cGVvZiBITiE9ImZ1bmN0aW9uIil0aHJvdyBFcnJvcih5ZSgyODApKTt2YXIgdD1lLnN0YXRlTm9kZTt0JiYodD1Xdih0KSxITihlLnN0YXRlTm9kZSxlLnR5cGUsdCkpfX1mdW5jdGlvbiBBTChlKXt3dT9idT9idS5wdXNoKGUpOmJ1PVtlXTp3dT1lfWZ1bmN0aW9uIGZMKCl7aWYod3Upe3ZhciBlPXd1LHQ9YnU7aWYoYnU9d3U9bnVsbCxrUChlKSx0KWZvcihlPTA7ZTx0Lmxlbmd0aDtlKyspa1AodFtlXSl9fWZ1bmN0aW9uIGhMKGUsdCl7cmV0dXJuIGUodCl9ZnVuY3Rpb24gbUwoKXt9dmFyIGMxPSExO2Z1bmN0aW9uIHBMKGUsdCxyKXtpZihjMSlyZXR1cm4gZSh0LHIpO2MxPSEwO3RyeXtyZXR1cm4gaEwoZSx0LHIpfWZpbmFsbHl7YzE9ITEsKHd1IT09bnVsbHx8YnUhPT1udWxsKSYmKG1MKCksZkwoKSl9fWZ1bmN0aW9uIGVtKGUsdCl7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYocj09PW51bGwpcmV0dXJuIG51bGw7dmFyIG49V3Yocik7aWYobj09PW51bGwpcmV0dXJuIG51bGw7cj1uW3RdO2U6c3dpdGNoKHQpe2Nhc2Uib25DbGljayI6Y2FzZSJvbkNsaWNrQ2FwdHVyZSI6Y2FzZSJvbkRvdWJsZUNsaWNrIjpjYXNlIm9uRG91YmxlQ2xpY2tDYXB0dXJlIjpjYXNlIm9uTW91c2VEb3duIjpjYXNlIm9uTW91c2VEb3duQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlTW92ZSI6Y2FzZSJvbk1vdXNlTW92ZUNhcHR1cmUiOmNhc2Uib25Nb3VzZVVwIjpjYXNlIm9uTW91c2VVcENhcHR1cmUiOmNhc2Uib25Nb3VzZUVudGVyIjoobj0hbi5kaXNhYmxlZCl8fChlPWUudHlwZSxuPSEoZT09PSJidXR0b24ifHxlPT09ImlucHV0Inx8ZT09PSJzZWxlY3QifHxlPT09InRleHRhcmVhIikpLGU9IW47YnJlYWsgZTtkZWZhdWx0OmU9ITF9aWYoZSlyZXR1cm4gbnVsbDtpZihyJiZ0eXBlb2YgciE9ImZ1bmN0aW9uIil0aHJvdyBFcnJvcih5ZSgyMzEsdCx0eXBlb2YgcikpO3JldHVybiByfXZhciBLTj0hMTtpZihjbyl0cnl7dmFyIEJmPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShCZiwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe0tOPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixCZixCZiksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLEJmLEJmKX1jYXRjaHtLTj0hMX1mdW5jdGlvbiB4WihlLHQscixuLGEsaSxvLGwsYyl7dmFyIGQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXt0LmFwcGx5KHIsZCl9Y2F0Y2godSl7dGhpcy5vbkVycm9yKHUpfX12YXIgamg9ITEsdjA9bnVsbCx3MD0hMSxWTj1udWxsLHlaPXtvbkVycm9yOmZ1bmN0aW9uKGUpe2poPSEwLHYwPWV9fTtmdW5jdGlvbiB2WihlLHQscixuLGEsaSxvLGwsYyl7amg9ITEsdjA9bnVsbCx4Wi5hcHBseSh5Wixhcmd1bWVudHMpfWZ1bmN0aW9uIHdaKGUsdCxyLG4sYSxpLG8sbCxjKXtpZih2Wi5hcHBseSh0aGlzLGFyZ3VtZW50cyksamgpe2lmKGpoKXt2YXIgZD12MDtqaD0hMSx2MD1udWxsfWVsc2UgdGhyb3cgRXJyb3IoeWUoMTk4KSk7dzB8fCh3MD0hMCxWTj1kKX19ZnVuY3Rpb24gZ2QoZSl7dmFyIHQ9ZSxyPWU7aWYoZS5hbHRlcm5hdGUpZm9yKDt0LnJldHVybjspdD10LnJldHVybjtlbHNle2U9dDtkbyB0PWUsdC5mbGFncyY0MDk4JiYocj10LnJldHVybiksZT10LnJldHVybjt3aGlsZShlKX1yZXR1cm4gdC50YWc9PT0zP3I6bnVsbH1mdW5jdGlvbiBnTChlKXtpZihlLnRhZz09PTEzKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYodD09PW51bGwmJihlPWUuYWx0ZXJuYXRlLGUhPT1udWxsJiYodD1lLm1lbW9pemVkU3RhdGUpKSx0IT09bnVsbClyZXR1cm4gdC5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIFRQKGUpe2lmKGdkKGUpIT09ZSl0aHJvdyBFcnJvcih5ZSgxODgpKX1mdW5jdGlvbiBiWihlKXt2YXIgdD1lLmFsdGVybmF0ZTtpZighdCl7aWYodD1nZChlKSx0PT09bnVsbCl0aHJvdyBFcnJvcih5ZSgxODgpKTtyZXR1cm4gdCE9PWU/bnVsbDplfWZvcih2YXIgcj1lLG49dDs7KXt2YXIgYT1yLnJldHVybjtpZihhPT09bnVsbClicmVhazt2YXIgaT1hLmFsdGVybmF0ZTtpZihpPT09bnVsbCl7aWYobj1hLnJldHVybixuIT09bnVsbCl7cj1uO2NvbnRpbnVlfWJyZWFrfWlmKGEuY2hpbGQ9PT1pLmNoaWxkKXtmb3IoaT1hLmNoaWxkO2k7KXtpZihpPT09cilyZXR1cm4gVFAoYSksZTtpZihpPT09bilyZXR1cm4gVFAoYSksdDtpPWkuc2libGluZ310aHJvdyBFcnJvcih5ZSgxODgpKX1pZihyLnJldHVybiE9PW4ucmV0dXJuKXI9YSxuPWk7ZWxzZXtmb3IodmFyIG89ITEsbD1hLmNoaWxkO2w7KXtpZihsPT09cil7bz0hMCxyPWEsbj1pO2JyZWFrfWlmKGw9PT1uKXtvPSEwLG49YSxyPWk7YnJlYWt9bD1sLnNpYmxpbmd9aWYoIW8pe2ZvcihsPWkuY2hpbGQ7bDspe2lmKGw9PT1yKXtvPSEwLHI9aSxuPWE7YnJlYWt9aWYobD09PW4pe289ITAsbj1pLHI9YTticmVha31sPWwuc2libGluZ31pZighbyl0aHJvdyBFcnJvcih5ZSgxODkpKX19aWYoci5hbHRlcm5hdGUhPT1uKXRocm93IEVycm9yKHllKDE5MCkpfWlmKHIudGFnIT09Myl0aHJvdyBFcnJvcih5ZSgxODgpKTtyZXR1cm4gci5zdGF0ZU5vZGUuY3VycmVudD09PXI/ZTp0fWZ1bmN0aW9uIHhMKGUpe3JldHVybiBlPWJaKGUpLGUhPT1udWxsP3lMKGUpOm51bGx9ZnVuY3Rpb24geUwoZSl7aWYoZS50YWc9PT01fHxlLnRhZz09PTYpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe3ZhciB0PXlMKGUpO2lmKHQhPT1udWxsKXJldHVybiB0O2U9ZS5zaWJsaW5nfXJldHVybiBudWxsfXZhciB2TD1qcy51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLFBQPWpzLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrLGpaPWpzLnVuc3RhYmxlX3Nob3VsZFlpZWxkLE5aPWpzLnVuc3RhYmxlX3JlcXVlc3RQYWludCxCcj1qcy51bnN0YWJsZV9ub3csQ1o9anMudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsYTI9anMudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksd0w9anMudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHksYjA9anMudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksX1o9anMudW5zdGFibGVfTG93UHJpb3JpdHksYkw9anMudW5zdGFibGVfSWRsZVByaW9yaXR5LEh2PW51bGwsZmk9bnVsbDtmdW5jdGlvbiBCWihlKXtpZihmaSYmdHlwZW9mIGZpLm9uQ29tbWl0RmliZXJSb290PT0iZnVuY3Rpb24iKXRyeXtmaS5vbkNvbW1pdEZpYmVyUm9vdChIdixlLHZvaWQgMCwoZS5jdXJyZW50LmZsYWdzJjEyOCk9PT0xMjgpfWNhdGNoe319dmFyIE1hPU1hdGguY2x6MzI/TWF0aC5jbHozMjprWixTWj1NYXRoLmxvZyxFWj1NYXRoLkxOMjtmdW5jdGlvbiBrWihlKXtyZXR1cm4gZT4+Pj0wLGU9PT0wPzMyOjMxLShTWihlKS9FWnwwKXwwfXZhciBDZz02NCxfZz00MTk0MzA0O2Z1bmN0aW9uIG5oKGUpe3N3aXRjaChlJi1lKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgNDpyZXR1cm4gNDtjYXNlIDg6cmV0dXJuIDg7Y2FzZSAxNjpyZXR1cm4gMTY7Y2FzZSAzMjpyZXR1cm4gMzI7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpyZXR1cm4gZSY0MTk0MjQwO2Nhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOmNhc2UgNjcxMDg4NjQ6cmV0dXJuIGUmMTMwMDIzNDI0O2Nhc2UgMTM0MjE3NzI4OnJldHVybiAxMzQyMTc3Mjg7Y2FzZSAyNjg0MzU0NTY6cmV0dXJuIDI2ODQzNTQ1NjtjYXNlIDUzNjg3MDkxMjpyZXR1cm4gNTM2ODcwOTEyO2Nhc2UgMTA3Mzc0MTgyNDpyZXR1cm4gMTA3Mzc0MTgyNDtkZWZhdWx0OnJldHVybiBlfX1mdW5jdGlvbiBqMChlLHQpe3ZhciByPWUucGVuZGluZ0xhbmVzO2lmKHI9PT0wKXJldHVybiAwO3ZhciBuPTAsYT1lLnN1c3BlbmRlZExhbmVzLGk9ZS5waW5nZWRMYW5lcyxvPXImMjY4NDM1NDU1O2lmKG8hPT0wKXt2YXIgbD1vJn5hO2whPT0wP249bmgobCk6KGkmPW8saSE9PTAmJihuPW5oKGkpKSl9ZWxzZSBvPXImfmEsbyE9PTA/bj1uaChvKTppIT09MCYmKG49bmgoaSkpO2lmKG49PT0wKXJldHVybiAwO2lmKHQhPT0wJiZ0IT09biYmISh0JmEpJiYoYT1uJi1uLGk9dCYtdCxhPj1pfHxhPT09MTYmJihpJjQxOTQyNDApIT09MCkpcmV0dXJuIHQ7aWYobiY0JiYobnw9ciYxNiksdD1lLmVudGFuZ2xlZExhbmVzLHQhPT0wKWZvcihlPWUuZW50YW5nbGVtZW50cyx0Jj1uOzA8dDspcj0zMS1NYSh0KSxhPTE8PHIsbnw9ZVtyXSx0Jj1+YTtyZXR1cm4gbn1mdW5jdGlvbiBUWihlLHQpe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpyZXR1cm4gdCsyNTA7Y2FzZSA4OmNhc2UgMTY6Y2FzZSAzMjpjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiB0KzVlMztjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0OnJldHVybi0xO2Nhc2UgMTM0MjE3NzI4OmNhc2UgMjY4NDM1NDU2OmNhc2UgNTM2ODcwOTEyOmNhc2UgMTA3Mzc0MTgyNDpyZXR1cm4tMTtkZWZhdWx0OnJldHVybi0xfX1mdW5jdGlvbiBQWihlLHQpe2Zvcih2YXIgcj1lLnN1c3BlbmRlZExhbmVzLG49ZS5waW5nZWRMYW5lcyxhPWUuZXhwaXJhdGlvblRpbWVzLGk9ZS5wZW5kaW5nTGFuZXM7MDxpOyl7dmFyIG89MzEtTWEoaSksbD0xPDxvLGM9YVtvXTtjPT09LTE/KCEobCZyKXx8bCZuKSYmKGFbb109VFoobCx0KSk6Yzw9dCYmKGUuZXhwaXJlZExhbmVzfD1sKSxpJj1+bH19ZnVuY3Rpb24gek4oZSl7cmV0dXJuIGU9ZS5wZW5kaW5nTGFuZXMmLTEwNzM3NDE4MjUsZSE9PTA/ZTplJjEwNzM3NDE4MjQ/MTA3Mzc0MTgyNDowfWZ1bmN0aW9uIGpMKCl7dmFyIGU9Q2c7cmV0dXJuIENnPDw9MSwhKENnJjQxOTQyNDApJiYoQ2c9NjQpLGV9ZnVuY3Rpb24gZDEoZSl7Zm9yKHZhciB0PVtdLHI9MDszMT5yO3IrKyl0LnB1c2goZSk7cmV0dXJuIHR9ZnVuY3Rpb24gVHAoZSx0LHIpe2UucGVuZGluZ0xhbmVzfD10LHQhPT01MzY4NzA5MTImJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wKSxlPWUuZXZlbnRUaW1lcyx0PTMxLU1hKHQpLGVbdF09cn1mdW5jdGlvbiBGWihlLHQpe3ZhciByPWUucGVuZGluZ0xhbmVzJn50O2UucGVuZGluZ0xhbmVzPXQsZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCxlLmV4cGlyZWRMYW5lcyY9dCxlLm11dGFibGVSZWFkTGFuZXMmPXQsZS5lbnRhbmdsZWRMYW5lcyY9dCx0PWUuZW50YW5nbGVtZW50czt2YXIgbj1lLmV2ZW50VGltZXM7Zm9yKGU9ZS5leHBpcmF0aW9uVGltZXM7MDxyOyl7dmFyIGE9MzEtTWEociksaT0xPDxhO3RbYV09MCxuW2FdPS0xLGVbYV09LTEsciY9fml9fWZ1bmN0aW9uIGkyKGUsdCl7dmFyIHI9ZS5lbnRhbmdsZWRMYW5lc3w9dDtmb3IoZT1lLmVudGFuZ2xlbWVudHM7cjspe3ZhciBuPTMxLU1hKHIpLGE9MTw8bjthJnR8ZVtuXSZ0JiYoZVtuXXw9dCksciY9fmF9fXZhciBVdD0wO2Z1bmN0aW9uIE5MKGUpe3JldHVybiBlJj0tZSwxPGU/NDxlP2UmMjY4NDM1NDU1PzE2OjUzNjg3MDkxMjo0OjF9dmFyIENMLG8yLF9MLEJMLFNMLFdOPSExLEJnPVtdLGZsPW51bGwsaGw9bnVsbCxtbD1udWxsLHRtPW5ldyBNYXAscm09bmV3IE1hcCxXbz1bXSxPWj0ibW91c2Vkb3duIG1vdXNldXAgdG91Y2hjYW5jZWwgdG91Y2hlbmQgdG91Y2hzdGFydCBhdXhjbGljayBkYmxjbGljayBwb2ludGVyY2FuY2VsIHBvaW50ZXJkb3duIHBvaW50ZXJ1cCBkcmFnZW5kIGRyYWdzdGFydCBkcm9wIGNvbXBvc2l0aW9uZW5kIGNvbXBvc2l0aW9uc3RhcnQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCB0ZXh0SW5wdXQgY29weSBjdXQgcGFzdGUgY2xpY2sgY2hhbmdlIGNvbnRleHRtZW51IHJlc2V0IHN1Ym1pdCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBGUChlLHQpe3N3aXRjaChlKXtjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmZsPW51bGw7YnJlYWs7Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2xlYXZlIjpobD1udWxsO2JyZWFrO2Nhc2UibW91c2VvdmVyIjpjYXNlIm1vdXNlb3V0IjptbD1udWxsO2JyZWFrO2Nhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcm91dCI6dG0uZGVsZXRlKHQucG9pbnRlcklkKTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6cm0uZGVsZXRlKHQucG9pbnRlcklkKX19ZnVuY3Rpb24gU2YoZSx0LHIsbixhLGkpe3JldHVybiBlPT09bnVsbHx8ZS5uYXRpdmVFdmVudCE9PWk/KGU9e2Jsb2NrZWRPbjp0LGRvbUV2ZW50TmFtZTpyLGV2ZW50U3lzdGVtRmxhZ3M6bixuYXRpdmVFdmVudDppLHRhcmdldENvbnRhaW5lcnM6W2FdfSx0IT09bnVsbCYmKHQ9RnAodCksdCE9PW51bGwmJm8yKHQpKSxlKTooZS5ldmVudFN5c3RlbUZsYWdzfD1uLHQ9ZS50YXJnZXRDb250YWluZXJzLGEhPT1udWxsJiZ0LmluZGV4T2YoYSk9PT0tMSYmdC5wdXNoKGEpLGUpfWZ1bmN0aW9uIElaKGUsdCxyLG4sYSl7c3dpdGNoKHQpe2Nhc2UiZm9jdXNpbiI6cmV0dXJuIGZsPVNmKGZsLGUsdCxyLG4sYSksITA7Y2FzZSJkcmFnZW50ZXIiOnJldHVybiBobD1TZihobCxlLHQscixuLGEpLCEwO2Nhc2UibW91c2VvdmVyIjpyZXR1cm4gbWw9U2YobWwsZSx0LHIsbixhKSwhMDtjYXNlInBvaW50ZXJvdmVyIjp2YXIgaT1hLnBvaW50ZXJJZDtyZXR1cm4gdG0uc2V0KGksU2YodG0uZ2V0KGkpfHxudWxsLGUsdCxyLG4sYSkpLCEwO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOnJldHVybiBpPWEucG9pbnRlcklkLHJtLnNldChpLFNmKHJtLmdldChpKXx8bnVsbCxlLHQscixuLGEpKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBFTChlKXt2YXIgdD1iYyhlLnRhcmdldCk7aWYodCE9PW51bGwpe3ZhciByPWdkKHQpO2lmKHIhPT1udWxsKXtpZih0PXIudGFnLHQ9PT0xMyl7aWYodD1nTChyKSx0IT09bnVsbCl7ZS5ibG9ja2VkT249dCxTTChlLnByaW9yaXR5LGZ1bmN0aW9uKCl7X0wocil9KTtyZXR1cm59fWVsc2UgaWYodD09PTMmJnIuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2UuYmxvY2tlZE9uPXIudGFnPT09Mz9yLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBHeChlKXtpZihlLmJsb2NrZWRPbiE9PW51bGwpcmV0dXJuITE7Zm9yKHZhciB0PWUudGFyZ2V0Q29udGFpbmVyczswPHQubGVuZ3RoOyl7dmFyIHI9R04oZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLHRbMF0sZS5uYXRpdmVFdmVudCk7aWYocj09PW51bGwpe3I9ZS5uYXRpdmVFdmVudDt2YXIgbj1uZXcgci5jb25zdHJ1Y3RvcihyLnR5cGUscik7JE49bixyLnRhcmdldC5kaXNwYXRjaEV2ZW50KG4pLCROPW51bGx9ZWxzZSByZXR1cm4gdD1GcChyKSx0IT09bnVsbCYmbzIodCksZS5ibG9ja2VkT249ciwhMTt0LnNoaWZ0KCl9cmV0dXJuITB9ZnVuY3Rpb24gT1AoZSx0LHIpe0d4KGUpJiZyLmRlbGV0ZSh0KX1mdW5jdGlvbiBVWigpe1dOPSExLGZsIT09bnVsbCYmR3goZmwpJiYoZmw9bnVsbCksaGwhPT1udWxsJiZHeChobCkmJihobD1udWxsKSxtbCE9PW51bGwmJkd4KG1sKSYmKG1sPW51bGwpLHRtLmZvckVhY2goT1ApLHJtLmZvckVhY2goT1ApfWZ1bmN0aW9uIEVmKGUsdCl7ZS5ibG9ja2VkT249PT10JiYoZS5ibG9ja2VkT249bnVsbCxXTnx8KFdOPSEwLGpzLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2soanMudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksVVopKSl9ZnVuY3Rpb24gbm0oZSl7ZnVuY3Rpb24gdChhKXtyZXR1cm4gRWYoYSxlKX1pZigwPEJnLmxlbmd0aCl7RWYoQmdbMF0sZSk7Zm9yKHZhciByPTE7cjxCZy5sZW5ndGg7cisrKXt2YXIgbj1CZ1tyXTtuLmJsb2NrZWRPbj09PWUmJihuLmJsb2NrZWRPbj1udWxsKX19Zm9yKGZsIT09bnVsbCYmRWYoZmwsZSksaGwhPT1udWxsJiZFZihobCxlKSxtbCE9PW51bGwmJkVmKG1sLGUpLHRtLmZvckVhY2godCkscm0uZm9yRWFjaCh0KSxyPTA7cjxXby5sZW5ndGg7cisrKW49V29bcl0sbi5ibG9ja2VkT249PT1lJiYobi5ibG9ja2VkT249bnVsbCk7Zm9yKDswPFdvLmxlbmd0aCYmKHI9V29bMF0sci5ibG9ja2VkT249PT1udWxsKTspRUwociksci5ibG9ja2VkT249PT1udWxsJiZXby5zaGlmdCgpfXZhciBqdT1iby5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxOMD0hMDtmdW5jdGlvbiBEWihlLHQscixuKXt2YXIgYT1VdCxpPWp1LnRyYW5zaXRpb247anUudHJhbnNpdGlvbj1udWxsO3RyeXtVdD0xLGwyKGUsdCxyLG4pfWZpbmFsbHl7VXQ9YSxqdS50cmFuc2l0aW9uPWl9fWZ1bmN0aW9uIE1aKGUsdCxyLG4pe3ZhciBhPVV0LGk9anUudHJhbnNpdGlvbjtqdS50cmFuc2l0aW9uPW51bGw7dHJ5e1V0PTQsbDIoZSx0LHIsbil9ZmluYWxseXtVdD1hLGp1LnRyYW5zaXRpb249aX19ZnVuY3Rpb24gbDIoZSx0LHIsbil7aWYoTjApe3ZhciBhPUdOKGUsdCxyLG4pO2lmKGE9PT1udWxsKXYxKGUsdCxuLEMwLHIpLEZQKGUsbik7ZWxzZSBpZihJWihhLGUsdCxyLG4pKW4uc3RvcFByb3BhZ2F0aW9uKCk7ZWxzZSBpZihGUChlLG4pLHQmNCYmLTE8T1ouaW5kZXhPZihlKSl7Zm9yKDthIT09bnVsbDspe3ZhciBpPUZwKGEpO2lmKGkhPT1udWxsJiZDTChpKSxpPUdOKGUsdCxyLG4pLGk9PT1udWxsJiZ2MShlLHQsbixDMCxyKSxpPT09YSlicmVhazthPWl9YSE9PW51bGwmJm4uc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSB2MShlLHQsbixudWxsLHIpfX12YXIgQzA9bnVsbDtmdW5jdGlvbiBHTihlLHQscixuKXtpZihDMD1udWxsLGU9czIobiksZT1iYyhlKSxlIT09bnVsbClpZih0PWdkKGUpLHQ9PT1udWxsKWU9bnVsbDtlbHNlIGlmKHI9dC50YWcscj09PTEzKXtpZihlPWdMKHQpLGUhPT1udWxsKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKHI9PT0zKXtpZih0LnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiB0LnRhZz09PTM/dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIHQhPT1lJiYoZT1udWxsKTtyZXR1cm4gQzA9ZSxudWxsfWZ1bmN0aW9uIGtMKGUpe3N3aXRjaChlKXtjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6Y2FzZSJyZXNldCI6Y2FzZSJyZXNpemUiOmNhc2Uic2Vla2VkIjpjYXNlInN1Ym1pdCI6Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaHN0YXJ0IjpjYXNlInZvbHVtZWNoYW5nZSI6Y2FzZSJjaGFuZ2UiOmNhc2Uic2VsZWN0aW9uY2hhbmdlIjpjYXNlInRleHRJbnB1dCI6Y2FzZSJjb21wb3NpdGlvbnN0YXJ0IjpjYXNlImNvbXBvc2l0aW9uZW5kIjpjYXNlImNvbXBvc2l0aW9udXBkYXRlIjpjYXNlImJlZm9yZWJsdXIiOmNhc2UiYWZ0ZXJibHVyIjpjYXNlImJlZm9yZWlucHV0IjpjYXNlImJsdXIiOmNhc2UiZnVsbHNjcmVlbmNoYW5nZSI6Y2FzZSJmb2N1cyI6Y2FzZSJoYXNoY2hhbmdlIjpjYXNlInBvcHN0YXRlIjpjYXNlInNlbGVjdCI6Y2FzZSJzZWxlY3RzdGFydCI6cmV0dXJuIDE7Y2FzZSJkcmFnIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNlb3V0IjpjYXNlIm1vdXNlb3ZlciI6Y2FzZSJwb2ludGVybW92ZSI6Y2FzZSJwb2ludGVyb3V0IjpjYXNlInBvaW50ZXJvdmVyIjpjYXNlInNjcm9sbCI6Y2FzZSJ0b2dnbGUiOmNhc2UidG91Y2htb3ZlIjpjYXNlIndoZWVsIjpjYXNlIm1vdXNlZW50ZXIiOmNhc2UibW91c2VsZWF2ZSI6Y2FzZSJwb2ludGVyZW50ZXIiOmNhc2UicG9pbnRlcmxlYXZlIjpyZXR1cm4gNDtjYXNlIm1lc3NhZ2UiOnN3aXRjaChDWigpKXtjYXNlIGEyOnJldHVybiAxO2Nhc2Ugd0w6cmV0dXJuIDQ7Y2FzZSBiMDpjYXNlIF9aOnJldHVybiAxNjtjYXNlIGJMOnJldHVybiA1MzY4NzA5MTI7ZGVmYXVsdDpyZXR1cm4gMTZ9ZGVmYXVsdDpyZXR1cm4gMTZ9fXZhciBybD1udWxsLGMyPW51bGwscXg9bnVsbDtmdW5jdGlvbiBUTCgpe2lmKHF4KXJldHVybiBxeDt2YXIgZSx0PWMyLHI9dC5sZW5ndGgsbixhPSJ2YWx1ZSJpbiBybD9ybC52YWx1ZTpybC50ZXh0Q29udGVudCxpPWEubGVuZ3RoO2ZvcihlPTA7ZTxyJiZ0W2VdPT09YVtlXTtlKyspO3ZhciBvPXItZTtmb3Iobj0xO248PW8mJnRbci1uXT09PWFbaS1uXTtuKyspO3JldHVybiBxeD1hLnNsaWNlKGUsMTxuPzEtbjp2b2lkIDApfWZ1bmN0aW9uIFl4KGUpe3ZhciB0PWUua2V5Q29kZTtyZXR1cm4iY2hhckNvZGUiaW4gZT8oZT1lLmNoYXJDb2RlLGU9PT0wJiZ0PT09MTMmJihlPTEzKSk6ZT10LGU9PT0xMCYmKGU9MTMpLDMyPD1lfHxlPT09MTM/ZTowfWZ1bmN0aW9uIFNnKCl7cmV0dXJuITB9ZnVuY3Rpb24gSVAoKXtyZXR1cm4hMX1mdW5jdGlvbiBTcyhlKXtmdW5jdGlvbiB0KHIsbixhLGksbyl7dGhpcy5fcmVhY3ROYW1lPXIsdGhpcy5fdGFyZ2V0SW5zdD1hLHRoaXMudHlwZT1uLHRoaXMubmF0aXZlRXZlbnQ9aSx0aGlzLnRhcmdldD1vLHRoaXMuY3VycmVudFRhcmdldD1udWxsO2Zvcih2YXIgbCBpbiBlKWUuaGFzT3duUHJvcGVydHkobCkmJihyPWVbbF0sdGhpc1tsXT1yP3IoaSk6aVtsXSk7cmV0dXJuIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPShpLmRlZmF1bHRQcmV2ZW50ZWQhPW51bGw/aS5kZWZhdWx0UHJldmVudGVkOmkucmV0dXJuVmFsdWU9PT0hMSk/U2c6SVAsdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1JUCx0aGlzfXJldHVybiBwcih0LnByb3RvdHlwZSx7cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITA7dmFyIHI9dGhpcy5uYXRpdmVFdmVudDtyJiYoci5wcmV2ZW50RGVmYXVsdD9yLnByZXZlbnREZWZhdWx0KCk6dHlwZW9mIHIucmV0dXJuVmFsdWUhPSJ1bmtub3duIiYmKHIucmV0dXJuVmFsdWU9ITEpLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPVNnKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5uYXRpdmVFdmVudDtyJiYoci5zdG9wUHJvcGFnYXRpb24/ci5zdG9wUHJvcGFnYXRpb24oKTp0eXBlb2Ygci5jYW5jZWxCdWJibGUhPSJ1bmtub3duIiYmKHIuY2FuY2VsQnViYmxlPSEwKSx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPVNnKX0scGVyc2lzdDpmdW5jdGlvbigpe30saXNQZXJzaXN0ZW50OlNnfSksdH12YXIgSEE9e2V2ZW50UGhhc2U6MCxidWJibGVzOjAsY2FuY2VsYWJsZTowLHRpbWVTdGFtcDpmdW5jdGlvbihlKXtyZXR1cm4gZS50aW1lU3RhbXB8fERhdGUubm93KCl9LGRlZmF1bHRQcmV2ZW50ZWQ6MCxpc1RydXN0ZWQ6MH0sZDI9U3MoSEEpLFBwPXByKHt9LEhBLHt2aWV3OjAsZGV0YWlsOjB9KSxSWj1TcyhQcCksdTEsQTEsa2YsS3Y9cHIoe30sUHAse3NjcmVlblg6MCxzY3JlZW5ZOjAsY2xpZW50WDowLGNsaWVudFk6MCxwYWdlWDowLHBhZ2VZOjAsY3RybEtleTowLHNoaWZ0S2V5OjAsYWx0S2V5OjAsbWV0YUtleTowLGdldE1vZGlmaWVyU3RhdGU6dTIsYnV0dG9uOjAsYnV0dG9uczowLHJlbGF0ZWRUYXJnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVsYXRlZFRhcmdldD09PXZvaWQgMD9lLmZyb21FbGVtZW50PT09ZS5zcmNFbGVtZW50P2UudG9FbGVtZW50OmUuZnJvbUVsZW1lbnQ6ZS5yZWxhdGVkVGFyZ2V0fSxtb3ZlbWVudFg6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WCJpbiBlP2UubW92ZW1lbnRYOihlIT09a2YmJihrZiYmZS50eXBlPT09Im1vdXNlbW92ZSI/KHUxPWUuc2NyZWVuWC1rZi5zY3JlZW5YLEExPWUuc2NyZWVuWS1rZi5zY3JlZW5ZKTpBMT11MT0wLGtmPWUpLHUxKX0sbW92ZW1lbnRZOmZ1bmN0aW9uKGUpe3JldHVybiJtb3ZlbWVudFkiaW4gZT9lLm1vdmVtZW50WTpBMX19KSxVUD1TcyhLdiksUVo9cHIoe30sS3Yse2RhdGFUcmFuc2ZlcjowfSksTFo9U3MoUVopLCRaPXByKHt9LFBwLHtyZWxhdGVkVGFyZ2V0OjB9KSxmMT1TcygkWiksSFo9cHIoe30sSEEse2FuaW1hdGlvbk5hbWU6MCxlbGFwc2VkVGltZTowLHBzZXVkb0VsZW1lbnQ6MH0pLEtaPVNzKEhaKSxWWj1wcih7fSxIQSx7Y2xpcGJvYXJkRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4iY2xpcGJvYXJkRGF0YSJpbiBlP2UuY2xpcGJvYXJkRGF0YTp3aW5kb3cuY2xpcGJvYXJkRGF0YX19KSx6Wj1TcyhWWiksV1o9cHIoe30sSEEse2RhdGE6MH0pLERQPVNzKFdaKSxHWj17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLFVwOiJBcnJvd1VwIixSaWdodDoiQXJyb3dSaWdodCIsRG93bjoiQXJyb3dEb3duIixEZWw6IkRlbGV0ZSIsV2luOiJPUyIsTWVudToiQ29udGV4dE1lbnUiLEFwcHM6IkNvbnRleHRNZW51IixTY3JvbGw6IlNjcm9sbExvY2siLE1velByaW50YWJsZUtleToiVW5pZGVudGlmaWVkIn0scVo9ezg6IkJhY2tzcGFjZSIsOToiVGFiIiwxMjoiQ2xlYXIiLDEzOiJFbnRlciIsMTY6IlNoaWZ0IiwxNzoiQ29udHJvbCIsMTg6IkFsdCIsMTk6IlBhdXNlIiwyMDoiQ2Fwc0xvY2siLDI3OiJFc2NhcGUiLDMyOiIgIiwzMzoiUGFnZVVwIiwzNDoiUGFnZURvd24iLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnNlcnQiLDQ2OiJEZWxldGUiLDExMjoiRjEiLDExMzoiRjIiLDExNDoiRjMiLDExNToiRjQiLDExNjoiRjUiLDExNzoiRjYiLDExODoiRjciLDExOToiRjgiLDEyMDoiRjkiLDEyMToiRjEwIiwxMjI6IkYxMSIsMTIzOiJGMTIiLDE0NDoiTnVtTG9jayIsMTQ1OiJTY3JvbGxMb2NrIiwyMjQ6Ik1ldGEifSxZWj17QWx0OiJhbHRLZXkiLENvbnRyb2w6ImN0cmxLZXkiLE1ldGE6Im1ldGFLZXkiLFNoaWZ0OiJzaGlmdEtleSJ9O2Z1bmN0aW9uIFhaKGUpe3ZhciB0PXRoaXMubmF0aXZlRXZlbnQ7cmV0dXJuIHQuZ2V0TW9kaWZpZXJTdGF0ZT90LmdldE1vZGlmaWVyU3RhdGUoZSk6KGU9WVpbZV0pPyEhdFtlXTohMX1mdW5jdGlvbiB1Migpe3JldHVybiBYWn12YXIgSlo9cHIoe30sUHAse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIHQ9R1pbZS5rZXldfHxlLmtleTtpZih0IT09IlVuaWRlbnRpZmllZCIpcmV0dXJuIHR9cmV0dXJuIGUudHlwZT09PSJrZXlwcmVzcyI/KGU9WXgoZSksZT09PTEzPyJFbnRlciI6U3RyaW5nLmZyb21DaGFyQ29kZShlKSk6ZS50eXBlPT09ImtleWRvd24ifHxlLnR5cGU9PT0ia2V5dXAiP3FaW2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTp1MixjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09ImtleXByZXNzIj9ZeChlKTowfSxrZXlDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT0ia2V5ZG93biJ8fGUudHlwZT09PSJrZXl1cCI/ZS5rZXlDb2RlOjB9LHdoaWNoOmZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT0ia2V5cHJlc3MiP1l4KGUpOmUudHlwZT09PSJrZXlkb3duInx8ZS50eXBlPT09ImtleXVwIj9lLmtleUNvZGU6MH19KSxaWj1TcyhKWiksZWVlPXByKHt9LEt2LHtwb2ludGVySWQ6MCx3aWR0aDowLGhlaWdodDowLHByZXNzdXJlOjAsdGFuZ2VudGlhbFByZXNzdXJlOjAsdGlsdFg6MCx0aWx0WTowLHR3aXN0OjAscG9pbnRlclR5cGU6MCxpc1ByaW1hcnk6MH0pLE1QPVNzKGVlZSksdGVlPXByKHt9LFBwLHt0b3VjaGVzOjAsdGFyZ2V0VG91Y2hlczowLGNoYW5nZWRUb3VjaGVzOjAsYWx0S2V5OjAsbWV0YUtleTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGdldE1vZGlmaWVyU3RhdGU6dTJ9KSxyZWU9U3ModGVlKSxuZWU9cHIoe30sSEEse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSksc2VlPVNzKG5lZSksYWVlPXByKHt9LEt2LHtkZWx0YVg6ZnVuY3Rpb24oZSl7cmV0dXJuImRlbHRhWCJpbiBlP2UuZGVsdGFYOiJ3aGVlbERlbHRhWCJpbiBlPy1lLndoZWVsRGVsdGFYOjB9LGRlbHRhWTpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFZImluIGU/ZS5kZWx0YVk6IndoZWVsRGVsdGFZImluIGU/LWUud2hlZWxEZWx0YVk6IndoZWVsRGVsdGEiaW4gZT8tZS53aGVlbERlbHRhOjB9LGRlbHRhWjowLGRlbHRhTW9kZTowfSksaWVlPVNzKGFlZSksb2VlPVs5LDEzLDI3LDMyXSxBMj1jbyYmIkNvbXBvc2l0aW9uRXZlbnQiaW4gd2luZG93LE5oPW51bGw7Y28mJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihOaD1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBsZWU9Y28mJiJUZXh0RXZlbnQiaW4gd2luZG93JiYhTmgsUEw9Y28mJighQTJ8fE5oJiY4PE5oJiYxMT49TmgpLFJQPSIgIixRUD0hMTtmdW5jdGlvbiBGTChlLHQpe3N3aXRjaChlKXtjYXNlImtleXVwIjpyZXR1cm4gb2VlLmluZGV4T2YodC5rZXlDb2RlKSE9PS0xO2Nhc2Uia2V5ZG93biI6cmV0dXJuIHQua2V5Q29kZSE9PTIyOTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gT0woZSl7cmV0dXJuIGU9ZS5kZXRhaWwsdHlwZW9mIGU9PSJvYmplY3QiJiYiZGF0YSJpbiBlP2UuZGF0YTpudWxsfXZhciB0dT0hMTtmdW5jdGlvbiBjZWUoZSx0KXtzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIE9MKHQpO2Nhc2Uia2V5cHJlc3MiOnJldHVybiB0LndoaWNoIT09MzI/bnVsbDooUVA9ITAsUlApO2Nhc2UidGV4dElucHV0IjpyZXR1cm4gZT10LmRhdGEsZT09PVJQJiZRUD9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gZGVlKGUsdCl7aWYodHUpcmV0dXJuIGU9PT0iY29tcG9zaXRpb25lbmQifHwhQTImJkZMKGUsdCk/KGU9VEwoKSxxeD1jMj1ybD1udWxsLHR1PSExLGUpOm51bGw7c3dpdGNoKGUpe2Nhc2UicGFzdGUiOnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEodC5jdHJsS2V5fHx0LmFsdEtleXx8dC5tZXRhS2V5KXx8dC5jdHJsS2V5JiZ0LmFsdEtleSl7aWYodC5jaGFyJiYxPHQuY2hhci5sZW5ndGgpcmV0dXJuIHQuY2hhcjtpZih0LndoaWNoKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHQud2hpY2gpfXJldHVybiBudWxsO2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBQTCYmdC5sb2NhbGUhPT0ia28iP251bGw6dC5kYXRhO2RlZmF1bHQ6cmV0dXJuIG51bGx9fXZhciB1ZWU9e2NvbG9yOiEwLGRhdGU6ITAsZGF0ZXRpbWU6ITAsImRhdGV0aW1lLWxvY2FsIjohMCxlbWFpbDohMCxtb250aDohMCxudW1iZXI6ITAscGFzc3dvcmQ6ITAscmFuZ2U6ITAsc2VhcmNoOiEwLHRlbDohMCx0ZXh0OiEwLHRpbWU6ITAsdXJsOiEwLHdlZWs6ITB9O2Z1bmN0aW9uIExQKGUpe3ZhciB0PWUmJmUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdD09PSJpbnB1dCI/ISF1ZWVbZS50eXBlXTp0PT09InRleHRhcmVhIn1mdW5jdGlvbiBJTChlLHQscixuKXtBTChuKSx0PV8wKHQsIm9uQ2hhbmdlIiksMDx0Lmxlbmd0aCYmKHI9bmV3IGQyKCJvbkNoYW5nZSIsImNoYW5nZSIsbnVsbCxyLG4pLGUucHVzaCh7ZXZlbnQ6cixsaXN0ZW5lcnM6dH0pKX12YXIgQ2g9bnVsbCxzbT1udWxsO2Z1bmN0aW9uIEFlZShlKXt6TChlLDApfWZ1bmN0aW9uIFZ2KGUpe3ZhciB0PXN1KGUpO2lmKGFMKHQpKXJldHVybiBlfWZ1bmN0aW9uIGZlZShlLHQpe2lmKGU9PT0iY2hhbmdlIilyZXR1cm4gdH12YXIgVUw9ITE7aWYoY28pe3ZhciBoMTtpZihjbyl7dmFyIG0xPSJvbmlucHV0ImluIGRvY3VtZW50O2lmKCFtMSl7dmFyICRQPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOyRQLnNldEF0dHJpYnV0ZSgib25pbnB1dCIsInJldHVybjsiKSxtMT10eXBlb2YgJFAub25pbnB1dD09ImZ1bmN0aW9uIn1oMT1tMX1lbHNlIGgxPSExO1VMPWgxJiYoIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8OTxkb2N1bWVudC5kb2N1bWVudE1vZGUpfWZ1bmN0aW9uIEhQKCl7Q2gmJihDaC5kZXRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsREwpLHNtPUNoPW51bGwpfWZ1bmN0aW9uIERMKGUpe2lmKGUucHJvcGVydHlOYW1lPT09InZhbHVlIiYmVnYoc20pKXt2YXIgdD1bXTtJTCh0LHNtLGUsczIoZSkpLHBMKEFlZSx0KX19ZnVuY3Rpb24gaGVlKGUsdCxyKXtlPT09ImZvY3VzaW4iPyhIUCgpLENoPXQsc209cixDaC5hdHRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsREwpKTplPT09ImZvY3Vzb3V0IiYmSFAoKX1mdW5jdGlvbiBtZWUoZSl7aWYoZT09PSJzZWxlY3Rpb25jaGFuZ2UifHxlPT09ImtleXVwInx8ZT09PSJrZXlkb3duIilyZXR1cm4gVnYoc20pfWZ1bmN0aW9uIHBlZShlLHQpe2lmKGU9PT0iY2xpY2siKXJldHVybiBWdih0KX1mdW5jdGlvbiBnZWUoZSx0KXtpZihlPT09ImlucHV0Inx8ZT09PSJjaGFuZ2UiKXJldHVybiBWdih0KX1mdW5jdGlvbiB4ZWUoZSx0KXtyZXR1cm4gZT09PXQmJihlIT09MHx8MS9lPT09MS90KXx8ZSE9PWUmJnQhPT10fXZhciBLYT10eXBlb2YgT2JqZWN0LmlzPT0iZnVuY3Rpb24iP09iamVjdC5pczp4ZWU7ZnVuY3Rpb24gYW0oZSx0KXtpZihLYShlLHQpKXJldHVybiEwO2lmKHR5cGVvZiBlIT0ib2JqZWN0Inx8ZT09PW51bGx8fHR5cGVvZiB0IT0ib2JqZWN0Inx8dD09PW51bGwpcmV0dXJuITE7dmFyIHI9T2JqZWN0LmtleXMoZSksbj1PYmplY3Qua2V5cyh0KTtpZihyLmxlbmd0aCE9PW4ubGVuZ3RoKXJldHVybiExO2ZvcihuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBhPXJbbl07aWYoIWtOLmNhbGwodCxhKXx8IUthKGVbYV0sdFthXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gS1AoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIFZQKGUsdCl7dmFyIHI9S1AoZSk7ZT0wO2Zvcih2YXIgbjtyOyl7aWYoci5ub2RlVHlwZT09PTMpe2lmKG49ZStyLnRleHRDb250ZW50Lmxlbmd0aCxlPD10JiZuPj10KXJldHVybntub2RlOnIsb2Zmc2V0OnQtZX07ZT1ufWU6e2Zvcig7cjspe2lmKHIubmV4dFNpYmxpbmcpe3I9ci5uZXh0U2libGluZzticmVhayBlfXI9ci5wYXJlbnROb2RlfXI9dm9pZCAwfXI9S1Aocil9fWZ1bmN0aW9uIE1MKGUsdCl7cmV0dXJuIGUmJnQ/ZT09PXQ/ITA6ZSYmZS5ub2RlVHlwZT09PTM/ITE6dCYmdC5ub2RlVHlwZT09PTM/TUwoZSx0LnBhcmVudE5vZGUpOiJjb250YWlucyJpbiBlP2UuY29udGFpbnModCk6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8hIShlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJjE2KTohMTohMX1mdW5jdGlvbiBSTCgpe2Zvcih2YXIgZT13aW5kb3csdD15MCgpO3QgaW5zdGFuY2VvZiBlLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciByPXR5cGVvZiB0LmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZj09InN0cmluZyJ9Y2F0Y2h7cj0hMX1pZihyKWU9dC5jb250ZW50V2luZG93O2Vsc2UgYnJlYWs7dD15MChlLmRvY3VtZW50KX1yZXR1cm4gdH1mdW5jdGlvbiBmMihlKXt2YXIgdD1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQmJih0PT09ImlucHV0IiYmKGUudHlwZT09PSJ0ZXh0Inx8ZS50eXBlPT09InNlYXJjaCJ8fGUudHlwZT09PSJ0ZWwifHxlLnR5cGU9PT0idXJsInx8ZS50eXBlPT09InBhc3N3b3JkIil8fHQ9PT0idGV4dGFyZWEifHxlLmNvbnRlbnRFZGl0YWJsZT09PSJ0cnVlIil9ZnVuY3Rpb24geWVlKGUpe3ZhciB0PVJMKCkscj1lLmZvY3VzZWRFbGVtLG49ZS5zZWxlY3Rpb25SYW5nZTtpZih0IT09ciYmciYmci5vd25lckRvY3VtZW50JiZNTChyLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHIpKXtpZihuIT09bnVsbCYmZjIocikpe2lmKHQ9bi5zdGFydCxlPW4uZW5kLGU9PT12b2lkIDAmJihlPXQpLCJzZWxlY3Rpb25TdGFydCJpbiByKXIuc2VsZWN0aW9uU3RhcnQ9dCxyLnNlbGVjdGlvbkVuZD1NYXRoLm1pbihlLHIudmFsdWUubGVuZ3RoKTtlbHNlIGlmKGU9KHQ9ci5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJnQuZGVmYXVsdFZpZXd8fHdpbmRvdyxlLmdldFNlbGVjdGlvbil7ZT1lLmdldFNlbGVjdGlvbigpO3ZhciBhPXIudGV4dENvbnRlbnQubGVuZ3RoLGk9TWF0aC5taW4obi5zdGFydCxhKTtuPW4uZW5kPT09dm9pZCAwP2k6TWF0aC5taW4obi5lbmQsYSksIWUuZXh0ZW5kJiZpPm4mJihhPW4sbj1pLGk9YSksYT1WUChyLGkpO3ZhciBvPVZQKHIsbik7YSYmbyYmKGUucmFuZ2VDb3VudCE9PTF8fGUuYW5jaG9yTm9kZSE9PWEubm9kZXx8ZS5hbmNob3JPZmZzZXQhPT1hLm9mZnNldHx8ZS5mb2N1c05vZGUhPT1vLm5vZGV8fGUuZm9jdXNPZmZzZXQhPT1vLm9mZnNldCkmJih0PXQuY3JlYXRlUmFuZ2UoKSx0LnNldFN0YXJ0KGEubm9kZSxhLm9mZnNldCksZS5yZW1vdmVBbGxSYW5nZXMoKSxpPm4/KGUuYWRkUmFuZ2UodCksZS5leHRlbmQoby5ub2RlLG8ub2Zmc2V0KSk6KHQuc2V0RW5kKG8ubm9kZSxvLm9mZnNldCksZS5hZGRSYW5nZSh0KSkpfX1mb3IodD1bXSxlPXI7ZT1lLnBhcmVudE5vZGU7KWUubm9kZVR5cGU9PT0xJiZ0LnB1c2goe2VsZW1lbnQ6ZSxsZWZ0OmUuc2Nyb2xsTGVmdCx0b3A6ZS5zY3JvbGxUb3B9KTtmb3IodHlwZW9mIHIuZm9jdXM9PSJmdW5jdGlvbiImJnIuZm9jdXMoKSxyPTA7cjx0Lmxlbmd0aDtyKyspZT10W3JdLGUuZWxlbWVudC5zY3JvbGxMZWZ0PWUubGVmdCxlLmVsZW1lbnQuc2Nyb2xsVG9wPWUudG9wfX12YXIgdmVlPWNvJiYiZG9jdW1lbnRNb2RlImluIGRvY3VtZW50JiYxMT49ZG9jdW1lbnQuZG9jdW1lbnRNb2RlLHJ1PW51bGwscU49bnVsbCxfaD1udWxsLFlOPSExO2Z1bmN0aW9uIHpQKGUsdCxyKXt2YXIgbj1yLndpbmRvdz09PXI/ci5kb2N1bWVudDpyLm5vZGVUeXBlPT09OT9yOnIub3duZXJEb2N1bWVudDtZTnx8cnU9PW51bGx8fHJ1IT09eTAobil8fChuPXJ1LCJzZWxlY3Rpb25TdGFydCJpbiBuJiZmMihuKT9uPXtzdGFydDpuLnNlbGVjdGlvblN0YXJ0LGVuZDpuLnNlbGVjdGlvbkVuZH06KG49KG4ub3duZXJEb2N1bWVudCYmbi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpLG49e2FuY2hvck5vZGU6bi5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpuLmFuY2hvck9mZnNldCxmb2N1c05vZGU6bi5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6bi5mb2N1c09mZnNldH0pLF9oJiZhbShfaCxuKXx8KF9oPW4sbj1fMChxTiwib25TZWxlY3QiKSwwPG4ubGVuZ3RoJiYodD1uZXcgZDIoIm9uU2VsZWN0Iiwic2VsZWN0IixudWxsLHQsciksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpufSksdC50YXJnZXQ9cnUpKSl9ZnVuY3Rpb24gRWcoZSx0KXt2YXIgcj17fTtyZXR1cm4gcltlLnRvTG93ZXJDYXNlKCldPXQudG9Mb3dlckNhc2UoKSxyWyJXZWJraXQiK2VdPSJ3ZWJraXQiK3QsclsiTW96IitlXT0ibW96Iit0LHJ9dmFyIG51PXthbmltYXRpb25lbmQ6RWcoIkFuaW1hdGlvbiIsIkFuaW1hdGlvbkVuZCIpLGFuaW1hdGlvbml0ZXJhdGlvbjpFZygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uSXRlcmF0aW9uIiksYW5pbWF0aW9uc3RhcnQ6RWcoIkFuaW1hdGlvbiIsIkFuaW1hdGlvblN0YXJ0IiksdHJhbnNpdGlvbmVuZDpFZygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25FbmQiKX0scDE9e30sUUw9e307Y28mJihRTD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIG51LmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIG51LmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIG51LmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBudS50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO2Z1bmN0aW9uIHp2KGUpe2lmKHAxW2VdKXJldHVybiBwMVtlXTtpZighbnVbZV0pcmV0dXJuIGU7dmFyIHQ9bnVbZV0scjtmb3IociBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkocikmJnIgaW4gUUwpcmV0dXJuIHAxW2VdPXRbcl07cmV0dXJuIGV9dmFyIExMPXp2KCJhbmltYXRpb25lbmQiKSwkTD16digiYW5pbWF0aW9uaXRlcmF0aW9uIiksSEw9enYoImFuaW1hdGlvbnN0YXJ0IiksS0w9enYoInRyYW5zaXRpb25lbmQiKSxWTD1uZXcgTWFwLFdQPSJhYm9ydCBhdXhDbGljayBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBMbChlLHQpe1ZMLnNldChlLHQpLHBkKHQsW2VdKX1mb3IodmFyIGcxPTA7ZzE8V1AubGVuZ3RoO2cxKyspe3ZhciB4MT1XUFtnMV0sd2VlPXgxLnRvTG93ZXJDYXNlKCksYmVlPXgxWzBdLnRvVXBwZXJDYXNlKCkreDEuc2xpY2UoMSk7TGwod2VlLCJvbiIrYmVlKX1MbChMTCwib25BbmltYXRpb25FbmQiKTtMbCgkTCwib25BbmltYXRpb25JdGVyYXRpb24iKTtMbChITCwib25BbmltYXRpb25TdGFydCIpO0xsKCJkYmxjbGljayIsIm9uRG91YmxlQ2xpY2siKTtMbCgiZm9jdXNpbiIsIm9uRm9jdXMiKTtMbCgiZm9jdXNvdXQiLCJvbkJsdXIiKTtMbChLTCwib25UcmFuc2l0aW9uRW5kIik7V3UoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKTtXdSgib25Nb3VzZUxlYXZlIixbIm1vdXNlb3V0IiwibW91c2VvdmVyIl0pO1d1KCJvblBvaW50ZXJFbnRlciIsWyJwb2ludGVyb3V0IiwicG9pbnRlcm92ZXIiXSk7V3UoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKTtwZCgib25DaGFuZ2UiLCJjaGFuZ2UgY2xpY2sgZm9jdXNpbiBmb2N1c291dCBpbnB1dCBrZXlkb3duIGtleXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSk7cGQoIm9uU2VsZWN0IiwiZm9jdXNvdXQgY29udGV4dG1lbnUgZHJhZ2VuZCBmb2N1c2luIGtleWRvd24ga2V5dXAgbW91c2Vkb3duIG1vdXNldXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKTtwZCgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSk7cGQoIm9uQ29tcG9zaXRpb25FbmQiLCJjb21wb3NpdGlvbmVuZCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSk7cGQoIm9uQ29tcG9zaXRpb25TdGFydCIsImNvbXBvc2l0aW9uc3RhcnQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpO3BkKCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpO3ZhciBzaD0iYWJvcnQgY2FucGxheSBjYW5wbGF5dGhyb3VnaCBkdXJhdGlvbmNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBsb2FkZWRkYXRhIGxvYWRlZG1ldGFkYXRhIGxvYWRzdGFydCBwYXVzZSBwbGF5IHBsYXlpbmcgcHJvZ3Jlc3MgcmF0ZWNoYW5nZSByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdXNwZW5kIHRpbWV1cGRhdGUgdm9sdW1lY2hhbmdlIHdhaXRpbmciLnNwbGl0KCIgIiksamVlPW5ldyBTZXQoImNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQoc2gpKTtmdW5jdGlvbiBHUChlLHQscil7dmFyIG49ZS50eXBlfHwidW5rbm93bi1ldmVudCI7ZS5jdXJyZW50VGFyZ2V0PXIsd1oobix0LHZvaWQgMCxlKSxlLmN1cnJlbnRUYXJnZXQ9bnVsbH1mdW5jdGlvbiB6TChlLHQpe3Q9KHQmNCkhPT0wO2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1lW3JdLGE9bi5ldmVudDtuPW4ubGlzdGVuZXJzO2U6e3ZhciBpPXZvaWQgMDtpZih0KWZvcih2YXIgbz1uLmxlbmd0aC0xOzA8PW87by0tKXt2YXIgbD1uW29dLGM9bC5pbnN0YW5jZSxkPWwuY3VycmVudFRhcmdldDtpZihsPWwubGlzdGVuZXIsYyE9PWkmJmEuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO0dQKGEsbCxkKSxpPWN9ZWxzZSBmb3Iobz0wO288bi5sZW5ndGg7bysrKXtpZihsPW5bb10sYz1sLmluc3RhbmNlLGQ9bC5jdXJyZW50VGFyZ2V0LGw9bC5saXN0ZW5lcixjIT09aSYmYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGU7R1AoYSxsLGQpLGk9Y319fWlmKHcwKXRocm93IGU9Vk4sdzA9ITEsVk49bnVsbCxlfWZ1bmN0aW9uIFp0KGUsdCl7dmFyIHI9dFt0Q107cj09PXZvaWQgMCYmKHI9dFt0Q109bmV3IFNldCk7dmFyIG49ZSsiX19idWJibGUiO3IuaGFzKG4pfHwoV0wodCxlLDIsITEpLHIuYWRkKG4pKX1mdW5jdGlvbiB5MShlLHQscil7dmFyIG49MDt0JiYobnw9NCksV0wocixlLG4sdCl9dmFyIGtnPSJfcmVhY3RMaXN0ZW5pbmciK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpO2Z1bmN0aW9uIGltKGUpe2lmKCFlW2tnXSl7ZVtrZ109ITAsZUwuZm9yRWFjaChmdW5jdGlvbihyKXtyIT09InNlbGVjdGlvbmNoYW5nZSImJihqZWUuaGFzKHIpfHx5MShyLCExLGUpLHkxKHIsITAsZSkpfSk7dmFyIHQ9ZS5ub2RlVHlwZT09PTk/ZTplLm93bmVyRG9jdW1lbnQ7dD09PW51bGx8fHRba2ddfHwodFtrZ109ITAseTEoInNlbGVjdGlvbmNoYW5nZSIsITEsdCkpfX1mdW5jdGlvbiBXTChlLHQscixuKXtzd2l0Y2goa0wodCkpe2Nhc2UgMTp2YXIgYT1EWjticmVhaztjYXNlIDQ6YT1NWjticmVhaztkZWZhdWx0OmE9bDJ9cj1hLmJpbmQobnVsbCx0LHIsZSksYT12b2lkIDAsIUtOfHx0IT09InRvdWNoc3RhcnQiJiZ0IT09InRvdWNobW92ZSImJnQhPT0id2hlZWwifHwoYT0hMCksbj9hIT09dm9pZCAwP2UuYWRkRXZlbnRMaXN0ZW5lcih0LHIse2NhcHR1cmU6ITAscGFzc2l2ZTphfSk6ZS5hZGRFdmVudExpc3RlbmVyKHQsciwhMCk6YSE9PXZvaWQgMD9lLmFkZEV2ZW50TGlzdGVuZXIodCxyLHtwYXNzaXZlOmF9KTplLmFkZEV2ZW50TGlzdGVuZXIodCxyLCExKX1mdW5jdGlvbiB2MShlLHQscixuLGEpe3ZhciBpPW47aWYoISh0JjEpJiYhKHQmMikmJm4hPT1udWxsKWU6Zm9yKDs7KXtpZihuPT09bnVsbClyZXR1cm47dmFyIG89bi50YWc7aWYobz09PTN8fG89PT00KXt2YXIgbD1uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO2lmKGw9PT1hfHxsLm5vZGVUeXBlPT09OCYmbC5wYXJlbnROb2RlPT09YSlicmVhaztpZihvPT09NClmb3Iobz1uLnJldHVybjtvIT09bnVsbDspe3ZhciBjPW8udGFnO2lmKChjPT09M3x8Yz09PTQpJiYoYz1vLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGM9PT1hfHxjLm5vZGVUeXBlPT09OCYmYy5wYXJlbnROb2RlPT09YSkpcmV0dXJuO289by5yZXR1cm59Zm9yKDtsIT09bnVsbDspe2lmKG89YmMobCksbz09PW51bGwpcmV0dXJuO2lmKGM9by50YWcsYz09PTV8fGM9PT02KXtuPWk9bztjb250aW51ZSBlfWw9bC5wYXJlbnROb2RlfX1uPW4ucmV0dXJufXBMKGZ1bmN0aW9uKCl7dmFyIGQ9aSx1PXMyKHIpLEE9W107ZTp7dmFyIGY9VkwuZ2V0KGUpO2lmKGYhPT12b2lkIDApe3ZhciBoPWQyLHA9ZTtzd2l0Y2goZSl7Y2FzZSJrZXlwcmVzcyI6aWYoWXgocik9PT0wKWJyZWFrIGU7Y2FzZSJrZXlkb3duIjpjYXNlImtleXVwIjpoPVpaO2JyZWFrO2Nhc2UiZm9jdXNpbiI6cD0iZm9jdXMiLGg9ZjE7YnJlYWs7Y2FzZSJmb2N1c291dCI6cD0iYmx1ciIsaD1mMTticmVhaztjYXNlImJlZm9yZWJsdXIiOmNhc2UiYWZ0ZXJibHVyIjpoPWYxO2JyZWFrO2Nhc2UiY2xpY2siOmlmKHIuYnV0dG9uPT09MilicmVhayBlO2Nhc2UiYXV4Y2xpY2siOmNhc2UiZGJsY2xpY2siOmNhc2UibW91c2Vkb3duIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZXVwIjpjYXNlIm1vdXNlb3V0IjpjYXNlIm1vdXNlb3ZlciI6Y2FzZSJjb250ZXh0bWVudSI6aD1VUDticmVhaztjYXNlImRyYWciOmNhc2UiZHJhZ2VuZCI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpoPUxaO2JyZWFrO2Nhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2htb3ZlIjpjYXNlInRvdWNoc3RhcnQiOmg9cmVlO2JyZWFrO2Nhc2UgTEw6Y2FzZSAkTDpjYXNlIEhMOmg9S1o7YnJlYWs7Y2FzZSBLTDpoPXNlZTticmVhaztjYXNlInNjcm9sbCI6aD1SWjticmVhaztjYXNlIndoZWVsIjpoPWllZTticmVhaztjYXNlImNvcHkiOmNhc2UiY3V0IjpjYXNlInBhc3RlIjpoPXpaO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOmg9TVB9dmFyIG09KHQmNCkhPT0wLHg9IW0mJmU9PT0ic2Nyb2xsIix3PW0/ZiE9PW51bGw/ZisiQ2FwdHVyZSI6bnVsbDpmO209W107Zm9yKHZhciB5PWQsdjt5IT09bnVsbDspe3Y9eTt2YXIgYj12LnN0YXRlTm9kZTtpZih2LnRhZz09PTUmJmIhPT1udWxsJiYodj1iLHchPT1udWxsJiYoYj1lbSh5LHcpLGIhPW51bGwmJm0ucHVzaChvbSh5LGIsdikpKSkseClicmVhazt5PXkucmV0dXJufTA8bS5sZW5ndGgmJihmPW5ldyBoKGYscCxudWxsLHIsdSksQS5wdXNoKHtldmVudDpmLGxpc3RlbmVyczptfSkpfX1pZighKHQmNykpe2U6e2lmKGY9ZT09PSJtb3VzZW92ZXIifHxlPT09InBvaW50ZXJvdmVyIixoPWU9PT0ibW91c2VvdXQifHxlPT09InBvaW50ZXJvdXQiLGYmJnIhPT0kTiYmKHA9ci5yZWxhdGVkVGFyZ2V0fHxyLmZyb21FbGVtZW50KSYmKGJjKHApfHxwW3VvXSkpYnJlYWsgZTtpZigoaHx8ZikmJihmPXUud2luZG93PT09dT91OihmPXUub3duZXJEb2N1bWVudCk/Zi5kZWZhdWx0Vmlld3x8Zi5wYXJlbnRXaW5kb3c6d2luZG93LGg/KHA9ci5yZWxhdGVkVGFyZ2V0fHxyLnRvRWxlbWVudCxoPWQscD1wP2JjKHApOm51bGwscCE9PW51bGwmJih4PWdkKHApLHAhPT14fHxwLnRhZyE9PTUmJnAudGFnIT09NikmJihwPW51bGwpKTooaD1udWxsLHA9ZCksaCE9PXApKXtpZihtPVVQLGI9Im9uTW91c2VMZWF2ZSIsdz0ib25Nb3VzZUVudGVyIix5PSJtb3VzZSIsKGU9PT0icG9pbnRlcm91dCJ8fGU9PT0icG9pbnRlcm92ZXIiKSYmKG09TVAsYj0ib25Qb2ludGVyTGVhdmUiLHc9Im9uUG9pbnRlckVudGVyIix5PSJwb2ludGVyIikseD1oPT1udWxsP2Y6c3UoaCksdj1wPT1udWxsP2Y6c3UocCksZj1uZXcgbShiLHkrImxlYXZlIixoLHIsdSksZi50YXJnZXQ9eCxmLnJlbGF0ZWRUYXJnZXQ9dixiPW51bGwsYmModSk9PT1kJiYobT1uZXcgbSh3LHkrImVudGVyIixwLHIsdSksbS50YXJnZXQ9dixtLnJlbGF0ZWRUYXJnZXQ9eCxiPW0pLHg9YixoJiZwKXQ6e2ZvcihtPWgsdz1wLHk9MCx2PW07djt2PUJkKHYpKXkrKztmb3Iodj0wLGI9dztiO2I9QmQoYikpdisrO2Zvcig7MDx5LXY7KW09QmQobSkseS0tO2Zvcig7MDx2LXk7KXc9QmQodyksdi0tO2Zvcig7eS0tOyl7aWYobT09PXd8fHchPT1udWxsJiZtPT09dy5hbHRlcm5hdGUpYnJlYWsgdDttPUJkKG0pLHc9QmQodyl9bT1udWxsfWVsc2UgbT1udWxsO2ghPT1udWxsJiZxUChBLGYsaCxtLCExKSxwIT09bnVsbCYmeCE9PW51bGwmJnFQKEEseCxwLG0sITApfX1lOntpZihmPWQ/c3UoZCk6d2luZG93LGg9Zi5ub2RlTmFtZSYmZi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLGg9PT0ic2VsZWN0Inx8aD09PSJpbnB1dCImJmYudHlwZT09PSJmaWxlIil2YXIgaj1mZWU7ZWxzZSBpZihMUChmKSlpZihVTClqPWdlZTtlbHNle2o9bWVlO3ZhciBOPWhlZX1lbHNlKGg9Zi5ub2RlTmFtZSkmJmgudG9Mb3dlckNhc2UoKT09PSJpbnB1dCImJihmLnR5cGU9PT0iY2hlY2tib3gifHxmLnR5cGU9PT0icmFkaW8iKSYmKGo9cGVlKTtpZihqJiYoaj1qKGUsZCkpKXtJTChBLGoscix1KTticmVhayBlfU4mJk4oZSxmLGQpLGU9PT0iZm9jdXNvdXQiJiYoTj1mLl93cmFwcGVyU3RhdGUpJiZOLmNvbnRyb2xsZWQmJmYudHlwZT09PSJudW1iZXIiJiZETihmLCJudW1iZXIiLGYudmFsdWUpfXN3aXRjaChOPWQ/c3UoZCk6d2luZG93LGUpe2Nhc2UiZm9jdXNpbiI6KExQKE4pfHxOLmNvbnRlbnRFZGl0YWJsZT09PSJ0cnVlIikmJihydT1OLHFOPWQsX2g9bnVsbCk7YnJlYWs7Y2FzZSJmb2N1c291dCI6X2g9cU49cnU9bnVsbDticmVhaztjYXNlIm1vdXNlZG93biI6WU49ITA7YnJlYWs7Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJtb3VzZXVwIjpjYXNlImRyYWdlbmQiOllOPSExLHpQKEEscix1KTticmVhaztjYXNlInNlbGVjdGlvbmNoYW5nZSI6aWYodmVlKWJyZWFrO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6elAoQSxyLHUpfXZhciBDO2lmKEEyKWU6e3N3aXRjaChlKXtjYXNlImNvbXBvc2l0aW9uc3RhcnQiOnZhciBfPSJvbkNvbXBvc2l0aW9uU3RhcnQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbmVuZCI6Xz0ib25Db21wb3NpdGlvbkVuZCI7YnJlYWsgZTtjYXNlImNvbXBvc2l0aW9udXBkYXRlIjpfPSJvbkNvbXBvc2l0aW9uVXBkYXRlIjticmVhayBlfV89dm9pZCAwfWVsc2UgdHU/RkwoZSxyKSYmKF89Im9uQ29tcG9zaXRpb25FbmQiKTplPT09ImtleWRvd24iJiZyLmtleUNvZGU9PT0yMjkmJihfPSJvbkNvbXBvc2l0aW9uU3RhcnQiKTtfJiYoUEwmJnIubG9jYWxlIT09ImtvIiYmKHR1fHxfIT09Im9uQ29tcG9zaXRpb25TdGFydCI/Xz09PSJvbkNvbXBvc2l0aW9uRW5kIiYmdHUmJihDPVRMKCkpOihybD11LGMyPSJ2YWx1ZSJpbiBybD9ybC52YWx1ZTpybC50ZXh0Q29udGVudCx0dT0hMCkpLE49XzAoZCxfKSwwPE4ubGVuZ3RoJiYoXz1uZXcgRFAoXyxlLG51bGwscix1KSxBLnB1c2goe2V2ZW50Ol8sbGlzdGVuZXJzOk59KSxDP18uZGF0YT1DOihDPU9MKHIpLEMhPT1udWxsJiYoXy5kYXRhPUMpKSkpLChDPWxlZT9jZWUoZSxyKTpkZWUoZSxyKSkmJihkPV8wKGQsIm9uQmVmb3JlSW5wdXQiKSwwPGQubGVuZ3RoJiYodT1uZXcgRFAoIm9uQmVmb3JlSW5wdXQiLCJiZWZvcmVpbnB1dCIsbnVsbCxyLHUpLEEucHVzaCh7ZXZlbnQ6dSxsaXN0ZW5lcnM6ZH0pLHUuZGF0YT1DKSl9ekwoQSx0KX0pfWZ1bmN0aW9uIG9tKGUsdCxyKXtyZXR1cm57aW5zdGFuY2U6ZSxsaXN0ZW5lcjp0LGN1cnJlbnRUYXJnZXQ6cn19ZnVuY3Rpb24gXzAoZSx0KXtmb3IodmFyIHI9dCsiQ2FwdHVyZSIsbj1bXTtlIT09bnVsbDspe3ZhciBhPWUsaT1hLnN0YXRlTm9kZTthLnRhZz09PTUmJmkhPT1udWxsJiYoYT1pLGk9ZW0oZSxyKSxpIT1udWxsJiZuLnVuc2hpZnQob20oZSxpLGEpKSxpPWVtKGUsdCksaSE9bnVsbCYmbi5wdXNoKG9tKGUsaSxhKSkpLGU9ZS5yZXR1cm59cmV0dXJuIG59ZnVuY3Rpb24gQmQoZSl7aWYoZT09PW51bGwpcmV0dXJuIG51bGw7ZG8gZT1lLnJldHVybjt3aGlsZShlJiZlLnRhZyE9PTUpO3JldHVybiBlfHxudWxsfWZ1bmN0aW9uIHFQKGUsdCxyLG4sYSl7Zm9yKHZhciBpPXQuX3JlYWN0TmFtZSxvPVtdO3IhPT1udWxsJiZyIT09bjspe3ZhciBsPXIsYz1sLmFsdGVybmF0ZSxkPWwuc3RhdGVOb2RlO2lmKGMhPT1udWxsJiZjPT09bilicmVhaztsLnRhZz09PTUmJmQhPT1udWxsJiYobD1kLGE/KGM9ZW0ocixpKSxjIT1udWxsJiZvLnVuc2hpZnQob20ocixjLGwpKSk6YXx8KGM9ZW0ocixpKSxjIT1udWxsJiZvLnB1c2gob20ocixjLGwpKSkpLHI9ci5yZXR1cm59by5sZW5ndGghPT0wJiZlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOm99KX12YXIgTmVlPS9cclxuPy9nLENlZT0vXHUwMDAwfFx1RkZGRC9nO2Z1bmN0aW9uIFlQKGUpe3JldHVybih0eXBlb2YgZT09InN0cmluZyI/ZToiIitlKS5yZXBsYWNlKE5lZSxgCmApLnJlcGxhY2UoQ2VlLCIiKX1mdW5jdGlvbiBUZyhlLHQscil7aWYodD1ZUCh0KSxZUChlKSE9PXQmJnIpdGhyb3cgRXJyb3IoeWUoNDI1KSl9ZnVuY3Rpb24gQjAoKXt9dmFyIFhOPW51bGwsSk49bnVsbDtmdW5jdGlvbiBaTihlLHQpe3JldHVybiBlPT09InRleHRhcmVhInx8ZT09PSJub3NjcmlwdCJ8fHR5cGVvZiB0LmNoaWxkcmVuPT0ic3RyaW5nInx8dHlwZW9mIHQuY2hpbGRyZW49PSJudW1iZXIifHx0eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTD09Im9iamVjdCImJnQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwhPT1udWxsJiZ0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCE9bnVsbH12YXIgZUM9dHlwZW9mIHNldFRpbWVvdXQ9PSJmdW5jdGlvbiI/c2V0VGltZW91dDp2b2lkIDAsX2VlPXR5cGVvZiBjbGVhclRpbWVvdXQ9PSJmdW5jdGlvbiI/Y2xlYXJUaW1lb3V0OnZvaWQgMCxYUD10eXBlb2YgUHJvbWlzZT09ImZ1bmN0aW9uIj9Qcm9taXNlOnZvaWQgMCxCZWU9dHlwZW9mIHF1ZXVlTWljcm90YXNrPT0iZnVuY3Rpb24iP3F1ZXVlTWljcm90YXNrOnR5cGVvZiBYUDwidSI/ZnVuY3Rpb24oZSl7cmV0dXJuIFhQLnJlc29sdmUobnVsbCkudGhlbihlKS5jYXRjaChTZWUpfTplQztmdW5jdGlvbiBTZWUoZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGV9KX1mdW5jdGlvbiB3MShlLHQpe3ZhciByPXQsbj0wO2Rve3ZhciBhPXIubmV4dFNpYmxpbmc7aWYoZS5yZW1vdmVDaGlsZChyKSxhJiZhLm5vZGVUeXBlPT09OClpZihyPWEuZGF0YSxyPT09Ii8kIil7aWYobj09PTApe2UucmVtb3ZlQ2hpbGQoYSksbm0odCk7cmV0dXJufW4tLX1lbHNlIHIhPT0iJCImJnIhPT0iJD8iJiZyIT09IiQhInx8bisrO3I9YX13aGlsZShyKTtubSh0KX1mdW5jdGlvbiBwbChlKXtmb3IoO2UhPW51bGw7ZT1lLm5leHRTaWJsaW5nKXt2YXIgdD1lLm5vZGVUeXBlO2lmKHQ9PT0xfHx0PT09MylicmVhaztpZih0PT09OCl7aWYodD1lLmRhdGEsdD09PSIkInx8dD09PSIkISJ8fHQ9PT0iJD8iKWJyZWFrO2lmKHQ9PT0iLyQiKXJldHVybiBudWxsfX1yZXR1cm4gZX1mdW5jdGlvbiBKUChlKXtlPWUucHJldmlvdXNTaWJsaW5nO2Zvcih2YXIgdD0wO2U7KXtpZihlLm5vZGVUeXBlPT09OCl7dmFyIHI9ZS5kYXRhO2lmKHI9PT0iJCJ8fHI9PT0iJCEifHxyPT09IiQ/Iil7aWYodD09PTApcmV0dXJuIGU7dC0tfWVsc2Ugcj09PSIvJCImJnQrK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfXZhciBLQT1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxjaT0iX19yZWFjdEZpYmVyJCIrS0EsbG09Il9fcmVhY3RQcm9wcyQiK0tBLHVvPSJfX3JlYWN0Q29udGFpbmVyJCIrS0EsdEM9Il9fcmVhY3RFdmVudHMkIitLQSxFZWU9Il9fcmVhY3RMaXN0ZW5lcnMkIitLQSxrZWU9Il9fcmVhY3RIYW5kbGVzJCIrS0E7ZnVuY3Rpb24gYmMoZSl7dmFyIHQ9ZVtjaV07aWYodClyZXR1cm4gdDtmb3IodmFyIHI9ZS5wYXJlbnROb2RlO3I7KXtpZih0PXJbdW9dfHxyW2NpXSl7aWYocj10LmFsdGVybmF0ZSx0LmNoaWxkIT09bnVsbHx8ciE9PW51bGwmJnIuY2hpbGQhPT1udWxsKWZvcihlPUpQKGUpO2UhPT1udWxsOyl7aWYocj1lW2NpXSlyZXR1cm4gcjtlPUpQKGUpfXJldHVybiB0fWU9cixyPWUucGFyZW50Tm9kZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBGcChlKXtyZXR1cm4gZT1lW2NpXXx8ZVt1b10sIWV8fGUudGFnIT09NSYmZS50YWchPT02JiZlLnRhZyE9PTEzJiZlLnRhZyE9PTM/bnVsbDplfWZ1bmN0aW9uIHN1KGUpe2lmKGUudGFnPT09NXx8ZS50YWc9PT02KXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcih5ZSgzMykpfWZ1bmN0aW9uIFd2KGUpe3JldHVybiBlW2xtXXx8bnVsbH12YXIgckM9W10sYXU9LTE7ZnVuY3Rpb24gJGwoZSl7cmV0dXJue2N1cnJlbnQ6ZX19ZnVuY3Rpb24gcnIoZSl7MD5hdXx8KGUuY3VycmVudD1yQ1thdV0sckNbYXVdPW51bGwsYXUtLSl9ZnVuY3Rpb24gV3QoZSx0KXthdSsrLHJDW2F1XT1lLmN1cnJlbnQsZS5jdXJyZW50PXR9dmFyIFBsPXt9LERuPSRsKFBsKSxpcz0kbCghMSksWWM9UGw7ZnVuY3Rpb24gR3UoZSx0KXt2YXIgcj1lLnR5cGUuY29udGV4dFR5cGVzO2lmKCFyKXJldHVybiBQbDt2YXIgbj1lLnN0YXRlTm9kZTtpZihuJiZuLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT10KXJldHVybiBuLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBhPXt9LGk7Zm9yKGkgaW4gcilhW2ldPXRbaV07cmV0dXJuIG4mJihlPWUuc3RhdGVOb2RlLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD10LGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksYX1mdW5jdGlvbiBvcyhlKXtyZXR1cm4gZT1lLmNoaWxkQ29udGV4dFR5cGVzLGUhPW51bGx9ZnVuY3Rpb24gUzAoKXtycihpcykscnIoRG4pfWZ1bmN0aW9uIFpQKGUsdCxyKXtpZihEbi5jdXJyZW50IT09UGwpdGhyb3cgRXJyb3IoeWUoMTY4KSk7V3QoRG4sdCksV3QoaXMscil9ZnVuY3Rpb24gR0woZSx0LHIpe3ZhciBuPWUuc3RhdGVOb2RlO2lmKHQ9dC5jaGlsZENvbnRleHRUeXBlcyx0eXBlb2Ygbi5nZXRDaGlsZENvbnRleHQhPSJmdW5jdGlvbiIpcmV0dXJuIHI7bj1uLmdldENoaWxkQ29udGV4dCgpO2Zvcih2YXIgYSBpbiBuKWlmKCEoYSBpbiB0KSl0aHJvdyBFcnJvcih5ZSgxMDgsaFooZSl8fCJVbmtub3duIixhKSk7cmV0dXJuIHByKHt9LHIsbil9ZnVuY3Rpb24gRTAoZSl7cmV0dXJuIGU9KGU9ZS5zdGF0ZU5vZGUpJiZlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0fHxQbCxZYz1Ebi5jdXJyZW50LFd0KERuLGUpLFd0KGlzLGlzLmN1cnJlbnQpLCEwfWZ1bmN0aW9uIGU0KGUsdCxyKXt2YXIgbj1lLnN0YXRlTm9kZTtpZighbil0aHJvdyBFcnJvcih5ZSgxNjkpKTtyPyhlPUdMKGUsdCxZYyksbi5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dD1lLHJyKGlzKSxycihEbiksV3QoRG4sZSkpOnJyKGlzKSxXdChpcyxyKX12YXIgV2k9bnVsbCxHdj0hMSxiMT0hMTtmdW5jdGlvbiBxTChlKXtXaT09PW51bGw/V2k9W2VdOldpLnB1c2goZSl9ZnVuY3Rpb24gVGVlKGUpe0d2PSEwLHFMKGUpfWZ1bmN0aW9uIEhsKCl7aWYoIWIxJiZXaSE9PW51bGwpe2IxPSEwO3ZhciBlPTAsdD1VdDt0cnl7dmFyIHI9V2k7Zm9yKFV0PTE7ZTxyLmxlbmd0aDtlKyspe3ZhciBuPXJbZV07ZG8gbj1uKCEwKTt3aGlsZShuIT09bnVsbCl9V2k9bnVsbCxHdj0hMX1jYXRjaChhKXt0aHJvdyBXaSE9PW51bGwmJihXaT1XaS5zbGljZShlKzEpKSx2TChhMixIbCksYX1maW5hbGx5e1V0PXQsYjE9ITF9fXJldHVybiBudWxsfXZhciBpdT1bXSxvdT0wLGswPW51bGwsVDA9MCxRcz1bXSxMcz0wLFhjPW51bGwsWWk9MSxYaT0iIjtmdW5jdGlvbiB1YyhlLHQpe2l1W291KytdPVQwLGl1W291KytdPWswLGswPWUsVDA9dH1mdW5jdGlvbiBZTChlLHQscil7UXNbTHMrK109WWksUXNbTHMrK109WGksUXNbTHMrK109WGMsWGM9ZTt2YXIgbj1ZaTtlPVhpO3ZhciBhPTMyLU1hKG4pLTE7biY9figxPDxhKSxyKz0xO3ZhciBpPTMyLU1hKHQpK2E7aWYoMzA8aSl7dmFyIG89YS1hJTU7aT0obiYoMTw8byktMSkudG9TdHJpbmcoMzIpLG4+Pj1vLGEtPW8sWWk9MTw8MzItTWEodCkrYXxyPDxhfG4sWGk9aStlfWVsc2UgWWk9MTw8aXxyPDxhfG4sWGk9ZX1mdW5jdGlvbiBoMihlKXtlLnJldHVybiE9PW51bGwmJih1YyhlLDEpLFlMKGUsMSwwKSl9ZnVuY3Rpb24gbTIoZSl7Zm9yKDtlPT09azA7KWswPWl1Wy0tb3VdLGl1W291XT1udWxsLFQwPWl1Wy0tb3VdLGl1W291XT1udWxsO2Zvcig7ZT09PVhjOylYYz1Rc1stLUxzXSxRc1tMc109bnVsbCxYaT1Rc1stLUxzXSxRc1tMc109bnVsbCxZaT1Rc1stLUxzXSxRc1tMc109bnVsbH12YXIgd3M9bnVsbCx2cz1udWxsLG9yPSExLEZhPW51bGw7ZnVuY3Rpb24gWEwoZSx0KXt2YXIgcj1Xcyg1LG51bGwsbnVsbCwwKTtyLmVsZW1lbnRUeXBlPSJERUxFVEVEIixyLnN0YXRlTm9kZT10LHIucmV0dXJuPWUsdD1lLmRlbGV0aW9ucyx0PT09bnVsbD8oZS5kZWxldGlvbnM9W3JdLGUuZmxhZ3N8PTE2KTp0LnB1c2gocil9ZnVuY3Rpb24gdDQoZSx0KXtzd2l0Y2goZS50YWcpe2Nhc2UgNTp2YXIgcj1lLnR5cGU7cmV0dXJuIHQ9dC5ub2RlVHlwZSE9PTF8fHIudG9Mb3dlckNhc2UoKSE9PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOnQsdCE9PW51bGw/KGUuc3RhdGVOb2RlPXQsd3M9ZSx2cz1wbCh0LmZpcnN0Q2hpbGQpLCEwKTohMTtjYXNlIDY6cmV0dXJuIHQ9ZS5wZW5kaW5nUHJvcHM9PT0iInx8dC5ub2RlVHlwZSE9PTM/bnVsbDp0LHQhPT1udWxsPyhlLnN0YXRlTm9kZT10LHdzPWUsdnM9bnVsbCwhMCk6ITE7Y2FzZSAxMzpyZXR1cm4gdD10Lm5vZGVUeXBlIT09OD9udWxsOnQsdCE9PW51bGw/KHI9WGMhPT1udWxsP3tpZDpZaSxvdmVyZmxvdzpYaX06bnVsbCxlLm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6dCx0cmVlQ29udGV4dDpyLHJldHJ5TGFuZToxMDczNzQxODI0fSxyPVdzKDE4LG51bGwsbnVsbCwwKSxyLnN0YXRlTm9kZT10LHIucmV0dXJuPWUsZS5jaGlsZD1yLHdzPWUsdnM9bnVsbCwhMCk6ITE7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gbkMoZSl7cmV0dXJuKGUubW9kZSYxKSE9PTAmJihlLmZsYWdzJjEyOCk9PT0wfWZ1bmN0aW9uIHNDKGUpe2lmKG9yKXt2YXIgdD12cztpZih0KXt2YXIgcj10O2lmKCF0NChlLHQpKXtpZihuQyhlKSl0aHJvdyBFcnJvcih5ZSg0MTgpKTt0PXBsKHIubmV4dFNpYmxpbmcpO3ZhciBuPXdzO3QmJnQ0KGUsdCk/WEwobixyKTooZS5mbGFncz1lLmZsYWdzJi00MDk3fDIsb3I9ITEsd3M9ZSl9fWVsc2V7aWYobkMoZSkpdGhyb3cgRXJyb3IoeWUoNDE4KSk7ZS5mbGFncz1lLmZsYWdzJi00MDk3fDIsb3I9ITEsd3M9ZX19fWZ1bmN0aW9uIHI0KGUpe2ZvcihlPWUucmV0dXJuO2UhPT1udWxsJiZlLnRhZyE9PTUmJmUudGFnIT09MyYmZS50YWchPT0xMzspZT1lLnJldHVybjt3cz1lfWZ1bmN0aW9uIFBnKGUpe2lmKGUhPT13cylyZXR1cm4hMTtpZighb3IpcmV0dXJuIHI0KGUpLG9yPSEwLCExO3ZhciB0O2lmKCh0PWUudGFnIT09MykmJiEodD1lLnRhZyE9PTUpJiYodD1lLnR5cGUsdD10IT09ImhlYWQiJiZ0IT09ImJvZHkiJiYhWk4oZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLHQmJih0PXZzKSl7aWYobkMoZSkpdGhyb3cgSkwoKSxFcnJvcih5ZSg0MTgpKTtmb3IoO3Q7KVhMKGUsdCksdD1wbCh0Lm5leHRTaWJsaW5nKX1pZihyNChlKSxlLnRhZz09PTEzKXtpZihlPWUubWVtb2l6ZWRTdGF0ZSxlPWUhPT1udWxsP2UuZGVoeWRyYXRlZDpudWxsLCFlKXRocm93IEVycm9yKHllKDMxNykpO2U6e2ZvcihlPWUubmV4dFNpYmxpbmcsdD0wO2U7KXtpZihlLm5vZGVUeXBlPT09OCl7dmFyIHI9ZS5kYXRhO2lmKHI9PT0iLyQiKXtpZih0PT09MCl7dnM9cGwoZS5uZXh0U2libGluZyk7YnJlYWsgZX10LS19ZWxzZSByIT09IiQiJiZyIT09IiQhIiYmciE9PSIkPyJ8fHQrK31lPWUubmV4dFNpYmxpbmd9dnM9bnVsbH19ZWxzZSB2cz13cz9wbChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBKTCgpe2Zvcih2YXIgZT12cztlOyllPXBsKGUubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHF1KCl7dnM9d3M9bnVsbCxvcj0hMX1mdW5jdGlvbiBwMihlKXtGYT09PW51bGw/RmE9W2VdOkZhLnB1c2goZSl9dmFyIFBlZT1iby5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztmdW5jdGlvbiBUZihlLHQscil7aWYoZT1yLnJlZixlIT09bnVsbCYmdHlwZW9mIGUhPSJmdW5jdGlvbiImJnR5cGVvZiBlIT0ib2JqZWN0Iil7aWYoci5fb3duZXIpe2lmKHI9ci5fb3duZXIscil7aWYoci50YWchPT0xKXRocm93IEVycm9yKHllKDMwOSkpO3ZhciBuPXIuc3RhdGVOb2RlfWlmKCFuKXRocm93IEVycm9yKHllKDE0NyxlKSk7dmFyIGE9bixpPSIiK2U7cmV0dXJuIHQhPT1udWxsJiZ0LnJlZiE9PW51bGwmJnR5cGVvZiB0LnJlZj09ImZ1bmN0aW9uIiYmdC5yZWYuX3N0cmluZ1JlZj09PWk/dC5yZWY6KHQ9ZnVuY3Rpb24obyl7dmFyIGw9YS5yZWZzO289PT1udWxsP2RlbGV0ZSBsW2ldOmxbaV09b30sdC5fc3RyaW5nUmVmPWksdCl9aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IEVycm9yKHllKDI4NCkpO2lmKCFyLl9vd25lcil0aHJvdyBFcnJvcih5ZSgyOTAsZSkpfXJldHVybiBlfWZ1bmN0aW9uIEZnKGUsdCl7dGhyb3cgZT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCksRXJyb3IoeWUoMzEsZT09PSJbb2JqZWN0IE9iamVjdF0iPyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKHQpLmpvaW4oIiwgIikrIn0iOmUpKX1mdW5jdGlvbiBuNChlKXt2YXIgdD1lLl9pbml0O3JldHVybiB0KGUuX3BheWxvYWQpfWZ1bmN0aW9uIFpMKGUpe2Z1bmN0aW9uIHQodyx5KXtpZihlKXt2YXIgdj13LmRlbGV0aW9uczt2PT09bnVsbD8ody5kZWxldGlvbnM9W3ldLHcuZmxhZ3N8PTE2KTp2LnB1c2goeSl9fWZ1bmN0aW9uIHIodyx5KXtpZighZSlyZXR1cm4gbnVsbDtmb3IoO3khPT1udWxsOyl0KHcseSkseT15LnNpYmxpbmc7cmV0dXJuIG51bGx9ZnVuY3Rpb24gbih3LHkpe2Zvcih3PW5ldyBNYXA7eSE9PW51bGw7KXkua2V5IT09bnVsbD93LnNldCh5LmtleSx5KTp3LnNldCh5LmluZGV4LHkpLHk9eS5zaWJsaW5nO3JldHVybiB3fWZ1bmN0aW9uIGEodyx5KXtyZXR1cm4gdz12bCh3LHkpLHcuaW5kZXg9MCx3LnNpYmxpbmc9bnVsbCx3fWZ1bmN0aW9uIGkodyx5LHYpe3JldHVybiB3LmluZGV4PXYsZT8odj13LmFsdGVybmF0ZSx2IT09bnVsbD8odj12LmluZGV4LHY8eT8ody5mbGFnc3w9Mix5KTp2KToody5mbGFnc3w9Mix5KSk6KHcuZmxhZ3N8PTEwNDg1NzYseSl9ZnVuY3Rpb24gbyh3KXtyZXR1cm4gZSYmdy5hbHRlcm5hdGU9PT1udWxsJiYody5mbGFnc3w9Miksd31mdW5jdGlvbiBsKHcseSx2LGIpe3JldHVybiB5PT09bnVsbHx8eS50YWchPT02Pyh5PUUxKHYsdy5tb2RlLGIpLHkucmV0dXJuPXcseSk6KHk9YSh5LHYpLHkucmV0dXJuPXcseSl9ZnVuY3Rpb24gYyh3LHksdixiKXt2YXIgaj12LnR5cGU7cmV0dXJuIGo9PT1ldT91KHcseSx2LnByb3BzLmNoaWxkcmVuLGIsdi5rZXkpOnkhPT1udWxsJiYoeS5lbGVtZW50VHlwZT09PWp8fHR5cGVvZiBqPT0ib2JqZWN0IiYmaiE9PW51bGwmJmouJCR0eXBlb2Y9PT0kbyYmbjQoaik9PT15LnR5cGUpPyhiPWEoeSx2LnByb3BzKSxiLnJlZj1UZih3LHksdiksYi5yZXR1cm49dyxiKTooYj1uMCh2LnR5cGUsdi5rZXksdi5wcm9wcyxudWxsLHcubW9kZSxiKSxiLnJlZj1UZih3LHksdiksYi5yZXR1cm49dyxiKX1mdW5jdGlvbiBkKHcseSx2LGIpe3JldHVybiB5PT09bnVsbHx8eS50YWchPT00fHx5LnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09di5jb250YWluZXJJbmZvfHx5LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PXYuaW1wbGVtZW50YXRpb24/KHk9azEodix3Lm1vZGUsYikseS5yZXR1cm49dyx5KTooeT1hKHksdi5jaGlsZHJlbnx8W10pLHkucmV0dXJuPXcseSl9ZnVuY3Rpb24gdSh3LHksdixiLGope3JldHVybiB5PT09bnVsbHx8eS50YWchPT03Pyh5PSRjKHYsdy5tb2RlLGIsaikseS5yZXR1cm49dyx5KTooeT1hKHksdikseS5yZXR1cm49dyx5KX1mdW5jdGlvbiBBKHcseSx2KXtpZih0eXBlb2YgeT09InN0cmluZyImJnkhPT0iInx8dHlwZW9mIHk9PSJudW1iZXIiKXJldHVybiB5PUUxKCIiK3ksdy5tb2RlLHYpLHkucmV0dXJuPXcseTtpZih0eXBlb2YgeT09Im9iamVjdCImJnkhPT1udWxsKXtzd2l0Y2goeS4kJHR5cGVvZil7Y2FzZSBiZzpyZXR1cm4gdj1uMCh5LnR5cGUseS5rZXkseS5wcm9wcyxudWxsLHcubW9kZSx2KSx2LnJlZj1UZih3LG51bGwseSksdi5yZXR1cm49dyx2O2Nhc2UgWmQ6cmV0dXJuIHk9azEoeSx3Lm1vZGUsdikseS5yZXR1cm49dyx5O2Nhc2UgJG86dmFyIGI9eS5faW5pdDtyZXR1cm4gQSh3LGIoeS5fcGF5bG9hZCksdil9aWYocmgoeSl8fF9mKHkpKXJldHVybiB5PSRjKHksdy5tb2RlLHYsbnVsbCkseS5yZXR1cm49dyx5O0ZnKHcseSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZih3LHksdixiKXt2YXIgaj15IT09bnVsbD95LmtleTpudWxsO2lmKHR5cGVvZiB2PT0ic3RyaW5nIiYmdiE9PSIifHx0eXBlb2Ygdj09Im51bWJlciIpcmV0dXJuIGohPT1udWxsP251bGw6bCh3LHksIiIrdixiKTtpZih0eXBlb2Ygdj09Im9iamVjdCImJnYhPT1udWxsKXtzd2l0Y2godi4kJHR5cGVvZil7Y2FzZSBiZzpyZXR1cm4gdi5rZXk9PT1qP2Modyx5LHYsYik6bnVsbDtjYXNlIFpkOnJldHVybiB2LmtleT09PWo/ZCh3LHksdixiKTpudWxsO2Nhc2UgJG86cmV0dXJuIGo9di5faW5pdCxmKHcseSxqKHYuX3BheWxvYWQpLGIpfWlmKHJoKHYpfHxfZih2KSlyZXR1cm4gaiE9PW51bGw/bnVsbDp1KHcseSx2LGIsbnVsbCk7Rmcodyx2KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBoKHcseSx2LGIsail7aWYodHlwZW9mIGI9PSJzdHJpbmciJiZiIT09IiJ8fHR5cGVvZiBiPT0ibnVtYmVyIilyZXR1cm4gdz13LmdldCh2KXx8bnVsbCxsKHksdywiIitiLGopO2lmKHR5cGVvZiBiPT0ib2JqZWN0IiYmYiE9PW51bGwpe3N3aXRjaChiLiQkdHlwZW9mKXtjYXNlIGJnOnJldHVybiB3PXcuZ2V0KGIua2V5PT09bnVsbD92OmIua2V5KXx8bnVsbCxjKHksdyxiLGopO2Nhc2UgWmQ6cmV0dXJuIHc9dy5nZXQoYi5rZXk9PT1udWxsP3Y6Yi5rZXkpfHxudWxsLGQoeSx3LGIsaik7Y2FzZSAkbzp2YXIgTj1iLl9pbml0O3JldHVybiBoKHcseSx2LE4oYi5fcGF5bG9hZCksail9aWYocmgoYil8fF9mKGIpKXJldHVybiB3PXcuZ2V0KHYpfHxudWxsLHUoeSx3LGIsaixudWxsKTtGZyh5LGIpfXJldHVybiBudWxsfWZ1bmN0aW9uIHAodyx5LHYsYil7Zm9yKHZhciBqPW51bGwsTj1udWxsLEM9eSxfPXk9MCxCPW51bGw7QyE9PW51bGwmJl88di5sZW5ndGg7XysrKXtDLmluZGV4Pl8/KEI9QyxDPW51bGwpOkI9Qy5zaWJsaW5nO3ZhciBrPWYodyxDLHZbX10sYik7aWYoaz09PW51bGwpe0M9PT1udWxsJiYoQz1CKTticmVha31lJiZDJiZrLmFsdGVybmF0ZT09PW51bGwmJnQodyxDKSx5PWkoayx5LF8pLE49PT1udWxsP2o9azpOLnNpYmxpbmc9ayxOPWssQz1CfWlmKF89PT12Lmxlbmd0aClyZXR1cm4gcih3LEMpLG9yJiZ1Yyh3LF8pLGo7aWYoQz09PW51bGwpe2Zvcig7Xzx2Lmxlbmd0aDtfKyspQz1BKHcsdltfXSxiKSxDIT09bnVsbCYmKHk9aShDLHksXyksTj09PW51bGw/aj1DOk4uc2libGluZz1DLE49Qyk7cmV0dXJuIG9yJiZ1Yyh3LF8pLGp9Zm9yKEM9bih3LEMpO188di5sZW5ndGg7XysrKUI9aChDLHcsXyx2W19dLGIpLEIhPT1udWxsJiYoZSYmQi5hbHRlcm5hdGUhPT1udWxsJiZDLmRlbGV0ZShCLmtleT09PW51bGw/XzpCLmtleSkseT1pKEIseSxfKSxOPT09bnVsbD9qPUI6Ti5zaWJsaW5nPUIsTj1CKTtyZXR1cm4gZSYmQy5mb3JFYWNoKGZ1bmN0aW9uKEUpe3JldHVybiB0KHcsRSl9KSxvciYmdWModyxfKSxqfWZ1bmN0aW9uIG0odyx5LHYsYil7dmFyIGo9X2Yodik7aWYodHlwZW9mIGohPSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoeWUoMTUwKSk7aWYodj1qLmNhbGwodiksdj09bnVsbCl0aHJvdyBFcnJvcih5ZSgxNTEpKTtmb3IodmFyIE49aj1udWxsLEM9eSxfPXk9MCxCPW51bGwsaz12Lm5leHQoKTtDIT09bnVsbCYmIWsuZG9uZTtfKyssaz12Lm5leHQoKSl7Qy5pbmRleD5fPyhCPUMsQz1udWxsKTpCPUMuc2libGluZzt2YXIgRT1mKHcsQyxrLnZhbHVlLGIpO2lmKEU9PT1udWxsKXtDPT09bnVsbCYmKEM9Qik7YnJlYWt9ZSYmQyYmRS5hbHRlcm5hdGU9PT1udWxsJiZ0KHcsQykseT1pKEUseSxfKSxOPT09bnVsbD9qPUU6Ti5zaWJsaW5nPUUsTj1FLEM9Qn1pZihrLmRvbmUpcmV0dXJuIHIodyxDKSxvciYmdWModyxfKSxqO2lmKEM9PT1udWxsKXtmb3IoOyFrLmRvbmU7XysrLGs9di5uZXh0KCkpaz1BKHcsay52YWx1ZSxiKSxrIT09bnVsbCYmKHk9aShrLHksXyksTj09PW51bGw/aj1rOk4uc2libGluZz1rLE49ayk7cmV0dXJuIG9yJiZ1Yyh3LF8pLGp9Zm9yKEM9bih3LEMpOyFrLmRvbmU7XysrLGs9di5uZXh0KCkpaz1oKEMsdyxfLGsudmFsdWUsYiksayE9PW51bGwmJihlJiZrLmFsdGVybmF0ZSE9PW51bGwmJkMuZGVsZXRlKGsua2V5PT09bnVsbD9fOmsua2V5KSx5PWkoayx5LF8pLE49PT1udWxsP2o9azpOLnNpYmxpbmc9ayxOPWspO3JldHVybiBlJiZDLmZvckVhY2goZnVuY3Rpb24oRil7cmV0dXJuIHQodyxGKX0pLG9yJiZ1Yyh3LF8pLGp9ZnVuY3Rpb24geCh3LHksdixiKXtpZih0eXBlb2Ygdj09Im9iamVjdCImJnYhPT1udWxsJiZ2LnR5cGU9PT1ldSYmdi5rZXk9PT1udWxsJiYodj12LnByb3BzLmNoaWxkcmVuKSx0eXBlb2Ygdj09Im9iamVjdCImJnYhPT1udWxsKXtzd2l0Y2godi4kJHR5cGVvZil7Y2FzZSBiZzplOntmb3IodmFyIGo9di5rZXksTj15O04hPT1udWxsOyl7aWYoTi5rZXk9PT1qKXtpZihqPXYudHlwZSxqPT09ZXUpe2lmKE4udGFnPT09Nyl7cih3LE4uc2libGluZykseT1hKE4sdi5wcm9wcy5jaGlsZHJlbikseS5yZXR1cm49dyx3PXk7YnJlYWsgZX19ZWxzZSBpZihOLmVsZW1lbnRUeXBlPT09anx8dHlwZW9mIGo9PSJvYmplY3QiJiZqIT09bnVsbCYmai4kJHR5cGVvZj09PSRvJiZuNChqKT09PU4udHlwZSl7cih3LE4uc2libGluZykseT1hKE4sdi5wcm9wcykseS5yZWY9VGYodyxOLHYpLHkucmV0dXJuPXcsdz15O2JyZWFrIGV9cih3LE4pO2JyZWFrfWVsc2UgdCh3LE4pO049Ti5zaWJsaW5nfXYudHlwZT09PWV1Pyh5PSRjKHYucHJvcHMuY2hpbGRyZW4sdy5tb2RlLGIsdi5rZXkpLHkucmV0dXJuPXcsdz15KTooYj1uMCh2LnR5cGUsdi5rZXksdi5wcm9wcyxudWxsLHcubW9kZSxiKSxiLnJlZj1UZih3LHksdiksYi5yZXR1cm49dyx3PWIpfXJldHVybiBvKHcpO2Nhc2UgWmQ6ZTp7Zm9yKE49di5rZXk7eSE9PW51bGw7KXtpZih5LmtleT09PU4paWYoeS50YWc9PT00JiZ5LnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09di5jb250YWluZXJJbmZvJiZ5LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbj09PXYuaW1wbGVtZW50YXRpb24pe3Iodyx5LnNpYmxpbmcpLHk9YSh5LHYuY2hpbGRyZW58fFtdKSx5LnJldHVybj13LHc9eTticmVhayBlfWVsc2V7cih3LHkpO2JyZWFrfWVsc2UgdCh3LHkpO3k9eS5zaWJsaW5nfXk9azEodix3Lm1vZGUsYikseS5yZXR1cm49dyx3PXl9cmV0dXJuIG8odyk7Y2FzZSAkbzpyZXR1cm4gTj12Ll9pbml0LHgodyx5LE4odi5fcGF5bG9hZCksYil9aWYocmgodikpcmV0dXJuIHAodyx5LHYsYik7aWYoX2YodikpcmV0dXJuIG0odyx5LHYsYik7Rmcodyx2KX1yZXR1cm4gdHlwZW9mIHY9PSJzdHJpbmciJiZ2IT09IiJ8fHR5cGVvZiB2PT0ibnVtYmVyIj8odj0iIit2LHkhPT1udWxsJiZ5LnRhZz09PTY/KHIodyx5LnNpYmxpbmcpLHk9YSh5LHYpLHkucmV0dXJuPXcsdz15KToocih3LHkpLHk9RTEodix3Lm1vZGUsYikseS5yZXR1cm49dyx3PXkpLG8odykpOnIodyx5KX1yZXR1cm4geH12YXIgWXU9WkwoITApLGUzPVpMKCExKSxQMD0kbChudWxsKSxGMD1udWxsLGx1PW51bGwsZzI9bnVsbDtmdW5jdGlvbiB4Migpe2cyPWx1PUYwPW51bGx9ZnVuY3Rpb24geTIoZSl7dmFyIHQ9UDAuY3VycmVudDtycihQMCksZS5fY3VycmVudFZhbHVlPXR9ZnVuY3Rpb24gYUMoZSx0LHIpe2Zvcig7ZSE9PW51bGw7KXt2YXIgbj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJnQpIT09dD8oZS5jaGlsZExhbmVzfD10LG4hPT1udWxsJiYobi5jaGlsZExhbmVzfD10KSk6biE9PW51bGwmJihuLmNoaWxkTGFuZXMmdCkhPT10JiYobi5jaGlsZExhbmVzfD10KSxlPT09cilicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBOdShlLHQpe0YwPWUsZzI9bHU9bnVsbCxlPWUuZGVwZW5kZW5jaWVzLGUhPT1udWxsJiZlLmZpcnN0Q29udGV4dCE9PW51bGwmJihlLmxhbmVzJnQmJihzcz0hMCksZS5maXJzdENvbnRleHQ9bnVsbCl9ZnVuY3Rpb24gc2EoZSl7dmFyIHQ9ZS5fY3VycmVudFZhbHVlO2lmKGcyIT09ZSlpZihlPXtjb250ZXh0OmUsbWVtb2l6ZWRWYWx1ZTp0LG5leHQ6bnVsbH0sbHU9PT1udWxsKXtpZihGMD09PW51bGwpdGhyb3cgRXJyb3IoeWUoMzA4KSk7bHU9ZSxGMC5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OmV9fWVsc2UgbHU9bHUubmV4dD1lO3JldHVybiB0fXZhciBqYz1udWxsO2Z1bmN0aW9uIHYyKGUpe2pjPT09bnVsbD9qYz1bZV06amMucHVzaChlKX1mdW5jdGlvbiB0MyhlLHQscixuKXt2YXIgYT10LmludGVybGVhdmVkO3JldHVybiBhPT09bnVsbD8oci5uZXh0PXIsdjIodCkpOihyLm5leHQ9YS5uZXh0LGEubmV4dD1yKSx0LmludGVybGVhdmVkPXIsQW8oZSxuKX1mdW5jdGlvbiBBbyhlLHQpe2UubGFuZXN8PXQ7dmFyIHI9ZS5hbHRlcm5hdGU7Zm9yKHIhPT1udWxsJiYoci5sYW5lc3w9dCkscj1lLGU9ZS5yZXR1cm47ZSE9PW51bGw7KWUuY2hpbGRMYW5lc3w9dCxyPWUuYWx0ZXJuYXRlLHIhPT1udWxsJiYoci5jaGlsZExhbmVzfD10KSxyPWUsZT1lLnJldHVybjtyZXR1cm4gci50YWc9PT0zP3Iuc3RhdGVOb2RlOm51bGx9dmFyIEhvPSExO2Z1bmN0aW9uIHcyKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjB9LGVmZmVjdHM6bnVsbH19ZnVuY3Rpb24gcjMoZSx0KXtlPWUudXBkYXRlUXVldWUsdC51cGRhdGVRdWV1ZT09PWUmJih0LnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGVmZmVjdHM6ZS5lZmZlY3RzfSl9ZnVuY3Rpb24gdG8oZSx0KXtyZXR1cm57ZXZlbnRUaW1lOmUsbGFuZTp0LHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gZ2woZSx0LHIpe3ZhciBuPWUudXBkYXRlUXVldWU7aWYobj09PW51bGwpcmV0dXJuIG51bGw7aWYobj1uLnNoYXJlZCxidCYyKXt2YXIgYT1uLnBlbmRpbmc7cmV0dXJuIGE9PT1udWxsP3QubmV4dD10Oih0Lm5leHQ9YS5uZXh0LGEubmV4dD10KSxuLnBlbmRpbmc9dCxBbyhlLHIpfXJldHVybiBhPW4uaW50ZXJsZWF2ZWQsYT09PW51bGw/KHQubmV4dD10LHYyKG4pKToodC5uZXh0PWEubmV4dCxhLm5leHQ9dCksbi5pbnRlcmxlYXZlZD10LEFvKGUscil9ZnVuY3Rpb24gWHgoZSx0LHIpe2lmKHQ9dC51cGRhdGVRdWV1ZSx0IT09bnVsbCYmKHQ9dC5zaGFyZWQsKHImNDE5NDI0MCkhPT0wKSl7dmFyIG49dC5sYW5lcztuJj1lLnBlbmRpbmdMYW5lcyxyfD1uLHQubGFuZXM9cixpMihlLHIpfX1mdW5jdGlvbiBzNChlLHQpe3ZhciByPWUudXBkYXRlUXVldWUsbj1lLmFsdGVybmF0ZTtpZihuIT09bnVsbCYmKG49bi51cGRhdGVRdWV1ZSxyPT09bikpe3ZhciBhPW51bGwsaT1udWxsO2lmKHI9ci5maXJzdEJhc2VVcGRhdGUsciE9PW51bGwpe2Rve3ZhciBvPXtldmVudFRpbWU6ci5ldmVudFRpbWUsbGFuZTpyLmxhbmUsdGFnOnIudGFnLHBheWxvYWQ6ci5wYXlsb2FkLGNhbGxiYWNrOnIuY2FsbGJhY2ssbmV4dDpudWxsfTtpPT09bnVsbD9hPWk9bzppPWkubmV4dD1vLHI9ci5uZXh0fXdoaWxlKHIhPT1udWxsKTtpPT09bnVsbD9hPWk9dDppPWkubmV4dD10fWVsc2UgYT1pPXQ7cj17YmFzZVN0YXRlOm4uYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTphLGxhc3RCYXNlVXBkYXRlOmksc2hhcmVkOm4uc2hhcmVkLGVmZmVjdHM6bi5lZmZlY3RzfSxlLnVwZGF0ZVF1ZXVlPXI7cmV0dXJufWU9ci5sYXN0QmFzZVVwZGF0ZSxlPT09bnVsbD9yLmZpcnN0QmFzZVVwZGF0ZT10OmUubmV4dD10LHIubGFzdEJhc2VVcGRhdGU9dH1mdW5jdGlvbiBPMChlLHQscixuKXt2YXIgYT1lLnVwZGF0ZVF1ZXVlO0hvPSExO3ZhciBpPWEuZmlyc3RCYXNlVXBkYXRlLG89YS5sYXN0QmFzZVVwZGF0ZSxsPWEuc2hhcmVkLnBlbmRpbmc7aWYobCE9PW51bGwpe2Euc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgYz1sLGQ9Yy5uZXh0O2MubmV4dD1udWxsLG89PT1udWxsP2k9ZDpvLm5leHQ9ZCxvPWM7dmFyIHU9ZS5hbHRlcm5hdGU7dSE9PW51bGwmJih1PXUudXBkYXRlUXVldWUsbD11Lmxhc3RCYXNlVXBkYXRlLGwhPT1vJiYobD09PW51bGw/dS5maXJzdEJhc2VVcGRhdGU9ZDpsLm5leHQ9ZCx1Lmxhc3RCYXNlVXBkYXRlPWMpKX1pZihpIT09bnVsbCl7dmFyIEE9YS5iYXNlU3RhdGU7bz0wLHU9ZD1jPW51bGwsbD1pO2Rve3ZhciBmPWwubGFuZSxoPWwuZXZlbnRUaW1lO2lmKChuJmYpPT09Zil7dSE9PW51bGwmJih1PXUubmV4dD17ZXZlbnRUaW1lOmgsbGFuZTowLHRhZzpsLnRhZyxwYXlsb2FkOmwucGF5bG9hZCxjYWxsYmFjazpsLmNhbGxiYWNrLG5leHQ6bnVsbH0pO2U6e3ZhciBwPWUsbT1sO3N3aXRjaChmPXQsaD1yLG0udGFnKXtjYXNlIDE6aWYocD1tLnBheWxvYWQsdHlwZW9mIHA9PSJmdW5jdGlvbiIpe0E9cC5jYWxsKGgsQSxmKTticmVhayBlfUE9cDticmVhayBlO2Nhc2UgMzpwLmZsYWdzPXAuZmxhZ3MmLTY1NTM3fDEyODtjYXNlIDA6aWYocD1tLnBheWxvYWQsZj10eXBlb2YgcD09ImZ1bmN0aW9uIj9wLmNhbGwoaCxBLGYpOnAsZj09bnVsbClicmVhayBlO0E9cHIoe30sQSxmKTticmVhayBlO2Nhc2UgMjpIbz0hMH19bC5jYWxsYmFjayE9PW51bGwmJmwubGFuZSE9PTAmJihlLmZsYWdzfD02NCxmPWEuZWZmZWN0cyxmPT09bnVsbD9hLmVmZmVjdHM9W2xdOmYucHVzaChsKSl9ZWxzZSBoPXtldmVudFRpbWU6aCxsYW5lOmYsdGFnOmwudGFnLHBheWxvYWQ6bC5wYXlsb2FkLGNhbGxiYWNrOmwuY2FsbGJhY2ssbmV4dDpudWxsfSx1PT09bnVsbD8oZD11PWgsYz1BKTp1PXUubmV4dD1oLG98PWY7aWYobD1sLm5leHQsbD09PW51bGwpe2lmKGw9YS5zaGFyZWQucGVuZGluZyxsPT09bnVsbClicmVhaztmPWwsbD1mLm5leHQsZi5uZXh0PW51bGwsYS5sYXN0QmFzZVVwZGF0ZT1mLGEuc2hhcmVkLnBlbmRpbmc9bnVsbH19d2hpbGUoITApO2lmKHU9PT1udWxsJiYoYz1BKSxhLmJhc2VTdGF0ZT1jLGEuZmlyc3RCYXNlVXBkYXRlPWQsYS5sYXN0QmFzZVVwZGF0ZT11LHQ9YS5zaGFyZWQuaW50ZXJsZWF2ZWQsdCE9PW51bGwpe2E9dDtkbyBvfD1hLmxhbmUsYT1hLm5leHQ7d2hpbGUoYSE9PXQpfWVsc2UgaT09PW51bGwmJihhLnNoYXJlZC5sYW5lcz0wKTtaY3w9byxlLmxhbmVzPW8sZS5tZW1vaXplZFN0YXRlPUF9fWZ1bmN0aW9uIGE0KGUsdCxyKXtpZihlPXQuZWZmZWN0cyx0LmVmZmVjdHM9bnVsbCxlIT09bnVsbClmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgbj1lW3RdLGE9bi5jYWxsYmFjaztpZihhIT09bnVsbCl7aWYobi5jYWxsYmFjaz1udWxsLG49cix0eXBlb2YgYSE9ImZ1bmN0aW9uIil0aHJvdyBFcnJvcih5ZSgxOTEsYSkpO2EuY2FsbChuKX19fXZhciBPcD17fSxoaT0kbChPcCksY209JGwoT3ApLGRtPSRsKE9wKTtmdW5jdGlvbiBOYyhlKXtpZihlPT09T3ApdGhyb3cgRXJyb3IoeWUoMTc0KSk7cmV0dXJuIGV9ZnVuY3Rpb24gYjIoZSx0KXtzd2l0Y2goV3QoZG0sdCksV3QoY20sZSksV3QoaGksT3ApLGU9dC5ub2RlVHlwZSxlKXtjYXNlIDk6Y2FzZSAxMTp0PSh0PXQuZG9jdW1lbnRFbGVtZW50KT90Lm5hbWVzcGFjZVVSSTpSTihudWxsLCIiKTticmVhaztkZWZhdWx0OmU9ZT09PTg/dC5wYXJlbnROb2RlOnQsdD1lLm5hbWVzcGFjZVVSSXx8bnVsbCxlPWUudGFnTmFtZSx0PVJOKHQsZSl9cnIoaGkpLFd0KGhpLHQpfWZ1bmN0aW9uIFh1KCl7cnIoaGkpLHJyKGNtKSxycihkbSl9ZnVuY3Rpb24gbjMoZSl7TmMoZG0uY3VycmVudCk7dmFyIHQ9TmMoaGkuY3VycmVudCkscj1STih0LGUudHlwZSk7dCE9PXImJihXdChjbSxlKSxXdChoaSxyKSl9ZnVuY3Rpb24gajIoZSl7Y20uY3VycmVudD09PWUmJihycihoaSkscnIoY20pKX12YXIgdXI9JGwoMCk7ZnVuY3Rpb24gSTAoZSl7Zm9yKHZhciB0PWU7dCE9PW51bGw7KXtpZih0LnRhZz09PTEzKXt2YXIgcj10Lm1lbW9pemVkU3RhdGU7aWYociE9PW51bGwmJihyPXIuZGVoeWRyYXRlZCxyPT09bnVsbHx8ci5kYXRhPT09IiQ/Inx8ci5kYXRhPT09IiQhIikpcmV0dXJuIHR9ZWxzZSBpZih0LnRhZz09PTE5JiZ0Lm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIhPT12b2lkIDApe2lmKHQuZmxhZ3MmMTI4KXJldHVybiB0fWVsc2UgaWYodC5jaGlsZCE9PW51bGwpe3QuY2hpbGQucmV0dXJuPXQsdD10LmNoaWxkO2NvbnRpbnVlfWlmKHQ9PT1lKWJyZWFrO2Zvcig7dC5zaWJsaW5nPT09bnVsbDspe2lmKHQucmV0dXJuPT09bnVsbHx8dC5yZXR1cm49PT1lKXJldHVybiBudWxsO3Q9dC5yZXR1cm59dC5zaWJsaW5nLnJldHVybj10LnJldHVybix0PXQuc2libGluZ31yZXR1cm4gbnVsbH12YXIgajE9W107ZnVuY3Rpb24gTjIoKXtmb3IodmFyIGU9MDtlPGoxLmxlbmd0aDtlKyspajFbZV0uX3dvcmtJblByb2dyZXNzVmVyc2lvblByaW1hcnk9bnVsbDtqMS5sZW5ndGg9MH12YXIgSng9Ym8uUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixOMT1iby5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxKYz0wLG1yPW51bGwsJHI9bnVsbCxlbj1udWxsLFUwPSExLEJoPSExLHVtPTAsRmVlPTA7ZnVuY3Rpb24gTm4oKXt0aHJvdyBFcnJvcih5ZSgzMjEpKX1mdW5jdGlvbiBDMihlLHQpe2lmKHQ9PT1udWxsKXJldHVybiExO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGgmJnI8ZS5sZW5ndGg7cisrKWlmKCFLYShlW3JdLHRbcl0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIF8yKGUsdCxyLG4sYSxpKXtpZihKYz1pLG1yPXQsdC5tZW1vaXplZFN0YXRlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsLHQubGFuZXM9MCxKeC5jdXJyZW50PWU9PT1udWxsfHxlLm1lbW9pemVkU3RhdGU9PT1udWxsP0RlZTpNZWUsZT1yKG4sYSksQmgpe2k9MDtkb3tpZihCaD0hMSx1bT0wLDI1PD1pKXRocm93IEVycm9yKHllKDMwMSkpO2krPTEsZW49JHI9bnVsbCx0LnVwZGF0ZVF1ZXVlPW51bGwsSnguY3VycmVudD1SZWUsZT1yKG4sYSl9d2hpbGUoQmgpfWlmKEp4LmN1cnJlbnQ9RDAsdD0kciE9PW51bGwmJiRyLm5leHQhPT1udWxsLEpjPTAsZW49JHI9bXI9bnVsbCxVMD0hMSx0KXRocm93IEVycm9yKHllKDMwMCkpO3JldHVybiBlfWZ1bmN0aW9uIEIyKCl7dmFyIGU9dW0hPT0wO3JldHVybiB1bT0wLGV9ZnVuY3Rpb24gYWkoKXt2YXIgZT17bWVtb2l6ZWRTdGF0ZTpudWxsLGJhc2VTdGF0ZTpudWxsLGJhc2VRdWV1ZTpudWxsLHF1ZXVlOm51bGwsbmV4dDpudWxsfTtyZXR1cm4gZW49PT1udWxsP21yLm1lbW9pemVkU3RhdGU9ZW49ZTplbj1lbi5uZXh0PWUsZW59ZnVuY3Rpb24gYWEoKXtpZigkcj09PW51bGwpe3ZhciBlPW1yLmFsdGVybmF0ZTtlPWUhPT1udWxsP2UubWVtb2l6ZWRTdGF0ZTpudWxsfWVsc2UgZT0kci5uZXh0O3ZhciB0PWVuPT09bnVsbD9tci5tZW1vaXplZFN0YXRlOmVuLm5leHQ7aWYodCE9PW51bGwpZW49dCwkcj1lO2Vsc2V7aWYoZT09PW51bGwpdGhyb3cgRXJyb3IoeWUoMzEwKSk7JHI9ZSxlPXttZW1vaXplZFN0YXRlOiRyLm1lbW9pemVkU3RhdGUsYmFzZVN0YXRlOiRyLmJhc2VTdGF0ZSxiYXNlUXVldWU6JHIuYmFzZVF1ZXVlLHF1ZXVlOiRyLnF1ZXVlLG5leHQ6bnVsbH0sZW49PT1udWxsP21yLm1lbW9pemVkU3RhdGU9ZW49ZTplbj1lbi5uZXh0PWV9cmV0dXJuIGVufWZ1bmN0aW9uIEFtKGUsdCl7cmV0dXJuIHR5cGVvZiB0PT0iZnVuY3Rpb24iP3QoZSk6dH1mdW5jdGlvbiBDMShlKXt2YXIgdD1hYSgpLHI9dC5xdWV1ZTtpZihyPT09bnVsbCl0aHJvdyBFcnJvcih5ZSgzMTEpKTtyLmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgbj0kcixhPW4uYmFzZVF1ZXVlLGk9ci5wZW5kaW5nO2lmKGkhPT1udWxsKXtpZihhIT09bnVsbCl7dmFyIG89YS5uZXh0O2EubmV4dD1pLm5leHQsaS5uZXh0PW99bi5iYXNlUXVldWU9YT1pLHIucGVuZGluZz1udWxsfWlmKGEhPT1udWxsKXtpPWEubmV4dCxuPW4uYmFzZVN0YXRlO3ZhciBsPW89bnVsbCxjPW51bGwsZD1pO2Rve3ZhciB1PWQubGFuZTtpZigoSmMmdSk9PT11KWMhPT1udWxsJiYoYz1jLm5leHQ9e2xhbmU6MCxhY3Rpb246ZC5hY3Rpb24saGFzRWFnZXJTdGF0ZTpkLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpkLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSksbj1kLmhhc0VhZ2VyU3RhdGU/ZC5lYWdlclN0YXRlOmUobixkLmFjdGlvbik7ZWxzZXt2YXIgQT17bGFuZTp1LGFjdGlvbjpkLmFjdGlvbixoYXNFYWdlclN0YXRlOmQuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOmQuZWFnZXJTdGF0ZSxuZXh0Om51bGx9O2M9PT1udWxsPyhsPWM9QSxvPW4pOmM9Yy5uZXh0PUEsbXIubGFuZXN8PXUsWmN8PXV9ZD1kLm5leHR9d2hpbGUoZCE9PW51bGwmJmQhPT1pKTtjPT09bnVsbD9vPW46Yy5uZXh0PWwsS2Eobix0Lm1lbW9pemVkU3RhdGUpfHwoc3M9ITApLHQubWVtb2l6ZWRTdGF0ZT1uLHQuYmFzZVN0YXRlPW8sdC5iYXNlUXVldWU9YyxyLmxhc3RSZW5kZXJlZFN0YXRlPW59aWYoZT1yLmludGVybGVhdmVkLGUhPT1udWxsKXthPWU7ZG8gaT1hLmxhbmUsbXIubGFuZXN8PWksWmN8PWksYT1hLm5leHQ7d2hpbGUoYSE9PWUpfWVsc2UgYT09PW51bGwmJihyLmxhbmVzPTApO3JldHVyblt0Lm1lbW9pemVkU3RhdGUsci5kaXNwYXRjaF19ZnVuY3Rpb24gXzEoZSl7dmFyIHQ9YWEoKSxyPXQucXVldWU7aWYocj09PW51bGwpdGhyb3cgRXJyb3IoeWUoMzExKSk7ci5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIG49ci5kaXNwYXRjaCxhPXIucGVuZGluZyxpPXQubWVtb2l6ZWRTdGF0ZTtpZihhIT09bnVsbCl7ci5wZW5kaW5nPW51bGw7dmFyIG89YT1hLm5leHQ7ZG8gaT1lKGksby5hY3Rpb24pLG89by5uZXh0O3doaWxlKG8hPT1hKTtLYShpLHQubWVtb2l6ZWRTdGF0ZSl8fChzcz0hMCksdC5tZW1vaXplZFN0YXRlPWksdC5iYXNlUXVldWU9PT1udWxsJiYodC5iYXNlU3RhdGU9aSksci5sYXN0UmVuZGVyZWRTdGF0ZT1pfXJldHVybltpLG5dfWZ1bmN0aW9uIHMzKCl7fWZ1bmN0aW9uIGEzKGUsdCl7dmFyIHI9bXIsbj1hYSgpLGE9dCgpLGk9IUthKG4ubWVtb2l6ZWRTdGF0ZSxhKTtpZihpJiYobi5tZW1vaXplZFN0YXRlPWEsc3M9ITApLG49bi5xdWV1ZSxTMihsMy5iaW5kKG51bGwscixuLGUpLFtlXSksbi5nZXRTbmFwc2hvdCE9PXR8fGl8fGVuIT09bnVsbCYmZW4ubWVtb2l6ZWRTdGF0ZS50YWcmMSl7aWYoci5mbGFnc3w9MjA0OCxmbSg5LG8zLmJpbmQobnVsbCxyLG4sYSx0KSx2b2lkIDAsbnVsbCksYW49PT1udWxsKXRocm93IEVycm9yKHllKDM0OSkpO0pjJjMwfHxpMyhyLHQsYSl9cmV0dXJuIGF9ZnVuY3Rpb24gaTMoZSx0LHIpe2UuZmxhZ3N8PTE2Mzg0LGU9e2dldFNuYXBzaG90OnQsdmFsdWU6cn0sdD1tci51cGRhdGVRdWV1ZSx0PT09bnVsbD8odD17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxtci51cGRhdGVRdWV1ZT10LHQuc3RvcmVzPVtlXSk6KHI9dC5zdG9yZXMscj09PW51bGw/dC5zdG9yZXM9W2VdOnIucHVzaChlKSl9ZnVuY3Rpb24gbzMoZSx0LHIsbil7dC52YWx1ZT1yLHQuZ2V0U25hcHNob3Q9bixjMyh0KSYmZDMoZSl9ZnVuY3Rpb24gbDMoZSx0LHIpe3JldHVybiByKGZ1bmN0aW9uKCl7YzModCkmJmQzKGUpfSl9ZnVuY3Rpb24gYzMoZSl7dmFyIHQ9ZS5nZXRTbmFwc2hvdDtlPWUudmFsdWU7dHJ5e3ZhciByPXQoKTtyZXR1cm4hS2EoZSxyKX1jYXRjaHtyZXR1cm4hMH19ZnVuY3Rpb24gZDMoZSl7dmFyIHQ9QW8oZSwxKTt0IT09bnVsbCYmUmEodCxlLDEsLTEpfWZ1bmN0aW9uIGk0KGUpe3ZhciB0PWFpKCk7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKCkpLHQubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lLGU9e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOkFtLGxhc3RSZW5kZXJlZFN0YXRlOmV9LHQucXVldWU9ZSxlPWUuZGlzcGF0Y2g9VWVlLmJpbmQobnVsbCxtcixlKSxbdC5tZW1vaXplZFN0YXRlLGVdfWZ1bmN0aW9uIGZtKGUsdCxyLG4pe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6dCxkZXN0cm95OnIsZGVwczpuLG5leHQ6bnVsbH0sdD1tci51cGRhdGVRdWV1ZSx0PT09bnVsbD8odD17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxtci51cGRhdGVRdWV1ZT10LHQubGFzdEVmZmVjdD1lLm5leHQ9ZSk6KHI9dC5sYXN0RWZmZWN0LHI9PT1udWxsP3QubGFzdEVmZmVjdD1lLm5leHQ9ZToobj1yLm5leHQsci5uZXh0PWUsZS5uZXh0PW4sdC5sYXN0RWZmZWN0PWUpKSxlfWZ1bmN0aW9uIHUzKCl7cmV0dXJuIGFhKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBaeChlLHQscixuKXt2YXIgYT1haSgpO21yLmZsYWdzfD1lLGEubWVtb2l6ZWRTdGF0ZT1mbSgxfHQscix2b2lkIDAsbj09PXZvaWQgMD9udWxsOm4pfWZ1bmN0aW9uIHF2KGUsdCxyLG4pe3ZhciBhPWFhKCk7bj1uPT09dm9pZCAwP251bGw6bjt2YXIgaT12b2lkIDA7aWYoJHIhPT1udWxsKXt2YXIgbz0kci5tZW1vaXplZFN0YXRlO2lmKGk9by5kZXN0cm95LG4hPT1udWxsJiZDMihuLG8uZGVwcykpe2EubWVtb2l6ZWRTdGF0ZT1mbSh0LHIsaSxuKTtyZXR1cm59fW1yLmZsYWdzfD1lLGEubWVtb2l6ZWRTdGF0ZT1mbSgxfHQscixpLG4pfWZ1bmN0aW9uIG80KGUsdCl7cmV0dXJuIFp4KDgzOTA2NTYsOCxlLHQpfWZ1bmN0aW9uIFMyKGUsdCl7cmV0dXJuIHF2KDIwNDgsOCxlLHQpfWZ1bmN0aW9uIEEzKGUsdCl7cmV0dXJuIHF2KDQsMixlLHQpfWZ1bmN0aW9uIGYzKGUsdCl7cmV0dXJuIHF2KDQsNCxlLHQpfWZ1bmN0aW9uIGgzKGUsdCl7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpcmV0dXJuIGU9ZSgpLHQoZSksZnVuY3Rpb24oKXt0KG51bGwpfTtpZih0IT1udWxsKXJldHVybiBlPWUoKSx0LmN1cnJlbnQ9ZSxmdW5jdGlvbigpe3QuY3VycmVudD1udWxsfX1mdW5jdGlvbiBtMyhlLHQscil7cmV0dXJuIHI9ciE9bnVsbD9yLmNvbmNhdChbZV0pOm51bGwscXYoNCw0LGgzLmJpbmQobnVsbCx0LGUpLHIpfWZ1bmN0aW9uIEUyKCl7fWZ1bmN0aW9uIHAzKGUsdCl7dmFyIHI9YWEoKTt0PXQ9PT12b2lkIDA/bnVsbDp0O3ZhciBuPXIubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbiE9PW51bGwmJnQhPT1udWxsJiZDMih0LG5bMV0pP25bMF06KHIubWVtb2l6ZWRTdGF0ZT1bZSx0XSxlKX1mdW5jdGlvbiBnMyhlLHQpe3ZhciByPWFhKCk7dD10PT09dm9pZCAwP251bGw6dDt2YXIgbj1yLm1lbW9pemVkU3RhdGU7cmV0dXJuIG4hPT1udWxsJiZ0IT09bnVsbCYmQzIodCxuWzFdKT9uWzBdOihlPWUoKSxyLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9ZnVuY3Rpb24geDMoZSx0LHIpe3JldHVybiBKYyYyMT8oS2Eocix0KXx8KHI9akwoKSxtci5sYW5lc3w9cixaY3w9cixlLmJhc2VTdGF0ZT0hMCksdCk6KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsc3M9ITApLGUubWVtb2l6ZWRTdGF0ZT1yKX1mdW5jdGlvbiBPZWUoZSx0KXt2YXIgcj1VdDtVdD1yIT09MCYmND5yP3I6NCxlKCEwKTt2YXIgbj1OMS50cmFuc2l0aW9uO04xLnRyYW5zaXRpb249e307dHJ5e2UoITEpLHQoKX1maW5hbGx5e1V0PXIsTjEudHJhbnNpdGlvbj1ufX1mdW5jdGlvbiB5Mygpe3JldHVybiBhYSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gSWVlKGUsdCxyKXt2YXIgbj15bChlKTtpZihyPXtsYW5lOm4sYWN0aW9uOnIsaGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSx2MyhlKSl3Myh0LHIpO2Vsc2UgaWYocj10MyhlLHQscixuKSxyIT09bnVsbCl7dmFyIGE9V24oKTtSYShyLGUsbixhKSxiMyhyLHQsbil9fWZ1bmN0aW9uIFVlZShlLHQscil7dmFyIG49eWwoZSksYT17bGFuZTpuLGFjdGlvbjpyLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH07aWYodjMoZSkpdzModCxhKTtlbHNle3ZhciBpPWUuYWx0ZXJuYXRlO2lmKGUubGFuZXM9PT0wJiYoaT09PW51bGx8fGkubGFuZXM9PT0wKSYmKGk9dC5sYXN0UmVuZGVyZWRSZWR1Y2VyLGkhPT1udWxsKSl0cnl7dmFyIG89dC5sYXN0UmVuZGVyZWRTdGF0ZSxsPWkobyxyKTtpZihhLmhhc0VhZ2VyU3RhdGU9ITAsYS5lYWdlclN0YXRlPWwsS2EobCxvKSl7dmFyIGM9dC5pbnRlcmxlYXZlZDtjPT09bnVsbD8oYS5uZXh0PWEsdjIodCkpOihhLm5leHQ9Yy5uZXh0LGMubmV4dD1hKSx0LmludGVybGVhdmVkPWE7cmV0dXJufX1jYXRjaHt9ZmluYWxseXt9cj10MyhlLHQsYSxuKSxyIT09bnVsbCYmKGE9V24oKSxSYShyLGUsbixhKSxiMyhyLHQsbikpfX1mdW5jdGlvbiB2MyhlKXt2YXIgdD1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PW1yfHx0IT09bnVsbCYmdD09PW1yfWZ1bmN0aW9uIHczKGUsdCl7Qmg9VTA9ITA7dmFyIHI9ZS5wZW5kaW5nO3I9PT1udWxsP3QubmV4dD10Oih0Lm5leHQ9ci5uZXh0LHIubmV4dD10KSxlLnBlbmRpbmc9dH1mdW5jdGlvbiBiMyhlLHQscil7aWYociY0MTk0MjQwKXt2YXIgbj10LmxhbmVzO24mPWUucGVuZGluZ0xhbmVzLHJ8PW4sdC5sYW5lcz1yLGkyKGUscil9fXZhciBEMD17cmVhZENvbnRleHQ6c2EsdXNlQ2FsbGJhY2s6Tm4sdXNlQ29udGV4dDpObix1c2VFZmZlY3Q6Tm4sdXNlSW1wZXJhdGl2ZUhhbmRsZTpObix1c2VJbnNlcnRpb25FZmZlY3Q6Tm4sdXNlTGF5b3V0RWZmZWN0Ok5uLHVzZU1lbW86Tm4sdXNlUmVkdWNlcjpObix1c2VSZWY6Tm4sdXNlU3RhdGU6Tm4sdXNlRGVidWdWYWx1ZTpObix1c2VEZWZlcnJlZFZhbHVlOk5uLHVzZVRyYW5zaXRpb246Tm4sdXNlTXV0YWJsZVNvdXJjZTpObix1c2VTeW5jRXh0ZXJuYWxTdG9yZTpObix1c2VJZDpObix1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LERlZT17cmVhZENvbnRleHQ6c2EsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYWkoKS5tZW1vaXplZFN0YXRlPVtlLHQ9PT12b2lkIDA/bnVsbDp0XSxlfSx1c2VDb250ZXh0OnNhLHVzZUVmZmVjdDpvNCx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gcj1yIT1udWxsP3IuY29uY2F0KFtlXSk6bnVsbCxaeCg0MTk0MzA4LDQsaDMuYmluZChudWxsLHQsZSkscil9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLHQpe3JldHVybiBaeCg0MTk0MzA4LDQsZSx0KX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIFp4KDQsMixlLHQpfSx1c2VNZW1vOmZ1bmN0aW9uKGUsdCl7dmFyIHI9YWkoKTtyZXR1cm4gdD10PT09dm9pZCAwP251bGw6dCxlPWUoKSxyLm1lbW9pemVkU3RhdGU9W2UsdF0sZX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLHQscil7dmFyIG49YWkoKTtyZXR1cm4gdD1yIT09dm9pZCAwP3IodCk6dCxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9dCxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOnR9LG4ucXVldWU9ZSxlPWUuZGlzcGF0Y2g9SWVlLmJpbmQobnVsbCxtcixlKSxbbi5tZW1vaXplZFN0YXRlLGVdfSx1c2VSZWY6ZnVuY3Rpb24oZSl7dmFyIHQ9YWkoKTtyZXR1cm4gZT17Y3VycmVudDplfSx0Lm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6aTQsdXNlRGVidWdWYWx1ZTpFMix1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBhaSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPWk0KCExKSx0PWVbMF07cmV0dXJuIGU9T2VlLmJpbmQobnVsbCxlWzFdKSxhaSgpLm1lbW9pemVkU3RhdGU9ZSxbdCxlXX0sdXNlTXV0YWJsZVNvdXJjZTpmdW5jdGlvbigpe30sdXNlU3luY0V4dGVybmFsU3RvcmU6ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPW1yLGE9YWkoKTtpZihvcil7aWYocj09PXZvaWQgMCl0aHJvdyBFcnJvcih5ZSg0MDcpKTtyPXIoKX1lbHNle2lmKHI9dCgpLGFuPT09bnVsbCl0aHJvdyBFcnJvcih5ZSgzNDkpKTtKYyYzMHx8aTMobix0LHIpfWEubWVtb2l6ZWRTdGF0ZT1yO3ZhciBpPXt2YWx1ZTpyLGdldFNuYXBzaG90OnR9O3JldHVybiBhLnF1ZXVlPWksbzQobDMuYmluZChudWxsLG4saSxlKSxbZV0pLG4uZmxhZ3N8PTIwNDgsZm0oOSxvMy5iaW5kKG51bGwsbixpLHIsdCksdm9pZCAwLG51bGwpLHJ9LHVzZUlkOmZ1bmN0aW9uKCl7dmFyIGU9YWkoKSx0PWFuLmlkZW50aWZpZXJQcmVmaXg7aWYob3Ipe3ZhciByPVhpLG49WWk7cj0obiZ+KDE8PDMyLU1hKG4pLTEpKS50b1N0cmluZygzMikrcix0PSI6Iit0KyJSIityLHI9dW0rKywwPHImJih0Kz0iSCIrci50b1N0cmluZygzMikpLHQrPSI6In1lbHNlIHI9RmVlKyssdD0iOiIrdCsiciIrci50b1N0cmluZygzMikrIjoiO3JldHVybiBlLm1lbW9pemVkU3RhdGU9dH0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxNZWU9e3JlYWRDb250ZXh0OnNhLHVzZUNhbGxiYWNrOnAzLHVzZUNvbnRleHQ6c2EsdXNlRWZmZWN0OlMyLHVzZUltcGVyYXRpdmVIYW5kbGU6bTMsdXNlSW5zZXJ0aW9uRWZmZWN0OkEzLHVzZUxheW91dEVmZmVjdDpmMyx1c2VNZW1vOmczLHVzZVJlZHVjZXI6QzEsdXNlUmVmOnUzLHVzZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIEMxKEFtKX0sdXNlRGVidWdWYWx1ZTpFMix1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWFhKCk7cmV0dXJuIHgzKHQsJHIubWVtb2l6ZWRTdGF0ZSxlKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPUMxKEFtKVswXSx0PWFhKCkubWVtb2l6ZWRTdGF0ZTtyZXR1cm5bZSx0XX0sdXNlTXV0YWJsZVNvdXJjZTpzMyx1c2VTeW5jRXh0ZXJuYWxTdG9yZTphMyx1c2VJZDp5Myx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LFJlZT17cmVhZENvbnRleHQ6c2EsdXNlQ2FsbGJhY2s6cDMsdXNlQ29udGV4dDpzYSx1c2VFZmZlY3Q6UzIsdXNlSW1wZXJhdGl2ZUhhbmRsZTptMyx1c2VJbnNlcnRpb25FZmZlY3Q6QTMsdXNlTGF5b3V0RWZmZWN0OmYzLHVzZU1lbW86ZzMsdXNlUmVkdWNlcjpfMSx1c2VSZWY6dTMsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gXzEoQW0pfSx1c2VEZWJ1Z1ZhbHVlOkUyLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9YWEoKTtyZXR1cm4gJHI9PT1udWxsP3QubWVtb2l6ZWRTdGF0ZT1lOngzKHQsJHIubWVtb2l6ZWRTdGF0ZSxlKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPV8xKEFtKVswXSx0PWFhKCkubWVtb2l6ZWRTdGF0ZTtyZXR1cm5bZSx0XX0sdXNlTXV0YWJsZVNvdXJjZTpzMyx1c2VTeW5jRXh0ZXJuYWxTdG9yZTphMyx1c2VJZDp5Myx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9O2Z1bmN0aW9uIE5hKGUsdCl7aWYoZSYmZS5kZWZhdWx0UHJvcHMpe3Q9cHIoe30sdCksZT1lLmRlZmF1bHRQcm9wcztmb3IodmFyIHIgaW4gZSl0W3JdPT09dm9pZCAwJiYodFtyXT1lW3JdKTtyZXR1cm4gdH1yZXR1cm4gdH1mdW5jdGlvbiBpQyhlLHQscixuKXt0PWUubWVtb2l6ZWRTdGF0ZSxyPXIobix0KSxyPXI9PW51bGw/dDpwcih7fSx0LHIpLGUubWVtb2l6ZWRTdGF0ZT1yLGUubGFuZXM9PT0wJiYoZS51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9cil9dmFyIFl2PXtpc01vdW50ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9ZS5fcmVhY3RJbnRlcm5hbHMpP2dkKGUpPT09ZTohMX0sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKGUsdCxyKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciBuPVduKCksYT15bChlKSxpPXRvKG4sYSk7aS5wYXlsb2FkPXQsciE9bnVsbCYmKGkuY2FsbGJhY2s9ciksdD1nbChlLGksYSksdCE9PW51bGwmJihSYSh0LGUsYSxuKSxYeCh0LGUsYSkpfSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKGUsdCxyKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciBuPVduKCksYT15bChlKSxpPXRvKG4sYSk7aS50YWc9MSxpLnBheWxvYWQ9dCxyIT1udWxsJiYoaS5jYWxsYmFjaz1yKSx0PWdsKGUsaSxhKSx0IT09bnVsbCYmKFJhKHQsZSxhLG4pLFh4KHQsZSxhKSl9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbihlLHQpe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIHI9V24oKSxuPXlsKGUpLGE9dG8ocixuKTthLnRhZz0yLHQhPW51bGwmJihhLmNhbGxiYWNrPXQpLHQ9Z2woZSxhLG4pLHQhPT1udWxsJiYoUmEodCxlLG4sciksWHgodCxlLG4pKX19O2Z1bmN0aW9uIGw0KGUsdCxyLG4sYSxpLG8pe3JldHVybiBlPWUuc3RhdGVOb2RlLHR5cGVvZiBlLnNob3VsZENvbXBvbmVudFVwZGF0ZT09ImZ1bmN0aW9uIj9lLnNob3VsZENvbXBvbmVudFVwZGF0ZShuLGksbyk6dC5wcm90b3R5cGUmJnQucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50PyFhbShyLG4pfHwhYW0oYSxpKTohMH1mdW5jdGlvbiBqMyhlLHQscil7dmFyIG49ITEsYT1QbCxpPXQuY29udGV4dFR5cGU7cmV0dXJuIHR5cGVvZiBpPT0ib2JqZWN0IiYmaSE9PW51bGw/aT1zYShpKTooYT1vcyh0KT9ZYzpEbi5jdXJyZW50LG49dC5jb250ZXh0VHlwZXMsaT0obj1uIT1udWxsKT9HdShlLGEpOlBsKSx0PW5ldyB0KHIsaSksZS5tZW1vaXplZFN0YXRlPXQuc3RhdGUhPT1udWxsJiZ0LnN0YXRlIT09dm9pZCAwP3Quc3RhdGU6bnVsbCx0LnVwZGF0ZXI9WXYsZS5zdGF0ZU5vZGU9dCx0Ll9yZWFjdEludGVybmFscz1lLG4mJihlPWUuc3RhdGVOb2RlLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1hLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9aSksdH1mdW5jdGlvbiBjNChlLHQscixuKXtlPXQuc3RhdGUsdHlwZW9mIHQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcz09ImZ1bmN0aW9uIiYmdC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHIsbiksdHlwZW9mIHQuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHM9PSJmdW5jdGlvbiImJnQuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMocixuKSx0LnN0YXRlIT09ZSYmWXYuZW5xdWV1ZVJlcGxhY2VTdGF0ZSh0LHQuc3RhdGUsbnVsbCl9ZnVuY3Rpb24gb0MoZSx0LHIsbil7dmFyIGE9ZS5zdGF0ZU5vZGU7YS5wcm9wcz1yLGEuc3RhdGU9ZS5tZW1vaXplZFN0YXRlLGEucmVmcz17fSx3MihlKTt2YXIgaT10LmNvbnRleHRUeXBlO3R5cGVvZiBpPT0ib2JqZWN0IiYmaSE9PW51bGw/YS5jb250ZXh0PXNhKGkpOihpPW9zKHQpP1ljOkRuLmN1cnJlbnQsYS5jb250ZXh0PUd1KGUsaSkpLGEuc3RhdGU9ZS5tZW1vaXplZFN0YXRlLGk9dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsdHlwZW9mIGk9PSJmdW5jdGlvbiImJihpQyhlLHQsaSxyKSxhLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksdHlwZW9mIHQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT0iZnVuY3Rpb24ifHx0eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZT09ImZ1bmN0aW9uInx8dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50IT0iZnVuY3Rpb24ifHwodD1hLnN0YXRlLHR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudD09ImZ1bmN0aW9uIiYmYS5jb21wb25lbnRXaWxsTW91bnQoKSx0eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50PT0iZnVuY3Rpb24iJiZhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSx0IT09YS5zdGF0ZSYmWXYuZW5xdWV1ZVJlcGxhY2VTdGF0ZShhLGEuc3RhdGUsbnVsbCksTzAoZSxyLGEsbiksYS5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLHR5cGVvZiBhLmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYoZS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gSnUoZSx0KXt0cnl7dmFyIHI9IiIsbj10O2RvIHIrPWZaKG4pLG49bi5yZXR1cm47d2hpbGUobik7dmFyIGE9cn1jYXRjaChpKXthPWAKRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogYCtpLm1lc3NhZ2UrYApgK2kuc3RhY2t9cmV0dXJue3ZhbHVlOmUsc291cmNlOnQsc3RhY2s6YSxkaWdlc3Q6bnVsbH19ZnVuY3Rpb24gQjEoZSx0LHIpe3JldHVybnt2YWx1ZTplLHNvdXJjZTpudWxsLHN0YWNrOnI/P251bGwsZGlnZXN0OnQ/P251bGx9fWZ1bmN0aW9uIGxDKGUsdCl7dHJ5e2NvbnNvbGUuZXJyb3IodC52YWx1ZSl9Y2F0Y2gocil7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IHJ9KX19dmFyIFFlZT10eXBlb2YgV2Vha01hcD09ImZ1bmN0aW9uIj9XZWFrTWFwOk1hcDtmdW5jdGlvbiBOMyhlLHQscil7cj10bygtMSxyKSxyLnRhZz0zLHIucGF5bG9hZD17ZWxlbWVudDpudWxsfTt2YXIgbj10LnZhbHVlO3JldHVybiByLmNhbGxiYWNrPWZ1bmN0aW9uKCl7UjB8fChSMD0hMCx4Qz1uKSxsQyhlLHQpfSxyfWZ1bmN0aW9uIEMzKGUsdCxyKXtyPXRvKC0xLHIpLHIudGFnPTM7dmFyIG49ZS50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtpZih0eXBlb2Ygbj09ImZ1bmN0aW9uIil7dmFyIGE9dC52YWx1ZTtyLnBheWxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbihhKX0sci5jYWxsYmFjaz1mdW5jdGlvbigpe2xDKGUsdCl9fXZhciBpPWUuc3RhdGVOb2RlO3JldHVybiBpIT09bnVsbCYmdHlwZW9mIGkuY29tcG9uZW50RGlkQ2F0Y2g9PSJmdW5jdGlvbiImJihyLmNhbGxiYWNrPWZ1bmN0aW9uKCl7bEMoZSx0KSx0eXBlb2YgbiE9ImZ1bmN0aW9uIiYmKHhsPT09bnVsbD94bD1uZXcgU2V0KFt0aGlzXSk6eGwuYWRkKHRoaXMpKTt2YXIgbz10LnN0YWNrO3RoaXMuY29tcG9uZW50RGlkQ2F0Y2godC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6byE9PW51bGw/bzoiIn0pfSkscn1mdW5jdGlvbiBkNChlLHQscil7dmFyIG49ZS5waW5nQ2FjaGU7aWYobj09PW51bGwpe249ZS5waW5nQ2FjaGU9bmV3IFFlZTt2YXIgYT1uZXcgU2V0O24uc2V0KHQsYSl9ZWxzZSBhPW4uZ2V0KHQpLGE9PT12b2lkIDAmJihhPW5ldyBTZXQsbi5zZXQodCxhKSk7YS5oYXMocil8fChhLmFkZChyKSxlPWV0ZS5iaW5kKG51bGwsZSx0LHIpLHQudGhlbihlLGUpKX1mdW5jdGlvbiB1NChlKXtkb3t2YXIgdDtpZigodD1lLnRhZz09PTEzKSYmKHQ9ZS5tZW1vaXplZFN0YXRlLHQ9dCE9PW51bGw/dC5kZWh5ZHJhdGVkIT09bnVsbDohMCksdClyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKGUhPT1udWxsKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBBNChlLHQscixuLGEpe3JldHVybiBlLm1vZGUmMT8oZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1hLGUpOihlPT09dD9lLmZsYWdzfD02NTUzNjooZS5mbGFnc3w9MTI4LHIuZmxhZ3N8PTEzMTA3MixyLmZsYWdzJj0tNTI4MDUsci50YWc9PT0xJiYoci5hbHRlcm5hdGU9PT1udWxsP3IudGFnPTE3Oih0PXRvKC0xLDEpLHQudGFnPTIsZ2wocix0LDEpKSksci5sYW5lc3w9MSksZSl9dmFyIExlZT1iby5SZWFjdEN1cnJlbnRPd25lcixzcz0hMTtmdW5jdGlvbiBMbihlLHQscixuKXt0LmNoaWxkPWU9PT1udWxsP2UzKHQsbnVsbCxyLG4pOll1KHQsZS5jaGlsZCxyLG4pfWZ1bmN0aW9uIGY0KGUsdCxyLG4sYSl7cj1yLnJlbmRlcjt2YXIgaT10LnJlZjtyZXR1cm4gTnUodCxhKSxuPV8yKGUsdCxyLG4saSxhKSxyPUIyKCksZSE9PW51bGwmJiFzcz8odC51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLHQuZmxhZ3MmPS0yMDUzLGUubGFuZXMmPX5hLGZvKGUsdCxhKSk6KG9yJiZyJiZoMih0KSx0LmZsYWdzfD0xLExuKGUsdCxuLGEpLHQuY2hpbGQpfWZ1bmN0aW9uIGg0KGUsdCxyLG4sYSl7aWYoZT09PW51bGwpe3ZhciBpPXIudHlwZTtyZXR1cm4gdHlwZW9mIGk9PSJmdW5jdGlvbiImJiFEMihpKSYmaS5kZWZhdWx0UHJvcHM9PT12b2lkIDAmJnIuY29tcGFyZT09PW51bGwmJnIuZGVmYXVsdFByb3BzPT09dm9pZCAwPyh0LnRhZz0xNSx0LnR5cGU9aSxfMyhlLHQsaSxuLGEpKTooZT1uMChyLnR5cGUsbnVsbCxuLHQsdC5tb2RlLGEpLGUucmVmPXQucmVmLGUucmV0dXJuPXQsdC5jaGlsZD1lKX1pZihpPWUuY2hpbGQsIShlLmxhbmVzJmEpKXt2YXIgbz1pLm1lbW9pemVkUHJvcHM7aWYocj1yLmNvbXBhcmUscj1yIT09bnVsbD9yOmFtLHIobyxuKSYmZS5yZWY9PT10LnJlZilyZXR1cm4gZm8oZSx0LGEpfXJldHVybiB0LmZsYWdzfD0xLGU9dmwoaSxuKSxlLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZX1mdW5jdGlvbiBfMyhlLHQscixuLGEpe2lmKGUhPT1udWxsKXt2YXIgaT1lLm1lbW9pemVkUHJvcHM7aWYoYW0oaSxuKSYmZS5yZWY9PT10LnJlZilpZihzcz0hMSx0LnBlbmRpbmdQcm9wcz1uPWksKGUubGFuZXMmYSkhPT0wKWUuZmxhZ3MmMTMxMDcyJiYoc3M9ITApO2Vsc2UgcmV0dXJuIHQubGFuZXM9ZS5sYW5lcyxmbyhlLHQsYSl9cmV0dXJuIGNDKGUsdCxyLG4sYSl9ZnVuY3Rpb24gQjMoZSx0LHIpe3ZhciBuPXQucGVuZGluZ1Byb3BzLGE9bi5jaGlsZHJlbixpPWUhPT1udWxsP2UubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKG4ubW9kZT09PSJoaWRkZW4iKWlmKCEodC5tb2RlJjEpKXQubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH0sV3QoZHUsZnMpLGZzfD1yO2Vsc2V7aWYoIShyJjEwNzM3NDE4MjQpKXJldHVybiBlPWkhPT1udWxsP2kuYmFzZUxhbmVzfHI6cix0LmxhbmVzPXQuY2hpbGRMYW5lcz0xMDczNzQxODI0LHQubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH0sdC51cGRhdGVRdWV1ZT1udWxsLFd0KGR1LGZzKSxmc3w9ZSxudWxsO3QubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH0sbj1pIT09bnVsbD9pLmJhc2VMYW5lczpyLFd0KGR1LGZzKSxmc3w9bn1lbHNlIGkhPT1udWxsPyhuPWkuYmFzZUxhbmVzfHIsdC5tZW1vaXplZFN0YXRlPW51bGwpOm49cixXdChkdSxmcyksZnN8PW47cmV0dXJuIExuKGUsdCxhLHIpLHQuY2hpbGR9ZnVuY3Rpb24gUzMoZSx0KXt2YXIgcj10LnJlZjsoZT09PW51bGwmJnIhPT1udWxsfHxlIT09bnVsbCYmZS5yZWYhPT1yKSYmKHQuZmxhZ3N8PTUxMix0LmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBjQyhlLHQscixuLGEpe3ZhciBpPW9zKHIpP1ljOkRuLmN1cnJlbnQ7cmV0dXJuIGk9R3UodCxpKSxOdSh0LGEpLHI9XzIoZSx0LHIsbixpLGEpLG49QjIoKSxlIT09bnVsbCYmIXNzPyh0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdC5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmEsZm8oZSx0LGEpKToob3ImJm4mJmgyKHQpLHQuZmxhZ3N8PTEsTG4oZSx0LHIsYSksdC5jaGlsZCl9ZnVuY3Rpb24gbTQoZSx0LHIsbixhKXtpZihvcyhyKSl7dmFyIGk9ITA7RTAodCl9ZWxzZSBpPSExO2lmKE51KHQsYSksdC5zdGF0ZU5vZGU9PT1udWxsKWUwKGUsdCksajModCxyLG4pLG9DKHQscixuLGEpLG49ITA7ZWxzZSBpZihlPT09bnVsbCl7dmFyIG89dC5zdGF0ZU5vZGUsbD10Lm1lbW9pemVkUHJvcHM7by5wcm9wcz1sO3ZhciBjPW8uY29udGV4dCxkPXIuY29udGV4dFR5cGU7dHlwZW9mIGQ9PSJvYmplY3QiJiZkIT09bnVsbD9kPXNhKGQpOihkPW9zKHIpP1ljOkRuLmN1cnJlbnQsZD1HdSh0LGQpKTt2YXIgdT1yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyxBPXR5cGVvZiB1PT0iZnVuY3Rpb24ifHx0eXBlb2Ygby5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZT09ImZ1bmN0aW9uIjtBfHx0eXBlb2Ygby5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyE9ImZ1bmN0aW9uIiYmdHlwZW9mIG8uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyE9ImZ1bmN0aW9uInx8KGwhPT1ufHxjIT09ZCkmJmM0KHQsbyxuLGQpLEhvPSExO3ZhciBmPXQubWVtb2l6ZWRTdGF0ZTtvLnN0YXRlPWYsTzAodCxuLG8sYSksYz10Lm1lbW9pemVkU3RhdGUsbCE9PW58fGYhPT1jfHxpcy5jdXJyZW50fHxIbz8odHlwZW9mIHU9PSJmdW5jdGlvbiImJihpQyh0LHIsdSxuKSxjPXQubWVtb2l6ZWRTdGF0ZSksKGw9SG98fGw0KHQscixsLG4sZixjLGQpKT8oQXx8dHlwZW9mIG8uVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCE9ImZ1bmN0aW9uIiYmdHlwZW9mIG8uY29tcG9uZW50V2lsbE1vdW50IT0iZnVuY3Rpb24ifHwodHlwZW9mIG8uY29tcG9uZW50V2lsbE1vdW50PT0iZnVuY3Rpb24iJiZvLmNvbXBvbmVudFdpbGxNb3VudCgpLHR5cGVvZiBvLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQ9PSJmdW5jdGlvbiImJm8uVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpKSx0eXBlb2Ygby5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTQxOTQzMDgpKToodHlwZW9mIG8uY29tcG9uZW50RGlkTW91bnQ9PSJmdW5jdGlvbiImJih0LmZsYWdzfD00MTk0MzA4KSx0Lm1lbW9pemVkUHJvcHM9bix0Lm1lbW9pemVkU3RhdGU9Yyksby5wcm9wcz1uLG8uc3RhdGU9YyxvLmNvbnRleHQ9ZCxuPWwpOih0eXBlb2Ygby5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTQxOTQzMDgpLG49ITEpfWVsc2V7bz10LnN0YXRlTm9kZSxyMyhlLHQpLGw9dC5tZW1vaXplZFByb3BzLGQ9dC50eXBlPT09dC5lbGVtZW50VHlwZT9sOk5hKHQudHlwZSxsKSxvLnByb3BzPWQsQT10LnBlbmRpbmdQcm9wcyxmPW8uY29udGV4dCxjPXIuY29udGV4dFR5cGUsdHlwZW9mIGM9PSJvYmplY3QiJiZjIT09bnVsbD9jPXNhKGMpOihjPW9zKHIpP1ljOkRuLmN1cnJlbnQsYz1HdSh0LGMpKTt2YXIgaD1yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wczsodT10eXBlb2YgaD09ImZ1bmN0aW9uInx8dHlwZW9mIG8uZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU9PSJmdW5jdGlvbiIpfHx0eXBlb2Ygby5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyE9ImZ1bmN0aW9uIiYmdHlwZW9mIG8uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyE9ImZ1bmN0aW9uInx8KGwhPT1BfHxmIT09YykmJmM0KHQsbyxuLGMpLEhvPSExLGY9dC5tZW1vaXplZFN0YXRlLG8uc3RhdGU9ZixPMCh0LG4sbyxhKTt2YXIgcD10Lm1lbW9pemVkU3RhdGU7bCE9PUF8fGYhPT1wfHxpcy5jdXJyZW50fHxIbz8odHlwZW9mIGg9PSJmdW5jdGlvbiImJihpQyh0LHIsaCxuKSxwPXQubWVtb2l6ZWRTdGF0ZSksKGQ9SG98fGw0KHQscixkLG4sZixwLGMpfHwhMSk/KHV8fHR5cGVvZiBvLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIT0iZnVuY3Rpb24iJiZ0eXBlb2Ygby5jb21wb25lbnRXaWxsVXBkYXRlIT0iZnVuY3Rpb24ifHwodHlwZW9mIG8uY29tcG9uZW50V2lsbFVwZGF0ZT09ImZ1bmN0aW9uIiYmby5jb21wb25lbnRXaWxsVXBkYXRlKG4scCxjKSx0eXBlb2Ygby5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZT09ImZ1bmN0aW9uIiYmby5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShuLHAsYykpLHR5cGVvZiBvLmNvbXBvbmVudERpZFVwZGF0ZT09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTQpLHR5cGVvZiBvLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9MTAyNCkpOih0eXBlb2Ygby5jb21wb25lbnREaWRVcGRhdGUhPSJmdW5jdGlvbiJ8fGw9PT1lLm1lbW9pemVkUHJvcHMmJmY9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD00KSx0eXBlb2Ygby5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSE9ImZ1bmN0aW9uInx8bD09PWUubWVtb2l6ZWRQcm9wcyYmZj09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTEwMjQpLHQubWVtb2l6ZWRQcm9wcz1uLHQubWVtb2l6ZWRTdGF0ZT1wKSxvLnByb3BzPW4sby5zdGF0ZT1wLG8uY29udGV4dD1jLG49ZCk6KHR5cGVvZiBvLmNvbXBvbmVudERpZFVwZGF0ZSE9ImZ1bmN0aW9uInx8bD09PWUubWVtb2l6ZWRQcm9wcyYmZj09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLHR5cGVvZiBvLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT0iZnVuY3Rpb24ifHxsPT09ZS5tZW1vaXplZFByb3BzJiZmPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksbj0hMSl9cmV0dXJuIGRDKGUsdCxyLG4saSxhKX1mdW5jdGlvbiBkQyhlLHQscixuLGEsaSl7UzMoZSx0KTt2YXIgbz0odC5mbGFncyYxMjgpIT09MDtpZighbiYmIW8pcmV0dXJuIGEmJmU0KHQsciwhMSksZm8oZSx0LGkpO249dC5zdGF0ZU5vZGUsTGVlLmN1cnJlbnQ9dDt2YXIgbD1vJiZ0eXBlb2Ygci5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IhPSJmdW5jdGlvbiI/bnVsbDpuLnJlbmRlcigpO3JldHVybiB0LmZsYWdzfD0xLGUhPT1udWxsJiZvPyh0LmNoaWxkPVl1KHQsZS5jaGlsZCxudWxsLGkpLHQuY2hpbGQ9WXUodCxudWxsLGwsaSkpOkxuKGUsdCxsLGkpLHQubWVtb2l6ZWRTdGF0ZT1uLnN0YXRlLGEmJmU0KHQsciwhMCksdC5jaGlsZH1mdW5jdGlvbiBFMyhlKXt2YXIgdD1lLnN0YXRlTm9kZTt0LnBlbmRpbmdDb250ZXh0P1pQKGUsdC5wZW5kaW5nQ29udGV4dCx0LnBlbmRpbmdDb250ZXh0IT09dC5jb250ZXh0KTp0LmNvbnRleHQmJlpQKGUsdC5jb250ZXh0LCExKSxiMihlLHQuY29udGFpbmVySW5mbyl9ZnVuY3Rpb24gcDQoZSx0LHIsbixhKXtyZXR1cm4gcXUoKSxwMihhKSx0LmZsYWdzfD0yNTYsTG4oZSx0LHIsbiksdC5jaGlsZH12YXIgdUM9e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBBQyhlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gazMoZSx0LHIpe3ZhciBuPXQucGVuZGluZ1Byb3BzLGE9dXIuY3VycmVudCxpPSExLG89KHQuZmxhZ3MmMTI4KSE9PTAsbDtpZigobD1vKXx8KGw9ZSE9PW51bGwmJmUubWVtb2l6ZWRTdGF0ZT09PW51bGw/ITE6KGEmMikhPT0wKSxsPyhpPSEwLHQuZmxhZ3MmPS0xMjkpOihlPT09bnVsbHx8ZS5tZW1vaXplZFN0YXRlIT09bnVsbCkmJihhfD0xKSxXdCh1cixhJjEpLGU9PT1udWxsKXJldHVybiBzQyh0KSxlPXQubWVtb2l6ZWRTdGF0ZSxlIT09bnVsbCYmKGU9ZS5kZWh5ZHJhdGVkLGUhPT1udWxsKT8odC5tb2RlJjE/ZS5kYXRhPT09IiQhIj90LmxhbmVzPTg6dC5sYW5lcz0xMDczNzQxODI0OnQubGFuZXM9MSxudWxsKToobz1uLmNoaWxkcmVuLGU9bi5mYWxsYmFjayxpPyhuPXQubW9kZSxpPXQuY2hpbGQsbz17bW9kZToiaGlkZGVuIixjaGlsZHJlbjpvfSwhKG4mMSkmJmkhPT1udWxsPyhpLmNoaWxkTGFuZXM9MCxpLnBlbmRpbmdQcm9wcz1vKTppPVp2KG8sbiwwLG51bGwpLGU9JGMoZSxuLHIsbnVsbCksaS5yZXR1cm49dCxlLnJldHVybj10LGkuc2libGluZz1lLHQuY2hpbGQ9aSx0LmNoaWxkLm1lbW9pemVkU3RhdGU9QUMociksdC5tZW1vaXplZFN0YXRlPXVDLGUpOmsyKHQsbykpO2lmKGE9ZS5tZW1vaXplZFN0YXRlLGEhPT1udWxsJiYobD1hLmRlaHlkcmF0ZWQsbCE9PW51bGwpKXJldHVybiAkZWUoZSx0LG8sbixsLGEscik7aWYoaSl7aT1uLmZhbGxiYWNrLG89dC5tb2RlLGE9ZS5jaGlsZCxsPWEuc2libGluZzt2YXIgYz17bW9kZToiaGlkZGVuIixjaGlsZHJlbjpuLmNoaWxkcmVufTtyZXR1cm4hKG8mMSkmJnQuY2hpbGQhPT1hPyhuPXQuY2hpbGQsbi5jaGlsZExhbmVzPTAsbi5wZW5kaW5nUHJvcHM9Yyx0LmRlbGV0aW9ucz1udWxsKToobj12bChhLGMpLG4uc3VidHJlZUZsYWdzPWEuc3VidHJlZUZsYWdzJjE0NjgwMDY0KSxsIT09bnVsbD9pPXZsKGwsaSk6KGk9JGMoaSxvLHIsbnVsbCksaS5mbGFnc3w9MiksaS5yZXR1cm49dCxuLnJldHVybj10LG4uc2libGluZz1pLHQuY2hpbGQ9bixuPWksaT10LmNoaWxkLG89ZS5jaGlsZC5tZW1vaXplZFN0YXRlLG89bz09PW51bGw/QUMocik6e2Jhc2VMYW5lczpvLmJhc2VMYW5lc3xyLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm8udHJhbnNpdGlvbnN9LGkubWVtb2l6ZWRTdGF0ZT1vLGkuY2hpbGRMYW5lcz1lLmNoaWxkTGFuZXMmfnIsdC5tZW1vaXplZFN0YXRlPXVDLG59cmV0dXJuIGk9ZS5jaGlsZCxlPWkuc2libGluZyxuPXZsKGkse21vZGU6InZpc2libGUiLGNoaWxkcmVuOm4uY2hpbGRyZW59KSwhKHQubW9kZSYxKSYmKG4ubGFuZXM9ciksbi5yZXR1cm49dCxuLnNpYmxpbmc9bnVsbCxlIT09bnVsbCYmKHI9dC5kZWxldGlvbnMscj09PW51bGw/KHQuZGVsZXRpb25zPVtlXSx0LmZsYWdzfD0xNik6ci5wdXNoKGUpKSx0LmNoaWxkPW4sdC5tZW1vaXplZFN0YXRlPW51bGwsbn1mdW5jdGlvbiBrMihlLHQpe3JldHVybiB0PVp2KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjp0fSxlLm1vZGUsMCxudWxsKSx0LnJldHVybj1lLGUuY2hpbGQ9dH1mdW5jdGlvbiBPZyhlLHQscixuKXtyZXR1cm4gbiE9PW51bGwmJnAyKG4pLFl1KHQsZS5jaGlsZCxudWxsLHIpLGU9azIodCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbiksZS5mbGFnc3w9Mix0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uICRlZShlLHQscixuLGEsaSxvKXtpZihyKXJldHVybiB0LmZsYWdzJjI1Nj8odC5mbGFncyY9LTI1NyxuPUIxKEVycm9yKHllKDQyMikpKSxPZyhlLHQsbyxuKSk6dC5tZW1vaXplZFN0YXRlIT09bnVsbD8odC5jaGlsZD1lLmNoaWxkLHQuZmxhZ3N8PTEyOCxudWxsKTooaT1uLmZhbGxiYWNrLGE9dC5tb2RlLG49WnYoe21vZGU6InZpc2libGUiLGNoaWxkcmVuOm4uY2hpbGRyZW59LGEsMCxudWxsKSxpPSRjKGksYSxvLG51bGwpLGkuZmxhZ3N8PTIsbi5yZXR1cm49dCxpLnJldHVybj10LG4uc2libGluZz1pLHQuY2hpbGQ9bix0Lm1vZGUmMSYmWXUodCxlLmNoaWxkLG51bGwsbyksdC5jaGlsZC5tZW1vaXplZFN0YXRlPUFDKG8pLHQubWVtb2l6ZWRTdGF0ZT11QyxpKTtpZighKHQubW9kZSYxKSlyZXR1cm4gT2coZSx0LG8sbnVsbCk7aWYoYS5kYXRhPT09IiQhIil7aWYobj1hLm5leHRTaWJsaW5nJiZhLm5leHRTaWJsaW5nLmRhdGFzZXQsbil2YXIgbD1uLmRnc3Q7cmV0dXJuIG49bCxpPUVycm9yKHllKDQxOSkpLG49QjEoaSxuLHZvaWQgMCksT2coZSx0LG8sbil9aWYobD0obyZlLmNoaWxkTGFuZXMpIT09MCxzc3x8bCl7aWYobj1hbixuIT09bnVsbCl7c3dpdGNoKG8mLW8pe2Nhc2UgNDphPTI7YnJlYWs7Y2FzZSAxNjphPTg7YnJlYWs7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0OmE9MzI7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6YT0yNjg0MzU0NTY7YnJlYWs7ZGVmYXVsdDphPTB9YT1hJihuLnN1c3BlbmRlZExhbmVzfG8pPzA6YSxhIT09MCYmYSE9PWkucmV0cnlMYW5lJiYoaS5yZXRyeUxhbmU9YSxBbyhlLGEpLFJhKG4sZSxhLC0xKSl9cmV0dXJuIFUyKCksbj1CMShFcnJvcih5ZSg0MjEpKSksT2coZSx0LG8sbil9cmV0dXJuIGEuZGF0YT09PSIkPyI/KHQuZmxhZ3N8PTEyOCx0LmNoaWxkPWUuY2hpbGQsdD10dGUuYmluZChudWxsLGUpLGEuX3JlYWN0UmV0cnk9dCxudWxsKTooZT1pLnRyZWVDb250ZXh0LHZzPXBsKGEubmV4dFNpYmxpbmcpLHdzPXQsb3I9ITAsRmE9bnVsbCxlIT09bnVsbCYmKFFzW0xzKytdPVlpLFFzW0xzKytdPVhpLFFzW0xzKytdPVhjLFlpPWUuaWQsWGk9ZS5vdmVyZmxvdyxYYz10KSx0PWsyKHQsbi5jaGlsZHJlbiksdC5mbGFnc3w9NDA5Nix0KX1mdW5jdGlvbiBnNChlLHQscil7ZS5sYW5lc3w9dDt2YXIgbj1lLmFsdGVybmF0ZTtuIT09bnVsbCYmKG4ubGFuZXN8PXQpLGFDKGUucmV0dXJuLHQscil9ZnVuY3Rpb24gUzEoZSx0LHIsbixhKXt2YXIgaT1lLm1lbW9pemVkU3RhdGU7aT09PW51bGw/ZS5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczp0LHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6bix0YWlsOnIsdGFpbE1vZGU6YX06KGkuaXNCYWNrd2FyZHM9dCxpLnJlbmRlcmluZz1udWxsLGkucmVuZGVyaW5nU3RhcnRUaW1lPTAsaS5sYXN0PW4saS50YWlsPXIsaS50YWlsTW9kZT1hKX1mdW5jdGlvbiBUMyhlLHQscil7dmFyIG49dC5wZW5kaW5nUHJvcHMsYT1uLnJldmVhbE9yZGVyLGk9bi50YWlsO2lmKExuKGUsdCxuLmNoaWxkcmVuLHIpLG49dXIuY3VycmVudCxuJjIpbj1uJjF8Mix0LmZsYWdzfD0xMjg7ZWxzZXtpZihlIT09bnVsbCYmZS5mbGFncyYxMjgpZTpmb3IoZT10LmNoaWxkO2UhPT1udWxsOyl7aWYoZS50YWc9PT0xMyllLm1lbW9pemVkU3RhdGUhPT1udWxsJiZnNChlLHIsdCk7ZWxzZSBpZihlLnRhZz09PTE5KWc0KGUscix0KTtlbHNlIGlmKGUuY2hpbGQhPT1udWxsKXtlLmNoaWxkLnJldHVybj1lLGU9ZS5jaGlsZDtjb250aW51ZX1pZihlPT09dClicmVhayBlO2Zvcig7ZS5zaWJsaW5nPT09bnVsbDspe2lmKGUucmV0dXJuPT09bnVsbHx8ZS5yZXR1cm49PT10KWJyZWFrIGU7ZT1lLnJldHVybn1lLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nfW4mPTF9aWYoV3QodXIsbiksISh0Lm1vZGUmMSkpdC5tZW1vaXplZFN0YXRlPW51bGw7ZWxzZSBzd2l0Y2goYSl7Y2FzZSJmb3J3YXJkcyI6Zm9yKHI9dC5jaGlsZCxhPW51bGw7ciE9PW51bGw7KWU9ci5hbHRlcm5hdGUsZSE9PW51bGwmJkkwKGUpPT09bnVsbCYmKGE9cikscj1yLnNpYmxpbmc7cj1hLHI9PT1udWxsPyhhPXQuY2hpbGQsdC5jaGlsZD1udWxsKTooYT1yLnNpYmxpbmcsci5zaWJsaW5nPW51bGwpLFMxKHQsITEsYSxyLGkpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3Iocj1udWxsLGE9dC5jaGlsZCx0LmNoaWxkPW51bGw7YSE9PW51bGw7KXtpZihlPWEuYWx0ZXJuYXRlLGUhPT1udWxsJiZJMChlKT09PW51bGwpe3QuY2hpbGQ9YTticmVha31lPWEuc2libGluZyxhLnNpYmxpbmc9cixyPWEsYT1lfVMxKHQsITAscixudWxsLGkpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOlMxKHQsITEsbnVsbCxudWxsLHZvaWQgMCk7YnJlYWs7ZGVmYXVsdDp0Lm1lbW9pemVkU3RhdGU9bnVsbH1yZXR1cm4gdC5jaGlsZH1mdW5jdGlvbiBlMChlLHQpeyEodC5tb2RlJjEpJiZlIT09bnVsbCYmKGUuYWx0ZXJuYXRlPW51bGwsdC5hbHRlcm5hdGU9bnVsbCx0LmZsYWdzfD0yKX1mdW5jdGlvbiBmbyhlLHQscil7aWYoZSE9PW51bGwmJih0LmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksWmN8PXQubGFuZXMsIShyJnQuY2hpbGRMYW5lcykpcmV0dXJuIG51bGw7aWYoZSE9PW51bGwmJnQuY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKHllKDE1MykpO2lmKHQuY2hpbGQhPT1udWxsKXtmb3IoZT10LmNoaWxkLHI9dmwoZSxlLnBlbmRpbmdQcm9wcyksdC5jaGlsZD1yLHIucmV0dXJuPXQ7ZS5zaWJsaW5nIT09bnVsbDspZT1lLnNpYmxpbmcscj1yLnNpYmxpbmc9dmwoZSxlLnBlbmRpbmdQcm9wcyksci5yZXR1cm49dDtyLnNpYmxpbmc9bnVsbH1yZXR1cm4gdC5jaGlsZH1mdW5jdGlvbiBIZWUoZSx0LHIpe3N3aXRjaCh0LnRhZyl7Y2FzZSAzOkUzKHQpLHF1KCk7YnJlYWs7Y2FzZSA1Om4zKHQpO2JyZWFrO2Nhc2UgMTpvcyh0LnR5cGUpJiZFMCh0KTticmVhaztjYXNlIDQ6YjIodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciBuPXQudHlwZS5fY29udGV4dCxhPXQubWVtb2l6ZWRQcm9wcy52YWx1ZTtXdChQMCxuLl9jdXJyZW50VmFsdWUpLG4uX2N1cnJlbnRWYWx1ZT1hO2JyZWFrO2Nhc2UgMTM6aWYobj10Lm1lbW9pemVkU3RhdGUsbiE9PW51bGwpcmV0dXJuIG4uZGVoeWRyYXRlZCE9PW51bGw/KFd0KHVyLHVyLmN1cnJlbnQmMSksdC5mbGFnc3w9MTI4LG51bGwpOnImdC5jaGlsZC5jaGlsZExhbmVzP2szKGUsdCxyKTooV3QodXIsdXIuY3VycmVudCYxKSxlPWZvKGUsdCxyKSxlIT09bnVsbD9lLnNpYmxpbmc6bnVsbCk7V3QodXIsdXIuY3VycmVudCYxKTticmVhaztjYXNlIDE5OmlmKG49KHImdC5jaGlsZExhbmVzKSE9PTAsZS5mbGFncyYxMjgpe2lmKG4pcmV0dXJuIFQzKGUsdCxyKTt0LmZsYWdzfD0xMjh9aWYoYT10Lm1lbW9pemVkU3RhdGUsYSE9PW51bGwmJihhLnJlbmRlcmluZz1udWxsLGEudGFpbD1udWxsLGEubGFzdEVmZmVjdD1udWxsKSxXdCh1cix1ci5jdXJyZW50KSxuKWJyZWFrO3JldHVybiBudWxsO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gdC5sYW5lcz0wLEIzKGUsdCxyKX1yZXR1cm4gZm8oZSx0LHIpfXZhciBQMyxmQyxGMyxPMztQMz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj10LmNoaWxkO3IhPT1udWxsOyl7aWYoci50YWc9PT01fHxyLnRhZz09PTYpZS5hcHBlbmRDaGlsZChyLnN0YXRlTm9kZSk7ZWxzZSBpZihyLnRhZyE9PTQmJnIuY2hpbGQhPT1udWxsKXtyLmNoaWxkLnJldHVybj1yLHI9ci5jaGlsZDtjb250aW51ZX1pZihyPT09dClicmVhaztmb3IoO3Iuc2libGluZz09PW51bGw7KXtpZihyLnJldHVybj09PW51bGx8fHIucmV0dXJuPT09dClyZXR1cm47cj1yLnJldHVybn1yLnNpYmxpbmcucmV0dXJuPXIucmV0dXJuLHI9ci5zaWJsaW5nfX07ZkM9ZnVuY3Rpb24oKXt9O0YzPWZ1bmN0aW9uKGUsdCxyLG4pe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihhIT09bil7ZT10LnN0YXRlTm9kZSxOYyhoaS5jdXJyZW50KTt2YXIgaT1udWxsO3N3aXRjaChyKXtjYXNlImlucHV0IjphPUlOKGUsYSksbj1JTihlLG4pLGk9W107YnJlYWs7Y2FzZSJzZWxlY3QiOmE9cHIoe30sYSx7dmFsdWU6dm9pZCAwfSksbj1wcih7fSxuLHt2YWx1ZTp2b2lkIDB9KSxpPVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmE9TU4oZSxhKSxuPU1OKGUsbiksaT1bXTticmVhaztkZWZhdWx0OnR5cGVvZiBhLm9uQ2xpY2shPSJmdW5jdGlvbiImJnR5cGVvZiBuLm9uQ2xpY2s9PSJmdW5jdGlvbiImJihlLm9uY2xpY2s9QjApfVFOKHIsbik7dmFyIG87cj1udWxsO2ZvcihkIGluIGEpaWYoIW4uaGFzT3duUHJvcGVydHkoZCkmJmEuaGFzT3duUHJvcGVydHkoZCkmJmFbZF0hPW51bGwpaWYoZD09PSJzdHlsZSIpe3ZhciBsPWFbZF07Zm9yKG8gaW4gbClsLmhhc093blByb3BlcnR5KG8pJiYocnx8KHI9e30pLHJbb109IiIpfWVsc2UgZCE9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCImJmQhPT0iY2hpbGRyZW4iJiZkIT09InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyImJmQhPT0ic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiYmZCE9PSJhdXRvRm9jdXMiJiYoSmguaGFzT3duUHJvcGVydHkoZCk/aXx8KGk9W10pOihpPWl8fFtdKS5wdXNoKGQsbnVsbCkpO2ZvcihkIGluIG4pe3ZhciBjPW5bZF07aWYobD1hIT1udWxsP2FbZF06dm9pZCAwLG4uaGFzT3duUHJvcGVydHkoZCkmJmMhPT1sJiYoYyE9bnVsbHx8bCE9bnVsbCkpaWYoZD09PSJzdHlsZSIpaWYobCl7Zm9yKG8gaW4gbCkhbC5oYXNPd25Qcm9wZXJ0eShvKXx8YyYmYy5oYXNPd25Qcm9wZXJ0eShvKXx8KHJ8fChyPXt9KSxyW29dPSIiKTtmb3IobyBpbiBjKWMuaGFzT3duUHJvcGVydHkobykmJmxbb10hPT1jW29dJiYocnx8KHI9e30pLHJbb109Y1tvXSl9ZWxzZSByfHwoaXx8KGk9W10pLGkucHVzaChkLHIpKSxyPWM7ZWxzZSBkPT09ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj8oYz1jP2MuX19odG1sOnZvaWQgMCxsPWw/bC5fX2h0bWw6dm9pZCAwLGMhPW51bGwmJmwhPT1jJiYoaT1pfHxbXSkucHVzaChkLGMpKTpkPT09ImNoaWxkcmVuIj90eXBlb2YgYyE9InN0cmluZyImJnR5cGVvZiBjIT0ibnVtYmVyInx8KGk9aXx8W10pLnB1c2goZCwiIitjKTpkIT09InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyImJmQhPT0ic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiYmKEpoLmhhc093blByb3BlcnR5KGQpPyhjIT1udWxsJiZkPT09Im9uU2Nyb2xsIiYmWnQoInNjcm9sbCIsZSksaXx8bD09PWN8fChpPVtdKSk6KGk9aXx8W10pLnB1c2goZCxjKSl9ciYmKGk9aXx8W10pLnB1c2goInN0eWxlIixyKTt2YXIgZD1pOyh0LnVwZGF0ZVF1ZXVlPWQpJiYodC5mbGFnc3w9NCl9fTtPMz1mdW5jdGlvbihlLHQscixuKXtyIT09biYmKHQuZmxhZ3N8PTQpfTtmdW5jdGlvbiBQZihlLHQpe2lmKCFvcilzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJoaWRkZW4iOnQ9ZS50YWlsO2Zvcih2YXIgcj1udWxsO3QhPT1udWxsOyl0LmFsdGVybmF0ZSE9PW51bGwmJihyPXQpLHQ9dC5zaWJsaW5nO3I9PT1udWxsP2UudGFpbD1udWxsOnIuc2libGluZz1udWxsO2JyZWFrO2Nhc2UiY29sbGFwc2VkIjpyPWUudGFpbDtmb3IodmFyIG49bnVsbDtyIT09bnVsbDspci5hbHRlcm5hdGUhPT1udWxsJiYobj1yKSxyPXIuc2libGluZztuPT09bnVsbD90fHxlLnRhaWw9PT1udWxsP2UudGFpbD1udWxsOmUudGFpbC5zaWJsaW5nPW51bGw6bi5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uIENuKGUpe3ZhciB0PWUuYWx0ZXJuYXRlIT09bnVsbCYmZS5hbHRlcm5hdGUuY2hpbGQ9PT1lLmNoaWxkLHI9MCxuPTA7aWYodClmb3IodmFyIGE9ZS5jaGlsZDthIT09bnVsbDspcnw9YS5sYW5lc3xhLmNoaWxkTGFuZXMsbnw9YS5zdWJ0cmVlRmxhZ3MmMTQ2ODAwNjQsbnw9YS5mbGFncyYxNDY4MDA2NCxhLnJldHVybj1lLGE9YS5zaWJsaW5nO2Vsc2UgZm9yKGE9ZS5jaGlsZDthIT09bnVsbDspcnw9YS5sYW5lc3xhLmNoaWxkTGFuZXMsbnw9YS5zdWJ0cmVlRmxhZ3Msbnw9YS5mbGFncyxhLnJldHVybj1lLGE9YS5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9bixlLmNoaWxkTGFuZXM9cix0fWZ1bmN0aW9uIEtlZShlLHQscil7dmFyIG49dC5wZW5kaW5nUHJvcHM7c3dpdGNoKG0yKHQpLHQudGFnKXtjYXNlIDI6Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpyZXR1cm4gQ24odCksbnVsbDtjYXNlIDE6cmV0dXJuIG9zKHQudHlwZSkmJlMwKCksQ24odCksbnVsbDtjYXNlIDM6cmV0dXJuIG49dC5zdGF0ZU5vZGUsWHUoKSxycihpcykscnIoRG4pLE4yKCksbi5wZW5kaW5nQ29udGV4dCYmKG4uY29udGV4dD1uLnBlbmRpbmdDb250ZXh0LG4ucGVuZGluZ0NvbnRleHQ9bnVsbCksKGU9PT1udWxsfHxlLmNoaWxkPT09bnVsbCkmJihQZyh0KT90LmZsYWdzfD00OmU9PT1udWxsfHxlLm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYhKHQuZmxhZ3MmMjU2KXx8KHQuZmxhZ3N8PTEwMjQsRmEhPT1udWxsJiYod0MoRmEpLEZhPW51bGwpKSksZkMoZSx0KSxDbih0KSxudWxsO2Nhc2UgNTpqMih0KTt2YXIgYT1OYyhkbS5jdXJyZW50KTtpZihyPXQudHlwZSxlIT09bnVsbCYmdC5zdGF0ZU5vZGUhPW51bGwpRjMoZSx0LHIsbixhKSxlLnJlZiE9PXQucmVmJiYodC5mbGFnc3w9NTEyLHQuZmxhZ3N8PTIwOTcxNTIpO2Vsc2V7aWYoIW4pe2lmKHQuc3RhdGVOb2RlPT09bnVsbCl0aHJvdyBFcnJvcih5ZSgxNjYpKTtyZXR1cm4gQ24odCksbnVsbH1pZihlPU5jKGhpLmN1cnJlbnQpLFBnKHQpKXtuPXQuc3RhdGVOb2RlLHI9dC50eXBlO3ZhciBpPXQubWVtb2l6ZWRQcm9wcztzd2l0Y2gobltjaV09dCxuW2xtXT1pLGU9KHQubW9kZSYxKSE9PTAscil7Y2FzZSJkaWFsb2ciOlp0KCJjYW5jZWwiLG4pLFp0KCJjbG9zZSIsbik7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0IjpjYXNlImVtYmVkIjpadCgibG9hZCIsbik7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGE9MDthPHNoLmxlbmd0aDthKyspWnQoc2hbYV0sbik7YnJlYWs7Y2FzZSJzb3VyY2UiOlp0KCJlcnJvciIsbik7YnJlYWs7Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UibGluayI6WnQoImVycm9yIixuKSxadCgibG9hZCIsbik7YnJlYWs7Y2FzZSJkZXRhaWxzIjpadCgidG9nZ2xlIixuKTticmVhaztjYXNlImlucHV0IjpfUChuLGkpLFp0KCJpbnZhbGlkIixuKTticmVhaztjYXNlInNlbGVjdCI6bi5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIWkubXVsdGlwbGV9LFp0KCJpbnZhbGlkIixuKTticmVhaztjYXNlInRleHRhcmVhIjpTUChuLGkpLFp0KCJpbnZhbGlkIixuKX1RTihyLGkpLGE9bnVsbDtmb3IodmFyIG8gaW4gaSlpZihpLmhhc093blByb3BlcnR5KG8pKXt2YXIgbD1pW29dO289PT0iY2hpbGRyZW4iP3R5cGVvZiBsPT0ic3RyaW5nIj9uLnRleHRDb250ZW50IT09bCYmKGkuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIT09ITAmJlRnKG4udGV4dENvbnRlbnQsbCxlKSxhPVsiY2hpbGRyZW4iLGxdKTp0eXBlb2YgbD09Im51bWJlciImJm4udGV4dENvbnRlbnQhPT0iIitsJiYoaS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmchPT0hMCYmVGcobi50ZXh0Q29udGVudCxsLGUpLGE9WyJjaGlsZHJlbiIsIiIrbF0pOkpoLmhhc093blByb3BlcnR5KG8pJiZsIT1udWxsJiZvPT09Im9uU2Nyb2xsIiYmWnQoInNjcm9sbCIsbil9c3dpdGNoKHIpe2Nhc2UiaW5wdXQiOmpnKG4pLEJQKG4saSwhMCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6amcobiksRVAobik7YnJlYWs7Y2FzZSJzZWxlY3QiOmNhc2Uib3B0aW9uIjpicmVhaztkZWZhdWx0OnR5cGVvZiBpLm9uQ2xpY2s9PSJmdW5jdGlvbiImJihuLm9uY2xpY2s9QjApfW49YSx0LnVwZGF0ZVF1ZXVlPW4sbiE9PW51bGwmJih0LmZsYWdzfD00KX1lbHNle289YS5ub2RlVHlwZT09PTk/YTphLm93bmVyRG9jdW1lbnQsZT09PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiYmKGU9bEwocikpLGU9PT0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI/cj09PSJzY3JpcHQiPyhlPW8uY3JlYXRlRWxlbWVudCgiZGl2IiksZS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOnR5cGVvZiBuLmlzPT0ic3RyaW5nIj9lPW8uY3JlYXRlRWxlbWVudChyLHtpczpuLmlzfSk6KGU9by5jcmVhdGVFbGVtZW50KHIpLHI9PT0ic2VsZWN0IiYmKG89ZSxuLm11bHRpcGxlP28ubXVsdGlwbGU9ITA6bi5zaXplJiYoby5zaXplPW4uc2l6ZSkpKTplPW8uY3JlYXRlRWxlbWVudE5TKGUsciksZVtjaV09dCxlW2xtXT1uLFAzKGUsdCwhMSwhMSksdC5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2gobz1MTihyLG4pLHIpe2Nhc2UiZGlhbG9nIjpadCgiY2FuY2VsIixlKSxadCgiY2xvc2UiLGUpLGE9bjticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOlp0KCJsb2FkIixlKSxhPW47YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGE9MDthPHNoLmxlbmd0aDthKyspWnQoc2hbYV0sZSk7YT1uO2JyZWFrO2Nhc2Uic291cmNlIjpadCgiZXJyb3IiLGUpLGE9bjticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpadCgiZXJyb3IiLGUpLFp0KCJsb2FkIixlKSxhPW47YnJlYWs7Y2FzZSJkZXRhaWxzIjpadCgidG9nZ2xlIixlKSxhPW47YnJlYWs7Y2FzZSJpbnB1dCI6X1AoZSxuKSxhPUlOKGUsbiksWnQoImludmFsaWQiLGUpO2JyZWFrO2Nhc2Uib3B0aW9uIjphPW47YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFuLm11bHRpcGxlfSxhPXByKHt9LG4se3ZhbHVlOnZvaWQgMH0pLFp0KCJpbnZhbGlkIixlKTticmVhaztjYXNlInRleHRhcmVhIjpTUChlLG4pLGE9TU4oZSxuKSxadCgiaW52YWxpZCIsZSk7YnJlYWs7ZGVmYXVsdDphPW59UU4ocixhKSxsPWE7Zm9yKGkgaW4gbClpZihsLmhhc093blByb3BlcnR5KGkpKXt2YXIgYz1sW2ldO2k9PT0ic3R5bGUiP3VMKGUsYyk6aT09PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/KGM9Yz9jLl9faHRtbDp2b2lkIDAsYyE9bnVsbCYmY0woZSxjKSk6aT09PSJjaGlsZHJlbiI/dHlwZW9mIGM9PSJzdHJpbmciPyhyIT09InRleHRhcmVhInx8YyE9PSIiKSYmWmgoZSxjKTp0eXBlb2YgYz09Im51bWJlciImJlpoKGUsIiIrYyk6aSE9PSJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciJiZpIT09InN1cHByZXNzSHlkcmF0aW9uV2FybmluZyImJmkhPT0iYXV0b0ZvY3VzIiYmKEpoLmhhc093blByb3BlcnR5KGkpP2MhPW51bGwmJmk9PT0ib25TY3JvbGwiJiZadCgic2Nyb2xsIixlKTpjIT1udWxsJiZlMihlLGksYyxvKSl9c3dpdGNoKHIpe2Nhc2UiaW5wdXQiOmpnKGUpLEJQKGUsbiwhMSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6amcoZSksRVAoZSk7YnJlYWs7Y2FzZSJvcHRpb24iOm4udmFsdWUhPW51bGwmJmUuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIrVGwobi52YWx1ZSkpO2JyZWFrO2Nhc2Uic2VsZWN0IjplLm11bHRpcGxlPSEhbi5tdWx0aXBsZSxpPW4udmFsdWUsaSE9bnVsbD92dShlLCEhbi5tdWx0aXBsZSxpLCExKTpuLmRlZmF1bHRWYWx1ZSE9bnVsbCYmdnUoZSwhIW4ubXVsdGlwbGUsbi5kZWZhdWx0VmFsdWUsITApO2JyZWFrO2RlZmF1bHQ6dHlwZW9mIGEub25DbGljaz09ImZ1bmN0aW9uIiYmKGUub25jbGljaz1CMCl9c3dpdGNoKHIpe2Nhc2UiYnV0dG9uIjpjYXNlImlucHV0IjpjYXNlInNlbGVjdCI6Y2FzZSJ0ZXh0YXJlYSI6bj0hIW4uYXV0b0ZvY3VzO2JyZWFrIGU7Y2FzZSJpbWciOm49ITA7YnJlYWsgZTtkZWZhdWx0Om49ITF9fW4mJih0LmZsYWdzfD00KX10LnJlZiE9PW51bGwmJih0LmZsYWdzfD01MTIsdC5mbGFnc3w9MjA5NzE1Mil9cmV0dXJuIENuKHQpLG51bGw7Y2FzZSA2OmlmKGUmJnQuc3RhdGVOb2RlIT1udWxsKU8zKGUsdCxlLm1lbW9pemVkUHJvcHMsbik7ZWxzZXtpZih0eXBlb2YgbiE9InN0cmluZyImJnQuc3RhdGVOb2RlPT09bnVsbCl0aHJvdyBFcnJvcih5ZSgxNjYpKTtpZihyPU5jKGRtLmN1cnJlbnQpLE5jKGhpLmN1cnJlbnQpLFBnKHQpKXtpZihuPXQuc3RhdGVOb2RlLHI9dC5tZW1vaXplZFByb3BzLG5bY2ldPXQsKGk9bi5ub2RlVmFsdWUhPT1yKSYmKGU9d3MsZSE9PW51bGwpKXN3aXRjaChlLnRhZyl7Y2FzZSAzOlRnKG4ubm9kZVZhbHVlLHIsKGUubW9kZSYxKSE9PTApO2JyZWFrO2Nhc2UgNTplLm1lbW9pemVkUHJvcHMuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIT09ITAmJlRnKG4ubm9kZVZhbHVlLHIsKGUubW9kZSYxKSE9PTApfWkmJih0LmZsYWdzfD00KX1lbHNlIG49KHIubm9kZVR5cGU9PT05P3I6ci5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShuKSxuW2NpXT10LHQuc3RhdGVOb2RlPW59cmV0dXJuIENuKHQpLG51bGw7Y2FzZSAxMzppZihycih1ciksbj10Lm1lbW9pemVkU3RhdGUsZT09PW51bGx8fGUubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJmUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkIT09bnVsbCl7aWYob3ImJnZzIT09bnVsbCYmdC5tb2RlJjEmJiEodC5mbGFncyYxMjgpKUpMKCkscXUoKSx0LmZsYWdzfD05ODU2MCxpPSExO2Vsc2UgaWYoaT1QZyh0KSxuIT09bnVsbCYmbi5kZWh5ZHJhdGVkIT09bnVsbCl7aWYoZT09PW51bGwpe2lmKCFpKXRocm93IEVycm9yKHllKDMxOCkpO2lmKGk9dC5tZW1vaXplZFN0YXRlLGk9aSE9PW51bGw/aS5kZWh5ZHJhdGVkOm51bGwsIWkpdGhyb3cgRXJyb3IoeWUoMzE3KSk7aVtjaV09dH1lbHNlIHF1KCksISh0LmZsYWdzJjEyOCkmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDtDbih0KSxpPSExfWVsc2UgRmEhPT1udWxsJiYod0MoRmEpLEZhPW51bGwpLGk9ITA7aWYoIWkpcmV0dXJuIHQuZmxhZ3MmNjU1MzY/dDpudWxsfXJldHVybiB0LmZsYWdzJjEyOD8odC5sYW5lcz1yLHQpOihuPW4hPT1udWxsLG4hPT0oZSE9PW51bGwmJmUubWVtb2l6ZWRTdGF0ZSE9PW51bGwpJiZuJiYodC5jaGlsZC5mbGFnc3w9ODE5Mix0Lm1vZGUmMSYmKGU9PT1udWxsfHx1ci5jdXJyZW50JjE/S3I9PT0wJiYoS3I9Myk6VTIoKSkpLHQudXBkYXRlUXVldWUhPT1udWxsJiYodC5mbGFnc3w9NCksQ24odCksbnVsbCk7Y2FzZSA0OnJldHVybiBYdSgpLGZDKGUsdCksZT09PW51bGwmJmltKHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLENuKHQpLG51bGw7Y2FzZSAxMDpyZXR1cm4geTIodC50eXBlLl9jb250ZXh0KSxDbih0KSxudWxsO2Nhc2UgMTc6cmV0dXJuIG9zKHQudHlwZSkmJlMwKCksQ24odCksbnVsbDtjYXNlIDE5OmlmKHJyKHVyKSxpPXQubWVtb2l6ZWRTdGF0ZSxpPT09bnVsbClyZXR1cm4gQ24odCksbnVsbDtpZihuPSh0LmZsYWdzJjEyOCkhPT0wLG89aS5yZW5kZXJpbmcsbz09PW51bGwpaWYobilQZihpLCExKTtlbHNle2lmKEtyIT09MHx8ZSE9PW51bGwmJmUuZmxhZ3MmMTI4KWZvcihlPXQuY2hpbGQ7ZSE9PW51bGw7KXtpZihvPUkwKGUpLG8hPT1udWxsKXtmb3IodC5mbGFnc3w9MTI4LFBmKGksITEpLG49by51cGRhdGVRdWV1ZSxuIT09bnVsbCYmKHQudXBkYXRlUXVldWU9bix0LmZsYWdzfD00KSx0LnN1YnRyZWVGbGFncz0wLG49cixyPXQuY2hpbGQ7ciE9PW51bGw7KWk9cixlPW4saS5mbGFncyY9MTQ2ODAwNjYsbz1pLmFsdGVybmF0ZSxvPT09bnVsbD8oaS5jaGlsZExhbmVzPTAsaS5sYW5lcz1lLGkuY2hpbGQ9bnVsbCxpLnN1YnRyZWVGbGFncz0wLGkubWVtb2l6ZWRQcm9wcz1udWxsLGkubWVtb2l6ZWRTdGF0ZT1udWxsLGkudXBkYXRlUXVldWU9bnVsbCxpLmRlcGVuZGVuY2llcz1udWxsLGkuc3RhdGVOb2RlPW51bGwpOihpLmNoaWxkTGFuZXM9by5jaGlsZExhbmVzLGkubGFuZXM9by5sYW5lcyxpLmNoaWxkPW8uY2hpbGQsaS5zdWJ0cmVlRmxhZ3M9MCxpLmRlbGV0aW9ucz1udWxsLGkubWVtb2l6ZWRQcm9wcz1vLm1lbW9pemVkUHJvcHMsaS5tZW1vaXplZFN0YXRlPW8ubWVtb2l6ZWRTdGF0ZSxpLnVwZGF0ZVF1ZXVlPW8udXBkYXRlUXVldWUsaS50eXBlPW8udHlwZSxlPW8uZGVwZW5kZW5jaWVzLGkuZGVwZW5kZW5jaWVzPWU9PT1udWxsP251bGw6e2xhbmVzOmUubGFuZXMsZmlyc3RDb250ZXh0OmUuZmlyc3RDb250ZXh0fSkscj1yLnNpYmxpbmc7cmV0dXJuIFd0KHVyLHVyLmN1cnJlbnQmMXwyKSx0LmNoaWxkfWU9ZS5zaWJsaW5nfWkudGFpbCE9PW51bGwmJkJyKCk+WnUmJih0LmZsYWdzfD0xMjgsbj0hMCxQZihpLCExKSx0LmxhbmVzPTQxOTQzMDQpfWVsc2V7aWYoIW4paWYoZT1JMChvKSxlIT09bnVsbCl7aWYodC5mbGFnc3w9MTI4LG49ITAscj1lLnVwZGF0ZVF1ZXVlLHIhPT1udWxsJiYodC51cGRhdGVRdWV1ZT1yLHQuZmxhZ3N8PTQpLFBmKGksITApLGkudGFpbD09PW51bGwmJmkudGFpbE1vZGU9PT0iaGlkZGVuIiYmIW8uYWx0ZXJuYXRlJiYhb3IpcmV0dXJuIENuKHQpLG51bGx9ZWxzZSAyKkJyKCktaS5yZW5kZXJpbmdTdGFydFRpbWU+WnUmJnIhPT0xMDczNzQxODI0JiYodC5mbGFnc3w9MTI4LG49ITAsUGYoaSwhMSksdC5sYW5lcz00MTk0MzA0KTtpLmlzQmFja3dhcmRzPyhvLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPW8pOihyPWkubGFzdCxyIT09bnVsbD9yLnNpYmxpbmc9bzp0LmNoaWxkPW8saS5sYXN0PW8pfXJldHVybiBpLnRhaWwhPT1udWxsPyh0PWkudGFpbCxpLnJlbmRlcmluZz10LGkudGFpbD10LnNpYmxpbmcsaS5yZW5kZXJpbmdTdGFydFRpbWU9QnIoKSx0LnNpYmxpbmc9bnVsbCxyPXVyLmN1cnJlbnQsV3QodXIsbj9yJjF8MjpyJjEpLHQpOihDbih0KSxudWxsKTtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIEkyKCksbj10Lm1lbW9pemVkU3RhdGUhPT1udWxsLGUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGUhPT1udWxsIT09biYmKHQuZmxhZ3N8PTgxOTIpLG4mJnQubW9kZSYxP2ZzJjEwNzM3NDE4MjQmJihDbih0KSx0LnN1YnRyZWVGbGFncyY2JiYodC5mbGFnc3w9ODE5MikpOkNuKHQpLG51bGw7Y2FzZSAyNDpyZXR1cm4gbnVsbDtjYXNlIDI1OnJldHVybiBudWxsfXRocm93IEVycm9yKHllKDE1Nix0LnRhZykpfWZ1bmN0aW9uIFZlZShlLHQpe3N3aXRjaChtMih0KSx0LnRhZyl7Y2FzZSAxOnJldHVybiBvcyh0LnR5cGUpJiZTMCgpLGU9dC5mbGFncyxlJjY1NTM2Pyh0LmZsYWdzPWUmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMzpyZXR1cm4gWHUoKSxycihpcykscnIoRG4pLE4yKCksZT10LmZsYWdzLGUmNjU1MzYmJiEoZSYxMjgpPyh0LmZsYWdzPWUmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgNTpyZXR1cm4gajIodCksbnVsbDtjYXNlIDEzOmlmKHJyKHVyKSxlPXQubWVtb2l6ZWRTdGF0ZSxlIT09bnVsbCYmZS5kZWh5ZHJhdGVkIT09bnVsbCl7aWYodC5hbHRlcm5hdGU9PT1udWxsKXRocm93IEVycm9yKHllKDM0MCkpO3F1KCl9cmV0dXJuIGU9dC5mbGFncyxlJjY1NTM2Pyh0LmZsYWdzPWUmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMTk6cmV0dXJuIHJyKHVyKSxudWxsO2Nhc2UgNDpyZXR1cm4gWHUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIHkyKHQudHlwZS5fY29udGV4dCksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIEkyKCksbnVsbDtjYXNlIDI0OnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fXZhciBJZz0hMSxQbj0hMSx6ZWU9dHlwZW9mIFdlYWtTZXQ9PSJmdW5jdGlvbiI/V2Vha1NldDpTZXQsUGU9bnVsbDtmdW5jdGlvbiBjdShlLHQpe3ZhciByPWUucmVmO2lmKHIhPT1udWxsKWlmKHR5cGVvZiByPT0iZnVuY3Rpb24iKXRyeXtyKG51bGwpfWNhdGNoKG4pe3lyKGUsdCxuKX1lbHNlIHIuY3VycmVudD1udWxsfWZ1bmN0aW9uIGhDKGUsdCxyKXt0cnl7cigpfWNhdGNoKG4pe3lyKGUsdCxuKX19dmFyIHg0PSExO2Z1bmN0aW9uIFdlZShlLHQpe2lmKFhOPU4wLGU9UkwoKSxmMihlKSl7aWYoInNlbGVjdGlvblN0YXJ0ImluIGUpdmFyIHI9e3N0YXJ0OmUuc2VsZWN0aW9uU3RhcnQsZW5kOmUuc2VsZWN0aW9uRW5kfTtlbHNlIGU6e3I9KHI9ZS5vd25lckRvY3VtZW50KSYmci5kZWZhdWx0Vmlld3x8d2luZG93O3ZhciBuPXIuZ2V0U2VsZWN0aW9uJiZyLmdldFNlbGVjdGlvbigpO2lmKG4mJm4ucmFuZ2VDb3VudCE9PTApe3I9bi5hbmNob3JOb2RlO3ZhciBhPW4uYW5jaG9yT2Zmc2V0LGk9bi5mb2N1c05vZGU7bj1uLmZvY3VzT2Zmc2V0O3RyeXtyLm5vZGVUeXBlLGkubm9kZVR5cGV9Y2F0Y2h7cj1udWxsO2JyZWFrIGV9dmFyIG89MCxsPS0xLGM9LTEsZD0wLHU9MCxBPWUsZj1udWxsO3Q6Zm9yKDs7KXtmb3IodmFyIGg7QSE9PXJ8fGEhPT0wJiZBLm5vZGVUeXBlIT09M3x8KGw9bythKSxBIT09aXx8biE9PTAmJkEubm9kZVR5cGUhPT0zfHwoYz1vK24pLEEubm9kZVR5cGU9PT0zJiYobys9QS5ub2RlVmFsdWUubGVuZ3RoKSwoaD1BLmZpcnN0Q2hpbGQpIT09bnVsbDspZj1BLEE9aDtmb3IoOzspe2lmKEE9PT1lKWJyZWFrIHQ7aWYoZj09PXImJisrZD09PWEmJihsPW8pLGY9PT1pJiYrK3U9PT1uJiYoYz1vKSwoaD1BLm5leHRTaWJsaW5nKSE9PW51bGwpYnJlYWs7QT1mLGY9QS5wYXJlbnROb2RlfUE9aH1yPWw9PT0tMXx8Yz09PS0xP251bGw6e3N0YXJ0OmwsZW5kOmN9fWVsc2Ugcj1udWxsfXI9cnx8e3N0YXJ0OjAsZW5kOjB9fWVsc2Ugcj1udWxsO2ZvcihKTj17Zm9jdXNlZEVsZW06ZSxzZWxlY3Rpb25SYW5nZTpyfSxOMD0hMSxQZT10O1BlIT09bnVsbDspaWYodD1QZSxlPXQuY2hpbGQsKHQuc3VidHJlZUZsYWdzJjEwMjgpIT09MCYmZSE9PW51bGwpZS5yZXR1cm49dCxQZT1lO2Vsc2UgZm9yKDtQZSE9PW51bGw7KXt0PVBlO3RyeXt2YXIgcD10LmFsdGVybmF0ZTtpZih0LmZsYWdzJjEwMjQpc3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OmJyZWFrO2Nhc2UgMTppZihwIT09bnVsbCl7dmFyIG09cC5tZW1vaXplZFByb3BzLHg9cC5tZW1vaXplZFN0YXRlLHc9dC5zdGF0ZU5vZGUseT13LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKHQuZWxlbWVudFR5cGU9PT10LnR5cGU/bTpOYSh0LnR5cGUsbSkseCk7dy5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT15fWJyZWFrO2Nhc2UgMzp2YXIgdj10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvO3Yubm9kZVR5cGU9PT0xP3YudGV4dENvbnRlbnQ9IiI6di5ub2RlVHlwZT09PTkmJnYuZG9jdW1lbnRFbGVtZW50JiZ2LnJlbW92ZUNoaWxkKHYuZG9jdW1lbnRFbGVtZW50KTticmVhaztjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OmJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoeWUoMTYzKSl9fWNhdGNoKGIpe3lyKHQsdC5yZXR1cm4sYil9aWYoZT10LnNpYmxpbmcsZSE9PW51bGwpe2UucmV0dXJuPXQucmV0dXJuLFBlPWU7YnJlYWt9UGU9dC5yZXR1cm59cmV0dXJuIHA9eDQseDQ9ITEscH1mdW5jdGlvbiBTaChlLHQscil7dmFyIG49dC51cGRhdGVRdWV1ZTtpZihuPW4hPT1udWxsP24ubGFzdEVmZmVjdDpudWxsLG4hPT1udWxsKXt2YXIgYT1uPW4ubmV4dDtkb3tpZigoYS50YWcmZSk9PT1lKXt2YXIgaT1hLmRlc3Ryb3k7YS5kZXN0cm95PXZvaWQgMCxpIT09dm9pZCAwJiZoQyh0LHIsaSl9YT1hLm5leHR9d2hpbGUoYSE9PW4pfX1mdW5jdGlvbiBYdihlLHQpe2lmKHQ9dC51cGRhdGVRdWV1ZSx0PXQhPT1udWxsP3QubGFzdEVmZmVjdDpudWxsLHQhPT1udWxsKXt2YXIgcj10PXQubmV4dDtkb3tpZigoci50YWcmZSk9PT1lKXt2YXIgbj1yLmNyZWF0ZTtyLmRlc3Ryb3k9bigpfXI9ci5uZXh0fXdoaWxlKHIhPT10KX19ZnVuY3Rpb24gbUMoZSl7dmFyIHQ9ZS5yZWY7aWYodCE9PW51bGwpe3ZhciByPWUuc3RhdGVOb2RlO3N3aXRjaChlLnRhZyl7Y2FzZSA1OmU9cjticmVhaztkZWZhdWx0OmU9cn10eXBlb2YgdD09ImZ1bmN0aW9uIj90KGUpOnQuY3VycmVudD1lfX1mdW5jdGlvbiBJMyhlKXt2YXIgdD1lLmFsdGVybmF0ZTt0IT09bnVsbCYmKGUuYWx0ZXJuYXRlPW51bGwsSTModCkpLGUuY2hpbGQ9bnVsbCxlLmRlbGV0aW9ucz1udWxsLGUuc2libGluZz1udWxsLGUudGFnPT09NSYmKHQ9ZS5zdGF0ZU5vZGUsdCE9PW51bGwmJihkZWxldGUgdFtjaV0sZGVsZXRlIHRbbG1dLGRlbGV0ZSB0W3RDXSxkZWxldGUgdFtFZWVdLGRlbGV0ZSB0W2tlZV0pKSxlLnN0YXRlTm9kZT1udWxsLGUucmV0dXJuPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnBlbmRpbmdQcm9wcz1udWxsLGUuc3RhdGVOb2RlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsfWZ1bmN0aW9uIFUzKGUpe3JldHVybiBlLnRhZz09PTV8fGUudGFnPT09M3x8ZS50YWc9PT00fWZ1bmN0aW9uIHk0KGUpe2U6Zm9yKDs7KXtmb3IoO2Uuc2libGluZz09PW51bGw7KXtpZihlLnJldHVybj09PW51bGx8fFUzKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nO2UudGFnIT09NSYmZS50YWchPT02JiZlLnRhZyE9PTE4Oyl7aWYoZS5mbGFncyYyfHxlLmNoaWxkPT09bnVsbHx8ZS50YWc9PT00KWNvbnRpbnVlIGU7ZS5jaGlsZC5yZXR1cm49ZSxlPWUuY2hpbGR9aWYoIShlLmZsYWdzJjIpKXJldHVybiBlLnN0YXRlTm9kZX19ZnVuY3Rpb24gcEMoZSx0LHIpe3ZhciBuPWUudGFnO2lmKG49PT01fHxuPT09NillPWUuc3RhdGVOb2RlLHQ/ci5ub2RlVHlwZT09PTg/ci5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHQpOnIuaW5zZXJ0QmVmb3JlKGUsdCk6KHIubm9kZVR5cGU9PT04Pyh0PXIucGFyZW50Tm9kZSx0Lmluc2VydEJlZm9yZShlLHIpKToodD1yLHQuYXBwZW5kQ2hpbGQoZSkpLHI9ci5fcmVhY3RSb290Q29udGFpbmVyLHIhPW51bGx8fHQub25jbGljayE9PW51bGx8fCh0Lm9uY2xpY2s9QjApKTtlbHNlIGlmKG4hPT00JiYoZT1lLmNoaWxkLGUhPT1udWxsKSlmb3IocEMoZSx0LHIpLGU9ZS5zaWJsaW5nO2UhPT1udWxsOylwQyhlLHQsciksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gZ0MoZSx0LHIpe3ZhciBuPWUudGFnO2lmKG49PT01fHxuPT09NillPWUuc3RhdGVOb2RlLHQ/ci5pbnNlcnRCZWZvcmUoZSx0KTpyLmFwcGVuZENoaWxkKGUpO2Vsc2UgaWYobiE9PTQmJihlPWUuY2hpbGQsZSE9PW51bGwpKWZvcihnQyhlLHQsciksZT1lLnNpYmxpbmc7ZSE9PW51bGw7KWdDKGUsdCxyKSxlPWUuc2libGluZ312YXIgdW49bnVsbCxFYT0hMTtmdW5jdGlvbiBUbyhlLHQscil7Zm9yKHI9ci5jaGlsZDtyIT09bnVsbDspRDMoZSx0LHIpLHI9ci5zaWJsaW5nfWZ1bmN0aW9uIEQzKGUsdCxyKXtpZihmaSYmdHlwZW9mIGZpLm9uQ29tbWl0RmliZXJVbm1vdW50PT0iZnVuY3Rpb24iKXRyeXtmaS5vbkNvbW1pdEZpYmVyVW5tb3VudChIdixyKX1jYXRjaHt9c3dpdGNoKHIudGFnKXtjYXNlIDU6UG58fGN1KHIsdCk7Y2FzZSA2OnZhciBuPXVuLGE9RWE7dW49bnVsbCxUbyhlLHQsciksdW49bixFYT1hLHVuIT09bnVsbCYmKEVhPyhlPXVuLHI9ci5zdGF0ZU5vZGUsZS5ub2RlVHlwZT09PTg/ZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpOmUucmVtb3ZlQ2hpbGQocikpOnVuLnJlbW92ZUNoaWxkKHIuc3RhdGVOb2RlKSk7YnJlYWs7Y2FzZSAxODp1biE9PW51bGwmJihFYT8oZT11bixyPXIuc3RhdGVOb2RlLGUubm9kZVR5cGU9PT04P3cxKGUucGFyZW50Tm9kZSxyKTplLm5vZGVUeXBlPT09MSYmdzEoZSxyKSxubShlKSk6dzEodW4sci5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDQ6bj11bixhPUVhLHVuPXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sRWE9ITAsVG8oZSx0LHIpLHVuPW4sRWE9YTticmVhaztjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoIVBuJiYobj1yLnVwZGF0ZVF1ZXVlLG4hPT1udWxsJiYobj1uLmxhc3RFZmZlY3QsbiE9PW51bGwpKSl7YT1uPW4ubmV4dDtkb3t2YXIgaT1hLG89aS5kZXN0cm95O2k9aS50YWcsbyE9PXZvaWQgMCYmKGkmMnx8aSY0KSYmaEMocix0LG8pLGE9YS5uZXh0fXdoaWxlKGEhPT1uKX1UbyhlLHQscik7YnJlYWs7Y2FzZSAxOmlmKCFQbiYmKGN1KHIsdCksbj1yLnN0YXRlTm9kZSx0eXBlb2Ygbi5jb21wb25lbnRXaWxsVW5tb3VudD09ImZ1bmN0aW9uIikpdHJ5e24ucHJvcHM9ci5tZW1vaXplZFByb3BzLG4uc3RhdGU9ci5tZW1vaXplZFN0YXRlLG4uY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChsKXt5cihyLHQsbCl9VG8oZSx0LHIpO2JyZWFrO2Nhc2UgMjE6VG8oZSx0LHIpO2JyZWFrO2Nhc2UgMjI6ci5tb2RlJjE/KFBuPShuPVBuKXx8ci5tZW1vaXplZFN0YXRlIT09bnVsbCxUbyhlLHQsciksUG49bik6VG8oZSx0LHIpO2JyZWFrO2RlZmF1bHQ6VG8oZSx0LHIpfX1mdW5jdGlvbiB2NChlKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlO2lmKHQhPT1udWxsKXtlLnVwZGF0ZVF1ZXVlPW51bGw7dmFyIHI9ZS5zdGF0ZU5vZGU7cj09PW51bGwmJihyPWUuc3RhdGVOb2RlPW5ldyB6ZWUpLHQuZm9yRWFjaChmdW5jdGlvbihuKXt2YXIgYT1ydGUuYmluZChudWxsLGUsbik7ci5oYXMobil8fChyLmFkZChuKSxuLnRoZW4oYSxhKSl9KX19ZnVuY3Rpb24gbWEoZSx0KXt2YXIgcj10LmRlbGV0aW9ucztpZihyIT09bnVsbClmb3IodmFyIG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIGE9cltuXTt0cnl7dmFyIGk9ZSxvPXQsbD1vO2U6Zm9yKDtsIT09bnVsbDspe3N3aXRjaChsLnRhZyl7Y2FzZSA1OnVuPWwuc3RhdGVOb2RlLEVhPSExO2JyZWFrIGU7Y2FzZSAzOnVuPWwuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sRWE9ITA7YnJlYWsgZTtjYXNlIDQ6dW49bC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxFYT0hMDticmVhayBlfWw9bC5yZXR1cm59aWYodW49PT1udWxsKXRocm93IEVycm9yKHllKDE2MCkpO0QzKGksbyxhKSx1bj1udWxsLEVhPSExO3ZhciBjPWEuYWx0ZXJuYXRlO2MhPT1udWxsJiYoYy5yZXR1cm49bnVsbCksYS5yZXR1cm49bnVsbH1jYXRjaChkKXt5cihhLHQsZCl9fWlmKHQuc3VidHJlZUZsYWdzJjEyODU0KWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KU0zKHQsZSksdD10LnNpYmxpbmd9ZnVuY3Rpb24gTTMoZSx0KXt2YXIgcj1lLmFsdGVybmF0ZSxuPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYobWEodCxlKSxuaShlKSxuJjQpe3RyeXtTaCgzLGUsZS5yZXR1cm4pLFh2KDMsZSl9Y2F0Y2gobSl7eXIoZSxlLnJldHVybixtKX10cnl7U2goNSxlLGUucmV0dXJuKX1jYXRjaChtKXt5cihlLGUucmV0dXJuLG0pfX1icmVhaztjYXNlIDE6bWEodCxlKSxuaShlKSxuJjUxMiYmciE9PW51bGwmJmN1KHIsci5yZXR1cm4pO2JyZWFrO2Nhc2UgNTppZihtYSh0LGUpLG5pKGUpLG4mNTEyJiZyIT09bnVsbCYmY3UocixyLnJldHVybiksZS5mbGFncyYzMil7dmFyIGE9ZS5zdGF0ZU5vZGU7dHJ5e1poKGEsIiIpfWNhdGNoKG0pe3lyKGUsZS5yZXR1cm4sbSl9fWlmKG4mNCYmKGE9ZS5zdGF0ZU5vZGUsYSE9bnVsbCkpe3ZhciBpPWUubWVtb2l6ZWRQcm9wcyxvPXIhPT1udWxsP3IubWVtb2l6ZWRQcm9wczppLGw9ZS50eXBlLGM9ZS51cGRhdGVRdWV1ZTtpZihlLnVwZGF0ZVF1ZXVlPW51bGwsYyE9PW51bGwpdHJ5e2w9PT0iaW5wdXQiJiZpLnR5cGU9PT0icmFkaW8iJiZpLm5hbWUhPW51bGwmJmlMKGEsaSksTE4obCxvKTt2YXIgZD1MTihsLGkpO2ZvcihvPTA7bzxjLmxlbmd0aDtvKz0yKXt2YXIgdT1jW29dLEE9Y1tvKzFdO3U9PT0ic3R5bGUiP3VMKGEsQSk6dT09PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/Y0woYSxBKTp1PT09ImNoaWxkcmVuIj9aaChhLEEpOmUyKGEsdSxBLGQpfXN3aXRjaChsKXtjYXNlImlucHV0IjpVTihhLGkpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOm9MKGEsaSk7YnJlYWs7Y2FzZSJzZWxlY3QiOnZhciBmPWEuX3dyYXBwZXJTdGF0ZS53YXNNdWx0aXBsZTthLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU9ISFpLm11bHRpcGxlO3ZhciBoPWkudmFsdWU7aCE9bnVsbD92dShhLCEhaS5tdWx0aXBsZSxoLCExKTpmIT09ISFpLm11bHRpcGxlJiYoaS5kZWZhdWx0VmFsdWUhPW51bGw/dnUoYSwhIWkubXVsdGlwbGUsaS5kZWZhdWx0VmFsdWUsITApOnZ1KGEsISFpLm11bHRpcGxlLGkubXVsdGlwbGU/W106IiIsITEpKX1hW2xtXT1pfWNhdGNoKG0pe3lyKGUsZS5yZXR1cm4sbSl9fWJyZWFrO2Nhc2UgNjppZihtYSh0LGUpLG5pKGUpLG4mNCl7aWYoZS5zdGF0ZU5vZGU9PT1udWxsKXRocm93IEVycm9yKHllKDE2MikpO2E9ZS5zdGF0ZU5vZGUsaT1lLm1lbW9pemVkUHJvcHM7dHJ5e2Eubm9kZVZhbHVlPWl9Y2F0Y2gobSl7eXIoZSxlLnJldHVybixtKX19YnJlYWs7Y2FzZSAzOmlmKG1hKHQsZSksbmkoZSksbiY0JiZyIT09bnVsbCYmci5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl0cnl7bm0odC5jb250YWluZXJJbmZvKX1jYXRjaChtKXt5cihlLGUucmV0dXJuLG0pfWJyZWFrO2Nhc2UgNDptYSh0LGUpLG5pKGUpO2JyZWFrO2Nhc2UgMTM6bWEodCxlKSxuaShlKSxhPWUuY2hpbGQsYS5mbGFncyY4MTkyJiYoaT1hLm1lbW9pemVkU3RhdGUhPT1udWxsLGEuc3RhdGVOb2RlLmlzSGlkZGVuPWksIWl8fGEuYWx0ZXJuYXRlIT09bnVsbCYmYS5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSE9PW51bGx8fChGMj1CcigpKSksbiY0JiZ2NChlKTticmVhaztjYXNlIDIyOmlmKHU9ciE9PW51bGwmJnIubWVtb2l6ZWRTdGF0ZSE9PW51bGwsZS5tb2RlJjE/KFBuPShkPVBuKXx8dSxtYSh0LGUpLFBuPWQpOm1hKHQsZSksbmkoZSksbiY4MTkyKXtpZihkPWUubWVtb2l6ZWRTdGF0ZSE9PW51bGwsKGUuc3RhdGVOb2RlLmlzSGlkZGVuPWQpJiYhdSYmZS5tb2RlJjEpZm9yKFBlPWUsdT1lLmNoaWxkO3UhPT1udWxsOyl7Zm9yKEE9UGU9dTtQZSE9PW51bGw7KXtzd2l0Y2goZj1QZSxoPWYuY2hpbGQsZi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTpTaCg0LGYsZi5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpjdShmLGYucmV0dXJuKTt2YXIgcD1mLnN0YXRlTm9kZTtpZih0eXBlb2YgcC5jb21wb25lbnRXaWxsVW5tb3VudD09ImZ1bmN0aW9uIil7bj1mLHI9Zi5yZXR1cm47dHJ5e3Q9bixwLnByb3BzPXQubWVtb2l6ZWRQcm9wcyxwLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSxwLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2gobSl7eXIobixyLG0pfX1icmVhaztjYXNlIDU6Y3UoZixmLnJldHVybik7YnJlYWs7Y2FzZSAyMjppZihmLm1lbW9pemVkU3RhdGUhPT1udWxsKXtiNChBKTtjb250aW51ZX19aCE9PW51bGw/KGgucmV0dXJuPWYsUGU9aCk6YjQoQSl9dT11LnNpYmxpbmd9ZTpmb3IodT1udWxsLEE9ZTs7KXtpZihBLnRhZz09PTUpe2lmKHU9PT1udWxsKXt1PUE7dHJ5e2E9QS5zdGF0ZU5vZGUsZD8oaT1hLnN0eWxlLHR5cGVvZiBpLnNldFByb3BlcnR5PT0iZnVuY3Rpb24iP2kuc2V0UHJvcGVydHkoImRpc3BsYXkiLCJub25lIiwiaW1wb3J0YW50Iik6aS5kaXNwbGF5PSJub25lIik6KGw9QS5zdGF0ZU5vZGUsYz1BLm1lbW9pemVkUHJvcHMuc3R5bGUsbz1jIT1udWxsJiZjLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/Yy5kaXNwbGF5Om51bGwsbC5zdHlsZS5kaXNwbGF5PWRMKCJkaXNwbGF5IixvKSl9Y2F0Y2gobSl7eXIoZSxlLnJldHVybixtKX19fWVsc2UgaWYoQS50YWc9PT02KXtpZih1PT09bnVsbCl0cnl7QS5zdGF0ZU5vZGUubm9kZVZhbHVlPWQ/IiI6QS5tZW1vaXplZFByb3BzfWNhdGNoKG0pe3lyKGUsZS5yZXR1cm4sbSl9fWVsc2UgaWYoKEEudGFnIT09MjImJkEudGFnIT09MjN8fEEubWVtb2l6ZWRTdGF0ZT09PW51bGx8fEE9PT1lKSYmQS5jaGlsZCE9PW51bGwpe0EuY2hpbGQucmV0dXJuPUEsQT1BLmNoaWxkO2NvbnRpbnVlfWlmKEE9PT1lKWJyZWFrIGU7Zm9yKDtBLnNpYmxpbmc9PT1udWxsOyl7aWYoQS5yZXR1cm49PT1udWxsfHxBLnJldHVybj09PWUpYnJlYWsgZTt1PT09QSYmKHU9bnVsbCksQT1BLnJldHVybn11PT09QSYmKHU9bnVsbCksQS5zaWJsaW5nLnJldHVybj1BLnJldHVybixBPUEuc2libGluZ319YnJlYWs7Y2FzZSAxOTptYSh0LGUpLG5pKGUpLG4mNCYmdjQoZSk7YnJlYWs7Y2FzZSAyMTpicmVhaztkZWZhdWx0Om1hKHQsZSksbmkoZSl9fWZ1bmN0aW9uIG5pKGUpe3ZhciB0PWUuZmxhZ3M7aWYodCYyKXt0cnl7ZTp7Zm9yKHZhciByPWUucmV0dXJuO3IhPT1udWxsOyl7aWYoVTMocikpe3ZhciBuPXI7YnJlYWsgZX1yPXIucmV0dXJufXRocm93IEVycm9yKHllKDE2MCkpfXN3aXRjaChuLnRhZyl7Y2FzZSA1OnZhciBhPW4uc3RhdGVOb2RlO24uZmxhZ3MmMzImJihaaChhLCIiKSxuLmZsYWdzJj0tMzMpO3ZhciBpPXk0KGUpO2dDKGUsaSxhKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciBvPW4uc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sbD15NChlKTtwQyhlLGwsbyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih5ZSgxNjEpKX19Y2F0Y2goYyl7eXIoZSxlLnJldHVybixjKX1lLmZsYWdzJj0tM310JjQwOTYmJihlLmZsYWdzJj0tNDA5Nyl9ZnVuY3Rpb24gR2VlKGUsdCxyKXtQZT1lLFIzKGUpfWZ1bmN0aW9uIFIzKGUsdCxyKXtmb3IodmFyIG49KGUubW9kZSYxKSE9PTA7UGUhPT1udWxsOyl7dmFyIGE9UGUsaT1hLmNoaWxkO2lmKGEudGFnPT09MjImJm4pe3ZhciBvPWEubWVtb2l6ZWRTdGF0ZSE9PW51bGx8fElnO2lmKCFvKXt2YXIgbD1hLmFsdGVybmF0ZSxjPWwhPT1udWxsJiZsLm1lbW9pemVkU3RhdGUhPT1udWxsfHxQbjtsPUlnO3ZhciBkPVBuO2lmKElnPW8sKFBuPWMpJiYhZClmb3IoUGU9YTtQZSE9PW51bGw7KW89UGUsYz1vLmNoaWxkLG8udGFnPT09MjImJm8ubWVtb2l6ZWRTdGF0ZSE9PW51bGw/ajQoYSk6YyE9PW51bGw/KGMucmV0dXJuPW8sUGU9Yyk6ajQoYSk7Zm9yKDtpIT09bnVsbDspUGU9aSxSMyhpKSxpPWkuc2libGluZztQZT1hLElnPWwsUG49ZH13NChlKX1lbHNlIGEuc3VidHJlZUZsYWdzJjg3NzImJmkhPT1udWxsPyhpLnJldHVybj1hLFBlPWkpOnc0KGUpfX1mdW5jdGlvbiB3NChlKXtmb3IoO1BlIT09bnVsbDspe3ZhciB0PVBlO2lmKHQuZmxhZ3MmODc3Mil7dmFyIHI9dC5hbHRlcm5hdGU7dHJ5e2lmKHQuZmxhZ3MmODc3Milzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6UG58fFh2KDUsdCk7YnJlYWs7Y2FzZSAxOnZhciBuPXQuc3RhdGVOb2RlO2lmKHQuZmxhZ3MmNCYmIVBuKWlmKHI9PT1udWxsKW4uY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBhPXQuZWxlbWVudFR5cGU9PT10LnR5cGU/ci5tZW1vaXplZFByb3BzOk5hKHQudHlwZSxyLm1lbW9pemVkUHJvcHMpO24uY29tcG9uZW50RGlkVXBkYXRlKGEsci5tZW1vaXplZFN0YXRlLG4uX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUpfXZhciBpPXQudXBkYXRlUXVldWU7aSE9PW51bGwmJmE0KHQsaSxuKTticmVhaztjYXNlIDM6dmFyIG89dC51cGRhdGVRdWV1ZTtpZihvIT09bnVsbCl7aWYocj1udWxsLHQuY2hpbGQhPT1udWxsKXN3aXRjaCh0LmNoaWxkLnRhZyl7Y2FzZSA1OnI9dC5jaGlsZC5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAxOnI9dC5jaGlsZC5zdGF0ZU5vZGV9YTQodCxvLHIpfWJyZWFrO2Nhc2UgNTp2YXIgbD10LnN0YXRlTm9kZTtpZihyPT09bnVsbCYmdC5mbGFncyY0KXtyPWw7dmFyIGM9dC5tZW1vaXplZFByb3BzO3N3aXRjaCh0LnR5cGUpe2Nhc2UiYnV0dG9uIjpjYXNlImlucHV0IjpjYXNlInNlbGVjdCI6Y2FzZSJ0ZXh0YXJlYSI6Yy5hdXRvRm9jdXMmJnIuZm9jdXMoKTticmVhaztjYXNlImltZyI6Yy5zcmMmJihyLnNyYz1jLnNyYyl9fWJyZWFrO2Nhc2UgNjpicmVhaztjYXNlIDQ6YnJlYWs7Y2FzZSAxMjpicmVhaztjYXNlIDEzOmlmKHQubWVtb2l6ZWRTdGF0ZT09PW51bGwpe3ZhciBkPXQuYWx0ZXJuYXRlO2lmKGQhPT1udWxsKXt2YXIgdT1kLm1lbW9pemVkU3RhdGU7aWYodSE9PW51bGwpe3ZhciBBPXUuZGVoeWRyYXRlZDtBIT09bnVsbCYmbm0oQSl9fX1icmVhaztjYXNlIDE5OmNhc2UgMTc6Y2FzZSAyMTpjYXNlIDIyOmNhc2UgMjM6Y2FzZSAyNTpicmVhaztkZWZhdWx0OnRocm93IEVycm9yKHllKDE2MykpfVBufHx0LmZsYWdzJjUxMiYmbUModCl9Y2F0Y2goZil7eXIodCx0LnJldHVybixmKX19aWYodD09PWUpe1BlPW51bGw7YnJlYWt9aWYocj10LnNpYmxpbmcsciE9PW51bGwpe3IucmV0dXJuPXQucmV0dXJuLFBlPXI7YnJlYWt9UGU9dC5yZXR1cm59fWZ1bmN0aW9uIGI0KGUpe2Zvcig7UGUhPT1udWxsOyl7dmFyIHQ9UGU7aWYodD09PWUpe1BlPW51bGw7YnJlYWt9dmFyIHI9dC5zaWJsaW5nO2lmKHIhPT1udWxsKXtyLnJldHVybj10LnJldHVybixQZT1yO2JyZWFrfVBlPXQucmV0dXJufX1mdW5jdGlvbiBqNChlKXtmb3IoO1BlIT09bnVsbDspe3ZhciB0PVBlO3RyeXtzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dmFyIHI9dC5yZXR1cm47dHJ5e1h2KDQsdCl9Y2F0Y2goYyl7eXIodCxyLGMpfWJyZWFrO2Nhc2UgMTp2YXIgbj10LnN0YXRlTm9kZTtpZih0eXBlb2Ygbi5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIil7dmFyIGE9dC5yZXR1cm47dHJ5e24uY29tcG9uZW50RGlkTW91bnQoKX1jYXRjaChjKXt5cih0LGEsYyl9fXZhciBpPXQucmV0dXJuO3RyeXttQyh0KX1jYXRjaChjKXt5cih0LGksYyl9YnJlYWs7Y2FzZSA1OnZhciBvPXQucmV0dXJuO3RyeXttQyh0KX1jYXRjaChjKXt5cih0LG8sYyl9fX1jYXRjaChjKXt5cih0LHQucmV0dXJuLGMpfWlmKHQ9PT1lKXtQZT1udWxsO2JyZWFrfXZhciBsPXQuc2libGluZztpZihsIT09bnVsbCl7bC5yZXR1cm49dC5yZXR1cm4sUGU9bDticmVha31QZT10LnJldHVybn19dmFyIHFlZT1NYXRoLmNlaWwsTTA9Ym8uUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixUMj1iby5SZWFjdEN1cnJlbnRPd25lcixKcz1iby5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxidD0wLGFuPW51bGwsUHI9bnVsbCx4bj0wLGZzPTAsZHU9JGwoMCksS3I9MCxobT1udWxsLFpjPTAsSnY9MCxQMj0wLEVoPW51bGwsbnM9bnVsbCxGMj0wLFp1PTEvMCxWaT1udWxsLFIwPSExLHhDPW51bGwseGw9bnVsbCxVZz0hMSxubD1udWxsLFEwPTAsa2g9MCx5Qz1udWxsLHQwPS0xLHIwPTA7ZnVuY3Rpb24gV24oKXtyZXR1cm4gYnQmNj9CcigpOnQwIT09LTE/dDA6dDA9QnIoKX1mdW5jdGlvbiB5bChlKXtyZXR1cm4gZS5tb2RlJjE/YnQmMiYmeG4hPT0wP3huJi14bjpQZWUudHJhbnNpdGlvbiE9PW51bGw/KHIwPT09MCYmKHIwPWpMKCkpLHIwKTooZT1VdCxlIT09MHx8KGU9d2luZG93LmV2ZW50LGU9ZT09PXZvaWQgMD8xNjprTChlLnR5cGUpKSxlKToxfWZ1bmN0aW9uIFJhKGUsdCxyLG4pe2lmKDUwPGtoKXRocm93IGtoPTAseUM9bnVsbCxFcnJvcih5ZSgxODUpKTtUcChlLHIsbiksKCEoYnQmMil8fGUhPT1hbikmJihlPT09YW4mJighKGJ0JjIpJiYoSnZ8PXIpLEtyPT09NCYmR28oZSx4bikpLGxzKGUsbikscj09PTEmJmJ0PT09MCYmISh0Lm1vZGUmMSkmJihadT1CcigpKzUwMCxHdiYmSGwoKSkpfWZ1bmN0aW9uIGxzKGUsdCl7dmFyIHI9ZS5jYWxsYmFja05vZGU7UFooZSx0KTt2YXIgbj1qMChlLGU9PT1hbj94bjowKTtpZihuPT09MClyIT09bnVsbCYmUFAociksZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MDtlbHNlIGlmKHQ9biYtbixlLmNhbGxiYWNrUHJpb3JpdHkhPT10KXtpZihyIT1udWxsJiZQUChyKSx0PT09MSllLnRhZz09PTA/VGVlKE40LmJpbmQobnVsbCxlKSk6cUwoTjQuYmluZChudWxsLGUpKSxCZWUoZnVuY3Rpb24oKXshKGJ0JjYpJiZIbCgpfSkscj1udWxsO2Vsc2V7c3dpdGNoKE5MKG4pKXtjYXNlIDE6cj1hMjticmVhaztjYXNlIDQ6cj13TDticmVhaztjYXNlIDE2OnI9YjA7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6cj1iTDticmVhaztkZWZhdWx0OnI9YjB9cj1XMyhyLFEzLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PXQsZS5jYWxsYmFja05vZGU9cn19ZnVuY3Rpb24gUTMoZSx0KXtpZih0MD0tMSxyMD0wLGJ0JjYpdGhyb3cgRXJyb3IoeWUoMzI3KSk7dmFyIHI9ZS5jYWxsYmFja05vZGU7aWYoQ3UoKSYmZS5jYWxsYmFja05vZGUhPT1yKXJldHVybiBudWxsO3ZhciBuPWowKGUsZT09PWFuP3huOjApO2lmKG49PT0wKXJldHVybiBudWxsO2lmKG4mMzB8fG4mZS5leHBpcmVkTGFuZXN8fHQpdD1MMChlLG4pO2Vsc2V7dD1uO3ZhciBhPWJ0O2J0fD0yO3ZhciBpPSQzKCk7KGFuIT09ZXx8eG4hPT10KSYmKFZpPW51bGwsWnU9QnIoKSs1MDAsTGMoZSx0KSk7ZG8gdHJ5e0plZSgpO2JyZWFrfWNhdGNoKGwpe0wzKGUsbCl9d2hpbGUoITApO3gyKCksTTAuY3VycmVudD1pLGJ0PWEsUHIhPT1udWxsP3Q9MDooYW49bnVsbCx4bj0wLHQ9S3IpfWlmKHQhPT0wKXtpZih0PT09MiYmKGE9ek4oZSksYSE9PTAmJihuPWEsdD12QyhlLGEpKSksdD09PTEpdGhyb3cgcj1obSxMYyhlLDApLEdvKGUsbiksbHMoZSxCcigpKSxyO2lmKHQ9PT02KUdvKGUsbik7ZWxzZXtpZihhPWUuY3VycmVudC5hbHRlcm5hdGUsIShuJjMwKSYmIVllZShhKSYmKHQ9TDAoZSxuKSx0PT09MiYmKGk9ek4oZSksaSE9PTAmJihuPWksdD12QyhlLGkpKSksdD09PTEpKXRocm93IHI9aG0sTGMoZSwwKSxHbyhlLG4pLGxzKGUsQnIoKSkscjtzd2l0Y2goZS5maW5pc2hlZFdvcms9YSxlLmZpbmlzaGVkTGFuZXM9bix0KXtjYXNlIDA6Y2FzZSAxOnRocm93IEVycm9yKHllKDM0NSkpO2Nhc2UgMjpBYyhlLG5zLFZpKTticmVhaztjYXNlIDM6aWYoR28oZSxuKSwobiYxMzAwMjM0MjQpPT09biYmKHQ9RjIrNTAwLUJyKCksMTA8dCkpe2lmKGowKGUsMCkhPT0wKWJyZWFrO2lmKGE9ZS5zdXNwZW5kZWRMYW5lcywoYSZuKSE9PW4pe1duKCksZS5waW5nZWRMYW5lc3w9ZS5zdXNwZW5kZWRMYW5lcyZhO2JyZWFrfWUudGltZW91dEhhbmRsZT1lQyhBYy5iaW5kKG51bGwsZSxucyxWaSksdCk7YnJlYWt9QWMoZSxucyxWaSk7YnJlYWs7Y2FzZSA0OmlmKEdvKGUsbiksKG4mNDE5NDI0MCk9PT1uKWJyZWFrO2Zvcih0PWUuZXZlbnRUaW1lcyxhPS0xOzA8bjspe3ZhciBvPTMxLU1hKG4pO2k9MTw8byxvPXRbb10sbz5hJiYoYT1vKSxuJj1+aX1pZihuPWEsbj1CcigpLW4sbj0oMTIwPm4/MTIwOjQ4MD5uPzQ4MDoxMDgwPm4/MTA4MDoxOTIwPm4/MTkyMDozZTM+bj8zZTM6NDMyMD5uPzQzMjA6MTk2MCpxZWUobi8xOTYwKSktbiwxMDxuKXtlLnRpbWVvdXRIYW5kbGU9ZUMoQWMuYmluZChudWxsLGUsbnMsVmkpLG4pO2JyZWFrfUFjKGUsbnMsVmkpO2JyZWFrO2Nhc2UgNTpBYyhlLG5zLFZpKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHllKDMyOSkpfX19cmV0dXJuIGxzKGUsQnIoKSksZS5jYWxsYmFja05vZGU9PT1yP1EzLmJpbmQobnVsbCxlKTpudWxsfWZ1bmN0aW9uIHZDKGUsdCl7dmFyIHI9RWg7cmV0dXJuIGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmKExjKGUsdCkuZmxhZ3N8PTI1NiksZT1MMChlLHQpLGUhPT0yJiYodD1ucyxucz1yLHQhPT1udWxsJiZ3Qyh0KSksZX1mdW5jdGlvbiB3QyhlKXtucz09PW51bGw/bnM9ZTpucy5wdXNoLmFwcGx5KG5zLGUpfWZ1bmN0aW9uIFllZShlKXtmb3IodmFyIHQ9ZTs7KXtpZih0LmZsYWdzJjE2Mzg0KXt2YXIgcj10LnVwZGF0ZVF1ZXVlO2lmKHIhPT1udWxsJiYocj1yLnN0b3JlcyxyIT09bnVsbCkpZm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBhPXJbbl0saT1hLmdldFNuYXBzaG90O2E9YS52YWx1ZTt0cnl7aWYoIUthKGkoKSxhKSlyZXR1cm4hMX1jYXRjaHtyZXR1cm4hMX19fWlmKHI9dC5jaGlsZCx0LnN1YnRyZWVGbGFncyYxNjM4NCYmciE9PW51bGwpci5yZXR1cm49dCx0PXI7ZWxzZXtpZih0PT09ZSlicmVhaztmb3IoO3Quc2libGluZz09PW51bGw7KXtpZih0LnJldHVybj09PW51bGx8fHQucmV0dXJuPT09ZSlyZXR1cm4hMDt0PXQucmV0dXJufXQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9fXJldHVybiEwfWZ1bmN0aW9uIEdvKGUsdCl7Zm9yKHQmPX5QMix0Jj1+SnYsZS5zdXNwZW5kZWRMYW5lc3w9dCxlLnBpbmdlZExhbmVzJj1+dCxlPWUuZXhwaXJhdGlvblRpbWVzOzA8dDspe3ZhciByPTMxLU1hKHQpLG49MTw8cjtlW3JdPS0xLHQmPX5ufX1mdW5jdGlvbiBONChlKXtpZihidCY2KXRocm93IEVycm9yKHllKDMyNykpO0N1KCk7dmFyIHQ9ajAoZSwwKTtpZighKHQmMSkpcmV0dXJuIGxzKGUsQnIoKSksbnVsbDt2YXIgcj1MMChlLHQpO2lmKGUudGFnIT09MCYmcj09PTIpe3ZhciBuPXpOKGUpO24hPT0wJiYodD1uLHI9dkMoZSxuKSl9aWYocj09PTEpdGhyb3cgcj1obSxMYyhlLDApLEdvKGUsdCksbHMoZSxCcigpKSxyO2lmKHI9PT02KXRocm93IEVycm9yKHllKDM0NSkpO3JldHVybiBlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRMYW5lcz10LEFjKGUsbnMsVmkpLGxzKGUsQnIoKSksbnVsbH1mdW5jdGlvbiBPMihlLHQpe3ZhciByPWJ0O2J0fD0xO3RyeXtyZXR1cm4gZSh0KX1maW5hbGx5e2J0PXIsYnQ9PT0wJiYoWnU9QnIoKSs1MDAsR3YmJkhsKCkpfX1mdW5jdGlvbiBlZChlKXtubCE9PW51bGwmJm5sLnRhZz09PTAmJiEoYnQmNikmJkN1KCk7dmFyIHQ9YnQ7YnR8PTE7dmFyIHI9SnMudHJhbnNpdGlvbixuPVV0O3RyeXtpZihKcy50cmFuc2l0aW9uPW51bGwsVXQ9MSxlKXJldHVybiBlKCl9ZmluYWxseXtVdD1uLEpzLnRyYW5zaXRpb249cixidD10LCEoYnQmNikmJkhsKCl9fWZ1bmN0aW9uIEkyKCl7ZnM9ZHUuY3VycmVudCxycihkdSl9ZnVuY3Rpb24gTGMoZSx0KXtlLmZpbmlzaGVkV29yaz1udWxsLGUuZmluaXNoZWRMYW5lcz0wO3ZhciByPWUudGltZW91dEhhbmRsZTtpZihyIT09LTEmJihlLnRpbWVvdXRIYW5kbGU9LTEsX2VlKHIpKSxQciE9PW51bGwpZm9yKHI9UHIucmV0dXJuO3IhPT1udWxsOyl7dmFyIG49cjtzd2l0Y2gobTIobiksbi50YWcpe2Nhc2UgMTpuPW4udHlwZS5jaGlsZENvbnRleHRUeXBlcyxuIT1udWxsJiZTMCgpO2JyZWFrO2Nhc2UgMzpYdSgpLHJyKGlzKSxycihEbiksTjIoKTticmVhaztjYXNlIDU6ajIobik7YnJlYWs7Y2FzZSA0Olh1KCk7YnJlYWs7Y2FzZSAxMzpycih1cik7YnJlYWs7Y2FzZSAxOTpycih1cik7YnJlYWs7Y2FzZSAxMDp5MihuLnR5cGUuX2NvbnRleHQpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpJMigpfXI9ci5yZXR1cm59aWYoYW49ZSxQcj1lPXZsKGUuY3VycmVudCxudWxsKSx4bj1mcz10LEtyPTAsaG09bnVsbCxQMj1Kdj1aYz0wLG5zPUVoPW51bGwsamMhPT1udWxsKXtmb3IodD0wO3Q8amMubGVuZ3RoO3QrKylpZihyPWpjW3RdLG49ci5pbnRlcmxlYXZlZCxuIT09bnVsbCl7ci5pbnRlcmxlYXZlZD1udWxsO3ZhciBhPW4ubmV4dCxpPXIucGVuZGluZztpZihpIT09bnVsbCl7dmFyIG89aS5uZXh0O2kubmV4dD1hLG4ubmV4dD1vfXIucGVuZGluZz1ufWpjPW51bGx9cmV0dXJuIGV9ZnVuY3Rpb24gTDMoZSx0KXtkb3t2YXIgcj1Qcjt0cnl7aWYoeDIoKSxKeC5jdXJyZW50PUQwLFUwKXtmb3IodmFyIG49bXIubWVtb2l6ZWRTdGF0ZTtuIT09bnVsbDspe3ZhciBhPW4ucXVldWU7YSE9PW51bGwmJihhLnBlbmRpbmc9bnVsbCksbj1uLm5leHR9VTA9ITF9aWYoSmM9MCxlbj0kcj1tcj1udWxsLEJoPSExLHVtPTAsVDIuY3VycmVudD1udWxsLHI9PT1udWxsfHxyLnJldHVybj09PW51bGwpe0tyPTEsaG09dCxQcj1udWxsO2JyZWFrfWU6e3ZhciBpPWUsbz1yLnJldHVybixsPXIsYz10O2lmKHQ9eG4sbC5mbGFnc3w9MzI3NjgsYyE9PW51bGwmJnR5cGVvZiBjPT0ib2JqZWN0IiYmdHlwZW9mIGMudGhlbj09ImZ1bmN0aW9uIil7dmFyIGQ9Yyx1PWwsQT11LnRhZztpZighKHUubW9kZSYxKSYmKEE9PT0wfHxBPT09MTF8fEE9PT0xNSkpe3ZhciBmPXUuYWx0ZXJuYXRlO2Y/KHUudXBkYXRlUXVldWU9Zi51cGRhdGVRdWV1ZSx1Lm1lbW9pemVkU3RhdGU9Zi5tZW1vaXplZFN0YXRlLHUubGFuZXM9Zi5sYW5lcyk6KHUudXBkYXRlUXVldWU9bnVsbCx1Lm1lbW9pemVkU3RhdGU9bnVsbCl9dmFyIGg9dTQobyk7aWYoaCE9PW51bGwpe2guZmxhZ3MmPS0yNTcsQTQoaCxvLGwsaSx0KSxoLm1vZGUmMSYmZDQoaSxkLHQpLHQ9aCxjPWQ7dmFyIHA9dC51cGRhdGVRdWV1ZTtpZihwPT09bnVsbCl7dmFyIG09bmV3IFNldDttLmFkZChjKSx0LnVwZGF0ZVF1ZXVlPW19ZWxzZSBwLmFkZChjKTticmVhayBlfWVsc2V7aWYoISh0JjEpKXtkNChpLGQsdCksVTIoKTticmVhayBlfWM9RXJyb3IoeWUoNDI2KSl9fWVsc2UgaWYob3ImJmwubW9kZSYxKXt2YXIgeD11NChvKTtpZih4IT09bnVsbCl7ISh4LmZsYWdzJjY1NTM2KSYmKHguZmxhZ3N8PTI1NiksQTQoeCxvLGwsaSx0KSxwMihKdShjLGwpKTticmVhayBlfX1pPWM9SnUoYyxsKSxLciE9PTQmJihLcj0yKSxFaD09PW51bGw/RWg9W2ldOkVoLnB1c2goaSksaT1vO2Rve3N3aXRjaChpLnRhZyl7Y2FzZSAzOmkuZmxhZ3N8PTY1NTM2LHQmPS10LGkubGFuZXN8PXQ7dmFyIHc9TjMoaSxjLHQpO3M0KGksdyk7YnJlYWsgZTtjYXNlIDE6bD1jO3ZhciB5PWkudHlwZSx2PWkuc3RhdGVOb2RlO2lmKCEoaS5mbGFncyYxMjgpJiYodHlwZW9mIHkuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yPT0iZnVuY3Rpb24ifHx2IT09bnVsbCYmdHlwZW9mIHYuY29tcG9uZW50RGlkQ2F0Y2g9PSJmdW5jdGlvbiImJih4bD09PW51bGx8fCF4bC5oYXModikpKSl7aS5mbGFnc3w9NjU1MzYsdCY9LXQsaS5sYW5lc3w9dDt2YXIgYj1DMyhpLGwsdCk7czQoaSxiKTticmVhayBlfX1pPWkucmV0dXJufXdoaWxlKGkhPT1udWxsKX1LMyhyKX1jYXRjaChqKXt0PWosUHI9PT1yJiZyIT09bnVsbCYmKFByPXI9ci5yZXR1cm4pO2NvbnRpbnVlfWJyZWFrfXdoaWxlKCEwKX1mdW5jdGlvbiAkMygpe3ZhciBlPU0wLmN1cnJlbnQ7cmV0dXJuIE0wLmN1cnJlbnQ9RDAsZT09PW51bGw/RDA6ZX1mdW5jdGlvbiBVMigpeyhLcj09PTB8fEtyPT09M3x8S3I9PT0yKSYmKEtyPTQpLGFuPT09bnVsbHx8IShaYyYyNjg0MzU0NTUpJiYhKEp2JjI2ODQzNTQ1NSl8fEdvKGFuLHhuKX1mdW5jdGlvbiBMMChlLHQpe3ZhciByPWJ0O2J0fD0yO3ZhciBuPSQzKCk7KGFuIT09ZXx8eG4hPT10KSYmKFZpPW51bGwsTGMoZSx0KSk7ZG8gdHJ5e1hlZSgpO2JyZWFrfWNhdGNoKGEpe0wzKGUsYSl9d2hpbGUoITApO2lmKHgyKCksYnQ9cixNMC5jdXJyZW50PW4sUHIhPT1udWxsKXRocm93IEVycm9yKHllKDI2MSkpO3JldHVybiBhbj1udWxsLHhuPTAsS3J9ZnVuY3Rpb24gWGVlKCl7Zm9yKDtQciE9PW51bGw7KUgzKFByKX1mdW5jdGlvbiBKZWUoKXtmb3IoO1ByIT09bnVsbCYmIWpaKCk7KUgzKFByKX1mdW5jdGlvbiBIMyhlKXt2YXIgdD16MyhlLmFsdGVybmF0ZSxlLGZzKTtlLm1lbW9pemVkUHJvcHM9ZS5wZW5kaW5nUHJvcHMsdD09PW51bGw/SzMoZSk6UHI9dCxUMi5jdXJyZW50PW51bGx9ZnVuY3Rpb24gSzMoZSl7dmFyIHQ9ZTtkb3t2YXIgcj10LmFsdGVybmF0ZTtpZihlPXQucmV0dXJuLHQuZmxhZ3MmMzI3Njgpe2lmKHI9VmVlKHIsdCksciE9PW51bGwpe3IuZmxhZ3MmPTMyNzY3LFByPXI7cmV0dXJufWlmKGUhPT1udWxsKWUuZmxhZ3N8PTMyNzY4LGUuc3VidHJlZUZsYWdzPTAsZS5kZWxldGlvbnM9bnVsbDtlbHNle0tyPTYsUHI9bnVsbDtyZXR1cm59fWVsc2UgaWYocj1LZWUocix0LGZzKSxyIT09bnVsbCl7UHI9cjtyZXR1cm59aWYodD10LnNpYmxpbmcsdCE9PW51bGwpe1ByPXQ7cmV0dXJufVByPXQ9ZX13aGlsZSh0IT09bnVsbCk7S3I9PT0wJiYoS3I9NSl9ZnVuY3Rpb24gQWMoZSx0LHIpe3ZhciBuPVV0LGE9SnMudHJhbnNpdGlvbjt0cnl7SnMudHJhbnNpdGlvbj1udWxsLFV0PTEsWmVlKGUsdCxyLG4pfWZpbmFsbHl7SnMudHJhbnNpdGlvbj1hLFV0PW59cmV0dXJuIG51bGx9ZnVuY3Rpb24gWmVlKGUsdCxyLG4pe2RvIEN1KCk7d2hpbGUobmwhPT1udWxsKTtpZihidCY2KXRocm93IEVycm9yKHllKDMyNykpO3I9ZS5maW5pc2hlZFdvcms7dmFyIGE9ZS5maW5pc2hlZExhbmVzO2lmKHI9PT1udWxsKXJldHVybiBudWxsO2lmKGUuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZExhbmVzPTAscj09PWUuY3VycmVudCl0aHJvdyBFcnJvcih5ZSgxNzcpKTtlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wO3ZhciBpPXIubGFuZXN8ci5jaGlsZExhbmVzO2lmKEZaKGUsaSksZT09PWFuJiYoUHI9YW49bnVsbCx4bj0wKSwhKHIuc3VidHJlZUZsYWdzJjIwNjQpJiYhKHIuZmxhZ3MmMjA2NCl8fFVnfHwoVWc9ITAsVzMoYjAsZnVuY3Rpb24oKXtyZXR1cm4gQ3UoKSxudWxsfSkpLGk9KHIuZmxhZ3MmMTU5OTApIT09MCxyLnN1YnRyZWVGbGFncyYxNTk5MHx8aSl7aT1Kcy50cmFuc2l0aW9uLEpzLnRyYW5zaXRpb249bnVsbDt2YXIgbz1VdDtVdD0xO3ZhciBsPWJ0O2J0fD00LFQyLmN1cnJlbnQ9bnVsbCxXZWUoZSxyKSxNMyhyLGUpLHllZShKTiksTjA9ISFYTixKTj1YTj1udWxsLGUuY3VycmVudD1yLEdlZShyKSxOWigpLGJ0PWwsVXQ9byxKcy50cmFuc2l0aW9uPWl9ZWxzZSBlLmN1cnJlbnQ9cjtpZihVZyYmKFVnPSExLG5sPWUsUTA9YSksaT1lLnBlbmRpbmdMYW5lcyxpPT09MCYmKHhsPW51bGwpLEJaKHIuc3RhdGVOb2RlKSxscyhlLEJyKCkpLHQhPT1udWxsKWZvcihuPWUub25SZWNvdmVyYWJsZUVycm9yLHI9MDtyPHQubGVuZ3RoO3IrKylhPXRbcl0sbihhLnZhbHVlLHtjb21wb25lbnRTdGFjazphLnN0YWNrLGRpZ2VzdDphLmRpZ2VzdH0pO2lmKFIwKXRocm93IFIwPSExLGU9eEMseEM9bnVsbCxlO3JldHVybiBRMCYxJiZlLnRhZyE9PTAmJkN1KCksaT1lLnBlbmRpbmdMYW5lcyxpJjE/ZT09PXlDP2toKys6KGtoPTAseUM9ZSk6a2g9MCxIbCgpLG51bGx9ZnVuY3Rpb24gQ3UoKXtpZihubCE9PW51bGwpe3ZhciBlPU5MKFEwKSx0PUpzLnRyYW5zaXRpb24scj1VdDt0cnl7aWYoSnMudHJhbnNpdGlvbj1udWxsLFV0PTE2PmU/MTY6ZSxubD09PW51bGwpdmFyIG49ITE7ZWxzZXtpZihlPW5sLG5sPW51bGwsUTA9MCxidCY2KXRocm93IEVycm9yKHllKDMzMSkpO3ZhciBhPWJ0O2ZvcihidHw9NCxQZT1lLmN1cnJlbnQ7UGUhPT1udWxsOyl7dmFyIGk9UGUsbz1pLmNoaWxkO2lmKFBlLmZsYWdzJjE2KXt2YXIgbD1pLmRlbGV0aW9ucztpZihsIT09bnVsbCl7Zm9yKHZhciBjPTA7YzxsLmxlbmd0aDtjKyspe3ZhciBkPWxbY107Zm9yKFBlPWQ7UGUhPT1udWxsOyl7dmFyIHU9UGU7c3dpdGNoKHUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OlNoKDgsdSxpKX12YXIgQT11LmNoaWxkO2lmKEEhPT1udWxsKUEucmV0dXJuPXUsUGU9QTtlbHNlIGZvcig7UGUhPT1udWxsOyl7dT1QZTt2YXIgZj11LnNpYmxpbmcsaD11LnJldHVybjtpZihJMyh1KSx1PT09ZCl7UGU9bnVsbDticmVha31pZihmIT09bnVsbCl7Zi5yZXR1cm49aCxQZT1mO2JyZWFrfVBlPWh9fX12YXIgcD1pLmFsdGVybmF0ZTtpZihwIT09bnVsbCl7dmFyIG09cC5jaGlsZDtpZihtIT09bnVsbCl7cC5jaGlsZD1udWxsO2Rve3ZhciB4PW0uc2libGluZzttLnNpYmxpbmc9bnVsbCxtPXh9d2hpbGUobSE9PW51bGwpfX1QZT1pfX1pZihpLnN1YnRyZWVGbGFncyYyMDY0JiZvIT09bnVsbClvLnJldHVybj1pLFBlPW87ZWxzZSBlOmZvcig7UGUhPT1udWxsOyl7aWYoaT1QZSxpLmZsYWdzJjIwNDgpc3dpdGNoKGkudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OlNoKDksaSxpLnJldHVybil9dmFyIHc9aS5zaWJsaW5nO2lmKHchPT1udWxsKXt3LnJldHVybj1pLnJldHVybixQZT13O2JyZWFrIGV9UGU9aS5yZXR1cm59fXZhciB5PWUuY3VycmVudDtmb3IoUGU9eTtQZSE9PW51bGw7KXtvPVBlO3ZhciB2PW8uY2hpbGQ7aWYoby5zdWJ0cmVlRmxhZ3MmMjA2NCYmdiE9PW51bGwpdi5yZXR1cm49byxQZT12O2Vsc2UgZTpmb3Iobz15O1BlIT09bnVsbDspe2lmKGw9UGUsbC5mbGFncyYyMDQ4KXRyeXtzd2l0Y2gobC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6WHYoOSxsKX19Y2F0Y2goail7eXIobCxsLnJldHVybixqKX1pZihsPT09byl7UGU9bnVsbDticmVhayBlfXZhciBiPWwuc2libGluZztpZihiIT09bnVsbCl7Yi5yZXR1cm49bC5yZXR1cm4sUGU9YjticmVhayBlfVBlPWwucmV0dXJufX1pZihidD1hLEhsKCksZmkmJnR5cGVvZiBmaS5vblBvc3RDb21taXRGaWJlclJvb3Q9PSJmdW5jdGlvbiIpdHJ5e2ZpLm9uUG9zdENvbW1pdEZpYmVyUm9vdChIdixlKX1jYXRjaHt9bj0hMH1yZXR1cm4gbn1maW5hbGx5e1V0PXIsSnMudHJhbnNpdGlvbj10fX1yZXR1cm4hMX1mdW5jdGlvbiBDNChlLHQscil7dD1KdShyLHQpLHQ9TjMoZSx0LDEpLGU9Z2woZSx0LDEpLHQ9V24oKSxlIT09bnVsbCYmKFRwKGUsMSx0KSxscyhlLHQpKX1mdW5jdGlvbiB5cihlLHQscil7aWYoZS50YWc9PT0zKUM0KGUsZSxyKTtlbHNlIGZvcig7dCE9PW51bGw7KXtpZih0LnRhZz09PTMpe0M0KHQsZSxyKTticmVha31lbHNlIGlmKHQudGFnPT09MSl7dmFyIG49dC5zdGF0ZU5vZGU7aWYodHlwZW9mIHQudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I9PSJmdW5jdGlvbiJ8fHR5cGVvZiBuLmNvbXBvbmVudERpZENhdGNoPT0iZnVuY3Rpb24iJiYoeGw9PT1udWxsfHwheGwuaGFzKG4pKSl7ZT1KdShyLGUpLGU9QzModCxlLDEpLHQ9Z2wodCxlLDEpLGU9V24oKSx0IT09bnVsbCYmKFRwKHQsMSxlKSxscyh0LGUpKTticmVha319dD10LnJldHVybn19ZnVuY3Rpb24gZXRlKGUsdCxyKXt2YXIgbj1lLnBpbmdDYWNoZTtuIT09bnVsbCYmbi5kZWxldGUodCksdD1XbigpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmcixhbj09PWUmJih4biZyKT09PXImJihLcj09PTR8fEtyPT09MyYmKHhuJjEzMDAyMzQyNCk9PT14biYmNTAwPkJyKCktRjI/TGMoZSwwKTpQMnw9ciksbHMoZSx0KX1mdW5jdGlvbiBWMyhlLHQpe3Q9PT0wJiYoZS5tb2RlJjE/KHQ9X2csX2c8PD0xLCEoX2cmMTMwMDIzNDI0KSYmKF9nPTQxOTQzMDQpKTp0PTEpO3ZhciByPVduKCk7ZT1BbyhlLHQpLGUhPT1udWxsJiYoVHAoZSx0LHIpLGxzKGUscikpfWZ1bmN0aW9uIHR0ZShlKXt2YXIgdD1lLm1lbW9pemVkU3RhdGUscj0wO3QhPT1udWxsJiYocj10LnJldHJ5TGFuZSksVjMoZSxyKX1mdW5jdGlvbiBydGUoZSx0KXt2YXIgcj0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgbj1lLnN0YXRlTm9kZSxhPWUubWVtb2l6ZWRTdGF0ZTthIT09bnVsbCYmKHI9YS5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6bj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHllKDMxNCkpfW4hPT1udWxsJiZuLmRlbGV0ZSh0KSxWMyhlLHIpfXZhciB6Mzt6Mz1mdW5jdGlvbihlLHQscil7aWYoZSE9PW51bGwpaWYoZS5tZW1vaXplZFByb3BzIT09dC5wZW5kaW5nUHJvcHN8fGlzLmN1cnJlbnQpc3M9ITA7ZWxzZXtpZighKGUubGFuZXMmcikmJiEodC5mbGFncyYxMjgpKXJldHVybiBzcz0hMSxIZWUoZSx0LHIpO3NzPSEhKGUuZmxhZ3MmMTMxMDcyKX1lbHNlIHNzPSExLG9yJiZ0LmZsYWdzJjEwNDg1NzYmJllMKHQsVDAsdC5pbmRleCk7c3dpdGNoKHQubGFuZXM9MCx0LnRhZyl7Y2FzZSAyOnZhciBuPXQudHlwZTtlMChlLHQpLGU9dC5wZW5kaW5nUHJvcHM7dmFyIGE9R3UodCxEbi5jdXJyZW50KTtOdSh0LHIpLGE9XzIobnVsbCx0LG4sZSxhLHIpO3ZhciBpPUIyKCk7cmV0dXJuIHQuZmxhZ3N8PTEsdHlwZW9mIGE9PSJvYmplY3QiJiZhIT09bnVsbCYmdHlwZW9mIGEucmVuZGVyPT0iZnVuY3Rpb24iJiZhLiQkdHlwZW9mPT09dm9pZCAwPyh0LnRhZz0xLHQubWVtb2l6ZWRTdGF0ZT1udWxsLHQudXBkYXRlUXVldWU9bnVsbCxvcyhuKT8oaT0hMCxFMCh0KSk6aT0hMSx0Lm1lbW9pemVkU3RhdGU9YS5zdGF0ZSE9PW51bGwmJmEuc3RhdGUhPT12b2lkIDA/YS5zdGF0ZTpudWxsLHcyKHQpLGEudXBkYXRlcj1Zdix0LnN0YXRlTm9kZT1hLGEuX3JlYWN0SW50ZXJuYWxzPXQsb0ModCxuLGUsciksdD1kQyhudWxsLHQsbiwhMCxpLHIpKToodC50YWc9MCxvciYmaSYmaDIodCksTG4obnVsbCx0LGEsciksdD10LmNoaWxkKSx0O2Nhc2UgMTY6bj10LmVsZW1lbnRUeXBlO2U6e3N3aXRjaChlMChlLHQpLGU9dC5wZW5kaW5nUHJvcHMsYT1uLl9pbml0LG49YShuLl9wYXlsb2FkKSx0LnR5cGU9bixhPXQudGFnPXN0ZShuKSxlPU5hKG4sZSksYSl7Y2FzZSAwOnQ9Y0MobnVsbCx0LG4sZSxyKTticmVhayBlO2Nhc2UgMTp0PW00KG51bGwsdCxuLGUscik7YnJlYWsgZTtjYXNlIDExOnQ9ZjQobnVsbCx0LG4sZSxyKTticmVhayBlO2Nhc2UgMTQ6dD1oNChudWxsLHQsbixOYShuLnR5cGUsZSkscik7YnJlYWsgZX10aHJvdyBFcnJvcih5ZSgzMDYsbiwiIikpfXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gbj10LnR5cGUsYT10LnBlbmRpbmdQcm9wcyxhPXQuZWxlbWVudFR5cGU9PT1uP2E6TmEobixhKSxjQyhlLHQsbixhLHIpO2Nhc2UgMTpyZXR1cm4gbj10LnR5cGUsYT10LnBlbmRpbmdQcm9wcyxhPXQuZWxlbWVudFR5cGU9PT1uP2E6TmEobixhKSxtNChlLHQsbixhLHIpO2Nhc2UgMzplOntpZihFMyh0KSxlPT09bnVsbCl0aHJvdyBFcnJvcih5ZSgzODcpKTtuPXQucGVuZGluZ1Byb3BzLGk9dC5tZW1vaXplZFN0YXRlLGE9aS5lbGVtZW50LHIzKGUsdCksTzAodCxuLG51bGwscik7dmFyIG89dC5tZW1vaXplZFN0YXRlO2lmKG49by5lbGVtZW50LGkuaXNEZWh5ZHJhdGVkKWlmKGk9e2VsZW1lbnQ6bixpc0RlaHlkcmF0ZWQ6ITEsY2FjaGU6by5jYWNoZSxwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOm8ucGVuZGluZ1N1c3BlbnNlQm91bmRhcmllcyx0cmFuc2l0aW9uczpvLnRyYW5zaXRpb25zfSx0LnVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZT1pLHQubWVtb2l6ZWRTdGF0ZT1pLHQuZmxhZ3MmMjU2KXthPUp1KEVycm9yKHllKDQyMykpLHQpLHQ9cDQoZSx0LG4scixhKTticmVhayBlfWVsc2UgaWYobiE9PWEpe2E9SnUoRXJyb3IoeWUoNDI0KSksdCksdD1wNChlLHQsbixyLGEpO2JyZWFrIGV9ZWxzZSBmb3IodnM9cGwodC5zdGF0ZU5vZGUuY29udGFpbmVySW5mby5maXJzdENoaWxkKSx3cz10LG9yPSEwLEZhPW51bGwscj1lMyh0LG51bGwsbixyKSx0LmNoaWxkPXI7cjspci5mbGFncz1yLmZsYWdzJi0zfDQwOTYscj1yLnNpYmxpbmc7ZWxzZXtpZihxdSgpLG49PT1hKXt0PWZvKGUsdCxyKTticmVhayBlfUxuKGUsdCxuLHIpfXQ9dC5jaGlsZH1yZXR1cm4gdDtjYXNlIDU6cmV0dXJuIG4zKHQpLGU9PT1udWxsJiZzQyh0KSxuPXQudHlwZSxhPXQucGVuZGluZ1Byb3BzLGk9ZSE9PW51bGw/ZS5tZW1vaXplZFByb3BzOm51bGwsbz1hLmNoaWxkcmVuLFpOKG4sYSk/bz1udWxsOmkhPT1udWxsJiZaTihuLGkpJiYodC5mbGFnc3w9MzIpLFMzKGUsdCksTG4oZSx0LG8sciksdC5jaGlsZDtjYXNlIDY6cmV0dXJuIGU9PT1udWxsJiZzQyh0KSxudWxsO2Nhc2UgMTM6cmV0dXJuIGszKGUsdCxyKTtjYXNlIDQ6cmV0dXJuIGIyKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbj10LnBlbmRpbmdQcm9wcyxlPT09bnVsbD90LmNoaWxkPVl1KHQsbnVsbCxuLHIpOkxuKGUsdCxuLHIpLHQuY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gbj10LnR5cGUsYT10LnBlbmRpbmdQcm9wcyxhPXQuZWxlbWVudFR5cGU9PT1uP2E6TmEobixhKSxmNChlLHQsbixhLHIpO2Nhc2UgNzpyZXR1cm4gTG4oZSx0LHQucGVuZGluZ1Byb3BzLHIpLHQuY2hpbGQ7Y2FzZSA4OnJldHVybiBMbihlLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sciksdC5jaGlsZDtjYXNlIDEyOnJldHVybiBMbihlLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sciksdC5jaGlsZDtjYXNlIDEwOmU6e2lmKG49dC50eXBlLl9jb250ZXh0LGE9dC5wZW5kaW5nUHJvcHMsaT10Lm1lbW9pemVkUHJvcHMsbz1hLnZhbHVlLFd0KFAwLG4uX2N1cnJlbnRWYWx1ZSksbi5fY3VycmVudFZhbHVlPW8saSE9PW51bGwpaWYoS2EoaS52YWx1ZSxvKSl7aWYoaS5jaGlsZHJlbj09PWEuY2hpbGRyZW4mJiFpcy5jdXJyZW50KXt0PWZvKGUsdCxyKTticmVhayBlfX1lbHNlIGZvcihpPXQuY2hpbGQsaSE9PW51bGwmJihpLnJldHVybj10KTtpIT09bnVsbDspe3ZhciBsPWkuZGVwZW5kZW5jaWVzO2lmKGwhPT1udWxsKXtvPWkuY2hpbGQ7Zm9yKHZhciBjPWwuZmlyc3RDb250ZXh0O2MhPT1udWxsOyl7aWYoYy5jb250ZXh0PT09bil7aWYoaS50YWc9PT0xKXtjPXRvKC0xLHImLXIpLGMudGFnPTI7dmFyIGQ9aS51cGRhdGVRdWV1ZTtpZihkIT09bnVsbCl7ZD1kLnNoYXJlZDt2YXIgdT1kLnBlbmRpbmc7dT09PW51bGw/Yy5uZXh0PWM6KGMubmV4dD11Lm5leHQsdS5uZXh0PWMpLGQucGVuZGluZz1jfX1pLmxhbmVzfD1yLGM9aS5hbHRlcm5hdGUsYyE9PW51bGwmJihjLmxhbmVzfD1yKSxhQyhpLnJldHVybixyLHQpLGwubGFuZXN8PXI7YnJlYWt9Yz1jLm5leHR9fWVsc2UgaWYoaS50YWc9PT0xMClvPWkudHlwZT09PXQudHlwZT9udWxsOmkuY2hpbGQ7ZWxzZSBpZihpLnRhZz09PTE4KXtpZihvPWkucmV0dXJuLG89PT1udWxsKXRocm93IEVycm9yKHllKDM0MSkpO28ubGFuZXN8PXIsbD1vLmFsdGVybmF0ZSxsIT09bnVsbCYmKGwubGFuZXN8PXIpLGFDKG8scix0KSxvPWkuc2libGluZ31lbHNlIG89aS5jaGlsZDtpZihvIT09bnVsbClvLnJldHVybj1pO2Vsc2UgZm9yKG89aTtvIT09bnVsbDspe2lmKG89PT10KXtvPW51bGw7YnJlYWt9aWYoaT1vLnNpYmxpbmcsaSE9PW51bGwpe2kucmV0dXJuPW8ucmV0dXJuLG89aTticmVha31vPW8ucmV0dXJufWk9b31MbihlLHQsYS5jaGlsZHJlbixyKSx0PXQuY2hpbGR9cmV0dXJuIHQ7Y2FzZSA5OnJldHVybiBhPXQudHlwZSxuPXQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLE51KHQsciksYT1zYShhKSxuPW4oYSksdC5mbGFnc3w9MSxMbihlLHQsbixyKSx0LmNoaWxkO2Nhc2UgMTQ6cmV0dXJuIG49dC50eXBlLGE9TmEobix0LnBlbmRpbmdQcm9wcyksYT1OYShuLnR5cGUsYSksaDQoZSx0LG4sYSxyKTtjYXNlIDE1OnJldHVybiBfMyhlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLHIpO2Nhc2UgMTc6cmV0dXJuIG49dC50eXBlLGE9dC5wZW5kaW5nUHJvcHMsYT10LmVsZW1lbnRUeXBlPT09bj9hOk5hKG4sYSksZTAoZSx0KSx0LnRhZz0xLG9zKG4pPyhlPSEwLEUwKHQpKTplPSExLE51KHQsciksajModCxuLGEpLG9DKHQsbixhLHIpLGRDKG51bGwsdCxuLCEwLGUscik7Y2FzZSAxOTpyZXR1cm4gVDMoZSx0LHIpO2Nhc2UgMjI6cmV0dXJuIEIzKGUsdCxyKX10aHJvdyBFcnJvcih5ZSgxNTYsdC50YWcpKX07ZnVuY3Rpb24gVzMoZSx0KXtyZXR1cm4gdkwoZSx0KX1mdW5jdGlvbiBudGUoZSx0LHIsbil7dGhpcy50YWc9ZSx0aGlzLmtleT1yLHRoaXMuc2libGluZz10aGlzLmNoaWxkPXRoaXMucmV0dXJuPXRoaXMuc3RhdGVOb2RlPXRoaXMudHlwZT10aGlzLmVsZW1lbnRUeXBlPW51bGwsdGhpcy5pbmRleD0wLHRoaXMucmVmPW51bGwsdGhpcy5wZW5kaW5nUHJvcHM9dCx0aGlzLmRlcGVuZGVuY2llcz10aGlzLm1lbW9pemVkU3RhdGU9dGhpcy51cGRhdGVRdWV1ZT10aGlzLm1lbW9pemVkUHJvcHM9bnVsbCx0aGlzLm1vZGU9bix0aGlzLnN1YnRyZWVGbGFncz10aGlzLmZsYWdzPTAsdGhpcy5kZWxldGlvbnM9bnVsbCx0aGlzLmNoaWxkTGFuZXM9dGhpcy5sYW5lcz0wLHRoaXMuYWx0ZXJuYXRlPW51bGx9ZnVuY3Rpb24gV3MoZSx0LHIsbil7cmV0dXJuIG5ldyBudGUoZSx0LHIsbil9ZnVuY3Rpb24gRDIoZSl7cmV0dXJuIGU9ZS5wcm90b3R5cGUsISghZXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gc3RlKGUpe2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKXJldHVybiBEMihlKT8xOjA7aWYoZSE9bnVsbCl7aWYoZT1lLiQkdHlwZW9mLGU9PT1yMilyZXR1cm4gMTE7aWYoZT09PW4yKXJldHVybiAxNH1yZXR1cm4gMn1mdW5jdGlvbiB2bChlLHQpe3ZhciByPWUuYWx0ZXJuYXRlO3JldHVybiByPT09bnVsbD8ocj1XcyhlLnRhZyx0LGUua2V5LGUubW9kZSksci5lbGVtZW50VHlwZT1lLmVsZW1lbnRUeXBlLHIudHlwZT1lLnR5cGUsci5zdGF0ZU5vZGU9ZS5zdGF0ZU5vZGUsci5hbHRlcm5hdGU9ZSxlLmFsdGVybmF0ZT1yKTooci5wZW5kaW5nUHJvcHM9dCxyLnR5cGU9ZS50eXBlLHIuZmxhZ3M9MCxyLnN1YnRyZWVGbGFncz0wLHIuZGVsZXRpb25zPW51bGwpLHIuZmxhZ3M9ZS5mbGFncyYxNDY4MDA2NCxyLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzLHIubGFuZXM9ZS5sYW5lcyxyLmNoaWxkPWUuY2hpbGQsci5tZW1vaXplZFByb3BzPWUubWVtb2l6ZWRQcm9wcyxyLm1lbW9pemVkU3RhdGU9ZS5tZW1vaXplZFN0YXRlLHIudXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSx0PWUuZGVwZW5kZW5jaWVzLHIuZGVwZW5kZW5jaWVzPXQ9PT1udWxsP251bGw6e2xhbmVzOnQubGFuZXMsZmlyc3RDb250ZXh0OnQuZmlyc3RDb250ZXh0fSxyLnNpYmxpbmc9ZS5zaWJsaW5nLHIuaW5kZXg9ZS5pbmRleCxyLnJlZj1lLnJlZixyfWZ1bmN0aW9uIG4wKGUsdCxyLG4sYSxpKXt2YXIgbz0yO2lmKG49ZSx0eXBlb2YgZT09ImZ1bmN0aW9uIilEMihlKSYmKG89MSk7ZWxzZSBpZih0eXBlb2YgZT09InN0cmluZyIpbz01O2Vsc2UgZTpzd2l0Y2goZSl7Y2FzZSBldTpyZXR1cm4gJGMoci5jaGlsZHJlbixhLGksdCk7Y2FzZSB0MjpvPTgsYXw9ODticmVhaztjYXNlIFROOnJldHVybiBlPVdzKDEyLHIsdCxhfDIpLGUuZWxlbWVudFR5cGU9VE4sZS5sYW5lcz1pLGU7Y2FzZSBQTjpyZXR1cm4gZT1XcygxMyxyLHQsYSksZS5lbGVtZW50VHlwZT1QTixlLmxhbmVzPWksZTtjYXNlIEZOOnJldHVybiBlPVdzKDE5LHIsdCxhKSxlLmVsZW1lbnRUeXBlPUZOLGUubGFuZXM9aSxlO2Nhc2Ugbkw6cmV0dXJuIFp2KHIsYSxpLHQpO2RlZmF1bHQ6aWYodHlwZW9mIGU9PSJvYmplY3QiJiZlIT09bnVsbClzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSB0TDpvPTEwO2JyZWFrIGU7Y2FzZSByTDpvPTk7YnJlYWsgZTtjYXNlIHIyOm89MTE7YnJlYWsgZTtjYXNlIG4yOm89MTQ7YnJlYWsgZTtjYXNlICRvOm89MTYsbj1udWxsO2JyZWFrIGV9dGhyb3cgRXJyb3IoeWUoMTMwLGU9PW51bGw/ZTp0eXBlb2YgZSwiIikpfXJldHVybiB0PVdzKG8scix0LGEpLHQuZWxlbWVudFR5cGU9ZSx0LnR5cGU9bix0LmxhbmVzPWksdH1mdW5jdGlvbiAkYyhlLHQscixuKXtyZXR1cm4gZT1Xcyg3LGUsbix0KSxlLmxhbmVzPXIsZX1mdW5jdGlvbiBadihlLHQscixuKXtyZXR1cm4gZT1XcygyMixlLG4sdCksZS5lbGVtZW50VHlwZT1uTCxlLmxhbmVzPXIsZS5zdGF0ZU5vZGU9e2lzSGlkZGVuOiExfSxlfWZ1bmN0aW9uIEUxKGUsdCxyKXtyZXR1cm4gZT1Xcyg2LGUsbnVsbCx0KSxlLmxhbmVzPXIsZX1mdW5jdGlvbiBrMShlLHQscil7cmV0dXJuIHQ9V3MoNCxlLmNoaWxkcmVuIT09bnVsbD9lLmNoaWxkcmVuOltdLGUua2V5LHQpLHQubGFuZXM9cix0LnN0YXRlTm9kZT17Y29udGFpbmVySW5mbzplLmNvbnRhaW5lckluZm8scGVuZGluZ0NoaWxkcmVuOm51bGwsaW1wbGVtZW50YXRpb246ZS5pbXBsZW1lbnRhdGlvbn0sdH1mdW5jdGlvbiBhdGUoZSx0LHIsbixhKXt0aGlzLnRhZz10LHRoaXMuY29udGFpbmVySW5mbz1lLHRoaXMuZmluaXNoZWRXb3JrPXRoaXMucGluZ0NhY2hlPXRoaXMuY3VycmVudD10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsLHRoaXMudGltZW91dEhhbmRsZT0tMSx0aGlzLmNhbGxiYWNrTm9kZT10aGlzLnBlbmRpbmdDb250ZXh0PXRoaXMuY29udGV4dD1udWxsLHRoaXMuY2FsbGJhY2tQcmlvcml0eT0wLHRoaXMuZXZlbnRUaW1lcz1kMSgwKSx0aGlzLmV4cGlyYXRpb25UaW1lcz1kMSgtMSksdGhpcy5lbnRhbmdsZWRMYW5lcz10aGlzLmZpbmlzaGVkTGFuZXM9dGhpcy5tdXRhYmxlUmVhZExhbmVzPXRoaXMuZXhwaXJlZExhbmVzPXRoaXMucGluZ2VkTGFuZXM9dGhpcy5zdXNwZW5kZWRMYW5lcz10aGlzLnBlbmRpbmdMYW5lcz0wLHRoaXMuZW50YW5nbGVtZW50cz1kMSgwKSx0aGlzLmlkZW50aWZpZXJQcmVmaXg9bix0aGlzLm9uUmVjb3ZlcmFibGVFcnJvcj1hLHRoaXMubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1udWxsfWZ1bmN0aW9uIE0yKGUsdCxyLG4sYSxpLG8sbCxjKXtyZXR1cm4gZT1uZXcgYXRlKGUsdCxyLGwsYyksdD09PTE/KHQ9MSxpPT09ITAmJih0fD04KSk6dD0wLGk9V3MoMyxudWxsLG51bGwsdCksZS5jdXJyZW50PWksaS5zdGF0ZU5vZGU9ZSxpLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6bixpc0RlaHlkcmF0ZWQ6cixjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfSx3MihpKSxlfWZ1bmN0aW9uIGl0ZShlLHQscil7dmFyIG49Mzxhcmd1bWVudHMubGVuZ3RoJiZhcmd1bWVudHNbM10hPT12b2lkIDA/YXJndW1lbnRzWzNdOm51bGw7cmV0dXJueyQkdHlwZW9mOlpkLGtleTpuPT1udWxsP251bGw6IiIrbixjaGlsZHJlbjplLGNvbnRhaW5lckluZm86dCxpbXBsZW1lbnRhdGlvbjpyfX1mdW5jdGlvbiBHMyhlKXtpZighZSlyZXR1cm4gUGw7ZT1lLl9yZWFjdEludGVybmFscztlOntpZihnZChlKSE9PWV8fGUudGFnIT09MSl0aHJvdyBFcnJvcih5ZSgxNzApKTt2YXIgdD1lO2Rve3N3aXRjaCh0LnRhZyl7Y2FzZSAzOnQ9dC5zdGF0ZU5vZGUuY29udGV4dDticmVhayBlO2Nhc2UgMTppZihvcyh0LnR5cGUpKXt0PXQuc3RhdGVOb2RlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0O2JyZWFrIGV9fXQ9dC5yZXR1cm59d2hpbGUodCE9PW51bGwpO3Rocm93IEVycm9yKHllKDE3MSkpfWlmKGUudGFnPT09MSl7dmFyIHI9ZS50eXBlO2lmKG9zKHIpKXJldHVybiBHTChlLHIsdCl9cmV0dXJuIHR9ZnVuY3Rpb24gcTMoZSx0LHIsbixhLGksbyxsLGMpe3JldHVybiBlPU0yKHIsbiwhMCxlLGEsaSxvLGwsYyksZS5jb250ZXh0PUczKG51bGwpLHI9ZS5jdXJyZW50LG49V24oKSxhPXlsKHIpLGk9dG8obixhKSxpLmNhbGxiYWNrPXQ/P251bGwsZ2wocixpLGEpLGUuY3VycmVudC5sYW5lcz1hLFRwKGUsYSxuKSxscyhlLG4pLGV9ZnVuY3Rpb24gZXcoZSx0LHIsbil7dmFyIGE9dC5jdXJyZW50LGk9V24oKSxvPXlsKGEpO3JldHVybiByPUczKHIpLHQuY29udGV4dD09PW51bGw/dC5jb250ZXh0PXI6dC5wZW5kaW5nQ29udGV4dD1yLHQ9dG8oaSxvKSx0LnBheWxvYWQ9e2VsZW1lbnQ6ZX0sbj1uPT09dm9pZCAwP251bGw6bixuIT09bnVsbCYmKHQuY2FsbGJhY2s9biksZT1nbChhLHQsbyksZSE9PW51bGwmJihSYShlLGEsbyxpKSxYeChlLGEsbykpLG99ZnVuY3Rpb24gJDAoZSl7aWYoZT1lLmN1cnJlbnQsIWUuY2hpbGQpcmV0dXJuIG51bGw7c3dpdGNoKGUuY2hpbGQudGFnKXtjYXNlIDU6cmV0dXJuIGUuY2hpbGQuc3RhdGVOb2RlO2RlZmF1bHQ6cmV0dXJuIGUuY2hpbGQuc3RhdGVOb2RlfX1mdW5jdGlvbiBfNChlLHQpe2lmKGU9ZS5tZW1vaXplZFN0YXRlLGUhPT1udWxsJiZlLmRlaHlkcmF0ZWQhPT1udWxsKXt2YXIgcj1lLnJldHJ5TGFuZTtlLnJldHJ5TGFuZT1yIT09MCYmcjx0P3I6dH19ZnVuY3Rpb24gUjIoZSx0KXtfNChlLHQpLChlPWUuYWx0ZXJuYXRlKSYmXzQoZSx0KX1mdW5jdGlvbiBvdGUoKXtyZXR1cm4gbnVsbH12YXIgWTM9dHlwZW9mIHJlcG9ydEVycm9yPT0iZnVuY3Rpb24iP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIFEyKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfXR3LnByb3RvdHlwZS5yZW5kZXI9UTIucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9pbnRlcm5hbFJvb3Q7aWYodD09PW51bGwpdGhyb3cgRXJyb3IoeWUoNDA5KSk7ZXcoZSx0LG51bGwsbnVsbCl9O3R3LnByb3RvdHlwZS51bm1vdW50PVEyLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKGUhPT1udWxsKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgdD1lLmNvbnRhaW5lckluZm87ZWQoZnVuY3Rpb24oKXtldyhudWxsLGUsbnVsbCxudWxsKX0pLHRbdW9dPW51bGx9fTtmdW5jdGlvbiB0dyhlKXt0aGlzLl9pbnRlcm5hbFJvb3Q9ZX10dy5wcm90b3R5cGUudW5zdGFibGVfc2NoZWR1bGVIeWRyYXRpb249ZnVuY3Rpb24oZSl7aWYoZSl7dmFyIHQ9QkwoKTtlPXtibG9ja2VkT246bnVsbCx0YXJnZXQ6ZSxwcmlvcml0eTp0fTtmb3IodmFyIHI9MDtyPFdvLmxlbmd0aCYmdCE9PTAmJnQ8V29bcl0ucHJpb3JpdHk7cisrKTtXby5zcGxpY2UociwwLGUpLHI9PT0wJiZFTChlKX19O2Z1bmN0aW9uIEwyKGUpe3JldHVybiEoIWV8fGUubm9kZVR5cGUhPT0xJiZlLm5vZGVUeXBlIT09OSYmZS5ub2RlVHlwZSE9PTExKX1mdW5jdGlvbiBydyhlKXtyZXR1cm4hKCFlfHxlLm5vZGVUeXBlIT09MSYmZS5ub2RlVHlwZSE9PTkmJmUubm9kZVR5cGUhPT0xMSYmKGUubm9kZVR5cGUhPT04fHxlLm5vZGVWYWx1ZSE9PSIgcmVhY3QtbW91bnQtcG9pbnQtdW5zdGFibGUgIikpfWZ1bmN0aW9uIEI0KCl7fWZ1bmN0aW9uIGx0ZShlLHQscixuLGEpe2lmKGEpe2lmKHR5cGVvZiBuPT0iZnVuY3Rpb24iKXt2YXIgaT1uO249ZnVuY3Rpb24oKXt2YXIgZD0kMChvKTtpLmNhbGwoZCl9fXZhciBvPXEzKHQsbixlLDAsbnVsbCwhMSwhMSwiIixCNCk7cmV0dXJuIGUuX3JlYWN0Um9vdENvbnRhaW5lcj1vLGVbdW9dPW8uY3VycmVudCxpbShlLm5vZGVUeXBlPT09OD9lLnBhcmVudE5vZGU6ZSksZWQoKSxvfWZvcig7YT1lLmxhc3RDaGlsZDspZS5yZW1vdmVDaGlsZChhKTtpZih0eXBlb2Ygbj09ImZ1bmN0aW9uIil7dmFyIGw9bjtuPWZ1bmN0aW9uKCl7dmFyIGQ9JDAoYyk7bC5jYWxsKGQpfX12YXIgYz1NMihlLDAsITEsbnVsbCxudWxsLCExLCExLCIiLEI0KTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPWMsZVt1b109Yy5jdXJyZW50LGltKGUubm9kZVR5cGU9PT04P2UucGFyZW50Tm9kZTplKSxlZChmdW5jdGlvbigpe2V3KHQsYyxyLG4pfSksY31mdW5jdGlvbiBudyhlLHQscixuLGEpe3ZhciBpPXIuX3JlYWN0Um9vdENvbnRhaW5lcjtpZihpKXt2YXIgbz1pO2lmKHR5cGVvZiBhPT0iZnVuY3Rpb24iKXt2YXIgbD1hO2E9ZnVuY3Rpb24oKXt2YXIgYz0kMChvKTtsLmNhbGwoYyl9fWV3KHQsbyxlLGEpfWVsc2Ugbz1sdGUocix0LGUsYSxuKTtyZXR1cm4gJDAobyl9Q0w9ZnVuY3Rpb24oZSl7c3dpdGNoKGUudGFnKXtjYXNlIDM6dmFyIHQ9ZS5zdGF0ZU5vZGU7aWYodC5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgcj1uaCh0LnBlbmRpbmdMYW5lcyk7ciE9PTAmJihpMih0LHJ8MSksbHModCxCcigpKSwhKGJ0JjYpJiYoWnU9QnIoKSs1MDAsSGwoKSkpfWJyZWFrO2Nhc2UgMTM6ZWQoZnVuY3Rpb24oKXt2YXIgbj1BbyhlLDEpO2lmKG4hPT1udWxsKXt2YXIgYT1XbigpO1JhKG4sZSwxLGEpfX0pLFIyKGUsMSl9fTtvMj1mdW5jdGlvbihlKXtpZihlLnRhZz09PTEzKXt2YXIgdD1BbyhlLDEzNDIxNzcyOCk7aWYodCE9PW51bGwpe3ZhciByPVduKCk7UmEodCxlLDEzNDIxNzcyOCxyKX1SMihlLDEzNDIxNzcyOCl9fTtfTD1mdW5jdGlvbihlKXtpZihlLnRhZz09PTEzKXt2YXIgdD15bChlKSxyPUFvKGUsdCk7aWYociE9PW51bGwpe3ZhciBuPVduKCk7UmEocixlLHQsbil9UjIoZSx0KX19O0JMPWZ1bmN0aW9uKCl7cmV0dXJuIFV0fTtTTD1mdW5jdGlvbihlLHQpe3ZhciByPVV0O3RyeXtyZXR1cm4gVXQ9ZSx0KCl9ZmluYWxseXtVdD1yfX07SE49ZnVuY3Rpb24oZSx0LHIpe3N3aXRjaCh0KXtjYXNlImlucHV0IjppZihVTihlLHIpLHQ9ci5uYW1lLHIudHlwZT09PSJyYWRpbyImJnQhPW51bGwpe2ZvcihyPWU7ci5wYXJlbnROb2RlOylyPXIucGFyZW50Tm9kZTtmb3Iocj1yLnF1ZXJ5U2VsZWN0b3JBbGwoImlucHV0W25hbWU9IitKU09OLnN0cmluZ2lmeSgiIit0KSsnXVt0eXBlPSJyYWRpbyJdJyksdD0wO3Q8ci5sZW5ndGg7dCsrKXt2YXIgbj1yW3RdO2lmKG4hPT1lJiZuLmZvcm09PT1lLmZvcm0pe3ZhciBhPVd2KG4pO2lmKCFhKXRocm93IEVycm9yKHllKDkwKSk7YUwobiksVU4obixhKX19fWJyZWFrO2Nhc2UidGV4dGFyZWEiOm9MKGUscik7YnJlYWs7Y2FzZSJzZWxlY3QiOnQ9ci52YWx1ZSx0IT1udWxsJiZ2dShlLCEhci5tdWx0aXBsZSx0LCExKX19O2hMPU8yO21MPWVkO3ZhciBjdGU9e3VzaW5nQ2xpZW50RW50cnlQb2ludDohMSxFdmVudHM6W0ZwLHN1LFd2LEFMLGZMLE8yXX0sRmY9e2ZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOmJjLGJ1bmRsZVR5cGU6MCx2ZXJzaW9uOiIxOC4zLjEiLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSJ9LGR0ZT17YnVuZGxlVHlwZTpGZi5idW5kbGVUeXBlLHZlcnNpb246RmYudmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOkZmLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6RmYucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6Ym8uUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixmaW5kSG9zdEluc3RhbmNlQnlGaWJlcjpmdW5jdGlvbihlKXtyZXR1cm4gZT14TChlKSxlPT09bnVsbD9udWxsOmUuc3RhdGVOb2RlfSxmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTpGZi5maW5kRmliZXJCeUhvc3RJbnN0YW5jZXx8b3RlLGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaDpudWxsLHNjaGVkdWxlUmVmcmVzaDpudWxsLHNjaGVkdWxlUm9vdDpudWxsLHNldFJlZnJlc2hIYW5kbGVyOm51bGwsZ2V0Q3VycmVudEZpYmVyOm51bGwscmVjb25jaWxlclZlcnNpb246IjE4LjMuMS1uZXh0LWYxMzM4ZjgwODAtMjAyNDA0MjYifTtpZih0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fPCJ1Iil7dmFyIERnPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighRGcuaXNEaXNhYmxlZCYmRGcuc3VwcG9ydHNGaWJlcil0cnl7SHY9RGcuaW5qZWN0KGR0ZSksZmk9RGd9Y2F0Y2h7fX1Ccy5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD1jdGU7QnMuY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsdCl7dmFyIHI9Mjxhcmd1bWVudHMubGVuZ3RoJiZhcmd1bWVudHNbMl0hPT12b2lkIDA/YXJndW1lbnRzWzJdOm51bGw7aWYoIUwyKHQpKXRocm93IEVycm9yKHllKDIwMCkpO3JldHVybiBpdGUoZSx0LG51bGwscil9O0JzLmNyZWF0ZVJvb3Q9ZnVuY3Rpb24oZSx0KXtpZighTDIoZSkpdGhyb3cgRXJyb3IoeWUoMjk5KSk7dmFyIHI9ITEsbj0iIixhPVkzO3JldHVybiB0IT1udWxsJiYodC51bnN0YWJsZV9zdHJpY3RNb2RlPT09ITAmJihyPSEwKSx0LmlkZW50aWZpZXJQcmVmaXghPT12b2lkIDAmJihuPXQuaWRlbnRpZmllclByZWZpeCksdC5vblJlY292ZXJhYmxlRXJyb3IhPT12b2lkIDAmJihhPXQub25SZWNvdmVyYWJsZUVycm9yKSksdD1NMihlLDEsITEsbnVsbCxudWxsLHIsITEsbixhKSxlW3VvXT10LmN1cnJlbnQsaW0oZS5ub2RlVHlwZT09PTg/ZS5wYXJlbnROb2RlOmUpLG5ldyBRMih0KX07QnMuZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7aWYoZT09bnVsbClyZXR1cm4gbnVsbDtpZihlLm5vZGVUeXBlPT09MSlyZXR1cm4gZTt2YXIgdD1lLl9yZWFjdEludGVybmFscztpZih0PT09dm9pZCAwKXRocm93IHR5cGVvZiBlLnJlbmRlcj09ImZ1bmN0aW9uIj9FcnJvcih5ZSgxODgpKTooZT1PYmplY3Qua2V5cyhlKS5qb2luKCIsIiksRXJyb3IoeWUoMjY4LGUpKSk7cmV0dXJuIGU9eEwodCksZT1lPT09bnVsbD9udWxsOmUuc3RhdGVOb2RlLGV9O0JzLmZsdXNoU3luYz1mdW5jdGlvbihlKXtyZXR1cm4gZWQoZSl9O0JzLmh5ZHJhdGU9ZnVuY3Rpb24oZSx0LHIpe2lmKCFydyh0KSl0aHJvdyBFcnJvcih5ZSgyMDApKTtyZXR1cm4gbncobnVsbCxlLHQsITAscil9O0JzLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsdCxyKXtpZighTDIoZSkpdGhyb3cgRXJyb3IoeWUoNDA1KSk7dmFyIG49ciE9bnVsbCYmci5oeWRyYXRlZFNvdXJjZXN8fG51bGwsYT0hMSxpPSIiLG89WTM7aWYociE9bnVsbCYmKHIudW5zdGFibGVfc3RyaWN0TW9kZT09PSEwJiYoYT0hMCksci5pZGVudGlmaWVyUHJlZml4IT09dm9pZCAwJiYoaT1yLmlkZW50aWZpZXJQcmVmaXgpLHIub25SZWNvdmVyYWJsZUVycm9yIT09dm9pZCAwJiYobz1yLm9uUmVjb3ZlcmFibGVFcnJvcikpLHQ9cTModCxudWxsLGUsMSxyPz9udWxsLGEsITEsaSxvKSxlW3VvXT10LmN1cnJlbnQsaW0oZSksbilmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKXI9bltlXSxhPXIuX2dldFZlcnNpb24sYT1hKHIuX3NvdXJjZSksdC5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhPT1udWxsP3QubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bcixhXTp0Lm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaChyLGEpO3JldHVybiBuZXcgdHcodCl9O0JzLnJlbmRlcj1mdW5jdGlvbihlLHQscil7aWYoIXJ3KHQpKXRocm93IEVycm9yKHllKDIwMCkpO3JldHVybiBudyhudWxsLGUsdCwhMSxyKX07QnMudW5tb3VudENvbXBvbmVudEF0Tm9kZT1mdW5jdGlvbihlKXtpZighcncoZSkpdGhyb3cgRXJyb3IoeWUoNDApKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPyhlZChmdW5jdGlvbigpe253KG51bGwsbnVsbCxlLCExLGZ1bmN0aW9uKCl7ZS5fcmVhY3RSb290Q29udGFpbmVyPW51bGwsZVt1b109bnVsbH0pfSksITApOiExfTtCcy51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcz1PMjtCcy51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLHQscixuKXtpZighcncocikpdGhyb3cgRXJyb3IoeWUoMjAwKSk7aWYoZT09bnVsbHx8ZS5fcmVhY3RJbnRlcm5hbHM9PT12b2lkIDApdGhyb3cgRXJyb3IoeWUoMzgpKTtyZXR1cm4gbncoZSx0LHIsITEsbil9O0JzLnZlcnNpb249IjE4LjMuMS1uZXh0LWYxMzM4ZjgwODAtMjAyNDA0MjYiO2Z1bmN0aW9uIFgzKCl7aWYoISh0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fPiJ1Inx8dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSE9ImZ1bmN0aW9uIikpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShYMyl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19WDMoKSxYUS5leHBvcnRzPUJzO3ZhciB4ZD1YUS5leHBvcnRzO2NvbnN0IEozPUx0KHhkKTt2YXIgWjMsUzQ9eGQ7WjM9UzQuY3JlYXRlUm9vdCxTNC5oeWRyYXRlUm9vdDtjb25zdCB1dGU9MSxBdGU9MWU2O2xldCBUMT0wO2Z1bmN0aW9uIGZ0ZSgpe3JldHVybiBUMT0oVDErMSklTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsVDEudG9TdHJpbmcoKX1jb25zdCBQMT1uZXcgTWFwLEU0PWU9PntpZihQMS5oYXMoZSkpcmV0dXJuO2NvbnN0IHQ9c2V0VGltZW91dCgoKT0+e1AxLmRlbGV0ZShlKSxUaCh7dHlwZToiUkVNT1ZFX1RPQVNUIix0b2FzdElkOmV9KX0sQXRlKTtQMS5zZXQoZSx0KX0saHRlPShlLHQpPT57c3dpdGNoKHQudHlwZSl7Y2FzZSJBRERfVE9BU1QiOnJldHVybnsuLi5lLHRvYXN0czpbdC50b2FzdCwuLi5lLnRvYXN0c10uc2xpY2UoMCx1dGUpfTtjYXNlIlVQREFURV9UT0FTVCI6cmV0dXJuey4uLmUsdG9hc3RzOmUudG9hc3RzLm1hcChyPT5yLmlkPT09dC50b2FzdC5pZD97Li4uciwuLi50LnRvYXN0fTpyKX07Y2FzZSJESVNNSVNTX1RPQVNUIjp7Y29uc3R7dG9hc3RJZDpyfT10O3JldHVybiByP0U0KHIpOmUudG9hc3RzLmZvckVhY2gobj0+e0U0KG4uaWQpfSksey4uLmUsdG9hc3RzOmUudG9hc3RzLm1hcChuPT5uLmlkPT09cnx8cj09PXZvaWQgMD97Li4ubixvcGVuOiExfTpuKX19Y2FzZSJSRU1PVkVfVE9BU1QiOnJldHVybiB0LnRvYXN0SWQ9PT12b2lkIDA/ey4uLmUsdG9hc3RzOltdfTp7Li4uZSx0b2FzdHM6ZS50b2FzdHMuZmlsdGVyKHI9PnIuaWQhPT10LnRvYXN0SWQpfX19LHMwPVtdO2xldCBhMD17dG9hc3RzOltdfTtmdW5jdGlvbiBUaChlKXthMD1odGUoYTAsZSksczAuZm9yRWFjaCh0PT57dChhMCl9KX1mdW5jdGlvbiBiQyh7Li4uZX0pe2NvbnN0IHQ9ZnRlKCkscj1hPT5UaCh7dHlwZToiVVBEQVRFX1RPQVNUIix0b2FzdDp7Li4uYSxpZDp0fX0pLG49KCk9PlRoKHt0eXBlOiJESVNNSVNTX1RPQVNUIix0b2FzdElkOnR9KTtyZXR1cm4gVGgoe3R5cGU6IkFERF9UT0FTVCIsdG9hc3Q6ey4uLmUsaWQ6dCxvcGVuOiEwLG9uT3BlbkNoYW5nZTphPT57YXx8bigpfX19KSx7aWQ6dCxkaXNtaXNzOm4sdXBkYXRlOnJ9fWZ1bmN0aW9uIG10ZSgpe2NvbnN0W2UsdF09Zy51c2VTdGF0ZShhMCk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT4oczAucHVzaCh0KSwoKT0+e2NvbnN0IHI9czAuaW5kZXhPZih0KTtyPi0xJiZzMC5zcGxpY2UociwxKX0pLFtlXSksey4uLmUsdG9hc3Q6YkMsZGlzbWlzczpyPT5UaCh7dHlwZToiRElTTUlTU19UT0FTVCIsdG9hc3RJZDpyfSl9fWZ1bmN0aW9uIG1lKGUsdCx7Y2hlY2tGb3JEZWZhdWx0UHJldmVudGVkOnI9ITB9PXt9KXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYoZT09bnVsbHx8ZShhKSxyPT09ITF8fCFhLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuIHQ9PW51bGw/dm9pZCAwOnQoYSl9fWZ1bmN0aW9uIGs0KGUsdCl7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpcmV0dXJuIGUodCk7ZSE9bnVsbCYmKGUuY3VycmVudD10KX1mdW5jdGlvbiBzdyguLi5lKXtyZXR1cm4gdD0+e2xldCByPSExO2NvbnN0IG49ZS5tYXAoYT0+e2NvbnN0IGk9azQoYSx0KTtyZXR1cm4hciYmdHlwZW9mIGk9PSJmdW5jdGlvbiImJihyPSEwKSxpfSk7aWYocilyZXR1cm4oKT0+e2ZvcihsZXQgYT0wO2E8bi5sZW5ndGg7YSsrKXtjb25zdCBpPW5bYV07dHlwZW9mIGk9PSJmdW5jdGlvbiI/aSgpOms0KGVbYV0sbnVsbCl9fX19ZnVuY3Rpb24gV2UoLi4uZSl7cmV0dXJuIGcudXNlQ2FsbGJhY2soc3coLi4uZSksZSl9ZnVuY3Rpb24gcHRlKGUsdCl7Y29uc3Qgcj1nLmNyZWF0ZUNvbnRleHQodCksbj1pPT57Y29uc3R7Y2hpbGRyZW46bywuLi5sfT1pLGM9Zy51c2VNZW1vKCgpPT5sLE9iamVjdC52YWx1ZXMobCkpO3JldHVybiBzLmpzeChyLlByb3ZpZGVyLHt2YWx1ZTpjLGNoaWxkcmVuOm99KX07bi5kaXNwbGF5TmFtZT1lKyJQcm92aWRlciI7ZnVuY3Rpb24gYShpKXtjb25zdCBvPWcudXNlQ29udGV4dChyKTtpZihvKXJldHVybiBvO2lmKHQhPT12b2lkIDApcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKGBcYCR7aX1cYCBtdXN0IGJlIHVzZWQgd2l0aGluIFxgJHtlfVxgYCl9cmV0dXJuW24sYV19ZnVuY3Rpb24gRHIoZSx0PVtdKXtsZXQgcj1bXTtmdW5jdGlvbiBuKGksbyl7Y29uc3QgbD1nLmNyZWF0ZUNvbnRleHQobyksYz1yLmxlbmd0aDtyPVsuLi5yLG9dO2NvbnN0IGQ9QT0+e3ZhciB3O2NvbnN0e3Njb3BlOmYsY2hpbGRyZW46aCwuLi5wfT1BLG09KCh3PWY9PW51bGw/dm9pZCAwOmZbZV0pPT1udWxsP3ZvaWQgMDp3W2NdKXx8bCx4PWcudXNlTWVtbygoKT0+cCxPYmplY3QudmFsdWVzKHApKTtyZXR1cm4gcy5qc3gobS5Qcm92aWRlcix7dmFsdWU6eCxjaGlsZHJlbjpofSl9O2QuZGlzcGxheU5hbWU9aSsiUHJvdmlkZXIiO2Z1bmN0aW9uIHUoQSxmKXt2YXIgbTtjb25zdCBoPSgobT1mPT1udWxsP3ZvaWQgMDpmW2VdKT09bnVsbD92b2lkIDA6bVtjXSl8fGwscD1nLnVzZUNvbnRleHQoaCk7aWYocClyZXR1cm4gcDtpZihvIT09dm9pZCAwKXJldHVybiBvO3Rocm93IG5ldyBFcnJvcihgXGAke0F9XGAgbXVzdCBiZSB1c2VkIHdpdGhpbiBcYCR7aX1cYGApfXJldHVybltkLHVdfWNvbnN0IGE9KCk9Pntjb25zdCBpPXIubWFwKG89PmcuY3JlYXRlQ29udGV4dChvKSk7cmV0dXJuIGZ1bmN0aW9uKGwpe2NvbnN0IGM9KGw9PW51bGw/dm9pZCAwOmxbZV0pfHxpO3JldHVybiBnLnVzZU1lbW8oKCk9Pih7W2BfX3Njb3BlJHtlfWBdOnsuLi5sLFtlXTpjfX0pLFtsLGNdKX19O3JldHVybiBhLnNjb3BlTmFtZT1lLFtuLGd0ZShhLC4uLnQpXX1mdW5jdGlvbiBndGUoLi4uZSl7Y29uc3QgdD1lWzBdO2lmKGUubGVuZ3RoPT09MSlyZXR1cm4gdDtjb25zdCByPSgpPT57Y29uc3Qgbj1lLm1hcChhPT4oe3VzZVNjb3BlOmEoKSxzY29wZU5hbWU6YS5zY29wZU5hbWV9KSk7cmV0dXJuIGZ1bmN0aW9uKGkpe2NvbnN0IG89bi5yZWR1Y2UoKGwse3VzZVNjb3BlOmMsc2NvcGVOYW1lOmR9KT0+e2NvbnN0IEE9YyhpKVtgX19zY29wZSR7ZH1gXTtyZXR1cm57Li4ubCwuLi5BfX0se30pO3JldHVybiBnLnVzZU1lbW8oKCk9Pih7W2BfX3Njb3BlJHt0LnNjb3BlTmFtZX1gXTpvfSksW29dKX19O3JldHVybiByLnNjb3BlTmFtZT10LnNjb3BlTmFtZSxyfWZ1bmN0aW9uIHRkKGUpe2NvbnN0IHQ9eXRlKGUpLHI9Zy5mb3J3YXJkUmVmKChuLGEpPT57Y29uc3R7Y2hpbGRyZW46aSwuLi5vfT1uLGw9Zy5DaGlsZHJlbi50b0FycmF5KGkpLGM9bC5maW5kKHZ0ZSk7aWYoYyl7Y29uc3QgZD1jLnByb3BzLmNoaWxkcmVuLHU9bC5tYXAoQT0+QT09PWM/Zy5DaGlsZHJlbi5jb3VudChkKT4xP2cuQ2hpbGRyZW4ub25seShudWxsKTpnLmlzVmFsaWRFbGVtZW50KGQpP2QucHJvcHMuY2hpbGRyZW46bnVsbDpBKTtyZXR1cm4gcy5qc3godCx7Li4ubyxyZWY6YSxjaGlsZHJlbjpnLmlzVmFsaWRFbGVtZW50KGQpP2cuY2xvbmVFbGVtZW50KGQsdm9pZCAwLHUpOm51bGx9KX1yZXR1cm4gcy5qc3godCx7Li4ubyxyZWY6YSxjaGlsZHJlbjppfSl9KTtyZXR1cm4gci5kaXNwbGF5TmFtZT1gJHtlfS5TbG90YCxyfXZhciB4dGU9dGQoIlNsb3QiKTtmdW5jdGlvbiB5dGUoZSl7Y29uc3QgdD1nLmZvcndhcmRSZWYoKHIsbik9Pntjb25zdHtjaGlsZHJlbjphLC4uLml9PXI7aWYoZy5pc1ZhbGlkRWxlbWVudChhKSl7Y29uc3Qgbz1idGUoYSksbD13dGUoaSxhLnByb3BzKTtyZXR1cm4gYS50eXBlIT09Zy5GcmFnbWVudCYmKGwucmVmPW4/c3cobixvKTpvKSxnLmNsb25lRWxlbWVudChhLGwpfXJldHVybiBnLkNoaWxkcmVuLmNvdW50KGEpPjE/Zy5DaGlsZHJlbi5vbmx5KG51bGwpOm51bGx9KTtyZXR1cm4gdC5kaXNwbGF5TmFtZT1gJHtlfS5TbG90Q2xvbmVgLHR9dmFyIGUkPVN5bWJvbCgicmFkaXguc2xvdHRhYmxlIik7ZnVuY3Rpb24gdCQoZSl7Y29uc3QgdD0oe2NoaWxkcmVuOnJ9KT0+cy5qc3gocy5GcmFnbWVudCx7Y2hpbGRyZW46cn0pO3JldHVybiB0LmRpc3BsYXlOYW1lPWAke2V9LlNsb3R0YWJsZWAsdC5fX3JhZGl4SWQ9ZSQsdH1mdW5jdGlvbiB2dGUoZSl7cmV0dXJuIGcuaXNWYWxpZEVsZW1lbnQoZSkmJnR5cGVvZiBlLnR5cGU9PSJmdW5jdGlvbiImJiJfX3JhZGl4SWQiaW4gZS50eXBlJiZlLnR5cGUuX19yYWRpeElkPT09ZSR9ZnVuY3Rpb24gd3RlKGUsdCl7Y29uc3Qgcj17Li4udH07Zm9yKGNvbnN0IG4gaW4gdCl7Y29uc3QgYT1lW25dLGk9dFtuXTsvXm9uW0EtWl0vLnRlc3Qobik/YSYmaT9yW25dPSguLi5sKT0+e2NvbnN0IGM9aSguLi5sKTtyZXR1cm4gYSguLi5sKSxjfTphJiYocltuXT1hKTpuPT09InN0eWxlIj9yW25dPXsuLi5hLC4uLml9Om49PT0iY2xhc3NOYW1lIiYmKHJbbl09W2EsaV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKSl9cmV0dXJuey4uLmUsLi4ucn19ZnVuY3Rpb24gYnRlKGUpe3ZhciBuLGE7bGV0IHQ9KG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLnByb3BzLCJyZWYiKSk9PW51bGw/dm9pZCAwOm4uZ2V0LHI9dCYmImlzUmVhY3RXYXJuaW5nImluIHQmJnQuaXNSZWFjdFdhcm5pbmc7cmV0dXJuIHI/ZS5yZWY6KHQ9KGE9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLCJyZWYiKSk9PW51bGw/dm9pZCAwOmEuZ2V0LHI9dCYmImlzUmVhY3RXYXJuaW5nImluIHQmJnQuaXNSZWFjdFdhcm5pbmcscj9lLnByb3BzLnJlZjplLnByb3BzLnJlZnx8ZS5yZWYpfWZ1bmN0aW9uIFZBKGUpe2NvbnN0IHQ9ZSsiQ29sbGVjdGlvblByb3ZpZGVyIixbcixuXT1Ecih0KSxbYSxpXT1yKHQse2NvbGxlY3Rpb25SZWY6e2N1cnJlbnQ6bnVsbH0saXRlbU1hcDpuZXcgTWFwfSksbz1tPT57Y29uc3R7c2NvcGU6eCxjaGlsZHJlbjp3fT1tLHk9Sy51c2VSZWYobnVsbCksdj1LLnVzZVJlZihuZXcgTWFwKS5jdXJyZW50O3JldHVybiBzLmpzeChhLHtzY29wZTp4LGl0ZW1NYXA6dixjb2xsZWN0aW9uUmVmOnksY2hpbGRyZW46d30pfTtvLmRpc3BsYXlOYW1lPXQ7Y29uc3QgbD1lKyJDb2xsZWN0aW9uU2xvdCIsYz10ZChsKSxkPUsuZm9yd2FyZFJlZigobSx4KT0+e2NvbnN0e3Njb3BlOncsY2hpbGRyZW46eX09bSx2PWkobCx3KSxiPVdlKHgsdi5jb2xsZWN0aW9uUmVmKTtyZXR1cm4gcy5qc3goYyx7cmVmOmIsY2hpbGRyZW46eX0pfSk7ZC5kaXNwbGF5TmFtZT1sO2NvbnN0IHU9ZSsiQ29sbGVjdGlvbkl0ZW1TbG90IixBPSJkYXRhLXJhZGl4LWNvbGxlY3Rpb24taXRlbSIsZj10ZCh1KSxoPUsuZm9yd2FyZFJlZigobSx4KT0+e2NvbnN0e3Njb3BlOncsY2hpbGRyZW46eSwuLi52fT1tLGI9Sy51c2VSZWYobnVsbCksaj1XZSh4LGIpLE49aSh1LHcpO3JldHVybiBLLnVzZUVmZmVjdCgoKT0+KE4uaXRlbU1hcC5zZXQoYix7cmVmOmIsLi4udn0pLCgpPT52b2lkIE4uaXRlbU1hcC5kZWxldGUoYikpKSxzLmpzeChmLHtbQV06IiIscmVmOmosY2hpbGRyZW46eX0pfSk7aC5kaXNwbGF5TmFtZT11O2Z1bmN0aW9uIHAobSl7Y29uc3QgeD1pKGUrIkNvbGxlY3Rpb25Db25zdW1lciIsbSk7cmV0dXJuIEsudXNlQ2FsbGJhY2soKCk9Pntjb25zdCB5PXguY29sbGVjdGlvblJlZi5jdXJyZW50O2lmKCF5KXJldHVybltdO2NvbnN0IHY9QXJyYXkuZnJvbSh5LnF1ZXJ5U2VsZWN0b3JBbGwoYFske0F9XWApKTtyZXR1cm4gQXJyYXkuZnJvbSh4Lml0ZW1NYXAudmFsdWVzKCkpLnNvcnQoKE4sQyk9PnYuaW5kZXhPZihOLnJlZi5jdXJyZW50KS12LmluZGV4T2YoQy5yZWYuY3VycmVudCkpfSxbeC5jb2xsZWN0aW9uUmVmLHguaXRlbU1hcF0pfXJldHVyblt7UHJvdmlkZXI6byxTbG90OmQsSXRlbVNsb3Q6aH0scCxuXX12YXIganRlPVsiYSIsImJ1dHRvbiIsImRpdiIsImZvcm0iLCJoMiIsImgzIiwiaW1nIiwiaW5wdXQiLCJsYWJlbCIsImxpIiwibmF2Iiwib2wiLCJwIiwic2VsZWN0Iiwic3BhbiIsInN2ZyIsInVsIl0sU2U9anRlLnJlZHVjZSgoZSx0KT0+e2NvbnN0IHI9dGQoYFByaW1pdGl2ZS4ke3R9YCksbj1nLmZvcndhcmRSZWYoKGEsaSk9Pntjb25zdHthc0NoaWxkOm8sLi4ubH09YSxjPW8/cjp0O3JldHVybiB0eXBlb2Ygd2luZG93PCJ1IiYmKHdpbmRvd1tTeW1ib2wuZm9yKCJyYWRpeC11aSIpXT0hMCkscy5qc3goYyx7Li4ubCxyZWY6aX0pfSk7cmV0dXJuIG4uZGlzcGxheU5hbWU9YFByaW1pdGl2ZS4ke3R9YCx7Li4uZSxbdF06bn19LHt9KTtmdW5jdGlvbiAkMihlLHQpe2UmJnhkLmZsdXNoU3luYygoKT0+ZS5kaXNwYXRjaEV2ZW50KHQpKX1mdW5jdGlvbiB3cihlKXtjb25zdCB0PWcudXNlUmVmKGUpO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e3QuY3VycmVudD1lfSksZy51c2VNZW1vKCgpPT4oLi4ucik9Pnt2YXIgbjtyZXR1cm4obj10LmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpuLmNhbGwodCwuLi5yKX0sW10pfWZ1bmN0aW9uIE50ZShlLHQ9Z2xvYmFsVGhpcz09bnVsbD92b2lkIDA6Z2xvYmFsVGhpcy5kb2N1bWVudCl7Y29uc3Qgcj13cihlKTtnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IG49YT0+e2Eua2V5PT09IkVzY2FwZSImJnIoYSl9O3JldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG4se2NhcHR1cmU6ITB9KSwoKT0+dC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixuLHtjYXB0dXJlOiEwfSl9LFtyLHRdKX12YXIgQ3RlPSJEaXNtaXNzYWJsZUxheWVyIixqQz0iZGlzbWlzc2FibGVMYXllci51cGRhdGUiLF90ZT0iZGlzbWlzc2FibGVMYXllci5wb2ludGVyRG93bk91dHNpZGUiLEJ0ZT0iZGlzbWlzc2FibGVMYXllci5mb2N1c091dHNpZGUiLFQ0LHIkPWcuY3JlYXRlQ29udGV4dCh7bGF5ZXJzOm5ldyBTZXQsbGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQ6bmV3IFNldCxicmFuY2hlczpuZXcgU2V0fSksekE9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7ZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOnI9ITEsb25Fc2NhcGVLZXlEb3duOm4sb25Qb2ludGVyRG93bk91dHNpZGU6YSxvbkZvY3VzT3V0c2lkZTppLG9uSW50ZXJhY3RPdXRzaWRlOm8sb25EaXNtaXNzOmwsLi4uY309ZSxkPWcudXNlQ29udGV4dChyJCksW3UsQV09Zy51c2VTdGF0ZShudWxsKSxmPSh1PT1udWxsP3ZvaWQgMDp1Lm93bmVyRG9jdW1lbnQpPz8oZ2xvYmFsVGhpcz09bnVsbD92b2lkIDA6Z2xvYmFsVGhpcy5kb2N1bWVudCksWyxoXT1nLnVzZVN0YXRlKHt9KSxwPVdlKHQsQz0+QShDKSksbT1BcnJheS5mcm9tKGQubGF5ZXJzKSxbeF09Wy4uLmQubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWRdLnNsaWNlKC0xKSx3PW0uaW5kZXhPZih4KSx5PXU/bS5pbmRleE9mKHUpOi0xLHY9ZC5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZC5zaXplPjAsYj15Pj13LGo9RXRlKEM9Pntjb25zdCBfPUMudGFyZ2V0LEI9Wy4uLmQuYnJhbmNoZXNdLnNvbWUoaz0+ay5jb250YWlucyhfKSk7IWJ8fEJ8fChhPT1udWxsfHxhKEMpLG89PW51bGx8fG8oQyksQy5kZWZhdWx0UHJldmVudGVkfHxsPT1udWxsfHxsKCkpfSxmKSxOPWt0ZShDPT57Y29uc3QgXz1DLnRhcmdldDtbLi4uZC5icmFuY2hlc10uc29tZShrPT5rLmNvbnRhaW5zKF8pKXx8KGk9PW51bGx8fGkoQyksbz09bnVsbHx8byhDKSxDLmRlZmF1bHRQcmV2ZW50ZWR8fGw9PW51bGx8fGwoKSl9LGYpO3JldHVybiBOdGUoQz0+e3k9PT1kLmxheWVycy5zaXplLTEmJihuPT1udWxsfHxuKEMpLCFDLmRlZmF1bHRQcmV2ZW50ZWQmJmwmJihDLnByZXZlbnREZWZhdWx0KCksbCgpKSl9LGYpLGcudXNlRWZmZWN0KCgpPT57aWYodSlyZXR1cm4gciYmKGQubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQuc2l6ZT09PTAmJihUND1mLmJvZHkuc3R5bGUucG9pbnRlckV2ZW50cyxmLmJvZHkuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIpLGQubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQuYWRkKHUpKSxkLmxheWVycy5hZGQodSksUDQoKSwoKT0+e3ImJmQubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQuc2l6ZT09PTEmJihmLmJvZHkuc3R5bGUucG9pbnRlckV2ZW50cz1UNCl9fSxbdSxmLHIsZF0pLGcudXNlRWZmZWN0KCgpPT4oKT0+e3UmJihkLmxheWVycy5kZWxldGUodSksZC5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZC5kZWxldGUodSksUDQoKSl9LFt1LGRdKSxnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IEM9KCk9Pmgoe30pO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGpDLEMpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGpDLEMpfSxbXSkscy5qc3goU2UuZGl2LHsuLi5jLHJlZjpwLHN0eWxlOntwb2ludGVyRXZlbnRzOnY/Yj8iYXV0byI6Im5vbmUiOnZvaWQgMCwuLi5lLnN0eWxlfSxvbkZvY3VzQ2FwdHVyZTptZShlLm9uRm9jdXNDYXB0dXJlLE4ub25Gb2N1c0NhcHR1cmUpLG9uQmx1ckNhcHR1cmU6bWUoZS5vbkJsdXJDYXB0dXJlLE4ub25CbHVyQ2FwdHVyZSksb25Qb2ludGVyRG93bkNhcHR1cmU6bWUoZS5vblBvaW50ZXJEb3duQ2FwdHVyZSxqLm9uUG9pbnRlckRvd25DYXB0dXJlKX0pfSk7ekEuZGlzcGxheU5hbWU9Q3RlO3ZhciBTdGU9IkRpc21pc3NhYmxlTGF5ZXJCcmFuY2giLG4kPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IHI9Zy51c2VDb250ZXh0KHIkKSxuPWcudXNlUmVmKG51bGwpLGE9V2UodCxuKTtyZXR1cm4gZy51c2VFZmZlY3QoKCk9Pntjb25zdCBpPW4uY3VycmVudDtpZihpKXJldHVybiByLmJyYW5jaGVzLmFkZChpKSwoKT0+e3IuYnJhbmNoZXMuZGVsZXRlKGkpfX0sW3IuYnJhbmNoZXNdKSxzLmpzeChTZS5kaXYsey4uLmUscmVmOmF9KX0pO24kLmRpc3BsYXlOYW1lPVN0ZTtmdW5jdGlvbiBFdGUoZSx0PWdsb2JhbFRoaXM9PW51bGw/dm9pZCAwOmdsb2JhbFRoaXMuZG9jdW1lbnQpe2NvbnN0IHI9d3IoZSksbj1nLnVzZVJlZighMSksYT1nLnVzZVJlZigoKT0+e30pO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IGk9bD0+e2lmKGwudGFyZ2V0JiYhbi5jdXJyZW50KXtsZXQgYz1mdW5jdGlvbigpe3MkKF90ZSxyLGQse2Rpc2NyZXRlOiEwfSl9O2NvbnN0IGQ9e29yaWdpbmFsRXZlbnQ6bH07bC5wb2ludGVyVHlwZT09PSJ0b3VjaCI/KHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGEuY3VycmVudCksYS5jdXJyZW50PWMsdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYS5jdXJyZW50LHtvbmNlOiEwfSkpOmMoKX1lbHNlIHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGEuY3VycmVudCk7bi5jdXJyZW50PSExfSxvPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsaSl9LDApO3JldHVybigpPT57d2luZG93LmNsZWFyVGltZW91dChvKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixpKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixhLmN1cnJlbnQpfX0sW3Qscl0pLHtvblBvaW50ZXJEb3duQ2FwdHVyZTooKT0+bi5jdXJyZW50PSEwfX1mdW5jdGlvbiBrdGUoZSx0PWdsb2JhbFRoaXM9PW51bGw/dm9pZCAwOmdsb2JhbFRoaXMuZG9jdW1lbnQpe2NvbnN0IHI9d3IoZSksbj1nLnVzZVJlZighMSk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57Y29uc3QgYT1pPT57aS50YXJnZXQmJiFuLmN1cnJlbnQmJnMkKEJ0ZSxyLHtvcmlnaW5hbEV2ZW50Oml9LHtkaXNjcmV0ZTohMX0pfTtyZXR1cm4gdC5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIixhKSwoKT0+dC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c2luIixhKX0sW3Qscl0pLHtvbkZvY3VzQ2FwdHVyZTooKT0+bi5jdXJyZW50PSEwLG9uQmx1ckNhcHR1cmU6KCk9Pm4uY3VycmVudD0hMX19ZnVuY3Rpb24gUDQoKXtjb25zdCBlPW5ldyBDdXN0b21FdmVudChqQyk7ZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChlKX1mdW5jdGlvbiBzJChlLHQscix7ZGlzY3JldGU6bn0pe2NvbnN0IGE9ci5vcmlnaW5hbEV2ZW50LnRhcmdldCxpPW5ldyBDdXN0b21FdmVudChlLHtidWJibGVzOiExLGNhbmNlbGFibGU6ITAsZGV0YWlsOnJ9KTt0JiZhLmFkZEV2ZW50TGlzdGVuZXIoZSx0LHtvbmNlOiEwfSksbj8kMihhLGkpOmEuZGlzcGF0Y2hFdmVudChpKX12YXIgVHRlPXpBLFB0ZT1uJCxqcj1nbG9iYWxUaGlzIT1udWxsJiZnbG9iYWxUaGlzLmRvY3VtZW50P2cudXNlTGF5b3V0RWZmZWN0OigpPT57fSxGdGU9IlBvcnRhbCIsSXA9Zy5mb3J3YXJkUmVmKChlLHQpPT57dmFyIGw7Y29uc3R7Y29udGFpbmVyOnIsLi4ubn09ZSxbYSxpXT1nLnVzZVN0YXRlKCExKTtqcigoKT0+aSghMCksW10pO2NvbnN0IG89cnx8YSYmKChsPWdsb2JhbFRoaXM9PW51bGw/dm9pZCAwOmdsb2JhbFRoaXMuZG9jdW1lbnQpPT1udWxsP3ZvaWQgMDpsLmJvZHkpO3JldHVybiBvP0ozLmNyZWF0ZVBvcnRhbChzLmpzeChTZS5kaXYsey4uLm4scmVmOnR9KSxvKTpudWxsfSk7SXAuZGlzcGxheU5hbWU9RnRlO2Z1bmN0aW9uIE90ZShlLHQpe3JldHVybiBnLnVzZVJlZHVjZXIoKHIsbik9PnRbcl1bbl0/P3IsZSl9dmFyIHduPWU9Pntjb25zdHtwcmVzZW50OnQsY2hpbGRyZW46cn09ZSxuPUl0ZSh0KSxhPXR5cGVvZiByPT0iZnVuY3Rpb24iP3Ioe3ByZXNlbnQ6bi5pc1ByZXNlbnR9KTpnLkNoaWxkcmVuLm9ubHkociksaT1XZShuLnJlZixVdGUoYSkpO3JldHVybiB0eXBlb2Ygcj09ImZ1bmN0aW9uInx8bi5pc1ByZXNlbnQ/Zy5jbG9uZUVsZW1lbnQoYSx7cmVmOml9KTpudWxsfTt3bi5kaXNwbGF5TmFtZT0iUHJlc2VuY2UiO2Z1bmN0aW9uIEl0ZShlKXtjb25zdFt0LHJdPWcudXNlU3RhdGUoKSxuPWcudXNlUmVmKG51bGwpLGE9Zy51c2VSZWYoZSksaT1nLnVzZVJlZigibm9uZSIpLG89ZT8ibW91bnRlZCI6InVubW91bnRlZCIsW2wsY109T3RlKG8se21vdW50ZWQ6e1VOTU9VTlQ6InVubW91bnRlZCIsQU5JTUFUSU9OX09VVDoidW5tb3VudFN1c3BlbmRlZCJ9LHVubW91bnRTdXNwZW5kZWQ6e01PVU5UOiJtb3VudGVkIixBTklNQVRJT05fRU5EOiJ1bm1vdW50ZWQifSx1bm1vdW50ZWQ6e01PVU5UOiJtb3VudGVkIn19KTtyZXR1cm4gZy51c2VFZmZlY3QoKCk9Pntjb25zdCBkPU1nKG4uY3VycmVudCk7aS5jdXJyZW50PWw9PT0ibW91bnRlZCI/ZDoibm9uZSJ9LFtsXSksanIoKCk9Pntjb25zdCBkPW4uY3VycmVudCx1PWEuY3VycmVudDtpZih1IT09ZSl7Y29uc3QgZj1pLmN1cnJlbnQsaD1NZyhkKTtlP2MoIk1PVU5UIik6aD09PSJub25lInx8KGQ9PW51bGw/dm9pZCAwOmQuZGlzcGxheSk9PT0ibm9uZSI/YygiVU5NT1VOVCIpOmModSYmZiE9PWg/IkFOSU1BVElPTl9PVVQiOiJVTk1PVU5UIiksYS5jdXJyZW50PWV9fSxbZSxjXSksanIoKCk9PntpZih0KXtsZXQgZDtjb25zdCB1PXQub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldz8/d2luZG93LEE9aD0+e2NvbnN0IG09TWcobi5jdXJyZW50KS5pbmNsdWRlcyhoLmFuaW1hdGlvbk5hbWUpO2lmKGgudGFyZ2V0PT09dCYmbSYmKGMoIkFOSU1BVElPTl9FTkQiKSwhYS5jdXJyZW50KSl7Y29uc3QgeD10LnN0eWxlLmFuaW1hdGlvbkZpbGxNb2RlO3Quc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGU9ImZvcndhcmRzIixkPXUuc2V0VGltZW91dCgoKT0+e3Quc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGU9PT0iZm9yd2FyZHMiJiYodC5zdHlsZS5hbmltYXRpb25GaWxsTW9kZT14KX0pfX0sZj1oPT57aC50YXJnZXQ9PT10JiYoaS5jdXJyZW50PU1nKG4uY3VycmVudCkpfTtyZXR1cm4gdC5hZGRFdmVudExpc3RlbmVyKCJhbmltYXRpb25zdGFydCIsZiksdC5hZGRFdmVudExpc3RlbmVyKCJhbmltYXRpb25jYW5jZWwiLEEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uZW5kIixBKSwoKT0+e3UuY2xlYXJUaW1lb3V0KGQpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uc3RhcnQiLGYpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uY2FuY2VsIixBKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmVuZCIsQSl9fWVsc2UgYygiQU5JTUFUSU9OX0VORCIpfSxbdCxjXSkse2lzUHJlc2VudDpbIm1vdW50ZWQiLCJ1bm1vdW50U3VzcGVuZGVkIl0uaW5jbHVkZXMobCkscmVmOmcudXNlQ2FsbGJhY2soZD0+e24uY3VycmVudD1kP2dldENvbXB1dGVkU3R5bGUoZCk6bnVsbCxyKGQpfSxbXSl9fWZ1bmN0aW9uIE1nKGUpe3JldHVybihlPT1udWxsP3ZvaWQgMDplLmFuaW1hdGlvbk5hbWUpfHwibm9uZSJ9ZnVuY3Rpb24gVXRlKGUpe3ZhciBuLGE7bGV0IHQ9KG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLnByb3BzLCJyZWYiKSk9PW51bGw/dm9pZCAwOm4uZ2V0LHI9dCYmImlzUmVhY3RXYXJuaW5nImluIHQmJnQuaXNSZWFjdFdhcm5pbmc7cmV0dXJuIHI/ZS5yZWY6KHQ9KGE9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLCJyZWYiKSk9PW51bGw/dm9pZCAwOmEuZ2V0LHI9dCYmImlzUmVhY3RXYXJuaW5nImluIHQmJnQuaXNSZWFjdFdhcm5pbmcscj9lLnByb3BzLnJlZjplLnByb3BzLnJlZnx8ZS5yZWYpfXZhciBEdGU9WFNbIiB1c2VJbnNlcnRpb25FZmZlY3QgIi50cmltKCkudG9TdHJpbmcoKV18fGpyO2Z1bmN0aW9uIE5zKHtwcm9wOmUsZGVmYXVsdFByb3A6dCxvbkNoYW5nZTpyPSgpPT57fSxjYWxsZXI6bn0pe2NvbnN0W2EsaSxvXT1NdGUoe2RlZmF1bHRQcm9wOnQsb25DaGFuZ2U6cn0pLGw9ZSE9PXZvaWQgMCxjPWw/ZTphO3tjb25zdCB1PWcudXNlUmVmKGUhPT12b2lkIDApO2cudXNlRWZmZWN0KCgpPT57Y29uc3QgQT11LmN1cnJlbnQ7QSE9PWwmJmNvbnNvbGUud2FybihgJHtufSBpcyBjaGFuZ2luZyBmcm9tICR7QT8iY29udHJvbGxlZCI6InVuY29udHJvbGxlZCJ9IHRvICR7bD8iY29udHJvbGxlZCI6InVuY29udHJvbGxlZCJ9LiBDb21wb25lbnRzIHNob3VsZCBub3Qgc3dpdGNoIGZyb20gY29udHJvbGxlZCB0byB1bmNvbnRyb2xsZWQgKG9yIHZpY2UgdmVyc2EpLiBEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIHZhbHVlIGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIGNvbXBvbmVudC5gKSx1LmN1cnJlbnQ9bH0sW2wsbl0pfWNvbnN0IGQ9Zy51c2VDYWxsYmFjayh1PT57dmFyIEE7aWYobCl7Y29uc3QgZj1SdGUodSk/dShlKTp1O2YhPT1lJiYoKEE9by5jdXJyZW50KT09bnVsbHx8QS5jYWxsKG8sZikpfWVsc2UgaSh1KX0sW2wsZSxpLG9dKTtyZXR1cm5bYyxkXX1mdW5jdGlvbiBNdGUoe2RlZmF1bHRQcm9wOmUsb25DaGFuZ2U6dH0pe2NvbnN0W3Isbl09Zy51c2VTdGF0ZShlKSxhPWcudXNlUmVmKHIpLGk9Zy51c2VSZWYodCk7cmV0dXJuIER0ZSgoKT0+e2kuY3VycmVudD10fSxbdF0pLGcudXNlRWZmZWN0KCgpPT57dmFyIG87YS5jdXJyZW50IT09ciYmKChvPWkuY3VycmVudCk9PW51bGx8fG8uY2FsbChpLHIpLGEuY3VycmVudD1yKX0sW3IsYV0pLFtyLG4saV19ZnVuY3Rpb24gUnRlKGUpe3JldHVybiB0eXBlb2YgZT09ImZ1bmN0aW9uIn12YXIgYSQ9T2JqZWN0LmZyZWV6ZSh7cG9zaXRpb246ImFic29sdXRlIixib3JkZXI6MCx3aWR0aDoxLGhlaWdodDoxLHBhZGRpbmc6MCxtYXJnaW46LTEsb3ZlcmZsb3c6ImhpZGRlbiIsY2xpcDoicmVjdCgwLCAwLCAwLCAwKSIsd2hpdGVTcGFjZToibm93cmFwIix3b3JkV3JhcDoibm9ybWFsIn0pLFF0ZT0iVmlzdWFsbHlIaWRkZW4iLGF3PWcuZm9yd2FyZFJlZigoZSx0KT0+cy5qc3goU2Uuc3Bhbix7Li4uZSxyZWY6dCxzdHlsZTp7Li4uYSQsLi4uZS5zdHlsZX19KSk7YXcuZGlzcGxheU5hbWU9UXRlO3ZhciBMdGU9YXcsSDI9IlRvYXN0UHJvdmlkZXIiLFtLMiwkdGUsSHRlXT1WQSgiVG9hc3QiKSxbaSQsUEdlXT1EcigiVG9hc3QiLFtIdGVdKSxbS3RlLGl3XT1pJChIMiksbyQ9ZT0+e2NvbnN0e19fc2NvcGVUb2FzdDp0LGxhYmVsOnI9Ik5vdGlmaWNhdGlvbiIsZHVyYXRpb246bj01ZTMsc3dpcGVEaXJlY3Rpb246YT0icmlnaHQiLHN3aXBlVGhyZXNob2xkOmk9NTAsY2hpbGRyZW46b309ZSxbbCxjXT1nLnVzZVN0YXRlKG51bGwpLFtkLHVdPWcudXNlU3RhdGUoMCksQT1nLnVzZVJlZighMSksZj1nLnVzZVJlZighMSk7cmV0dXJuIHIudHJpbSgpfHxjb25zb2xlLmVycm9yKGBJbnZhbGlkIHByb3AgXGBsYWJlbFxgIHN1cHBsaWVkIHRvIFxgJHtIMn1cYC4gRXhwZWN0ZWQgbm9uLWVtcHR5IFxgc3RyaW5nXGAuYCkscy5qc3goSzIuUHJvdmlkZXIse3Njb3BlOnQsY2hpbGRyZW46cy5qc3goS3RlLHtzY29wZTp0LGxhYmVsOnIsZHVyYXRpb246bixzd2lwZURpcmVjdGlvbjphLHN3aXBlVGhyZXNob2xkOmksdG9hc3RDb3VudDpkLHZpZXdwb3J0Omwsb25WaWV3cG9ydENoYW5nZTpjLG9uVG9hc3RBZGQ6Zy51c2VDYWxsYmFjaygoKT0+dShoPT5oKzEpLFtdKSxvblRvYXN0UmVtb3ZlOmcudXNlQ2FsbGJhY2soKCk9PnUoaD0+aC0xKSxbXSksaXNGb2N1c2VkVG9hc3RFc2NhcGVLZXlEb3duUmVmOkEsaXNDbG9zZVBhdXNlZFJlZjpmLGNoaWxkcmVuOm99KX0pfTtvJC5kaXNwbGF5TmFtZT1IMjt2YXIgbCQ9IlRvYXN0Vmlld3BvcnQiLFZ0ZT1bIkY4Il0sTkM9InRvYXN0LnZpZXdwb3J0UGF1c2UiLENDPSJ0b2FzdC52aWV3cG9ydFJlc3VtZSIsYyQ9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVRvYXN0OnIsaG90a2V5Om49VnRlLGxhYmVsOmE9Ik5vdGlmaWNhdGlvbnMgKHtob3RrZXl9KSIsLi4uaX09ZSxvPWl3KGwkLHIpLGw9JHRlKHIpLGM9Zy51c2VSZWYobnVsbCksZD1nLnVzZVJlZihudWxsKSx1PWcudXNlUmVmKG51bGwpLEE9Zy51c2VSZWYobnVsbCksZj1XZSh0LEEsby5vblZpZXdwb3J0Q2hhbmdlKSxoPW4uam9pbigiKyIpLnJlcGxhY2UoL0tleS9nLCIiKS5yZXBsYWNlKC9EaWdpdC9nLCIiKSxwPW8udG9hc3RDb3VudD4wO2cudXNlRWZmZWN0KCgpPT57Y29uc3QgeD13PT57dmFyIHY7bi5sZW5ndGghPT0wJiZuLmV2ZXJ5KGI9PndbYl18fHcuY29kZT09PWIpJiYoKHY9QS5jdXJyZW50KT09bnVsbHx8di5mb2N1cygpKX07cmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHgpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix4KX0sW25dKSxnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IHg9Yy5jdXJyZW50LHc9QS5jdXJyZW50O2lmKHAmJngmJncpe2NvbnN0IHk9KCk9PntpZighby5pc0Nsb3NlUGF1c2VkUmVmLmN1cnJlbnQpe2NvbnN0IE49bmV3IEN1c3RvbUV2ZW50KE5DKTt3LmRpc3BhdGNoRXZlbnQoTiksby5pc0Nsb3NlUGF1c2VkUmVmLmN1cnJlbnQ9ITB9fSx2PSgpPT57aWYoby5pc0Nsb3NlUGF1c2VkUmVmLmN1cnJlbnQpe2NvbnN0IE49bmV3IEN1c3RvbUV2ZW50KENDKTt3LmRpc3BhdGNoRXZlbnQoTiksby5pc0Nsb3NlUGF1c2VkUmVmLmN1cnJlbnQ9ITF9fSxiPU49PnsheC5jb250YWlucyhOLnJlbGF0ZWRUYXJnZXQpJiZ2KCl9LGo9KCk9Pnt4LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpfHx2KCl9O3JldHVybiB4LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLHkpLHguYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGIpLHguYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHkpLHguYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmxlYXZlIixqKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIseSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix2KSwoKT0+e3gucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIseSkseC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c291dCIsYikseC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIseSkseC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybGVhdmUiLGopLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIix5KSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHYpfX19LFtwLG8uaXNDbG9zZVBhdXNlZFJlZl0pO2NvbnN0IG09Zy51c2VDYWxsYmFjaygoe3RhYmJpbmdEaXJlY3Rpb246eH0pPT57Y29uc3QgeT1sKCkubWFwKHY9Pntjb25zdCBiPXYucmVmLmN1cnJlbnQsaj1bYiwuLi5zcmUoYildO3JldHVybiB4PT09ImZvcndhcmRzIj9qOmoucmV2ZXJzZSgpfSk7cmV0dXJuKHg9PT0iZm9yd2FyZHMiP3kucmV2ZXJzZSgpOnkpLmZsYXQoKX0sW2xdKTtyZXR1cm4gZy51c2VFZmZlY3QoKCk9Pntjb25zdCB4PUEuY3VycmVudDtpZih4KXtjb25zdCB3PXk9Pnt2YXIgaixOLEM7Y29uc3Qgdj15LmFsdEtleXx8eS5jdHJsS2V5fHx5Lm1ldGFLZXk7aWYoeS5rZXk9PT0iVGFiIiYmIXYpe2NvbnN0IF89ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxCPXkuc2hpZnRLZXk7aWYoeS50YXJnZXQ9PT14JiZCKXsoaj1kLmN1cnJlbnQpPT1udWxsfHxqLmZvY3VzKCk7cmV0dXJufWNvbnN0IEY9bSh7dGFiYmluZ0RpcmVjdGlvbjpCPyJiYWNrd2FyZHMiOiJmb3J3YXJkcyJ9KSxPPUYuZmluZEluZGV4KFM9PlM9PT1fKTtGMShGLnNsaWNlKE8rMSkpP3kucHJldmVudERlZmF1bHQoKTpCPyhOPWQuY3VycmVudCk9PW51bGx8fE4uZm9jdXMoKTooQz11LmN1cnJlbnQpPT1udWxsfHxDLmZvY3VzKCl9fTtyZXR1cm4geC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix3KSwoKT0+eC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix3KX19LFtsLG1dKSxzLmpzeHMoUHRlLHtyZWY6Yyxyb2xlOiJyZWdpb24iLCJhcmlhLWxhYmVsIjphLnJlcGxhY2UoIntob3RrZXl9IixoKSx0YWJJbmRleDotMSxzdHlsZTp7cG9pbnRlckV2ZW50czpwP3ZvaWQgMDoibm9uZSJ9LGNoaWxkcmVuOltwJiZzLmpzeChfQyx7cmVmOmQsb25Gb2N1c0Zyb21PdXRzaWRlVmlld3BvcnQ6KCk9Pntjb25zdCB4PW0oe3RhYmJpbmdEaXJlY3Rpb246ImZvcndhcmRzIn0pO0YxKHgpfX0pLHMuanN4KEsyLlNsb3Qse3Njb3BlOnIsY2hpbGRyZW46cy5qc3goU2Uub2wse3RhYkluZGV4Oi0xLC4uLmkscmVmOmZ9KX0pLHAmJnMuanN4KF9DLHtyZWY6dSxvbkZvY3VzRnJvbU91dHNpZGVWaWV3cG9ydDooKT0+e2NvbnN0IHg9bSh7dGFiYmluZ0RpcmVjdGlvbjoiYmFja3dhcmRzIn0pO0YxKHgpfX0pXX0pfSk7YyQuZGlzcGxheU5hbWU9bCQ7dmFyIGQkPSJUb2FzdEZvY3VzUHJveHkiLF9DPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVUb2FzdDpyLG9uRm9jdXNGcm9tT3V0c2lkZVZpZXdwb3J0Om4sLi4uYX09ZSxpPWl3KGQkLHIpO3JldHVybiBzLmpzeChhdyx7ImFyaWEtaGlkZGVuIjohMCx0YWJJbmRleDowLC4uLmEscmVmOnQsc3R5bGU6e3Bvc2l0aW9uOiJmaXhlZCJ9LG9uRm9jdXM6bz0+e3ZhciBkO2NvbnN0IGw9by5yZWxhdGVkVGFyZ2V0OyEoKGQ9aS52aWV3cG9ydCkhPW51bGwmJmQuY29udGFpbnMobCkpJiZuKCl9fSl9KTtfQy5kaXNwbGF5TmFtZT1kJDt2YXIgVXA9IlRvYXN0Iix6dGU9InRvYXN0LnN3aXBlU3RhcnQiLFd0ZT0idG9hc3Quc3dpcGVNb3ZlIixHdGU9InRvYXN0LnN3aXBlQ2FuY2VsIixxdGU9InRvYXN0LnN3aXBlRW5kIix1JD1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtmb3JjZU1vdW50OnIsb3BlbjpuLGRlZmF1bHRPcGVuOmEsb25PcGVuQ2hhbmdlOmksLi4ub309ZSxbbCxjXT1Ocyh7cHJvcDpuLGRlZmF1bHRQcm9wOmE/PyEwLG9uQ2hhbmdlOmksY2FsbGVyOlVwfSk7cmV0dXJuIHMuanN4KHduLHtwcmVzZW50OnJ8fGwsY2hpbGRyZW46cy5qc3goSnRlLHtvcGVuOmwsLi4ubyxyZWY6dCxvbkNsb3NlOigpPT5jKCExKSxvblBhdXNlOndyKGUub25QYXVzZSksb25SZXN1bWU6d3IoZS5vblJlc3VtZSksb25Td2lwZVN0YXJ0Om1lKGUub25Td2lwZVN0YXJ0LGQ9PntkLmN1cnJlbnRUYXJnZXQuc2V0QXR0cmlidXRlKCJkYXRhLXN3aXBlIiwic3RhcnQiKX0pLG9uU3dpcGVNb3ZlOm1lKGUub25Td2lwZU1vdmUsZD0+e2NvbnN0e3g6dSx5OkF9PWQuZGV0YWlsLmRlbHRhO2QuY3VycmVudFRhcmdldC5zZXRBdHRyaWJ1dGUoImRhdGEtc3dpcGUiLCJtb3ZlIiksZC5jdXJyZW50VGFyZ2V0LnN0eWxlLnNldFByb3BlcnR5KCItLXJhZGl4LXRvYXN0LXN3aXBlLW1vdmUteCIsYCR7dX1weGApLGQuY3VycmVudFRhcmdldC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1yYWRpeC10b2FzdC1zd2lwZS1tb3ZlLXkiLGAke0F9cHhgKX0pLG9uU3dpcGVDYW5jZWw6bWUoZS5vblN3aXBlQ2FuY2VsLGQ9PntkLmN1cnJlbnRUYXJnZXQuc2V0QXR0cmlidXRlKCJkYXRhLXN3aXBlIiwiY2FuY2VsIiksZC5jdXJyZW50VGFyZ2V0LnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLXJhZGl4LXRvYXN0LXN3aXBlLW1vdmUteCIpLGQuY3VycmVudFRhcmdldC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiLS1yYWRpeC10b2FzdC1zd2lwZS1tb3ZlLXkiKSxkLmN1cnJlbnRUYXJnZXQuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tcmFkaXgtdG9hc3Qtc3dpcGUtZW5kLXgiKSxkLmN1cnJlbnRUYXJnZXQuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tcmFkaXgtdG9hc3Qtc3dpcGUtZW5kLXkiKX0pLG9uU3dpcGVFbmQ6bWUoZS5vblN3aXBlRW5kLGQ9Pntjb25zdHt4OnUseTpBfT1kLmRldGFpbC5kZWx0YTtkLmN1cnJlbnRUYXJnZXQuc2V0QXR0cmlidXRlKCJkYXRhLXN3aXBlIiwiZW5kIiksZC5jdXJyZW50VGFyZ2V0LnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLXJhZGl4LXRvYXN0LXN3aXBlLW1vdmUteCIpLGQuY3VycmVudFRhcmdldC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiLS1yYWRpeC10b2FzdC1zd2lwZS1tb3ZlLXkiKSxkLmN1cnJlbnRUYXJnZXQuc3R5bGUuc2V0UHJvcGVydHkoIi0tcmFkaXgtdG9hc3Qtc3dpcGUtZW5kLXgiLGAke3V9cHhgKSxkLmN1cnJlbnRUYXJnZXQuc3R5bGUuc2V0UHJvcGVydHkoIi0tcmFkaXgtdG9hc3Qtc3dpcGUtZW5kLXkiLGAke0F9cHhgKSxjKCExKX0pfSl9KX0pO3UkLmRpc3BsYXlOYW1lPVVwO3ZhcltZdGUsWHRlXT1pJChVcCx7b25DbG9zZSgpe319KSxKdGU9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVRvYXN0OnIsdHlwZTpuPSJmb3JlZ3JvdW5kIixkdXJhdGlvbjphLG9wZW46aSxvbkNsb3NlOm8sb25Fc2NhcGVLZXlEb3duOmwsb25QYXVzZTpjLG9uUmVzdW1lOmQsb25Td2lwZVN0YXJ0OnUsb25Td2lwZU1vdmU6QSxvblN3aXBlQ2FuY2VsOmYsb25Td2lwZUVuZDpoLC4uLnB9PWUsbT1pdyhVcCxyKSxbeCx3XT1nLnVzZVN0YXRlKG51bGwpLHk9V2UodCxTPT53KFMpKSx2PWcudXNlUmVmKG51bGwpLGI9Zy51c2VSZWYobnVsbCksaj1hfHxtLmR1cmF0aW9uLE49Zy51c2VSZWYoMCksQz1nLnVzZVJlZihqKSxfPWcudXNlUmVmKDApLHtvblRvYXN0QWRkOkIsb25Ub2FzdFJlbW92ZTprfT1tLEU9d3IoKCk9Pnt2YXIgVDsoeD09bnVsbD92b2lkIDA6eC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkmJigoVD1tLnZpZXdwb3J0KT09bnVsbHx8VC5mb2N1cygpKSxvKCl9KSxGPWcudXNlQ2FsbGJhY2soUz0+eyFTfHxTPT09MS8wfHwod2luZG93LmNsZWFyVGltZW91dChfLmN1cnJlbnQpLE4uY3VycmVudD1uZXcgRGF0ZSgpLmdldFRpbWUoKSxfLmN1cnJlbnQ9d2luZG93LnNldFRpbWVvdXQoRSxTKSl9LFtFXSk7Zy51c2VFZmZlY3QoKCk9Pntjb25zdCBTPW0udmlld3BvcnQ7aWYoUyl7Y29uc3QgVD0oKT0+e0YoQy5jdXJyZW50KSxkPT1udWxsfHxkKCl9LFA9KCk9Pntjb25zdCBVPW5ldyBEYXRlKCkuZ2V0VGltZSgpLU4uY3VycmVudDtDLmN1cnJlbnQ9Qy5jdXJyZW50LVUsd2luZG93LmNsZWFyVGltZW91dChfLmN1cnJlbnQpLGM9PW51bGx8fGMoKX07cmV0dXJuIFMuYWRkRXZlbnRMaXN0ZW5lcihOQyxQKSxTLmFkZEV2ZW50TGlzdGVuZXIoQ0MsVCksKCk9PntTLnJlbW92ZUV2ZW50TGlzdGVuZXIoTkMsUCksUy5yZW1vdmVFdmVudExpc3RlbmVyKENDLFQpfX19LFttLnZpZXdwb3J0LGosYyxkLEZdKSxnLnVzZUVmZmVjdCgoKT0+e2kmJiFtLmlzQ2xvc2VQYXVzZWRSZWYuY3VycmVudCYmRihqKX0sW2ksaixtLmlzQ2xvc2VQYXVzZWRSZWYsRl0pLGcudXNlRWZmZWN0KCgpPT4oQigpLCgpPT5rKCkpLFtCLGtdKTtjb25zdCBPPWcudXNlTWVtbygoKT0+eD94JCh4KTpudWxsLFt4XSk7cmV0dXJuIG0udmlld3BvcnQ/cy5qc3hzKHMuRnJhZ21lbnQse2NoaWxkcmVuOltPJiZzLmpzeChadGUse19fc2NvcGVUb2FzdDpyLHJvbGU6InN0YXR1cyIsImFyaWEtbGl2ZSI6bj09PSJmb3JlZ3JvdW5kIj8iYXNzZXJ0aXZlIjoicG9saXRlIiwiYXJpYS1hdG9taWMiOiEwLGNoaWxkcmVuOk99KSxzLmpzeChZdGUse3Njb3BlOnIsb25DbG9zZTpFLGNoaWxkcmVuOnhkLmNyZWF0ZVBvcnRhbChzLmpzeChLMi5JdGVtU2xvdCx7c2NvcGU6cixjaGlsZHJlbjpzLmpzeChUdGUse2FzQ2hpbGQ6ITAsb25Fc2NhcGVLZXlEb3duOm1lKGwsKCk9PnttLmlzRm9jdXNlZFRvYXN0RXNjYXBlS2V5RG93blJlZi5jdXJyZW50fHxFKCksbS5pc0ZvY3VzZWRUb2FzdEVzY2FwZUtleURvd25SZWYuY3VycmVudD0hMX0pLGNoaWxkcmVuOnMuanN4KFNlLmxpLHtyb2xlOiJzdGF0dXMiLCJhcmlhLWxpdmUiOiJvZmYiLCJhcmlhLWF0b21pYyI6ITAsdGFiSW5kZXg6MCwiZGF0YS1zdGF0ZSI6aT8ib3BlbiI6ImNsb3NlZCIsImRhdGEtc3dpcGUtZGlyZWN0aW9uIjptLnN3aXBlRGlyZWN0aW9uLC4uLnAscmVmOnksc3R5bGU6e3VzZXJTZWxlY3Q6Im5vbmUiLHRvdWNoQWN0aW9uOiJub25lIiwuLi5lLnN0eWxlfSxvbktleURvd246bWUoZS5vbktleURvd24sUz0+e1Mua2V5PT09IkVzY2FwZSImJihsPT1udWxsfHxsKFMubmF0aXZlRXZlbnQpLFMubmF0aXZlRXZlbnQuZGVmYXVsdFByZXZlbnRlZHx8KG0uaXNGb2N1c2VkVG9hc3RFc2NhcGVLZXlEb3duUmVmLmN1cnJlbnQ9ITAsRSgpKSl9KSxvblBvaW50ZXJEb3duOm1lKGUub25Qb2ludGVyRG93bixTPT57Uy5idXR0b249PT0wJiYodi5jdXJyZW50PXt4OlMuY2xpZW50WCx5OlMuY2xpZW50WX0pfSksb25Qb2ludGVyTW92ZTptZShlLm9uUG9pbnRlck1vdmUsUz0+e2lmKCF2LmN1cnJlbnQpcmV0dXJuO2NvbnN0IFQ9Uy5jbGllbnRYLXYuY3VycmVudC54LFA9Uy5jbGllbnRZLXYuY3VycmVudC55LFU9ISFiLmN1cnJlbnQsRD1bImxlZnQiLCJyaWdodCJdLmluY2x1ZGVzKG0uc3dpcGVEaXJlY3Rpb24pLEk9WyJsZWZ0IiwidXAiXS5pbmNsdWRlcyhtLnN3aXBlRGlyZWN0aW9uKT9NYXRoLm1pbjpNYXRoLm1heCxSPUQ/SSgwLFQpOjAsTD1EPzA6SSgwLFApLCQ9Uy5wb2ludGVyVHlwZT09PSJ0b3VjaCI/MTA6MixIPXt4OlIseTpMfSxaPXtvcmlnaW5hbEV2ZW50OlMsZGVsdGE6SH07VT8oYi5jdXJyZW50PUgsUmcoV3RlLEEsWix7ZGlzY3JldGU6ITF9KSk6RjQoSCxtLnN3aXBlRGlyZWN0aW9uLCQpPyhiLmN1cnJlbnQ9SCxSZyh6dGUsdSxaLHtkaXNjcmV0ZTohMX0pLFMudGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKFMucG9pbnRlcklkKSk6KE1hdGguYWJzKFQpPiR8fE1hdGguYWJzKFApPiQpJiYodi5jdXJyZW50PW51bGwpfSksb25Qb2ludGVyVXA6bWUoZS5vblBvaW50ZXJVcCxTPT57Y29uc3QgVD1iLmN1cnJlbnQsUD1TLnRhcmdldDtpZihQLmhhc1BvaW50ZXJDYXB0dXJlKFMucG9pbnRlcklkKSYmUC5yZWxlYXNlUG9pbnRlckNhcHR1cmUoUy5wb2ludGVySWQpLGIuY3VycmVudD1udWxsLHYuY3VycmVudD1udWxsLFQpe2NvbnN0IFU9Uy5jdXJyZW50VGFyZ2V0LEQ9e29yaWdpbmFsRXZlbnQ6UyxkZWx0YTpUfTtGNChULG0uc3dpcGVEaXJlY3Rpb24sbS5zd2lwZVRocmVzaG9sZCk/UmcocXRlLGgsRCx7ZGlzY3JldGU6ITB9KTpSZyhHdGUsZixELHtkaXNjcmV0ZTohMH0pLFUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLEk9PkkucHJldmVudERlZmF1bHQoKSx7b25jZTohMH0pfX0pfSl9KX0pLG0udmlld3BvcnQpfSldfSk6bnVsbH0pLFp0ZT1lPT57Y29uc3R7X19zY29wZVRvYXN0OnQsY2hpbGRyZW46ciwuLi5ufT1lLGE9aXcoVXAsdCksW2ksb109Zy51c2VTdGF0ZSghMSksW2wsY109Zy51c2VTdGF0ZSghMSk7cmV0dXJuIHJyZSgoKT0+byghMCkpLGcudXNlRWZmZWN0KCgpPT57Y29uc3QgZD13aW5kb3cuc2V0VGltZW91dCgoKT0+YyghMCksMWUzKTtyZXR1cm4oKT0+d2luZG93LmNsZWFyVGltZW91dChkKX0sW10pLGw/bnVsbDpzLmpzeChJcCx7YXNDaGlsZDohMCxjaGlsZHJlbjpzLmpzeChhdyx7Li4ubixjaGlsZHJlbjppJiZzLmpzeHMocy5GcmFnbWVudCx7Y2hpbGRyZW46W2EubGFiZWwsIiAiLHJdfSl9KX0pfSxlcmU9IlRvYXN0VGl0bGUiLEEkPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVUb2FzdDpyLC4uLm59PWU7cmV0dXJuIHMuanN4KFNlLmRpdix7Li4ubixyZWY6dH0pfSk7QSQuZGlzcGxheU5hbWU9ZXJlO3ZhciB0cmU9IlRvYXN0RGVzY3JpcHRpb24iLGYkPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVUb2FzdDpyLC4uLm59PWU7cmV0dXJuIHMuanN4KFNlLmRpdix7Li4ubixyZWY6dH0pfSk7ZiQuZGlzcGxheU5hbWU9dHJlO3ZhciBoJD0iVG9hc3RBY3Rpb24iLG0kPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e2FsdFRleHQ6ciwuLi5ufT1lO3JldHVybiByLnRyaW0oKT9zLmpzeChnJCx7YWx0VGV4dDpyLGFzQ2hpbGQ6ITAsY2hpbGRyZW46cy5qc3goVjIsey4uLm4scmVmOnR9KX0pOihjb25zb2xlLmVycm9yKGBJbnZhbGlkIHByb3AgXGBhbHRUZXh0XGAgc3VwcGxpZWQgdG8gXGAke2gkfVxgLiBFeHBlY3RlZCBub24tZW1wdHkgXGBzdHJpbmdcYC5gKSxudWxsKX0pO20kLmRpc3BsYXlOYW1lPWgkO3ZhciBwJD0iVG9hc3RDbG9zZSIsVjI9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVRvYXN0OnIsLi4ubn09ZSxhPVh0ZShwJCxyKTtyZXR1cm4gcy5qc3goZyQse2FzQ2hpbGQ6ITAsY2hpbGRyZW46cy5qc3goU2UuYnV0dG9uLHt0eXBlOiJidXR0b24iLC4uLm4scmVmOnQsb25DbGljazptZShlLm9uQ2xpY2ssYS5vbkNsb3NlKX0pfSl9KTtWMi5kaXNwbGF5TmFtZT1wJDt2YXIgZyQ9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVRvYXN0OnIsYWx0VGV4dDpuLC4uLmF9PWU7cmV0dXJuIHMuanN4KFNlLmRpdix7ImRhdGEtcmFkaXgtdG9hc3QtYW5ub3VuY2UtZXhjbHVkZSI6IiIsImRhdGEtcmFkaXgtdG9hc3QtYW5ub3VuY2UtYWx0IjpufHx2b2lkIDAsLi4uYSxyZWY6dH0pfSk7ZnVuY3Rpb24geCQoZSl7Y29uc3QgdD1bXTtyZXR1cm4gQXJyYXkuZnJvbShlLmNoaWxkTm9kZXMpLmZvckVhY2gobj0+e2lmKG4ubm9kZVR5cGU9PT1uLlRFWFRfTk9ERSYmbi50ZXh0Q29udGVudCYmdC5wdXNoKG4udGV4dENvbnRlbnQpLG5yZShuKSl7Y29uc3QgYT1uLmFyaWFIaWRkZW58fG4uaGlkZGVufHxuLnN0eWxlLmRpc3BsYXk9PT0ibm9uZSIsaT1uLmRhdGFzZXQucmFkaXhUb2FzdEFubm91bmNlRXhjbHVkZT09PSIiO2lmKCFhKWlmKGkpe2NvbnN0IG89bi5kYXRhc2V0LnJhZGl4VG9hc3RBbm5vdW5jZUFsdDtvJiZ0LnB1c2gobyl9ZWxzZSB0LnB1c2goLi4ueCQobikpfX0pLHR9ZnVuY3Rpb24gUmcoZSx0LHIse2Rpc2NyZXRlOm59KXtjb25zdCBhPXIub3JpZ2luYWxFdmVudC5jdXJyZW50VGFyZ2V0LGk9bmV3IEN1c3RvbUV2ZW50KGUse2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxkZXRhaWw6cn0pO3QmJmEuYWRkRXZlbnRMaXN0ZW5lcihlLHQse29uY2U6ITB9KSxuPyQyKGEsaSk6YS5kaXNwYXRjaEV2ZW50KGkpfXZhciBGND0oZSx0LHI9MCk9Pntjb25zdCBuPU1hdGguYWJzKGUueCksYT1NYXRoLmFicyhlLnkpLGk9bj5hO3JldHVybiB0PT09ImxlZnQifHx0PT09InJpZ2h0Ij9pJiZuPnI6IWkmJmE+cn07ZnVuY3Rpb24gcnJlKGU9KCk9Pnt9KXtjb25zdCB0PXdyKGUpO2pyKCgpPT57bGV0IHI9MCxuPTA7cmV0dXJuIHI9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+bj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpKSwoKT0+e3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShyKSx3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUobil9fSxbdF0pfWZ1bmN0aW9uIG5yZShlKXtyZXR1cm4gZS5ub2RlVHlwZT09PWUuRUxFTUVOVF9OT0RFfWZ1bmN0aW9uIHNyZShlKXtjb25zdCB0PVtdLHI9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihlLE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5ULHthY2NlcHROb2RlOm49Pntjb25zdCBhPW4udGFnTmFtZT09PSJJTlBVVCImJm4udHlwZT09PSJoaWRkZW4iO3JldHVybiBuLmRpc2FibGVkfHxuLmhpZGRlbnx8YT9Ob2RlRmlsdGVyLkZJTFRFUl9TS0lQOm4udGFiSW5kZXg+PTA/Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUOk5vZGVGaWx0ZXIuRklMVEVSX1NLSVB9fSk7Zm9yKDtyLm5leHROb2RlKCk7KXQucHVzaChyLmN1cnJlbnROb2RlKTtyZXR1cm4gdH1mdW5jdGlvbiBGMShlKXtjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIGUuc29tZShyPT5yPT09dD8hMDooci5mb2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT10KSl9dmFyIGFyZT1vJCx5JD1jJCx2JD11JCx3JD1BJCxiJD1mJCxqJD1tJCxOJD1WMjtmdW5jdGlvbiBDJChlKXt2YXIgdCxyLG49IiI7aWYodHlwZW9mIGU9PSJzdHJpbmcifHx0eXBlb2YgZT09Im51bWJlciIpbis9ZTtlbHNlIGlmKHR5cGVvZiBlPT0ib2JqZWN0IilpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgYT1lLmxlbmd0aDtmb3IodD0wO3Q8YTt0KyspZVt0XSYmKHI9QyQoZVt0XSkpJiYobiYmKG4rPSIgIiksbis9cil9ZWxzZSBmb3IociBpbiBlKWVbcl0mJihuJiYobis9IiAiKSxuKz1yKTtyZXR1cm4gbn1mdW5jdGlvbiB2dCgpe2Zvcih2YXIgZSx0LHI9MCxuPSIiLGE9YXJndW1lbnRzLmxlbmd0aDtyPGE7cisrKShlPWFyZ3VtZW50c1tyXSkmJih0PUMkKGUpKSYmKG4mJihuKz0iICIpLG4rPXQpO3JldHVybiBufWNvbnN0IE80PWU9PnR5cGVvZiBlPT0iYm9vbGVhbiI/YCR7ZX1gOmU9PT0wPyIwIjplLEk0PXZ0LFdBPShlLHQpPT5yPT57dmFyIG47aWYoKHQ9PW51bGw/dm9pZCAwOnQudmFyaWFudHMpPT1udWxsKXJldHVybiBJNChlLHI9PW51bGw/dm9pZCAwOnIuY2xhc3Mscj09bnVsbD92b2lkIDA6ci5jbGFzc05hbWUpO2NvbnN0e3ZhcmlhbnRzOmEsZGVmYXVsdFZhcmlhbnRzOml9PXQsbz1PYmplY3Qua2V5cyhhKS5tYXAoZD0+e2NvbnN0IHU9cj09bnVsbD92b2lkIDA6cltkXSxBPWk9PW51bGw/dm9pZCAwOmlbZF07aWYodT09PW51bGwpcmV0dXJuIG51bGw7Y29uc3QgZj1PNCh1KXx8TzQoQSk7cmV0dXJuIGFbZF1bZl19KSxsPXImJk9iamVjdC5lbnRyaWVzKHIpLnJlZHVjZSgoZCx1KT0+e2xldFtBLGZdPXU7cmV0dXJuIGY9PT12b2lkIDB8fChkW0FdPWYpLGR9LHt9KSxjPXQ9PW51bGx8fChuPXQuY29tcG91bmRWYXJpYW50cyk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLnJlZHVjZSgoZCx1KT0+e2xldHtjbGFzczpBLGNsYXNzTmFtZTpmLC4uLmh9PXU7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGgpLmV2ZXJ5KHA9PntsZXRbbSx4XT1wO3JldHVybiBBcnJheS5pc0FycmF5KHgpP3guaW5jbHVkZXMoey4uLmksLi4ubH1bbV0pOnsuLi5pLC4uLmx9W21dPT09eH0pP1suLi5kLEEsZl06ZH0sW10pO3JldHVybiBJNChlLG8sYyxyPT1udWxsP3ZvaWQgMDpyLmNsYXNzLHI9PW51bGw/dm9pZCAwOnIuY2xhc3NOYW1lKX07LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IGlyZT1lPT5lLnJlcGxhY2UoLyhbYS16MC05XSkoW0EtWl0pL2csIiQxLSQyIikudG9Mb3dlckNhc2UoKSxfJD0oLi4uZSk9PmUuZmlsdGVyKCh0LHIsbik9PiEhdCYmdC50cmltKCkhPT0iIiYmbi5pbmRleE9mKHQpPT09cikuam9pbigiICIpLnRyaW0oKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovdmFyIG9yZT17eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix3aWR0aDoyNCxoZWlnaHQ6MjQsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6MixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIn07LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IGxyZT1nLmZvcndhcmRSZWYoKHtjb2xvcjplPSJjdXJyZW50Q29sb3IiLHNpemU6dD0yNCxzdHJva2VXaWR0aDpyPTIsYWJzb2x1dGVTdHJva2VXaWR0aDpuLGNsYXNzTmFtZTphPSIiLGNoaWxkcmVuOmksaWNvbk5vZGU6bywuLi5sfSxjKT0+Zy5jcmVhdGVFbGVtZW50KCJzdmciLHtyZWY6YywuLi5vcmUsd2lkdGg6dCxoZWlnaHQ6dCxzdHJva2U6ZSxzdHJva2VXaWR0aDpuP051bWJlcihyKSoyNC9OdW1iZXIodCk6cixjbGFzc05hbWU6XyQoImx1Y2lkZSIsYSksLi4ubH0sWy4uLm8ubWFwKChbZCx1XSk9PmcuY3JlYXRlRWxlbWVudChkLHUpKSwuLi5BcnJheS5pc0FycmF5KGkpP2k6W2ldXSkpOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBoZT0oZSx0KT0+e2NvbnN0IHI9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOm4sLi4uYX0saSk9PmcuY3JlYXRlRWxlbWVudChscmUse3JlZjppLGljb25Ob2RlOnQsY2xhc3NOYW1lOl8kKGBsdWNpZGUtJHtpcmUoZSl9YCxuKSwuLi5hfSkpO3JldHVybiByLmRpc3BsYXlOYW1lPWAke2V9YCxyfTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgVTQ9aGUoIkFjdGl2aXR5IixbWyJwYXRoIix7ZDoiTTIyIDEyaC0yLjQ4YTIgMiAwIDAgMC0xLjkzIDEuNDZsLTIuMzUgOC4zNmEuMjUuMjUgMCAwIDEtLjQ4IDBMOS4yNCAyLjE4YS4yNS4yNSAwIDAgMC0uNDggMGwtMi4zNSA4LjM2QTIgMiAwIDAgMSA0LjQ5IDEySDIiLGtleToiMTY5enNlIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IGNyZT1oZSgiQXJyb3dEb3duIixbWyJwYXRoIix7ZDoiTTEyIDV2MTQiLGtleToiczY5OWxlIn1dLFsicGF0aCIse2Q6Im0xOSAxMi03IDctNy03IixrZXk6IjFpZHFqZSJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBWYT1oZSgiQXJyb3dMZWZ0IixbWyJwYXRoIix7ZDoibTEyIDE5LTctNyA3LTciLGtleToiMWw3MjluIn1dLFsicGF0aCIse2Q6Ik0xOSAxMkg1IixrZXk6IngzeDB6bCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCB6cj1oZSgiQXJyb3dSaWdodCIsW1sicGF0aCIse2Q6Ik01IDEyaDE0IixrZXk6IjFheXMwaCJ9XSxbInBhdGgiLHtkOiJtMTIgNSA3IDctNyA3IixrZXk6InhxdXo0YyJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBkcmU9aGUoIkFycm93VXBEb3duIixbWyJwYXRoIix7ZDoibTIxIDE2LTQgNC00LTQiLGtleToiZjZxbDdpIn1dLFsicGF0aCIse2Q6Ik0xNyAyMFY0IixrZXk6IjFlamgxdiJ9XSxbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQiLGtleToiMTF3bDd1In1dLFsicGF0aCIse2Q6Ik03IDR2MTYiLGtleToiMWdsZmN4In1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IHVyZT1oZSgiQXJyb3dVcCIsW1sicGF0aCIse2Q6Im01IDEyIDctNyA3IDciLGtleToiaGF2MHZnIn1dLFsicGF0aCIse2Q6Ik0xMiAxOVY1IixrZXk6IngwbXE5ciJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBXcj1oZSgiQXdhcmQiLFtbInBhdGgiLHtkOiJtMTUuNDc3IDEyLjg5IDEuNTE1IDguNTI2YS41LjUgMCAwIDEtLjgxLjQ3bC0zLjU4LTIuNjg3YTEgMSAwIDAgMC0xLjE5NyAwbC0zLjU4NiAyLjY4NmEuNS41IDAgMCAxLS44MS0uNDY5bDEuNTE0LTguNTI2IixrZXk6IjF5aW91diJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjgiLHI6IjYiLGtleToiMXZwNDd2In1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IEFyZT1oZSgiQmVsbCIsW1sicGF0aCIse2Q6Ik02IDhhNiA2IDAgMCAxIDEyIDBjMCA3IDMgOSAzIDlIM3MzLTIgMy05IixrZXk6IjFxbzJzMiJ9XSxbInBhdGgiLHtkOiJNMTAuMyAyMWExLjk0IDEuOTQgMCAwIDAgMy40IDAiLGtleToicWdvMzVzIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IEIkPWhlKCJCb29rT3BlbiIsW1sicGF0aCIse2Q6Ik0xMiA3djE0IixrZXk6IjFha3l0cyJ9XSxbInBhdGgiLHtkOiJNMyAxOGExIDEgMCAwIDEtMS0xVjRhMSAxIDAgMCAxIDEtMWg1YTQgNCAwIDAgMSA0IDQgNCA0IDAgMCAxIDQtNGg1YTEgMSAwIDAgMSAxIDF2MTNhMSAxIDAgMCAxLTEgMWgtNmEzIDMgMCAwIDAtMyAzIDMgMyAwIDAgMC0zLTN6IixrZXk6InJ1ajh5In1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IGZyZT1oZSgiQnJhaW5DaXJjdWl0IixbWyJwYXRoIix7ZDoiTTEyIDVhMyAzIDAgMSAwLTUuOTk3LjEyNSA0IDQgMCAwIDAtMi41MjYgNS43NyA0IDQgMCAwIDAgLjU1NiA2LjU4OEE0IDQgMCAxIDAgMTIgMThaIixrZXk6Imw1eGphIn1dLFsicGF0aCIse2Q6Ik05IDEzYTQuNSA0LjUgMCAwIDAgMy00IixrZXk6IjEwaWd3ZiJ9XSxbInBhdGgiLHtkOiJNNi4wMDMgNS4xMjVBMyAzIDAgMCAwIDYuNDAxIDYuNSIsa2V5OiIxMDVzcXkifV0sWyJwYXRoIix7ZDoiTTMuNDc3IDEwLjg5NmE0IDQgMCAwIDEgLjU4NS0uMzk2IixrZXk6InFsM3lpbiJ9XSxbInBhdGgiLHtkOiJNNiAxOGE0IDQgMCAwIDEtMS45NjctLjUxNiIsa2V5OiIyZTRsb2oifV0sWyJwYXRoIix7ZDoiTTEyIDEzaDQiLGtleToiMWt1Njk5In1dLFsicGF0aCIse2Q6Ik0xMiAxOGg2YTIgMiAwIDAgMSAyIDJ2MSIsa2V5OiIxMDVhZzUifV0sWyJwYXRoIix7ZDoiTTEyIDhoOCIsa2V5OiIxbGhpNWkifV0sWyJwYXRoIix7ZDoiTTE2IDhWNWEyIDIgMCAwIDEgMi0yIixrZXk6InU2aXpnNiJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjEzIixyOiIuNSIsa2V5OiJyeTdnbmcifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIzIixyOiIuNSIsa2V5OiIxYWliYTcifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIyMSIscjoiLjUiLGtleToieWhjMWZzIn1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiOCIscjoiLjUiLGtleToiMWU0M3YwIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IGhyZT1oZSgiQnVpbGRpbmciLFtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIixyeToiMiIsa2V5OiI3Nm90Z2YifV0sWyJwYXRoIix7ZDoiTTkgMjJ2LTRoNnY0IixrZXk6InI5M2lvdCJ9XSxbInBhdGgiLHtkOiJNOCA2aC4wMSIsa2V5OiIxZHo5MGsifV0sWyJwYXRoIix7ZDoiTTE2IDZoLjAxIixrZXk6IjF4MGYxMyJ9XSxbInBhdGgiLHtkOiJNMTIgNmguMDEiLGtleToiMXZpOTZwIn1dLFsicGF0aCIse2Q6Ik0xMiAxMGguMDEiLGtleToiMW5yYXJjIn1dLFsicGF0aCIse2Q6Ik0xMiAxNGguMDEiLGtleToiMWV0aWxpIn1dLFsicGF0aCIse2Q6Ik0xNiAxMGguMDEiLGtleToiMW05NHd6In1dLFsicGF0aCIse2Q6Ik0xNiAxNGguMDEiLGtleToiMWdib2Z3In1dLFsicGF0aCIse2Q6Ik04IDEwaC4wMSIsa2V5OiIxOWNsdDgifV0sWyJwYXRoIix7ZDoiTTggMTRoLjAxIixrZXk6IjY0MjNiaCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBCQz1oZSgiQ2FsY3VsYXRvciIsW1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIiLGtleToiMW5iOTV2In1dLFsibGluZSIse3gxOiI4Iix4MjoiMTYiLHkxOiI2Iix5MjoiNiIsa2V5OiJ4NG53bDAifV0sWyJsaW5lIix7eDE6IjE2Iix4MjoiMTYiLHkxOiIxNCIseTI6IjE4IixrZXk6IndqeWUzciJ9XSxbInBhdGgiLHtkOiJNMTYgMTBoLjAxIixrZXk6IjFtOTR3eiJ9XSxbInBhdGgiLHtkOiJNMTIgMTBoLjAxIixrZXk6IjFucmFyYyJ9XSxbInBhdGgiLHtkOiJNOCAxMGguMDEiLGtleToiMTljbHQ4In1dLFsicGF0aCIse2Q6Ik0xMiAxNGguMDEiLGtleToiMWV0aWxpIn1dLFsicGF0aCIse2Q6Ik04IDE0aC4wMSIsa2V5OiI2NDIzYmgifV0sWyJwYXRoIix7ZDoiTTEyIDE4aC4wMSIsa2V5OiJtaHlndnUifV0sWyJwYXRoIix7ZDoiTTggMThoLjAxIixrZXk6ImxycDM1dCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCByZD1oZSgiQ2FsZW5kYXIiLFtbInBhdGgiLHtkOiJNOCAydjQiLGtleToiMWNtcHltIn1dLFsicGF0aCIse2Q6Ik0xNiAydjQiLGtleToiNG04MXZrIn1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIiLGtleToiMWhvcGN5In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4IixrZXk6Ijh0b2VuOCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBvdz1oZSgiQ2hhcnRDb2x1bW4iLFtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYiLGtleToiYzI0aTQ4In1dLFsicGF0aCIse2Q6Ik0xOCAxN1Y5IixrZXk6IjJiejYwbiJ9XSxbInBhdGgiLHtkOiJNMTMgMTdWNSIsa2V5OiIxZnJkdDgifV0sWyJwYXRoIix7ZDoiTTggMTd2LTMiLGtleToiMTdza2EwIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IG90PWhlKCJDaGVjayIsW1sicGF0aCIse2Q6Ik0yMCA2IDkgMTdsLTUtNSIsa2V5OiIxZ21mMmMifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgZUE9aGUoIkNoZXZyb25Eb3duIixbWyJwYXRoIix7ZDoibTYgOSA2IDYgNi02IixrZXk6InFydW5zbCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBTJD1oZSgiQ2hldnJvbkxlZnQiLFtbInBhdGgiLHtkOiJtMTUgMTgtNi02IDYtNiIsa2V5OiIxd25mZzMifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgbHc9aGUoIkNoZXZyb25SaWdodCIsW1sicGF0aCIse2Q6Im05IDE4IDYtNi02LTYiLGtleToibXRoaHdxIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IEUkPWhlKCJDaGV2cm9uVXAiLFtbInBhdGgiLHtkOiJtMTggMTUtNi02LTYgNiIsa2V5OiIxNTN1ZHoifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgaTA9aGUoIkNpcmNsZUFsZXJ0IixbWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAiLGtleToiMW1nbGF5In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiOCIseTI6IjEyIixrZXk6IjFwa2V1aCJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMi4wMSIseTE6IjE2Iix5MjoiMTYiLGtleToiNGRmcTkwIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IFpzPWhlKCJDaXJjbGVDaGVja0JpZyIsW1sicGF0aCIse2Q6Ik0yMS44MDEgMTBBMTAgMTAgMCAxIDEgMTcgMy4zMzUiLGtleToieXBzM2N0In1dLFsicGF0aCIse2Q6Im05IDExIDMgM0wyMiA0IixrZXk6IjFwZmx6bCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBfdD1oZSgiQ2lyY2xlQ2hlY2siLFtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCIsa2V5OiIxbWdsYXkifV0sWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCIsa2V5OiJkem1tNzQifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgbXJlPWhlKCJDaXJjbGVIZWxwIixbWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAiLGtleToiMW1nbGF5In1dLFsicGF0aCIse2Q6Ik05LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgMyIsa2V5OiIxdTc3M3MifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSIsa2V5OiJwMzJwMDUifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgcHJlPWhlKCJDaXJjbGVQYXVzZSIsW1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIixrZXk6IjFtZ2xheSJ9XSxbImxpbmUiLHt4MToiMTAiLHgyOiIxMCIseTE6IjE1Iix5MjoiOSIsa2V5OiJjMW5raGkifV0sWyJsaW5lIix7eDE6IjE0Iix4MjoiMTQiLHkxOiIxNSIseTI6IjkiLGtleToiaDY1c3ZxIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IHoyPWhlKCJDaXJjbGVQbGF5IixbWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAiLGtleToiMW1nbGF5In1dLFsicG9seWdvbiIse3BvaW50czoiMTAgOCAxNiAxMiAxMCAxNiAxMCA4IixrZXk6IjFjaW1zeSJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBIYz1oZSgiQ2lyY2xlWCIsW1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIixrZXk6IjFtZ2xheSJ9XSxbInBhdGgiLHtkOiJtMTUgOS02IDYiLGtleToiMXV6aHZyIn1dLFsicGF0aCIse2Q6Im05IDkgNiA2IixrZXk6InowYmlxZiJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBrJD1oZSgiQ2lyY2xlIixbWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAiLGtleToiMW1nbGF5In1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IEZyPWhlKCJDbG9jayIsW1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIixrZXk6IjFtZ2xheSJ9XSxbInBvbHlsaW5lIix7cG9pbnRzOiIxMiA2IDEyIDEyIDE2IDE0IixrZXk6IjY4ZXNndiJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBybj1oZSgiQ29weSIsW1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIseDoiOCIseToiOCIscng6IjIiLHJ5OiIyIixrZXk6IjE3anllYSJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIixrZXk6InppeDl1ZiJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBRYT1oZSgiQ3JlZGl0Q2FyZCIsW1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNSIscng6IjIiLGtleToieW55cDh6In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIxMCIseTI6IjEwIixrZXk6IjFiM3ZtbyJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBUJD1oZSgiQ3Jvd24iLFtbInBhdGgiLHtkOiJNMTEuNTYyIDMuMjY2YS41LjUgMCAwIDEgLjg3NiAwTDE1LjM5IDguODdhMSAxIDAgMCAwIDEuNTE2LjI5NEwyMS4xODMgNS41YS41LjUgMCAwIDEgLjc5OC41MTlsLTIuODM0IDEwLjI0NmExIDEgMCAwIDEtLjk1Ni43MzRINS44MWExIDEgMCAwIDEtLjk1Ny0uNzM0TDIuMDIgNi4wMmEuNS41IDAgMCAxIC43OTgtLjUxOWw0LjI3NiAzLjY2NGExIDEgMCAwIDAgMS41MTYtLjI5NHoiLGtleToiMXZkYzU3In1dLFsicGF0aCIse2Q6Ik01IDIxaDE0IixrZXk6IjExYXd1MyJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBEND1oZSgiRGF0YWJhc2UiLFtbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiI1IixyeDoiOSIscnk6IjMiLGtleToibXNzbHd6In1dLFsicGF0aCIse2Q6Ik0zIDVWMTlBOSAzIDAgMCAwIDIxIDE5VjUiLGtleToiMXdsZWw3In1dLFsicGF0aCIse2Q6Ik0zIDEyQTkgMyAwIDAgMCAyMSAxMiIsa2V5OiJtdjdrZTQifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgaG49aGUoIkRvbGxhclNpZ24iLFtbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjIiLHkyOiIyMiIsa2V5OiI3ZXF5cWgifV0sWyJwYXRoIix7ZDoiTTE3IDVIOS41YTMuNSAzLjUgMCAwIDAgMCA3aDVhMy41IDMuNSAwIDAgMSAwIDdINiIsa2V5OiIxYjBwNHMifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgVW49aGUoIkRvd25sb2FkIixbWyJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLGtleToiaWg3bjNoIn1dLFsicG9seWxpbmUiLHtwb2ludHM6IjcgMTAgMTIgMTUgMTcgMTAiLGtleToiMmdncXZ5In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMTUiLHkyOiIzIixrZXk6IjF2azJqZSJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBncmU9aGUoIkVsbGlwc2lzVmVydGljYWwiLFtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIixrZXk6IjQxaGlsZiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjEiLGtleToiZ3hlb2I5In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTkiLHI6IjEiLGtleToibHlleDlrIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IFAkPWhlKCJFeHRlcm5hbExpbmsiLFtbInBhdGgiLHtkOiJNMTUgM2g2djYiLGtleToiMXE5Znd0In1dLFsicGF0aCIse2Q6Ik0xMCAxNCAyMSAzIixrZXk6ImdwbGg2ciJ9XSxbInBhdGgiLHtkOiJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNiIsa2V5OiJhNnhxcXAifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgRiQ9aGUoIkV5ZU9mZiIsW1sicGF0aCIse2Q6Ik0xMC43MzMgNS4wNzZhMTAuNzQ0IDEwLjc0NCAwIDAgMSAxMS4yMDUgNi41NzUgMSAxIDAgMCAxIDAgLjY5NiAxMC43NDcgMTAuNzQ3IDAgMCAxLTEuNDQ0IDIuNDkiLGtleToiY3Q4ZTFmIn1dLFsicGF0aCIse2Q6Ik0xNC4wODQgMTQuMTU4YTMgMyAwIDAgMS00LjI0Mi00LjI0MiIsa2V5OiIxNTFyeGgifV0sWyJwYXRoIix7ZDoiTTE3LjQ3OSAxNy40OTlhMTAuNzUgMTAuNzUgMCAwIDEtMTUuNDE3LTUuMTUxIDEgMSAwIDAgMSAwLS42OTYgMTAuNzUgMTAuNzUgMCAwIDEgNC40NDYtNS4xNDMiLGtleToiMTNiajlhIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAiLGtleToiMW9vZXd5In1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IHdpPWhlKCJFeWUiLFtbInBhdGgiLHtkOiJNMi4wNjIgMTIuMzQ4YTEgMSAwIDAgMSAwLS42OTYgMTAuNzUgMTAuNzUgMCAwIDEgMTkuODc2IDAgMSAxIDAgMCAxIDAgLjY5NiAxMC43NSAxMC43NSAwIDAgMS0xOS44NzYgMCIsa2V5OiIxbmNsYzAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyIsa2V5OiIxdjd6cmQifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgSDA9aGUoIkZhY2Vib29rIixbWyJwYXRoIix7ZDoiTTE4IDJoLTNhNSA1IDAgMCAwLTUgNXYzSDd2NGgzdjhoNHYtOGgzbDEtNGgtNFY3YTEgMSAwIDAgMSAxLTFoM3oiLGtleToiMWpnNGY4In1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IHluPWhlKCJGaWxlVGV4dCIsW1sicGF0aCIse2Q6Ik0xNSAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWN1oiLGtleToiMXJxZno3In1dLFsicGF0aCIse2Q6Ik0xNCAydjRhMiAyIDAgMCAwIDIgMmg0IixrZXk6InRucXJsYiJ9XSxbInBhdGgiLHtkOiJNMTAgOUg4IixrZXk6ImIxbXJsciJ9XSxbInBhdGgiLHtkOiJNMTYgMTNIOCIsa2V5OiJ0NGUwMDIifV0sWyJwYXRoIix7ZDoiTTE2IDE3SDgiLGtleToiejF1aDNhIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IERwPWhlKCJHaWZ0IixbWyJyZWN0Iix7eDoiMyIseToiOCIsd2lkdGg6IjE4IixoZWlnaHQ6IjQiLHJ4OiIxIixrZXk6ImJrdjUyIn1dLFsicGF0aCIse2Q6Ik0xMiA4djEzIixrZXk6IjFjNzZtbiJ9XSxbInBhdGgiLHtkOiJNMTkgMTJ2N2EyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMnYtNyIsa2V5OiI2d2p5NmIifV0sWyJwYXRoIix7ZDoiTTcuNSA4YTIuNSAyLjUgMCAwIDEgMC01QTQuOCA4IDAgMCAxIDEyIDhhNC44IDggMCAwIDEgNC41LTUgMi41IDIuNSAwIDAgMSAwIDUiLGtleToiMWlodnJsIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IHhyZT1oZSgiR2xvYmUiLFtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCIsa2V5OiIxbWdsYXkifV0sWyJwYXRoIix7ZDoiTTEyIDJhMTQuNSAxNC41IDAgMCAwIDAgMjAgMTQuNSAxNC41IDAgMCAwIDAtMjAiLGtleToiMTNvMXpsIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIixrZXk6IjlpNHB1NCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBLMD1oZSgiR3JhZHVhdGlvbkNhcCIsW1sicGF0aCIse2Q6Ik0yMS40MiAxMC45MjJhMSAxIDAgMCAwLS4wMTktMS44MzhMMTIuODMgNS4xOGEyIDIgMCAwIDAtMS42NiAwTDIuNiA5LjA4YTEgMSAwIDAgMCAwIDEuODMybDguNTcgMy45MDhhMiAyIDAgMCAwIDEuNjYgMHoiLGtleToiajc2amwwIn1dLFsicGF0aCIse2Q6Ik0yMiAxMHY2IixrZXk6IjFsdThmMyJ9XSxbInBhdGgiLHtkOiJNNiAxMi41VjE2YTYgMyAwIDAgMCAxMiAwdi0zLjUiLGtleToiMXI4bGVmIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IFcyPWhlKCJIb3VzZSIsW1sicGF0aCIse2Q6Ik0xNSAyMXYtOGExIDEgMCAwIDAtMS0xaC00YTEgMSAwIDAgMC0xIDF2OCIsa2V5OiI1d3dscjUifV0sWyJwYXRoIix7ZDoiTTMgMTBhMiAyIDAgMCAxIC43MDktMS41MjhsNy01Ljk5OWEyIDIgMCAwIDEgMi41ODIgMGw3IDUuOTk5QTIgMiAwIDAgMSAyMSAxMHY5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiIsa2V5OiIxZDBrZ3QifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgUGg9aGUoIkltYWdlIixbWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIiLGtleToiMW0zYWduIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiIyIixrZXk6ImFmMWYwZyJ9XSxbInBhdGgiLHtkOiJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSIsa2V5OiIxeG1udDcifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgdG49aGUoIkluZm8iLFtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCIsa2V5OiIxbWdsYXkifV0sWyJwYXRoIix7ZDoiTTEyIDE2di00IixrZXk6IjFkdGlmdSJ9XSxbInBhdGgiLHtkOiJNMTIgOGguMDEiLGtleToiZTlib2kzIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IHRBPWhlKCJJbnN0YWdyYW0iLFtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMjAiLHg6IjIiLHk6IjIiLHJ4OiI1IixyeToiNSIsa2V5OiIyZTFjdncifV0sWyJwYXRoIix7ZDoiTTE2IDExLjM3QTQgNCAwIDEgMSAxMi42MyA4IDQgNCAwIDAgMSAxNiAxMS4zN3oiLGtleToiOWV4a2YxIn1dLFsibGluZSIse3gxOiIxNy41Iix4MjoiMTcuNTEiLHkxOiI2LjUiLHkyOiI2LjUiLGtleToicjRqODNlIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IE8kPWhlKCJLZXlSb3VuZCIsW1sicGF0aCIse2Q6Ik0yLjU4NiAxNy40MTRBMiAyIDAgMCAwIDIgMTguODI4VjIxYTEgMSAwIDAgMCAxIDFoM2ExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTFoMWExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTFoLjE3MmEyIDIgMCAwIDAgMS40MTQtLjU4NmwuODE0LS44MTRhNi41IDYuNSAwIDEgMC00LTR6IixrZXk6IjFzNnQ3dCJ9XSxbImNpcmNsZSIse2N4OiIxNi41IixjeToiNy41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIixrZXk6IncwZWtwZyJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCB1dT1oZSgiS2V5IixbWyJwYXRoIix7ZDoibTE1LjUgNy41IDIuMyAyLjNhMSAxIDAgMCAwIDEuNCAwbDIuMS0yLjFhMSAxIDAgMCAwIDAtMS40TDE5IDQiLGtleToiZzBmbGRrIn1dLFsicGF0aCIse2Q6Im0yMSAyLTkuNiA5LjYiLGtleToiMWowaG84In1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjE1LjUiLHI6IjUuNSIsa2V5OiJ5cWIzaHIifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgeXJlPWhlKCJMYXlvdXRHcmlkIixbWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMyIscng6IjEiLGtleToiMWc5OHlwIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjE0Iix5OiIzIixyeDoiMSIsa2V5OiI2ZDR4aGkifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMTQiLHk6IjE0IixyeDoiMSIsa2V5OiJueHY1bzAifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMTQiLHJ4OiIxIixrZXk6IjFiYjZ5ciJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBfdT1oZSgiTG9hZGVyQ2lyY2xlIixbWyJwYXRoIix7ZDoiTTIxIDEyYTkgOSAwIDEgMS02LjIxOS04LjU2IixrZXk6IjEzemFsZCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBjdz1oZSgiTG9ja09wZW4iLFtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTEiLHg6IjMiLHk6IjExIixyeDoiMiIscnk6IjIiLGtleToiMXc0ZXcxIn1dLFsicGF0aCIse2Q6Ik03IDExVjdhNSA1IDAgMCAxIDkuOS0xIixrZXk6IjFtbTh3OCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBuZD1oZSgiTG9jayIsW1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxMSIseDoiMyIseToiMTEiLHJ4OiIyIixyeToiMiIsa2V5OiIxdzRldzEifV0sWyJwYXRoIix7ZDoiTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0IixrZXk6ImZ3dm16bSJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBJJD1oZSgiTG9nSW4iLFtbInBhdGgiLHtkOiJNMTUgM2g0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMmgtNCIsa2V5OiJ1NTNzNnIifV0sWyJwb2x5bGluZSIse3BvaW50czoiMTAgMTcgMTUgMTIgMTAgNyIsa2V5OiIxYWlsMGgifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMyIseTE6IjEyIix5MjoiMTIiLGtleToidjZncng4In1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IEdyPWhlKCJMb2dPdXQiLFtbInBhdGgiLHtkOiJNOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDQiLGtleToiMXVmM3JzIn1dLFsicG9seWxpbmUiLHtwb2ludHM6IjE2IDE3IDIxIDEyIDE2IDciLGtleToiMWdhYmR6In1dLFsibGluZSIse3gxOiIyMSIseDI6IjkiLHkxOiIxMiIseTI6IjEyIixrZXk6IjF1eW9zNCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBNcD1oZSgiTWFpbCIsW1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIiLGtleToiMThuM2sxIn1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3IixrZXk6IjFvY3JnMyJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBVJD1oZSgiTWVkYWwiLFtbInBhdGgiLHtkOiJNNy4yMSAxNSAyLjY2IDcuMTRhMiAyIDAgMCAxIC4xMy0yLjJMNC40IDIuOEEyIDIgMCAwIDEgNiAyaDEyYTIgMiAwIDAgMSAxLjYuOGwxLjYgMi4xNGEyIDIgMCAwIDEgLjE0IDIuMkwxNi43OSAxNSIsa2V5OiIxNDNsemEifV0sWyJwYXRoIix7ZDoiTTExIDEyIDUuMTIgMi4yIixrZXk6InFodXh6NiJ9XSxbInBhdGgiLHtkOiJtMTMgMTIgNS44OC05LjgiLGtleToiaGJ5ZTBmIn1dLFsicGF0aCIse2Q6Ik04IDdoOCIsa2V5OiJpODZkdnMifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNyIscjoiNSIsa2V5OiJxYno4aXEifV0sWyJwYXRoIix7ZDoiTTEyIDE4di0yaC0uNSIsa2V5OiJmYXdjNHEifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgdnJlPWhlKCJNZWdhcGhvbmUiLFtbInBhdGgiLHtkOiJtMyAxMSAxOC01djEyTDMgMTR2LTN6IixrZXk6Im45NjJicyJ9XSxbInBhdGgiLHtkOiJNMTEuNiAxNi44YTMgMyAwIDEgMS01LjgtMS42IixrZXk6IjF5bDB0bSJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBEJD1oZSgiTWVudSIsW1sibGluZSIse3gxOiI0Iix4MjoiMjAiLHkxOiIxMiIseTI6IjEyIixrZXk6IjFlMGE5aSJ9XSxbImxpbmUiLHt4MToiNCIseDI6IjIwIix5MToiNiIseTI6IjYiLGtleToiMW93b2IzIn1dLFsibGluZSIse3gxOiI0Iix4MjoiMjAiLHkxOiIxOCIseTI6IjE4IixrZXk6InlrNXpqMSJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBtbT1oZSgiTWVzc2FnZUNpcmNsZSIsW1sicGF0aCIse2Q6Ik03LjkgMjBBOSA5IDAgMSAwIDQgMTYuMUwyIDIyWiIsa2V5OiJ2djExc2QifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3Qgd3JlPWhlKCJNZXNzYWdlU3F1YXJlUGx1cyIsW1sicGF0aCIse2Q6Ik0yMSAxNWEyIDIgMCAwIDEtMiAySDdsLTQgNFY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnoiLGtleToiMWxpZWx6In1dLFsicGF0aCIse2Q6Ik0xMiA3djYiLGtleToibHcxajQzIn1dLFsicGF0aCIse2Q6Ik05IDEwaDYiLGtleToiOWd4enNoIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IE9mPWhlKCJNZXNzYWdlU3F1YXJlIixbWyJwYXRoIix7ZDoiTTIxIDE1YTIgMiAwIDAgMS0yIDJIN2wtNCA0VjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAyeiIsa2V5OiIxbGllbHoifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgTSQ9aGUoIk1vbml0b3IiLFtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjMiLHJ4OiIyIixrZXk6IjQ4aTY1MSJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMjEiLHkyOiIyMSIsa2V5OiIxc3ZrZWgifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxNyIseTI6IjIxIixrZXk6InZ3MXFtbSJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBSJD1oZSgiUGVuY2lsIixbWyJwYXRoIix7ZDoiTTIxLjE3NCA2LjgxMmExIDEgMCAwIDAtMy45ODYtMy45ODdMMy44NDIgMTYuMTc0YTIgMiAwIDAgMC0uNS44M2wtMS4zMjEgNC4zNTJhLjUuNSAwIDAgMCAuNjIzLjYyMmw0LjM1My0xLjMyYTIgMiAwIDAgMCAuODMtLjQ5N3oiLGtleToiMWE4dXN1In1dLFsicGF0aCIse2Q6Im0xNSA1IDQgNCIsa2V5OiIxbWs3em8ifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgYnJlPWhlKCJQZXJjZW50IixbWyJsaW5lIix7eDE6IjE5Iix4MjoiNSIseTE6IjUiLHkyOiIxOSIsa2V5OiIxeDl2bG0ifV0sWyJjaXJjbGUiLHtjeDoiNi41IixjeToiNi41IixyOiIyLjUiLGtleToiNG1oM2g3In1dLFsiY2lyY2xlIix7Y3g6IjE3LjUiLGN5OiIxNy41IixyOiIyLjUiLGtleToiMW1kcnpxIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IFEkPWhlKCJQbHVzIixbWyJwYXRoIix7ZDoiTTUgMTJoMTQiLGtleToiMWF5czBoIn1dLFsicGF0aCIse2Q6Ik0xMiA1djE0IixrZXk6InM2OTlsZSJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBwbT1oZSgiUmVmcmVzaEN3IixbWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAxIDktOSA5Ljc1IDkuNzUgMCAwIDEgNi43NCAyLjc0TDIxIDgiLGtleToidjloNXZjIn1dLFsicGF0aCIse2Q6Ik0yMSAzdjVoLTUiLGtleToiMXE3dG8wIn1dLFsicGF0aCIse2Q6Ik0yMSAxMmE5IDkgMCAwIDEtOSA5IDkuNzUgOS43NSAwIDAgMS02Ljc0LTIuNzRMMyAxNiIsa2V5OiIzdWlmbDMifV0sWyJwYXRoIix7ZDoiTTggMTZIM3Y1IixrZXk6IjFjdjY3OCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBkdz1oZSgiUm9ja2V0IixbWyJwYXRoIix7ZDoiTTQuNSAxNi41Yy0xLjUgMS4yNi0yIDUtMiA1czMuNzQtLjUgNS0yYy43MS0uODQuNy0yLjEzLS4wOS0yLjkxYTIuMTggMi4xOCAwIDAgMC0yLjkxLS4wOXoiLGtleToibTNraWp6In1dLFsicGF0aCIse2Q6Im0xMiAxNS0zLTNhMjIgMjIgMCAwIDEgMi0zLjk1QTEyLjg4IDEyLjg4IDAgMCAxIDIyIDJjMCAyLjcyLS43OCA3LjUtNiAxMWEyMi4zNSAyMi4zNSAwIDAgMS00IDJ6IixrZXk6IjFmbXZtayJ9XSxbInBhdGgiLHtkOiJNOSAxMkg0cy41NS0zLjAzIDItNGMxLjYyLTEuMDggNSAwIDUgMCIsa2V5OiIxZjhzYzQifV0sWyJwYXRoIix7ZDoiTTEyIDE1djVzMy4wMy0uNTUgNC0yYzEuMDgtMS42MiAwLTUgMC01IixrZXk6InFleXM0In1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IFNDPWhlKCJSb3RhdGVDY3ciLFtbInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4IixrZXk6IjEzNTdlMyJ9XSxbInBhdGgiLHtkOiJNMyAzdjVoNSIsa2V5OiIxeGhxOGEifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgTTQ9aGUoIlNhdmUiLFtbInBhdGgiLHtkOiJNMTUuMiAzYTIgMiAwIDAgMSAxLjQuNmwzLjggMy44YTIgMiAwIDAgMSAuNiAxLjRWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yeiIsa2V5OiIxYzg0NzYifV0sWyJwYXRoIix7ZDoiTTE3IDIxdi03YTEgMSAwIDAgMC0xLTFIOGExIDEgMCAwIDAtMSAxdjciLGtleToiMXlkdG9zIn1dLFsicGF0aCIse2Q6Ik03IDN2NGExIDEgMCAwIDAgMSAxaDciLGtleToidDUxdTczIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IHphPWhlKCJTZWFyY2giLFtbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4IixrZXk6IjRlajk3dSJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyIsa2V5OiIxcWllM3EifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3Qgd2w9aGUoIlNlbmQiLFtbInBhdGgiLHtkOiJNMTQuNTM2IDIxLjY4NmEuNS41IDAgMCAwIC45MzctLjAyNGw2LjUtMTlhLjQ5Ni40OTYgMCAwIDAtLjYzNS0uNjM1bC0xOSA2LjVhLjUuNSAwIDAgMC0uMDI0LjkzN2w3LjkzIDMuMThhMiAyIDAgMCAxIDEuMTEyIDEuMTF6IixrZXk6IjFmZnh5MyJ9XSxbInBhdGgiLHtkOiJtMjEuODU0IDIuMTQ3LTEwLjk0IDEwLjkzOSIsa2V5OiIxMmNqcGEifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgdXc9aGUoIlNldHRpbmdzIixbWyJwYXRoIix7ZDoiTTEyLjIyIDJoLS40NGEyIDIgMCAwIDAtMiAydi4xOGEyIDIgMCAwIDEtMSAxLjczbC0uNDMuMjVhMiAyIDAgMCAxLTIgMGwtLjE1LS4wOGEyIDIgMCAwIDAtMi43My43M2wtLjIyLjM4YTIgMiAwIDAgMCAuNzMgMi43M2wuMTUuMWEyIDIgMCAwIDEgMSAxLjcydi41MWEyIDIgMCAwIDEtMSAxLjc0bC0uMTUuMDlhMiAyIDAgMCAwLS43MyAyLjczbC4yMi4zOGEyIDIgMCAwIDAgMi43My43M2wuMTUtLjA4YTIgMiAwIDAgMSAyIDBsLjQzLjI1YTIgMiAwIDAgMSAxIDEuNzNWMjBhMiAyIDAgMCAwIDIgMmguNDRhMiAyIDAgMCAwIDItMnYtLjE4YTIgMiAwIDAgMSAxLTEuNzNsLjQzLS4yNWEyIDIgMCAwIDEgMiAwbC4xNS4wOGEyIDIgMCAwIDAgMi43My0uNzNsLjIyLS4zOWEyIDIgMCAwIDAtLjczLTIuNzNsLS4xNS0uMDhhMiAyIDAgMCAxLTEtMS43NHYtLjVhMiAyIDAgMCAxIDEtMS43NGwuMTUtLjA5YTIgMiAwIDAgMCAuNzMtMi43M2wtLjIyLS4zOGEyIDIgMCAwIDAtMi43My0uNzNsLS4xNS4wOGEyIDIgMCAwIDEtMiAwbC0uNDMtLjI1YTIgMiAwIDAgMS0xLTEuNzNWNGEyIDIgMCAwIDAtMi0yeiIsa2V5OiIxcW1lMmYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyIsa2V5OiIxdjd6cmQifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3Qgc2Q9aGUoIlNoYXJlMiIsW1siY2lyY2xlIix7Y3g6IjE4IixjeToiNSIscjoiMyIsa2V5OiJncThhY2QifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjEyIixyOiIzIixrZXk6Inc3bnFkdyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE5IixyOiIzIixrZXk6IjF4dDBnZyJ9XSxbImxpbmUiLHt4MToiOC41OSIseDI6IjE1LjQyIix5MToiMTMuNTEiLHkyOiIxNy40OSIsa2V5OiI0N215bmsifV0sWyJsaW5lIix7eDE6IjE1LjQxIix4MjoiOC41OSIseTE6IjYuNTEiLHkyOiIxMC40OSIsa2V5OiIxbjNtZWkifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgS2w9aGUoIlNoaWVsZENoZWNrIixbWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6IixrZXk6Im9lbDQxeSJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00IixrZXk6ImR6bW03NCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBubj1oZSgiU2hpZWxkIixbWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6IixrZXk6Im9lbDQxeSJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBHMj1oZSgiU2hvcHBpbmdDYXJ0IixbWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjIxIixyOiIxIixrZXk6ImppbW84byJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjIxIixyOiIxIixrZXk6IjEzNzIzdSJ9XSxbInBhdGgiLHtkOiJNMi4wNSAyLjA1aDJsMi42NiAxMi40MmEyIDIgMCAwIDAgMiAxLjU4aDkuNzhhMiAyIDAgMCAwIDEuOTUtMS41N2wxLjY1LTcuNDNINS4xMiIsa2V5OiI5emg1MDYifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgV2E9aGUoIlNwYXJrbGVzIixbWyJwYXRoIix7ZDoiTTkuOTM3IDE1LjVBMiAyIDAgMCAwIDguNSAxNC4wNjNsLTYuMTM1LTEuNTgyYS41LjUgMCAwIDEgMC0uOTYyTDguNSA5LjkzNkEyIDIgMCAwIDAgOS45MzcgOC41bDEuNTgyLTYuMTM1YS41LjUgMCAwIDEgLjk2MyAwTDE0LjA2MyA4LjVBMiAyIDAgMCAwIDE1LjUgOS45MzdsNi4xMzUgMS41ODFhLjUuNSAwIDAgMSAwIC45NjRMMTUuNSAxNC4wNjNhMiAyIDAgMCAwLTEuNDM3IDEuNDM3bC0xLjU4MiA2LjEzNWEuNS41IDAgMCAxLS45NjMgMHoiLGtleToiNHBqMnl4In1dLFsicGF0aCIse2Q6Ik0yMCAzdjQiLGtleToiMW9sbGkxIn1dLFsicGF0aCIse2Q6Ik0yMiA1aC00IixrZXk6IjFndnFhdSJ9XSxbInBhdGgiLHtkOiJNNCAxN3YyIixrZXk6InZ1bWdodCJ9XSxbInBhdGgiLHtkOiJNNSAxOEgzIixrZXk6InpjaHBocyJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBHaT1oZSgiU3RhciIsW1sicGF0aCIse2Q6Ik0xMS41MjUgMi4yOTVhLjUzLjUzIDAgMCAxIC45NSAwbDIuMzEgNC42NzlhMi4xMjMgMi4xMjMgMCAwIDAgMS41OTUgMS4xNmw1LjE2Ni43NTZhLjUzLjUzIDAgMCAxIC4yOTQuOTA0bC0zLjczNiAzLjYzOGEyLjEyMyAyLjEyMyAwIDAgMC0uNjExIDEuODc4bC44ODIgNS4xNGEuNTMuNTMgMCAwIDEtLjc3MS41NmwtNC42MTgtMi40MjhhMi4xMjIgMi4xMjIgMCAwIDAtMS45NzMgMEw2LjM5NiAyMS4wMWEuNTMuNTMgMCAwIDEtLjc3LS41NmwuODgxLTUuMTM5YTIuMTIyIDIuMTIyIDAgMCAwLS42MTEtMS44NzlMMi4xNiA5Ljc5NWEuNTMuNTMgMCAwIDEgLjI5NC0uOTA2bDUuMTY1LS43NTVhMi4xMjIgMi4xMjIgMCAwIDAgMS41OTctMS4xNnoiLGtleToicjA0czdzIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IEZsPWhlKCJUYXJnZXQiLFtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCIsa2V5OiIxbWdsYXkifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNiIsa2V5OiIxdmxmcmgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiIsa2V5OiIxYzlwNzgifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgVjA9aGUoIlRyYXNoMiIsW1sicGF0aCIse2Q6Ik0zIDZoMTgiLGtleToiZDB3bTBqIn1dLFsicGF0aCIse2Q6Ik0xOSA2djE0YzAgMS0xIDItMiAySDdjLTEgMC0yLTEtMi0yVjYiLGtleToiNGFscnQ0In1dLFsicGF0aCIse2Q6Ik04IDZWNGMwLTEgMS0yIDItMmg0YzEgMCAyIDEgMiAydjIiLGtleToidjA3czBlIn1dLFsibGluZSIse3gxOiIxMCIseDI6IjEwIix5MToiMTEiLHkyOiIxNyIsa2V5OiIxdXVmcjUifV0sWyJsaW5lIix7eDE6IjE0Iix4MjoiMTQiLHkxOiIxMSIseTI6IjE3IixrZXk6Inh0eGtkIn1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IEwkPWhlKCJUcmVuZGluZ0Rvd24iLFtbInBvbHlsaW5lIix7cG9pbnRzOiIyMiAxNyAxMy41IDguNSA4LjUgMTMuNSAyIDciLGtleToiMXIydDdrIn1dLFsicG9seWxpbmUiLHtwb2ludHM6IjE2IDE3IDIyIDE3IDIyIDExIixrZXk6IjExdWl1dSJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBHdD1oZSgiVHJlbmRpbmdVcCIsW1sicG9seWxpbmUiLHtwb2ludHM6IjIyIDcgMTMuNSAxNS41IDguNSAxMC41IDIgMTciLGtleToiMTI2bDkwIn1dLFsicG9seWxpbmUiLHtwb2ludHM6IjE2IDcgMjIgNyAyMiAxMyIsa2V5OiJrd3Y4d2QifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgT3I9aGUoIlRyaWFuZ2xlQWxlcnQiLFtbInBhdGgiLHtkOiJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMiLGtleToid21vZW5xIn1dLFsicGF0aCIse2Q6Ik0xMiA5djQiLGtleToianV6cHU3In1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEiLGtleToicDMycDA1In1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IHJvPWhlKCJUcm9waHkiLFtbInBhdGgiLHtkOiJNNiA5SDQuNWEyLjUgMi41IDAgMCAxIDAtNUg2IixrZXk6IjE3aHFhNyJ9XSxbInBhdGgiLHtkOiJNMTggOWgxLjVhMi41IDIuNSAwIDAgMCAwLTVIMTgiLGtleToibG1wdGRwIn1dLFsicGF0aCIse2Q6Ik00IDIyaDE2IixrZXk6IjU3d3h2MCJ9XSxbInBhdGgiLHtkOiJNMTAgMTQuNjZWMTdjMCAuNTUtLjQ3Ljk4LS45NyAxLjIxQzcuODUgMTguNzUgNyAyMC4yNCA3IDIyIixrZXk6IjFudzlicSJ9XSxbInBhdGgiLHtkOiJNMTQgMTQuNjZWMTdjMCAuNTUuNDcuOTguOTcgMS4yMUMxNi4xNSAxOC43NSAxNyAyMC4yNCAxNyAyMiIsa2V5OiIxbnAweWIifV0sWyJwYXRoIix7ZDoiTTE4IDJINnY3YTYgNiAwIDAgMCAxMiAwVjJaIixrZXk6InU0NmZ2MyJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCAkJD1oZSgiVHdpdHRlciIsW1sicGF0aCIse2Q6Ik0yMiA0cy0uNyAyLjEtMiAzLjRjMS42IDEwLTkuNCAxNy4zLTE4IDExLjYgMi4yLjEgNC40LS42IDYtMkMzIDE1LjUuNSA5LjYgMyA1YzIuMiAyLjYgNS42IDQuMSA5IDQtLjktNC4yIDQtNi42IDctMy44IDEuMSAwIDMtMS4yIDMtMS4yeiIsa2V5OiJwZmYwejYifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgSCQ9aGUoIlVwbG9hZCIsW1sicGF0aCIse2Q6Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00IixrZXk6ImloN24zaCJ9XSxbInBvbHlsaW5lIix7cG9pbnRzOiIxNyA4IDEyIDMgNyA4IixrZXk6InQ4ZGQ4cCJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjMiLHkyOiIxNSIsa2V5OiJ3aWRidG8ifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QganJlPWhlKCJVc2VyQ2hlY2siLFtbInBhdGgiLHtkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiIsa2V5OiIxeXlpdHEifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjQiLGtleToibnVmazgifV0sWyJwb2x5bGluZSIse3BvaW50czoiMTYgMTEgMTggMTMgMjIgOSIsa2V5OiIxcHdldDQifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgUjQ9aGUoIlVzZXIiLFtbInBhdGgiLHtkOiJNMTkgMjF2LTJhNCA0IDAgMCAwLTQtNEg5YTQgNCAwIDAgMC00IDR2MiIsa2V5OiI5NzVrZWwifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI3IixyOiI0IixrZXk6IjE3eXMwZCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBOcmU9aGUoIlVzZXJzUm91bmQiLFtbInBhdGgiLHtkOiJNMTggMjFhOCA4IDAgMCAwLTE2IDAiLGtleToiM3lwZzdxIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSIsa2V5OiJvOTMya2UifV0sWyJwYXRoIix7ZDoiTTIyIDIwYzAtMy4zNy0yLTYuNS00LThhNSA1IDAgMCAwLS40NS04LjMiLGtleToiMTBzMDZ4In1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IEF3PWhlKCJVc2VycyIsW1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIixrZXk6IjF5eWl0cSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCIsa2V5OiJudWZrOCJ9XSxbInBhdGgiLHtkOiJNMjIgMjF2LTJhNCA0IDAgMCAwLTMtMy44NyIsa2V5OiJrc2hlZ2QifV0sWyJwYXRoIix7ZDoiTTE2IDMuMTNhNCA0IDAgMCAxIDAgNy43NSIsa2V5OiIxZGE5Y2UifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3Qgbm89aGUoIldhbGxldCIsW1sicGF0aCIse2Q6Ik0xOSA3VjRhMSAxIDAgMCAwLTEtMUg1YTIgMiAwIDAgMCAwIDRoMTVhMSAxIDAgMCAxIDEgMXY0aC0zYTIgMiAwIDAgMCAwIDRoM2ExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTEiLGtleToiMThldGI2In1dLFsicGF0aCIse2Q6Ik0zIDV2MTRhMiAyIDAgMCAwIDIgMmgxNWExIDEgMCAwIDAgMS0xdi00IixrZXk6InhvYzBxNCJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBDYz1oZSgiV2F2ZXMiLFtbInBhdGgiLHtkOiJNMiA2Yy42LjUgMS4yIDEgMi41IDFDNyA3IDcgNSA5LjUgNWMyLjYgMCAyLjQgMiA1IDIgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIixrZXk6Imtuenh1aCJ9XSxbInBhdGgiLHtkOiJNMiAxMmMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAyLjYgMCAyLjQgMiA1IDIgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIixrZXk6IjJqZDJjYyJ9XSxbInBhdGgiLHtkOiJNMiAxOGMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAyLjYgMCAyLjQgMiA1IDIgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIixrZXk6InJkMnI2ZSJ9XV0pOy8qKgogKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDYyLjAgLSBJU0MKICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi9jb25zdCBTaT1oZSgiWCIsW1sicGF0aCIse2Q6Ik0xOCA2IDYgMTgiLGtleToiMWJsNWY4In1dLFsicGF0aCIse2Q6Im02IDYgMTIgMTIiLGtleToiZDhiazZ2In1dXSk7LyoqCiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NjIuMCAtIElTQwogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL2NvbnN0IEskPWhlKCJZb3V0dWJlIixbWyJwYXRoIix7ZDoiTTIuNSAxN2EyNC4xMiAyNC4xMiAwIDAgMSAwLTEwIDIgMiAwIDAgMSAxLjQtMS40IDQ5LjU2IDQ5LjU2IDAgMCAxIDE2LjIgMEEyIDIgMCAwIDEgMjEuNSA3YTI0LjEyIDI0LjEyIDAgMCAxIDAgMTAgMiAyIDAgMCAxLTEuNCAxLjQgNDkuNTUgNDkuNTUgMCAwIDEtMTYuMiAwQTIgMiAwIDAgMSAyLjUgMTciLGtleToiMXEydmk0In1dLFsicGF0aCIse2Q6Im0xMCAxNSA1LTMtNS0zeiIsa2V5OiIxanAxNXgifV1dKTsvKioKICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ2Mi4wIC0gSVNDCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovY29uc3QgTGE9aGUoIlphcCIsW1sicGF0aCIse2Q6Ik00IDE0YTEgMSAwIDAgMS0uNzgtMS42M2w5LjktMTAuMmEuNS41IDAgMCAxIC44Ni40NmwtMS45MiA2LjAyQTEgMSAwIDAgMCAxMyAxMGg3YTEgMSAwIDAgMSAuNzggMS42M2wtOS45IDEwLjJhLjUuNSAwIDAgMS0uODYtLjQ2bDEuOTItNi4wMkExIDEgMCAwIDAgMTEgMTR6IixrZXk6IjF4cTJkYiJ9XV0pLHEyPSItIixDcmU9ZT0+e2NvbnN0IHQ9QnJlKGUpLHtjb25mbGljdGluZ0NsYXNzR3JvdXBzOnIsY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOm59PWU7cmV0dXJue2dldENsYXNzR3JvdXBJZDpvPT57Y29uc3QgbD1vLnNwbGl0KHEyKTtyZXR1cm4gbFswXT09PSIiJiZsLmxlbmd0aCE9PTEmJmwuc2hpZnQoKSxWJChsLHQpfHxfcmUobyl9LGdldENvbmZsaWN0aW5nQ2xhc3NHcm91cElkczoobyxsKT0+e2NvbnN0IGM9cltvXXx8W107cmV0dXJuIGwmJm5bb10/Wy4uLmMsLi4ubltvXV06Y319fSxWJD0oZSx0KT0+e3ZhciBvO2lmKGUubGVuZ3RoPT09MClyZXR1cm4gdC5jbGFzc0dyb3VwSWQ7Y29uc3Qgcj1lWzBdLG49dC5uZXh0UGFydC5nZXQociksYT1uP1YkKGUuc2xpY2UoMSksbik6dm9pZCAwO2lmKGEpcmV0dXJuIGE7aWYodC52YWxpZGF0b3JzLmxlbmd0aD09PTApcmV0dXJuO2NvbnN0IGk9ZS5qb2luKHEyKTtyZXR1cm4obz10LnZhbGlkYXRvcnMuZmluZCgoe3ZhbGlkYXRvcjpsfSk9PmwoaSkpKT09bnVsbD92b2lkIDA6by5jbGFzc0dyb3VwSWR9LFE0PS9eXFsoLispXF0kLyxfcmU9ZT0+e2lmKFE0LnRlc3QoZSkpe2NvbnN0IHQ9UTQuZXhlYyhlKVsxXSxyPXQ9PW51bGw/dm9pZCAwOnQuc3Vic3RyaW5nKDAsdC5pbmRleE9mKCI6IikpO2lmKHIpcmV0dXJuImFyYml0cmFyeS4uIityfX0sQnJlPWU9Pntjb25zdHt0aGVtZTp0LHByZWZpeDpyfT1lLG49e25leHRQYXJ0Om5ldyBNYXAsdmFsaWRhdG9yczpbXX07cmV0dXJuIEVyZShPYmplY3QuZW50cmllcyhlLmNsYXNzR3JvdXBzKSxyKS5mb3JFYWNoKChbaSxvXSk9PntFQyhvLG4saSx0KX0pLG59LEVDPShlLHQscixuKT0+e2UuZm9yRWFjaChhPT57aWYodHlwZW9mIGE9PSJzdHJpbmciKXtjb25zdCBpPWE9PT0iIj90Okw0KHQsYSk7aS5jbGFzc0dyb3VwSWQ9cjtyZXR1cm59aWYodHlwZW9mIGE9PSJmdW5jdGlvbiIpe2lmKFNyZShhKSl7RUMoYShuKSx0LHIsbik7cmV0dXJufXQudmFsaWRhdG9ycy5wdXNoKHt2YWxpZGF0b3I6YSxjbGFzc0dyb3VwSWQ6cn0pO3JldHVybn1PYmplY3QuZW50cmllcyhhKS5mb3JFYWNoKChbaSxvXSk9PntFQyhvLEw0KHQsaSkscixuKX0pfSl9LEw0PShlLHQpPT57bGV0IHI9ZTtyZXR1cm4gdC5zcGxpdChxMikuZm9yRWFjaChuPT57ci5uZXh0UGFydC5oYXMobil8fHIubmV4dFBhcnQuc2V0KG4se25leHRQYXJ0Om5ldyBNYXAsdmFsaWRhdG9yczpbXX0pLHI9ci5uZXh0UGFydC5nZXQobil9KSxyfSxTcmU9ZT0+ZS5pc1RoZW1lR2V0dGVyLEVyZT0oZSx0KT0+dD9lLm1hcCgoW3Isbl0pPT57Y29uc3QgYT1uLm1hcChpPT50eXBlb2YgaT09InN0cmluZyI/dCtpOnR5cGVvZiBpPT0ib2JqZWN0Ij9PYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoaSkubWFwKChbbyxsXSk9Plt0K28sbF0pKTppKTtyZXR1cm5bcixhXX0pOmUsa3JlPWU9PntpZihlPDEpcmV0dXJue2dldDooKT0+e30sc2V0OigpPT57fX07bGV0IHQ9MCxyPW5ldyBNYXAsbj1uZXcgTWFwO2NvbnN0IGE9KGksbyk9PntyLnNldChpLG8pLHQrKyx0PmUmJih0PTAsbj1yLHI9bmV3IE1hcCl9O3JldHVybntnZXQoaSl7bGV0IG89ci5nZXQoaSk7aWYobyE9PXZvaWQgMClyZXR1cm4gbztpZigobz1uLmdldChpKSkhPT12b2lkIDApcmV0dXJuIGEoaSxvKSxvfSxzZXQoaSxvKXtyLmhhcyhpKT9yLnNldChpLG8pOmEoaSxvKX19fSx6JD0iISIsVHJlPWU9Pntjb25zdHtzZXBhcmF0b3I6dCxleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZTpyfT1lLG49dC5sZW5ndGg9PT0xLGE9dFswXSxpPXQubGVuZ3RoLG89bD0+e2NvbnN0IGM9W107bGV0IGQ9MCx1PTAsQTtmb3IobGV0IHg9MDt4PGwubGVuZ3RoO3grKyl7bGV0IHc9bFt4XTtpZihkPT09MCl7aWYodz09PWEmJihufHxsLnNsaWNlKHgseCtpKT09PXQpKXtjLnB1c2gobC5zbGljZSh1LHgpKSx1PXgraTtjb250aW51ZX1pZih3PT09Ii8iKXtBPXg7Y29udGludWV9fXc9PT0iWyI/ZCsrOnc9PT0iXSImJmQtLX1jb25zdCBmPWMubGVuZ3RoPT09MD9sOmwuc3Vic3RyaW5nKHUpLGg9Zi5zdGFydHNXaXRoKHokKSxwPWg/Zi5zdWJzdHJpbmcoMSk6ZixtPUEmJkE+dT9BLXU6dm9pZCAwO3JldHVybnttb2RpZmllcnM6YyxoYXNJbXBvcnRhbnRNb2RpZmllcjpoLGJhc2VDbGFzc05hbWU6cCxtYXliZVBvc3RmaXhNb2RpZmllclBvc2l0aW9uOm19fTtyZXR1cm4gcj9sPT5yKHtjbGFzc05hbWU6bCxwYXJzZUNsYXNzTmFtZTpvfSk6b30sUHJlPWU9PntpZihlLmxlbmd0aDw9MSlyZXR1cm4gZTtjb25zdCB0PVtdO2xldCByPVtdO3JldHVybiBlLmZvckVhY2gobj0+e25bMF09PT0iWyI/KHQucHVzaCguLi5yLnNvcnQoKSxuKSxyPVtdKTpyLnB1c2gobil9KSx0LnB1c2goLi4uci5zb3J0KCkpLHR9LEZyZT1lPT4oe2NhY2hlOmtyZShlLmNhY2hlU2l6ZSkscGFyc2VDbGFzc05hbWU6VHJlKGUpLC4uLkNyZShlKX0pLE9yZT0vXHMrLyxJcmU9KGUsdCk9Pntjb25zdHtwYXJzZUNsYXNzTmFtZTpyLGdldENsYXNzR3JvdXBJZDpuLGdldENvbmZsaWN0aW5nQ2xhc3NHcm91cElkczphfT10LGk9W10sbz1lLnRyaW0oKS5zcGxpdChPcmUpO2xldCBsPSIiO2ZvcihsZXQgYz1vLmxlbmd0aC0xO2M+PTA7Yy09MSl7Y29uc3QgZD1vW2NdLHttb2RpZmllcnM6dSxoYXNJbXBvcnRhbnRNb2RpZmllcjpBLGJhc2VDbGFzc05hbWU6ZixtYXliZVBvc3RmaXhNb2RpZmllclBvc2l0aW9uOmh9PXIoZCk7bGV0IHA9ISFoLG09bihwP2Yuc3Vic3RyaW5nKDAsaCk6Zik7aWYoIW0pe2lmKCFwKXtsPWQrKGwubGVuZ3RoPjA/IiAiK2w6bCk7Y29udGludWV9aWYobT1uKGYpLCFtKXtsPWQrKGwubGVuZ3RoPjA/IiAiK2w6bCk7Y29udGludWV9cD0hMX1jb25zdCB4PVByZSh1KS5qb2luKCI6Iiksdz1BP3greiQ6eCx5PXcrbTtpZihpLmluY2x1ZGVzKHkpKWNvbnRpbnVlO2kucHVzaCh5KTtjb25zdCB2PWEobSxwKTtmb3IobGV0IGI9MDtiPHYubGVuZ3RoOysrYil7Y29uc3Qgaj12W2JdO2kucHVzaCh3K2opfWw9ZCsobC5sZW5ndGg+MD8iICIrbDpsKX1yZXR1cm4gbH07ZnVuY3Rpb24gVXJlKCl7bGV0IGU9MCx0LHIsbj0iIjtmb3IoO2U8YXJndW1lbnRzLmxlbmd0aDspKHQ9YXJndW1lbnRzW2UrK10pJiYocj1XJCh0KSkmJihuJiYobis9IiAiKSxuKz1yKTtyZXR1cm4gbn1jb25zdCBXJD1lPT57aWYodHlwZW9mIGU9PSJzdHJpbmciKXJldHVybiBlO2xldCB0LHI9IiI7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspZVtuXSYmKHQ9VyQoZVtuXSkpJiYociYmKHIrPSIgIikscis9dCk7cmV0dXJuIHJ9O2Z1bmN0aW9uIERyZShlLC4uLnQpe2xldCByLG4sYSxpPW87ZnVuY3Rpb24gbyhjKXtjb25zdCBkPXQucmVkdWNlKCh1LEEpPT5BKHUpLGUoKSk7cmV0dXJuIHI9RnJlKGQpLG49ci5jYWNoZS5nZXQsYT1yLmNhY2hlLnNldCxpPWwsbChjKX1mdW5jdGlvbiBsKGMpe2NvbnN0IGQ9bihjKTtpZihkKXJldHVybiBkO2NvbnN0IHU9SXJlKGMscik7cmV0dXJuIGEoYyx1KSx1fXJldHVybiBmdW5jdGlvbigpe3JldHVybiBpKFVyZS5hcHBseShudWxsLGFyZ3VtZW50cykpfX1jb25zdCBKdD1lPT57Y29uc3QgdD1yPT5yW2VdfHxbXTtyZXR1cm4gdC5pc1RoZW1lR2V0dGVyPSEwLHR9LEckPS9eXFsoPzooW2Etei1dKyk6KT8oLispXF0kL2ksTXJlPS9eXGQrXC9cZCskLyxScmU9bmV3IFNldChbInB4IiwiZnVsbCIsInNjcmVlbiJdKSxRcmU9L14oXGQrKFwuXGQrKT8pPyh4c3xzbXxtZHxsZ3x4bCkkLyxMcmU9L1xkKyglfHB4fHI/ZW18W3NkbF0/dihbaHdpYl18bWlufG1heCl8cHR8cGN8aW58Y218bW18Y2FwfGNofGV4fHI/bGh8Y3Eod3xofGl8YnxtaW58bWF4KSl8XGIoY2FsY3xtaW58bWF4fGNsYW1wKVwoLitcKXxeMCQvLCRyZT0vXihyZ2JhP3xoc2xhP3xod2J8KG9rKT8obGFifGxjaCkpXCguK1wpJC8sSHJlPS9eKGluc2V0Xyk/LT8oKFxkKyk/XC4/KFxkKylbYS16XSt8MClfLT8oKFxkKyk/XC4/KFxkKylbYS16XSt8MCkvLEtyZT0vXih1cmx8aW1hZ2V8aW1hZ2Utc2V0fGNyb3NzLWZhZGV8ZWxlbWVudHwocmVwZWF0aW5nLSk/KGxpbmVhcnxyYWRpYWx8Y29uaWMpLWdyYWRpZW50KVwoLitcKSQvLE1pPWU9PkJ1KGUpfHxScmUuaGFzKGUpfHxNcmUudGVzdChlKSxQbz1lPT5HQShlLCJsZW5ndGgiLEpyZSksQnU9ZT0+ISFlJiYhTnVtYmVyLmlzTmFOKE51bWJlcihlKSksTzE9ZT0+R0EoZSwibnVtYmVyIixCdSksSWY9ZT0+ISFlJiZOdW1iZXIuaXNJbnRlZ2VyKE51bWJlcihlKSksVnJlPWU9PmUuZW5kc1dpdGgoIiUiKSYmQnUoZS5zbGljZSgwLC0xKSksYXQ9ZT0+RyQudGVzdChlKSxGbz1lPT5RcmUudGVzdChlKSx6cmU9bmV3IFNldChbImxlbmd0aCIsInNpemUiLCJwZXJjZW50YWdlIl0pLFdyZT1lPT5HQShlLHpyZSxxJCksR3JlPWU9PkdBKGUsInBvc2l0aW9uIixxJCkscXJlPW5ldyBTZXQoWyJpbWFnZSIsInVybCJdKSxZcmU9ZT0+R0EoZSxxcmUsZW5lKSxYcmU9ZT0+R0EoZSwiIixacmUpLFVmPSgpPT4hMCxHQT0oZSx0LHIpPT57Y29uc3Qgbj1HJC5leGVjKGUpO3JldHVybiBuP25bMV0/dHlwZW9mIHQ9PSJzdHJpbmciP25bMV09PT10OnQuaGFzKG5bMV0pOnIoblsyXSk6ITF9LEpyZT1lPT5McmUudGVzdChlKSYmISRyZS50ZXN0KGUpLHEkPSgpPT4hMSxacmU9ZT0+SHJlLnRlc3QoZSksZW5lPWU9PktyZS50ZXN0KGUpLHRuZT0oKT0+e2NvbnN0IGU9SnQoImNvbG9ycyIpLHQ9SnQoInNwYWNpbmciKSxyPUp0KCJibHVyIiksbj1KdCgiYnJpZ2h0bmVzcyIpLGE9SnQoImJvcmRlckNvbG9yIiksaT1KdCgiYm9yZGVyUmFkaXVzIiksbz1KdCgiYm9yZGVyU3BhY2luZyIpLGw9SnQoImJvcmRlcldpZHRoIiksYz1KdCgiY29udHJhc3QiKSxkPUp0KCJncmF5c2NhbGUiKSx1PUp0KCJodWVSb3RhdGUiKSxBPUp0KCJpbnZlcnQiKSxmPUp0KCJnYXAiKSxoPUp0KCJncmFkaWVudENvbG9yU3RvcHMiKSxwPUp0KCJncmFkaWVudENvbG9yU3RvcFBvc2l0aW9ucyIpLG09SnQoImluc2V0IikseD1KdCgibWFyZ2luIiksdz1KdCgib3BhY2l0eSIpLHk9SnQoInBhZGRpbmciKSx2PUp0KCJzYXR1cmF0ZSIpLGI9SnQoInNjYWxlIiksaj1KdCgic2VwaWEiKSxOPUp0KCJza2V3IiksQz1KdCgic3BhY2UiKSxfPUp0KCJ0cmFuc2xhdGUiKSxCPSgpPT5bImF1dG8iLCJjb250YWluIiwibm9uZSJdLGs9KCk9PlsiYXV0byIsImhpZGRlbiIsImNsaXAiLCJ2aXNpYmxlIiwic2Nyb2xsIl0sRT0oKT0+WyJhdXRvIixhdCx0XSxGPSgpPT5bYXQsdF0sTz0oKT0+WyIiLE1pLFBvXSxTPSgpPT5bImF1dG8iLEJ1LGF0XSxUPSgpPT5bImJvdHRvbSIsImNlbnRlciIsImxlZnQiLCJsZWZ0LWJvdHRvbSIsImxlZnQtdG9wIiwicmlnaHQiLCJyaWdodC1ib3R0b20iLCJyaWdodC10b3AiLCJ0b3AiXSxQPSgpPT5bInNvbGlkIiwiZGFzaGVkIiwiZG90dGVkIiwiZG91YmxlIiwibm9uZSJdLFU9KCk9Plsibm9ybWFsIiwibXVsdGlwbHkiLCJzY3JlZW4iLCJvdmVybGF5IiwiZGFya2VuIiwibGlnaHRlbiIsImNvbG9yLWRvZGdlIiwiY29sb3ItYnVybiIsImhhcmQtbGlnaHQiLCJzb2Z0LWxpZ2h0IiwiZGlmZmVyZW5jZSIsImV4Y2x1c2lvbiIsImh1ZSIsInNhdHVyYXRpb24iLCJjb2xvciIsImx1bWlub3NpdHkiXSxEPSgpPT5bInN0YXJ0IiwiZW5kIiwiY2VudGVyIiwiYmV0d2VlbiIsImFyb3VuZCIsImV2ZW5seSIsInN0cmV0Y2giXSxJPSgpPT5bIiIsIjAiLGF0XSxSPSgpPT5bImF1dG8iLCJhdm9pZCIsImFsbCIsImF2b2lkLXBhZ2UiLCJwYWdlIiwibGVmdCIsInJpZ2h0IiwiY29sdW1uIl0sTD0oKT0+W0J1LGF0XTtyZXR1cm57Y2FjaGVTaXplOjUwMCxzZXBhcmF0b3I6IjoiLHRoZW1lOntjb2xvcnM6W1VmXSxzcGFjaW5nOltNaSxQb10sYmx1cjpbIm5vbmUiLCIiLEZvLGF0XSxicmlnaHRuZXNzOkwoKSxib3JkZXJDb2xvcjpbZV0sYm9yZGVyUmFkaXVzOlsibm9uZSIsIiIsImZ1bGwiLEZvLGF0XSxib3JkZXJTcGFjaW5nOkYoKSxib3JkZXJXaWR0aDpPKCksY29udHJhc3Q6TCgpLGdyYXlzY2FsZTpJKCksaHVlUm90YXRlOkwoKSxpbnZlcnQ6SSgpLGdhcDpGKCksZ3JhZGllbnRDb2xvclN0b3BzOltlXSxncmFkaWVudENvbG9yU3RvcFBvc2l0aW9uczpbVnJlLFBvXSxpbnNldDpFKCksbWFyZ2luOkUoKSxvcGFjaXR5OkwoKSxwYWRkaW5nOkYoKSxzYXR1cmF0ZTpMKCksc2NhbGU6TCgpLHNlcGlhOkkoKSxza2V3OkwoKSxzcGFjZTpGKCksdHJhbnNsYXRlOkYoKX0sY2xhc3NHcm91cHM6e2FzcGVjdDpbe2FzcGVjdDpbImF1dG8iLCJzcXVhcmUiLCJ2aWRlbyIsYXRdfV0sY29udGFpbmVyOlsiY29udGFpbmVyIl0sY29sdW1uczpbe2NvbHVtbnM6W0ZvXX1dLCJicmVhay1hZnRlciI6W3siYnJlYWstYWZ0ZXIiOlIoKX1dLCJicmVhay1iZWZvcmUiOlt7ImJyZWFrLWJlZm9yZSI6UigpfV0sImJyZWFrLWluc2lkZSI6W3siYnJlYWstaW5zaWRlIjpbImF1dG8iLCJhdm9pZCIsImF2b2lkLXBhZ2UiLCJhdm9pZC1jb2x1bW4iXX1dLCJib3gtZGVjb3JhdGlvbiI6W3siYm94LWRlY29yYXRpb24iOlsic2xpY2UiLCJjbG9uZSJdfV0sYm94Olt7Ym94OlsiYm9yZGVyIiwiY29udGVudCJdfV0sZGlzcGxheTpbImJsb2NrIiwiaW5saW5lLWJsb2NrIiwiaW5saW5lIiwiZmxleCIsImlubGluZS1mbGV4IiwidGFibGUiLCJpbmxpbmUtdGFibGUiLCJ0YWJsZS1jYXB0aW9uIiwidGFibGUtY2VsbCIsInRhYmxlLWNvbHVtbiIsInRhYmxlLWNvbHVtbi1ncm91cCIsInRhYmxlLWZvb3Rlci1ncm91cCIsInRhYmxlLWhlYWRlci1ncm91cCIsInRhYmxlLXJvdy1ncm91cCIsInRhYmxlLXJvdyIsImZsb3ctcm9vdCIsImdyaWQiLCJpbmxpbmUtZ3JpZCIsImNvbnRlbnRzIiwibGlzdC1pdGVtIiwiaGlkZGVuIl0sZmxvYXQ6W3tmbG9hdDpbInJpZ2h0IiwibGVmdCIsIm5vbmUiLCJzdGFydCIsImVuZCJdfV0sY2xlYXI6W3tjbGVhcjpbImxlZnQiLCJyaWdodCIsImJvdGgiLCJub25lIiwic3RhcnQiLCJlbmQiXX1dLGlzb2xhdGlvbjpbImlzb2xhdGUiLCJpc29sYXRpb24tYXV0byJdLCJvYmplY3QtZml0Ijpbe29iamVjdDpbImNvbnRhaW4iLCJjb3ZlciIsImZpbGwiLCJub25lIiwic2NhbGUtZG93biJdfV0sIm9iamVjdC1wb3NpdGlvbiI6W3tvYmplY3Q6Wy4uLlQoKSxhdF19XSxvdmVyZmxvdzpbe292ZXJmbG93OmsoKX1dLCJvdmVyZmxvdy14IjpbeyJvdmVyZmxvdy14IjprKCl9XSwib3ZlcmZsb3cteSI6W3sib3ZlcmZsb3cteSI6aygpfV0sb3ZlcnNjcm9sbDpbe292ZXJzY3JvbGw6QigpfV0sIm92ZXJzY3JvbGwteCI6W3sib3ZlcnNjcm9sbC14IjpCKCl9XSwib3ZlcnNjcm9sbC15IjpbeyJvdmVyc2Nyb2xsLXkiOkIoKX1dLHBvc2l0aW9uOlsic3RhdGljIiwiZml4ZWQiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwic3RpY2t5Il0saW5zZXQ6W3tpbnNldDpbbV19XSwiaW5zZXQteCI6W3siaW5zZXQteCI6W21dfV0sImluc2V0LXkiOlt7Imluc2V0LXkiOlttXX1dLHN0YXJ0Olt7c3RhcnQ6W21dfV0sZW5kOlt7ZW5kOlttXX1dLHRvcDpbe3RvcDpbbV19XSxyaWdodDpbe3JpZ2h0OlttXX1dLGJvdHRvbTpbe2JvdHRvbTpbbV19XSxsZWZ0Olt7bGVmdDpbbV19XSx2aXNpYmlsaXR5OlsidmlzaWJsZSIsImludmlzaWJsZSIsImNvbGxhcHNlIl0sejpbe3o6WyJhdXRvIixJZixhdF19XSxiYXNpczpbe2Jhc2lzOkUoKX1dLCJmbGV4LWRpcmVjdGlvbiI6W3tmbGV4Olsicm93Iiwicm93LXJldmVyc2UiLCJjb2wiLCJjb2wtcmV2ZXJzZSJdfV0sImZsZXgtd3JhcCI6W3tmbGV4Olsid3JhcCIsIndyYXAtcmV2ZXJzZSIsIm5vd3JhcCJdfV0sZmxleDpbe2ZsZXg6WyIxIiwiYXV0byIsImluaXRpYWwiLCJub25lIixhdF19XSxncm93Olt7Z3JvdzpJKCl9XSxzaHJpbms6W3tzaHJpbms6SSgpfV0sb3JkZXI6W3tvcmRlcjpbImZpcnN0IiwibGFzdCIsIm5vbmUiLElmLGF0XX1dLCJncmlkLWNvbHMiOlt7ImdyaWQtY29scyI6W1VmXX1dLCJjb2wtc3RhcnQtZW5kIjpbe2NvbDpbImF1dG8iLHtzcGFuOlsiZnVsbCIsSWYsYXRdfSxhdF19XSwiY29sLXN0YXJ0IjpbeyJjb2wtc3RhcnQiOlMoKX1dLCJjb2wtZW5kIjpbeyJjb2wtZW5kIjpTKCl9XSwiZ3JpZC1yb3dzIjpbeyJncmlkLXJvd3MiOltVZl19XSwicm93LXN0YXJ0LWVuZCI6W3tyb3c6WyJhdXRvIix7c3BhbjpbSWYsYXRdfSxhdF19XSwicm93LXN0YXJ0IjpbeyJyb3ctc3RhcnQiOlMoKX1dLCJyb3ctZW5kIjpbeyJyb3ctZW5kIjpTKCl9XSwiZ3JpZC1mbG93IjpbeyJncmlkLWZsb3ciOlsicm93IiwiY29sIiwiZGVuc2UiLCJyb3ctZGVuc2UiLCJjb2wtZGVuc2UiXX1dLCJhdXRvLWNvbHMiOlt7ImF1dG8tY29scyI6WyJhdXRvIiwibWluIiwibWF4IiwiZnIiLGF0XX1dLCJhdXRvLXJvd3MiOlt7ImF1dG8tcm93cyI6WyJhdXRvIiwibWluIiwibWF4IiwiZnIiLGF0XX1dLGdhcDpbe2dhcDpbZl19XSwiZ2FwLXgiOlt7ImdhcC14IjpbZl19XSwiZ2FwLXkiOlt7ImdhcC15IjpbZl19XSwianVzdGlmeS1jb250ZW50Ijpbe2p1c3RpZnk6WyJub3JtYWwiLC4uLkQoKV19XSwianVzdGlmeS1pdGVtcyI6W3sianVzdGlmeS1pdGVtcyI6WyJzdGFydCIsImVuZCIsImNlbnRlciIsInN0cmV0Y2giXX1dLCJqdXN0aWZ5LXNlbGYiOlt7Imp1c3RpZnktc2VsZiI6WyJhdXRvIiwic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJzdHJldGNoIl19XSwiYWxpZ24tY29udGVudCI6W3tjb250ZW50Olsibm9ybWFsIiwuLi5EKCksImJhc2VsaW5lIl19XSwiYWxpZ24taXRlbXMiOlt7aXRlbXM6WyJzdGFydCIsImVuZCIsImNlbnRlciIsImJhc2VsaW5lIiwic3RyZXRjaCJdfV0sImFsaWduLXNlbGYiOlt7c2VsZjpbImF1dG8iLCJzdGFydCIsImVuZCIsImNlbnRlciIsInN0cmV0Y2giLCJiYXNlbGluZSJdfV0sInBsYWNlLWNvbnRlbnQiOlt7InBsYWNlLWNvbnRlbnQiOlsuLi5EKCksImJhc2VsaW5lIl19XSwicGxhY2UtaXRlbXMiOlt7InBsYWNlLWl0ZW1zIjpbInN0YXJ0IiwiZW5kIiwiY2VudGVyIiwiYmFzZWxpbmUiLCJzdHJldGNoIl19XSwicGxhY2Utc2VsZiI6W3sicGxhY2Utc2VsZiI6WyJhdXRvIiwic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJzdHJldGNoIl19XSxwOlt7cDpbeV19XSxweDpbe3B4Olt5XX1dLHB5Olt7cHk6W3ldfV0scHM6W3twczpbeV19XSxwZTpbe3BlOlt5XX1dLHB0Olt7cHQ6W3ldfV0scHI6W3twcjpbeV19XSxwYjpbe3BiOlt5XX1dLHBsOlt7cGw6W3ldfV0sbTpbe206W3hdfV0sbXg6W3tteDpbeF19XSxteTpbe215Olt4XX1dLG1zOlt7bXM6W3hdfV0sbWU6W3ttZTpbeF19XSxtdDpbe210Olt4XX1dLG1yOlt7bXI6W3hdfV0sbWI6W3ttYjpbeF19XSxtbDpbe21sOlt4XX1dLCJzcGFjZS14IjpbeyJzcGFjZS14IjpbQ119XSwic3BhY2UteC1yZXZlcnNlIjpbInNwYWNlLXgtcmV2ZXJzZSJdLCJzcGFjZS15IjpbeyJzcGFjZS15IjpbQ119XSwic3BhY2UteS1yZXZlcnNlIjpbInNwYWNlLXktcmV2ZXJzZSJdLHc6W3t3OlsiYXV0byIsIm1pbiIsIm1heCIsImZpdCIsInN2dyIsImx2dyIsImR2dyIsYXQsdF19XSwibWluLXciOlt7Im1pbi13IjpbYXQsdCwibWluIiwibWF4IiwiZml0Il19XSwibWF4LXciOlt7Im1heC13IjpbYXQsdCwibm9uZSIsImZ1bGwiLCJtaW4iLCJtYXgiLCJmaXQiLCJwcm9zZSIse3NjcmVlbjpbRm9dfSxGb119XSxoOlt7aDpbYXQsdCwiYXV0byIsIm1pbiIsIm1heCIsImZpdCIsInN2aCIsImx2aCIsImR2aCJdfV0sIm1pbi1oIjpbeyJtaW4taCI6W2F0LHQsIm1pbiIsIm1heCIsImZpdCIsInN2aCIsImx2aCIsImR2aCJdfV0sIm1heC1oIjpbeyJtYXgtaCI6W2F0LHQsIm1pbiIsIm1heCIsImZpdCIsInN2aCIsImx2aCIsImR2aCJdfV0sc2l6ZTpbe3NpemU6W2F0LHQsImF1dG8iLCJtaW4iLCJtYXgiLCJmaXQiXX1dLCJmb250LXNpemUiOlt7dGV4dDpbImJhc2UiLEZvLFBvXX1dLCJmb250LXNtb290aGluZyI6WyJhbnRpYWxpYXNlZCIsInN1YnBpeGVsLWFudGlhbGlhc2VkIl0sImZvbnQtc3R5bGUiOlsiaXRhbGljIiwibm90LWl0YWxpYyJdLCJmb250LXdlaWdodCI6W3tmb250OlsidGhpbiIsImV4dHJhbGlnaHQiLCJsaWdodCIsIm5vcm1hbCIsIm1lZGl1bSIsInNlbWlib2xkIiwiYm9sZCIsImV4dHJhYm9sZCIsImJsYWNrIixPMV19XSwiZm9udC1mYW1pbHkiOlt7Zm9udDpbVWZdfV0sImZ2bi1ub3JtYWwiOlsibm9ybWFsLW51bXMiXSwiZnZuLW9yZGluYWwiOlsib3JkaW5hbCJdLCJmdm4tc2xhc2hlZC16ZXJvIjpbInNsYXNoZWQtemVybyJdLCJmdm4tZmlndXJlIjpbImxpbmluZy1udW1zIiwib2xkc3R5bGUtbnVtcyJdLCJmdm4tc3BhY2luZyI6WyJwcm9wb3J0aW9uYWwtbnVtcyIsInRhYnVsYXItbnVtcyJdLCJmdm4tZnJhY3Rpb24iOlsiZGlhZ29uYWwtZnJhY3Rpb25zIiwic3RhY2tlZC1mcmFjdGlvbnMiXSx0cmFja2luZzpbe3RyYWNraW5nOlsidGlnaHRlciIsInRpZ2h0Iiwibm9ybWFsIiwid2lkZSIsIndpZGVyIiwid2lkZXN0IixhdF19XSwibGluZS1jbGFtcCI6W3sibGluZS1jbGFtcCI6WyJub25lIixCdSxPMV19XSxsZWFkaW5nOlt7bGVhZGluZzpbIm5vbmUiLCJ0aWdodCIsInNudWciLCJub3JtYWwiLCJyZWxheGVkIiwibG9vc2UiLE1pLGF0XX1dLCJsaXN0LWltYWdlIjpbeyJsaXN0LWltYWdlIjpbIm5vbmUiLGF0XX1dLCJsaXN0LXN0eWxlLXR5cGUiOlt7bGlzdDpbIm5vbmUiLCJkaXNjIiwiZGVjaW1hbCIsYXRdfV0sImxpc3Qtc3R5bGUtcG9zaXRpb24iOlt7bGlzdDpbImluc2lkZSIsIm91dHNpZGUiXX1dLCJwbGFjZWhvbGRlci1jb2xvciI6W3twbGFjZWhvbGRlcjpbZV19XSwicGxhY2Vob2xkZXItb3BhY2l0eSI6W3sicGxhY2Vob2xkZXItb3BhY2l0eSI6W3ddfV0sInRleHQtYWxpZ25tZW50Ijpbe3RleHQ6WyJsZWZ0IiwiY2VudGVyIiwicmlnaHQiLCJqdXN0aWZ5Iiwic3RhcnQiLCJlbmQiXX1dLCJ0ZXh0LWNvbG9yIjpbe3RleHQ6W2VdfV0sInRleHQtb3BhY2l0eSI6W3sidGV4dC1vcGFjaXR5Ijpbd119XSwidGV4dC1kZWNvcmF0aW9uIjpbInVuZGVybGluZSIsIm92ZXJsaW5lIiwibGluZS10aHJvdWdoIiwibm8tdW5kZXJsaW5lIl0sInRleHQtZGVjb3JhdGlvbi1zdHlsZSI6W3tkZWNvcmF0aW9uOlsuLi5QKCksIndhdnkiXX1dLCJ0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzIjpbe2RlY29yYXRpb246WyJhdXRvIiwiZnJvbS1mb250IixNaSxQb119XSwidW5kZXJsaW5lLW9mZnNldCI6W3sidW5kZXJsaW5lLW9mZnNldCI6WyJhdXRvIixNaSxhdF19XSwidGV4dC1kZWNvcmF0aW9uLWNvbG9yIjpbe2RlY29yYXRpb246W2VdfV0sInRleHQtdHJhbnNmb3JtIjpbInVwcGVyY2FzZSIsImxvd2VyY2FzZSIsImNhcGl0YWxpemUiLCJub3JtYWwtY2FzZSJdLCJ0ZXh0LW92ZXJmbG93IjpbInRydW5jYXRlIiwidGV4dC1lbGxpcHNpcyIsInRleHQtY2xpcCJdLCJ0ZXh0LXdyYXAiOlt7dGV4dDpbIndyYXAiLCJub3dyYXAiLCJiYWxhbmNlIiwicHJldHR5Il19XSxpbmRlbnQ6W3tpbmRlbnQ6RigpfV0sInZlcnRpY2FsLWFsaWduIjpbe2FsaWduOlsiYmFzZWxpbmUiLCJ0b3AiLCJtaWRkbGUiLCJib3R0b20iLCJ0ZXh0LXRvcCIsInRleHQtYm90dG9tIiwic3ViIiwic3VwZXIiLGF0XX1dLHdoaXRlc3BhY2U6W3t3aGl0ZXNwYWNlOlsibm9ybWFsIiwibm93cmFwIiwicHJlIiwicHJlLWxpbmUiLCJwcmUtd3JhcCIsImJyZWFrLXNwYWNlcyJdfV0sYnJlYWs6W3ticmVhazpbIm5vcm1hbCIsIndvcmRzIiwiYWxsIiwia2VlcCJdfV0saHlwaGVuczpbe2h5cGhlbnM6WyJub25lIiwibWFudWFsIiwiYXV0byJdfV0sY29udGVudDpbe2NvbnRlbnQ6WyJub25lIixhdF19XSwiYmctYXR0YWNobWVudCI6W3tiZzpbImZpeGVkIiwibG9jYWwiLCJzY3JvbGwiXX1dLCJiZy1jbGlwIjpbeyJiZy1jbGlwIjpbImJvcmRlciIsInBhZGRpbmciLCJjb250ZW50IiwidGV4dCJdfV0sImJnLW9wYWNpdHkiOlt7ImJnLW9wYWNpdHkiOlt3XX1dLCJiZy1vcmlnaW4iOlt7ImJnLW9yaWdpbiI6WyJib3JkZXIiLCJwYWRkaW5nIiwiY29udGVudCJdfV0sImJnLXBvc2l0aW9uIjpbe2JnOlsuLi5UKCksR3JlXX1dLCJiZy1yZXBlYXQiOlt7Ymc6WyJuby1yZXBlYXQiLHtyZXBlYXQ6WyIiLCJ4IiwieSIsInJvdW5kIiwic3BhY2UiXX1dfV0sImJnLXNpemUiOlt7Ymc6WyJhdXRvIiwiY292ZXIiLCJjb250YWluIixXcmVdfV0sImJnLWltYWdlIjpbe2JnOlsibm9uZSIseyJncmFkaWVudC10byI6WyJ0IiwidHIiLCJyIiwiYnIiLCJiIiwiYmwiLCJsIiwidGwiXX0sWXJlXX1dLCJiZy1jb2xvciI6W3tiZzpbZV19XSwiZ3JhZGllbnQtZnJvbS1wb3MiOlt7ZnJvbTpbcF19XSwiZ3JhZGllbnQtdmlhLXBvcyI6W3t2aWE6W3BdfV0sImdyYWRpZW50LXRvLXBvcyI6W3t0bzpbcF19XSwiZ3JhZGllbnQtZnJvbSI6W3tmcm9tOltoXX1dLCJncmFkaWVudC12aWEiOlt7dmlhOltoXX1dLCJncmFkaWVudC10byI6W3t0bzpbaF19XSxyb3VuZGVkOlt7cm91bmRlZDpbaV19XSwicm91bmRlZC1zIjpbeyJyb3VuZGVkLXMiOltpXX1dLCJyb3VuZGVkLWUiOlt7InJvdW5kZWQtZSI6W2ldfV0sInJvdW5kZWQtdCI6W3sicm91bmRlZC10IjpbaV19XSwicm91bmRlZC1yIjpbeyJyb3VuZGVkLXIiOltpXX1dLCJyb3VuZGVkLWIiOlt7InJvdW5kZWQtYiI6W2ldfV0sInJvdW5kZWQtbCI6W3sicm91bmRlZC1sIjpbaV19XSwicm91bmRlZC1zcyI6W3sicm91bmRlZC1zcyI6W2ldfV0sInJvdW5kZWQtc2UiOlt7InJvdW5kZWQtc2UiOltpXX1dLCJyb3VuZGVkLWVlIjpbeyJyb3VuZGVkLWVlIjpbaV19XSwicm91bmRlZC1lcyI6W3sicm91bmRlZC1lcyI6W2ldfV0sInJvdW5kZWQtdGwiOlt7InJvdW5kZWQtdGwiOltpXX1dLCJyb3VuZGVkLXRyIjpbeyJyb3VuZGVkLXRyIjpbaV19XSwicm91bmRlZC1iciI6W3sicm91bmRlZC1iciI6W2ldfV0sInJvdW5kZWQtYmwiOlt7InJvdW5kZWQtYmwiOltpXX1dLCJib3JkZXItdyI6W3tib3JkZXI6W2xdfV0sImJvcmRlci13LXgiOlt7ImJvcmRlci14IjpbbF19XSwiYm9yZGVyLXcteSI6W3siYm9yZGVyLXkiOltsXX1dLCJib3JkZXItdy1zIjpbeyJib3JkZXItcyI6W2xdfV0sImJvcmRlci13LWUiOlt7ImJvcmRlci1lIjpbbF19XSwiYm9yZGVyLXctdCI6W3siYm9yZGVyLXQiOltsXX1dLCJib3JkZXItdy1yIjpbeyJib3JkZXItciI6W2xdfV0sImJvcmRlci13LWIiOlt7ImJvcmRlci1iIjpbbF19XSwiYm9yZGVyLXctbCI6W3siYm9yZGVyLWwiOltsXX1dLCJib3JkZXItb3BhY2l0eSI6W3siYm9yZGVyLW9wYWNpdHkiOlt3XX1dLCJib3JkZXItc3R5bGUiOlt7Ym9yZGVyOlsuLi5QKCksImhpZGRlbiJdfV0sImRpdmlkZS14IjpbeyJkaXZpZGUteCI6W2xdfV0sImRpdmlkZS14LXJldmVyc2UiOlsiZGl2aWRlLXgtcmV2ZXJzZSJdLCJkaXZpZGUteSI6W3siZGl2aWRlLXkiOltsXX1dLCJkaXZpZGUteS1yZXZlcnNlIjpbImRpdmlkZS15LXJldmVyc2UiXSwiZGl2aWRlLW9wYWNpdHkiOlt7ImRpdmlkZS1vcGFjaXR5Ijpbd119XSwiZGl2aWRlLXN0eWxlIjpbe2RpdmlkZTpQKCl9XSwiYm9yZGVyLWNvbG9yIjpbe2JvcmRlcjpbYV19XSwiYm9yZGVyLWNvbG9yLXgiOlt7ImJvcmRlci14IjpbYV19XSwiYm9yZGVyLWNvbG9yLXkiOlt7ImJvcmRlci15IjpbYV19XSwiYm9yZGVyLWNvbG9yLXMiOlt7ImJvcmRlci1zIjpbYV19XSwiYm9yZGVyLWNvbG9yLWUiOlt7ImJvcmRlci1lIjpbYV19XSwiYm9yZGVyLWNvbG9yLXQiOlt7ImJvcmRlci10IjpbYV19XSwiYm9yZGVyLWNvbG9yLXIiOlt7ImJvcmRlci1yIjpbYV19XSwiYm9yZGVyLWNvbG9yLWIiOlt7ImJvcmRlci1iIjpbYV19XSwiYm9yZGVyLWNvbG9yLWwiOlt7ImJvcmRlci1sIjpbYV19XSwiZGl2aWRlLWNvbG9yIjpbe2RpdmlkZTpbYV19XSwib3V0bGluZS1zdHlsZSI6W3tvdXRsaW5lOlsiIiwuLi5QKCldfV0sIm91dGxpbmUtb2Zmc2V0IjpbeyJvdXRsaW5lLW9mZnNldCI6W01pLGF0XX1dLCJvdXRsaW5lLXciOlt7b3V0bGluZTpbTWksUG9dfV0sIm91dGxpbmUtY29sb3IiOlt7b3V0bGluZTpbZV19XSwicmluZy13Ijpbe3Jpbmc6TygpfV0sInJpbmctdy1pbnNldCI6WyJyaW5nLWluc2V0Il0sInJpbmctY29sb3IiOlt7cmluZzpbZV19XSwicmluZy1vcGFjaXR5IjpbeyJyaW5nLW9wYWNpdHkiOlt3XX1dLCJyaW5nLW9mZnNldC13IjpbeyJyaW5nLW9mZnNldCI6W01pLFBvXX1dLCJyaW5nLW9mZnNldC1jb2xvciI6W3sicmluZy1vZmZzZXQiOltlXX1dLHNoYWRvdzpbe3NoYWRvdzpbIiIsImlubmVyIiwibm9uZSIsRm8sWHJlXX1dLCJzaGFkb3ctY29sb3IiOlt7c2hhZG93OltVZl19XSxvcGFjaXR5Olt7b3BhY2l0eTpbd119XSwibWl4LWJsZW5kIjpbeyJtaXgtYmxlbmQiOlsuLi5VKCksInBsdXMtbGlnaHRlciIsInBsdXMtZGFya2VyIl19XSwiYmctYmxlbmQiOlt7ImJnLWJsZW5kIjpVKCl9XSxmaWx0ZXI6W3tmaWx0ZXI6WyIiLCJub25lIl19XSxibHVyOlt7Ymx1cjpbcl19XSxicmlnaHRuZXNzOlt7YnJpZ2h0bmVzczpbbl19XSxjb250cmFzdDpbe2NvbnRyYXN0OltjXX1dLCJkcm9wLXNoYWRvdyI6W3siZHJvcC1zaGFkb3ciOlsiIiwibm9uZSIsRm8sYXRdfV0sZ3JheXNjYWxlOlt7Z3JheXNjYWxlOltkXX1dLCJodWUtcm90YXRlIjpbeyJodWUtcm90YXRlIjpbdV19XSxpbnZlcnQ6W3tpbnZlcnQ6W0FdfV0sc2F0dXJhdGU6W3tzYXR1cmF0ZTpbdl19XSxzZXBpYTpbe3NlcGlhOltqXX1dLCJiYWNrZHJvcC1maWx0ZXIiOlt7ImJhY2tkcm9wLWZpbHRlciI6WyIiLCJub25lIl19XSwiYmFja2Ryb3AtYmx1ciI6W3siYmFja2Ryb3AtYmx1ciI6W3JdfV0sImJhY2tkcm9wLWJyaWdodG5lc3MiOlt7ImJhY2tkcm9wLWJyaWdodG5lc3MiOltuXX1dLCJiYWNrZHJvcC1jb250cmFzdCI6W3siYmFja2Ryb3AtY29udHJhc3QiOltjXX1dLCJiYWNrZHJvcC1ncmF5c2NhbGUiOlt7ImJhY2tkcm9wLWdyYXlzY2FsZSI6W2RdfV0sImJhY2tkcm9wLWh1ZS1yb3RhdGUiOlt7ImJhY2tkcm9wLWh1ZS1yb3RhdGUiOlt1XX1dLCJiYWNrZHJvcC1pbnZlcnQiOlt7ImJhY2tkcm9wLWludmVydCI6W0FdfV0sImJhY2tkcm9wLW9wYWNpdHkiOlt7ImJhY2tkcm9wLW9wYWNpdHkiOlt3XX1dLCJiYWNrZHJvcC1zYXR1cmF0ZSI6W3siYmFja2Ryb3Atc2F0dXJhdGUiOlt2XX1dLCJiYWNrZHJvcC1zZXBpYSI6W3siYmFja2Ryb3Atc2VwaWEiOltqXX1dLCJib3JkZXItY29sbGFwc2UiOlt7Ym9yZGVyOlsiY29sbGFwc2UiLCJzZXBhcmF0ZSJdfV0sImJvcmRlci1zcGFjaW5nIjpbeyJib3JkZXItc3BhY2luZyI6W29dfV0sImJvcmRlci1zcGFjaW5nLXgiOlt7ImJvcmRlci1zcGFjaW5nLXgiOltvXX1dLCJib3JkZXItc3BhY2luZy15IjpbeyJib3JkZXItc3BhY2luZy15Ijpbb119XSwidGFibGUtbGF5b3V0Ijpbe3RhYmxlOlsiYXV0byIsImZpeGVkIl19XSxjYXB0aW9uOlt7Y2FwdGlvbjpbInRvcCIsImJvdHRvbSJdfV0sdHJhbnNpdGlvbjpbe3RyYW5zaXRpb246WyJub25lIiwiYWxsIiwiIiwiY29sb3JzIiwib3BhY2l0eSIsInNoYWRvdyIsInRyYW5zZm9ybSIsYXRdfV0sZHVyYXRpb246W3tkdXJhdGlvbjpMKCl9XSxlYXNlOlt7ZWFzZTpbImxpbmVhciIsImluIiwib3V0IiwiaW4tb3V0IixhdF19XSxkZWxheTpbe2RlbGF5OkwoKX1dLGFuaW1hdGU6W3thbmltYXRlOlsibm9uZSIsInNwaW4iLCJwaW5nIiwicHVsc2UiLCJib3VuY2UiLGF0XX1dLHRyYW5zZm9ybTpbe3RyYW5zZm9ybTpbIiIsImdwdSIsIm5vbmUiXX1dLHNjYWxlOlt7c2NhbGU6W2JdfV0sInNjYWxlLXgiOlt7InNjYWxlLXgiOltiXX1dLCJzY2FsZS15IjpbeyJzY2FsZS15IjpbYl19XSxyb3RhdGU6W3tyb3RhdGU6W0lmLGF0XX1dLCJ0cmFuc2xhdGUteCI6W3sidHJhbnNsYXRlLXgiOltfXX1dLCJ0cmFuc2xhdGUteSI6W3sidHJhbnNsYXRlLXkiOltfXX1dLCJza2V3LXgiOlt7InNrZXcteCI6W05dfV0sInNrZXcteSI6W3sic2tldy15IjpbTl19XSwidHJhbnNmb3JtLW9yaWdpbiI6W3tvcmlnaW46WyJjZW50ZXIiLCJ0b3AiLCJ0b3AtcmlnaHQiLCJyaWdodCIsImJvdHRvbS1yaWdodCIsImJvdHRvbSIsImJvdHRvbS1sZWZ0IiwibGVmdCIsInRvcC1sZWZ0IixhdF19XSxhY2NlbnQ6W3thY2NlbnQ6WyJhdXRvIixlXX1dLGFwcGVhcmFuY2U6W3thcHBlYXJhbmNlOlsibm9uZSIsImF1dG8iXX1dLGN1cnNvcjpbe2N1cnNvcjpbImF1dG8iLCJkZWZhdWx0IiwicG9pbnRlciIsIndhaXQiLCJ0ZXh0IiwibW92ZSIsImhlbHAiLCJub3QtYWxsb3dlZCIsIm5vbmUiLCJjb250ZXh0LW1lbnUiLCJwcm9ncmVzcyIsImNlbGwiLCJjcm9zc2hhaXIiLCJ2ZXJ0aWNhbC10ZXh0IiwiYWxpYXMiLCJjb3B5Iiwibm8tZHJvcCIsImdyYWIiLCJncmFiYmluZyIsImFsbC1zY3JvbGwiLCJjb2wtcmVzaXplIiwicm93LXJlc2l6ZSIsIm4tcmVzaXplIiwiZS1yZXNpemUiLCJzLXJlc2l6ZSIsInctcmVzaXplIiwibmUtcmVzaXplIiwibnctcmVzaXplIiwic2UtcmVzaXplIiwic3ctcmVzaXplIiwiZXctcmVzaXplIiwibnMtcmVzaXplIiwibmVzdy1yZXNpemUiLCJud3NlLXJlc2l6ZSIsInpvb20taW4iLCJ6b29tLW91dCIsYXRdfV0sImNhcmV0LWNvbG9yIjpbe2NhcmV0OltlXX1dLCJwb2ludGVyLWV2ZW50cyI6W3sicG9pbnRlci1ldmVudHMiOlsibm9uZSIsImF1dG8iXX1dLHJlc2l6ZTpbe3Jlc2l6ZTpbIm5vbmUiLCJ5IiwieCIsIiJdfV0sInNjcm9sbC1iZWhhdmlvciI6W3tzY3JvbGw6WyJhdXRvIiwic21vb3RoIl19XSwic2Nyb2xsLW0iOlt7InNjcm9sbC1tIjpGKCl9XSwic2Nyb2xsLW14IjpbeyJzY3JvbGwtbXgiOkYoKX1dLCJzY3JvbGwtbXkiOlt7InNjcm9sbC1teSI6RigpfV0sInNjcm9sbC1tcyI6W3sic2Nyb2xsLW1zIjpGKCl9XSwic2Nyb2xsLW1lIjpbeyJzY3JvbGwtbWUiOkYoKX1dLCJzY3JvbGwtbXQiOlt7InNjcm9sbC1tdCI6RigpfV0sInNjcm9sbC1tciI6W3sic2Nyb2xsLW1yIjpGKCl9XSwic2Nyb2xsLW1iIjpbeyJzY3JvbGwtbWIiOkYoKX1dLCJzY3JvbGwtbWwiOlt7InNjcm9sbC1tbCI6RigpfV0sInNjcm9sbC1wIjpbeyJzY3JvbGwtcCI6RigpfV0sInNjcm9sbC1weCI6W3sic2Nyb2xsLXB4IjpGKCl9XSwic2Nyb2xsLXB5IjpbeyJzY3JvbGwtcHkiOkYoKX1dLCJzY3JvbGwtcHMiOlt7InNjcm9sbC1wcyI6RigpfV0sInNjcm9sbC1wZSI6W3sic2Nyb2xsLXBlIjpGKCl9XSwic2Nyb2xsLXB0IjpbeyJzY3JvbGwtcHQiOkYoKX1dLCJzY3JvbGwtcHIiOlt7InNjcm9sbC1wciI6RigpfV0sInNjcm9sbC1wYiI6W3sic2Nyb2xsLXBiIjpGKCl9XSwic2Nyb2xsLXBsIjpbeyJzY3JvbGwtcGwiOkYoKX1dLCJzbmFwLWFsaWduIjpbe3NuYXA6WyJzdGFydCIsImVuZCIsImNlbnRlciIsImFsaWduLW5vbmUiXX1dLCJzbmFwLXN0b3AiOlt7c25hcDpbIm5vcm1hbCIsImFsd2F5cyJdfV0sInNuYXAtdHlwZSI6W3tzbmFwOlsibm9uZSIsIngiLCJ5IiwiYm90aCJdfV0sInNuYXAtc3RyaWN0bmVzcyI6W3tzbmFwOlsibWFuZGF0b3J5IiwicHJveGltaXR5Il19XSx0b3VjaDpbe3RvdWNoOlsiYXV0byIsIm5vbmUiLCJtYW5pcHVsYXRpb24iXX1dLCJ0b3VjaC14IjpbeyJ0b3VjaC1wYW4iOlsieCIsImxlZnQiLCJyaWdodCJdfV0sInRvdWNoLXkiOlt7InRvdWNoLXBhbiI6WyJ5IiwidXAiLCJkb3duIl19XSwidG91Y2gtcHoiOlsidG91Y2gtcGluY2gtem9vbSJdLHNlbGVjdDpbe3NlbGVjdDpbIm5vbmUiLCJ0ZXh0IiwiYWxsIiwiYXV0byJdfV0sIndpbGwtY2hhbmdlIjpbeyJ3aWxsLWNoYW5nZSI6WyJhdXRvIiwic2Nyb2xsIiwiY29udGVudHMiLCJ0cmFuc2Zvcm0iLGF0XX1dLGZpbGw6W3tmaWxsOltlLCJub25lIl19XSwic3Ryb2tlLXciOlt7c3Ryb2tlOltNaSxQbyxPMV19XSxzdHJva2U6W3tzdHJva2U6W2UsIm5vbmUiXX1dLHNyOlsic3Itb25seSIsIm5vdC1zci1vbmx5Il0sImZvcmNlZC1jb2xvci1hZGp1c3QiOlt7ImZvcmNlZC1jb2xvci1hZGp1c3QiOlsiYXV0byIsIm5vbmUiXX1dfSxjb25mbGljdGluZ0NsYXNzR3JvdXBzOntvdmVyZmxvdzpbIm92ZXJmbG93LXgiLCJvdmVyZmxvdy15Il0sb3ZlcnNjcm9sbDpbIm92ZXJzY3JvbGwteCIsIm92ZXJzY3JvbGwteSJdLGluc2V0OlsiaW5zZXQteCIsImluc2V0LXkiLCJzdGFydCIsImVuZCIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwibGVmdCJdLCJpbnNldC14IjpbInJpZ2h0IiwibGVmdCJdLCJpbnNldC15IjpbInRvcCIsImJvdHRvbSJdLGZsZXg6WyJiYXNpcyIsImdyb3ciLCJzaHJpbmsiXSxnYXA6WyJnYXAteCIsImdhcC15Il0scDpbInB4IiwicHkiLCJwcyIsInBlIiwicHQiLCJwciIsInBiIiwicGwiXSxweDpbInByIiwicGwiXSxweTpbInB0IiwicGIiXSxtOlsibXgiLCJteSIsIm1zIiwibWUiLCJtdCIsIm1yIiwibWIiLCJtbCJdLG14OlsibXIiLCJtbCJdLG15OlsibXQiLCJtYiJdLHNpemU6WyJ3IiwiaCJdLCJmb250LXNpemUiOlsibGVhZGluZyJdLCJmdm4tbm9ybWFsIjpbImZ2bi1vcmRpbmFsIiwiZnZuLXNsYXNoZWQtemVybyIsImZ2bi1maWd1cmUiLCJmdm4tc3BhY2luZyIsImZ2bi1mcmFjdGlvbiJdLCJmdm4tb3JkaW5hbCI6WyJmdm4tbm9ybWFsIl0sImZ2bi1zbGFzaGVkLXplcm8iOlsiZnZuLW5vcm1hbCJdLCJmdm4tZmlndXJlIjpbImZ2bi1ub3JtYWwiXSwiZnZuLXNwYWNpbmciOlsiZnZuLW5vcm1hbCJdLCJmdm4tZnJhY3Rpb24iOlsiZnZuLW5vcm1hbCJdLCJsaW5lLWNsYW1wIjpbImRpc3BsYXkiLCJvdmVyZmxvdyJdLHJvdW5kZWQ6WyJyb3VuZGVkLXMiLCJyb3VuZGVkLWUiLCJyb3VuZGVkLXQiLCJyb3VuZGVkLXIiLCJyb3VuZGVkLWIiLCJyb3VuZGVkLWwiLCJyb3VuZGVkLXNzIiwicm91bmRlZC1zZSIsInJvdW5kZWQtZWUiLCJyb3VuZGVkLWVzIiwicm91bmRlZC10bCIsInJvdW5kZWQtdHIiLCJyb3VuZGVkLWJyIiwicm91bmRlZC1ibCJdLCJyb3VuZGVkLXMiOlsicm91bmRlZC1zcyIsInJvdW5kZWQtZXMiXSwicm91bmRlZC1lIjpbInJvdW5kZWQtc2UiLCJyb3VuZGVkLWVlIl0sInJvdW5kZWQtdCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC10ciJdLCJyb3VuZGVkLXIiOlsicm91bmRlZC10ciIsInJvdW5kZWQtYnIiXSwicm91bmRlZC1iIjpbInJvdW5kZWQtYnIiLCJyb3VuZGVkLWJsIl0sInJvdW5kZWQtbCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC1ibCJdLCJib3JkZXItc3BhY2luZyI6WyJib3JkZXItc3BhY2luZy14IiwiYm9yZGVyLXNwYWNpbmcteSJdLCJib3JkZXItdyI6WyJib3JkZXItdy1zIiwiYm9yZGVyLXctZSIsImJvcmRlci13LXQiLCJib3JkZXItdy1yIiwiYm9yZGVyLXctYiIsImJvcmRlci13LWwiXSwiYm9yZGVyLXcteCI6WyJib3JkZXItdy1yIiwiYm9yZGVyLXctbCJdLCJib3JkZXItdy15IjpbImJvcmRlci13LXQiLCJib3JkZXItdy1iIl0sImJvcmRlci1jb2xvciI6WyJib3JkZXItY29sb3ItcyIsImJvcmRlci1jb2xvci1lIiwiYm9yZGVyLWNvbG9yLXQiLCJib3JkZXItY29sb3ItciIsImJvcmRlci1jb2xvci1iIiwiYm9yZGVyLWNvbG9yLWwiXSwiYm9yZGVyLWNvbG9yLXgiOlsiYm9yZGVyLWNvbG9yLXIiLCJib3JkZXItY29sb3ItbCJdLCJib3JkZXItY29sb3IteSI6WyJib3JkZXItY29sb3ItdCIsImJvcmRlci1jb2xvci1iIl0sInNjcm9sbC1tIjpbInNjcm9sbC1teCIsInNjcm9sbC1teSIsInNjcm9sbC1tcyIsInNjcm9sbC1tZSIsInNjcm9sbC1tdCIsInNjcm9sbC1tciIsInNjcm9sbC1tYiIsInNjcm9sbC1tbCJdLCJzY3JvbGwtbXgiOlsic2Nyb2xsLW1yIiwic2Nyb2xsLW1sIl0sInNjcm9sbC1teSI6WyJzY3JvbGwtbXQiLCJzY3JvbGwtbWIiXSwic2Nyb2xsLXAiOlsic2Nyb2xsLXB4Iiwic2Nyb2xsLXB5Iiwic2Nyb2xsLXBzIiwic2Nyb2xsLXBlIiwic2Nyb2xsLXB0Iiwic2Nyb2xsLXByIiwic2Nyb2xsLXBiIiwic2Nyb2xsLXBsIl0sInNjcm9sbC1weCI6WyJzY3JvbGwtcHIiLCJzY3JvbGwtcGwiXSwic2Nyb2xsLXB5IjpbInNjcm9sbC1wdCIsInNjcm9sbC1wYiJdLHRvdWNoOlsidG91Y2gteCIsInRvdWNoLXkiLCJ0b3VjaC1weiJdLCJ0b3VjaC14IjpbInRvdWNoIl0sInRvdWNoLXkiOlsidG91Y2giXSwidG91Y2gtcHoiOlsidG91Y2giXX0sY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOnsiZm9udC1zaXplIjpbImxlYWRpbmciXX19fSxybmU9RHJlKHRuZSk7ZnVuY3Rpb24gd2UoLi4uZSl7cmV0dXJuIHJuZSh2dChlKSl9ZnVuY3Rpb24gU3UoZSl7cmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6MixtYXhpbXVtRnJhY3Rpb25EaWdpdHM6Mn0pLmZvcm1hdChlKX1jb25zdCBubmU9YXJlLFkkPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeCh5JCx7cmVmOnIsY2xhc3NOYW1lOndlKCJmaXhlZCB0b3AtMCB6LVsxMDBdIGZsZXggbWF4LWgtc2NyZWVuIHctZnVsbCBmbGV4LWNvbC1yZXZlcnNlIHAtNCBzbTpib3R0b20tMCBzbTpyaWdodC0wIHNtOnRvcC1hdXRvIHNtOmZsZXgtY29sIG1kOm1heC13LVs0MjBweF0iLGUpLC4uLnR9KSk7WSQuZGlzcGxheU5hbWU9eSQuZGlzcGxheU5hbWU7Y29uc3Qgc25lPVdBKCJncm91cCBwb2ludGVyLWV2ZW50cy1hdXRvIHJlbGF0aXZlIGZsZXggdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gc3BhY2UteC00IG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLTJ4bCBib3JkZXItMiBwLTUgcHItOCBzaGFkb3ctMnhsIGJhY2tkcm9wLWJsdXItc20gdHJhbnNpdGlvbi1hbGwgZGF0YS1bc3dpcGU9Y2FuY2VsXTp0cmFuc2xhdGUteC0wIGRhdGEtW3N3aXBlPWVuZF06dHJhbnNsYXRlLXgtW3ZhcigtLXJhZGl4LXRvYXN0LXN3aXBlLWVuZC14KV0gZGF0YS1bc3dpcGU9bW92ZV06dHJhbnNsYXRlLXgtW3ZhcigtLXJhZGl4LXRvYXN0LXN3aXBlLW1vdmUteCldIGRhdGEtW3N3aXBlPW1vdmVdOnRyYW5zaXRpb24tbm9uZSBkYXRhLVtzdGF0ZT1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWNsb3NlZF06YW5pbWF0ZS1vdXQgZGF0YS1bc3dpcGU9ZW5kXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTgwIGRhdGEtW3N0YXRlPWNsb3NlZF06c2xpZGUtb3V0LXRvLXJpZ2h0LWZ1bGwgZGF0YS1bc3RhdGU9b3Blbl06c2xpZGUtaW4tZnJvbS10b3AtZnVsbCBkYXRhLVtzdGF0ZT1vcGVuXTpzbTpzbGlkZS1pbi1mcm9tLWJvdHRvbS1mdWxsIix7dmFyaWFudHM6e3ZhcmlhbnQ6e2RlZmF1bHQ6ImJnLWdyYWRpZW50LXRvLWJyIGZyb20tcHJpbWFyeS85NSB0by1wcmltYXJ5IGJvcmRlci1wcmltYXJ5LzMwIHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIHNoYWRvdy1wcmltYXJ5LzIwIixkZXN0cnVjdGl2ZToiYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1kZXN0cnVjdGl2ZS85NSB0by1kZXN0cnVjdGl2ZSBib3JkZXItZGVzdHJ1Y3RpdmUvMzAgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIHNoYWRvdy1kZXN0cnVjdGl2ZS8yMCJ9fSxkZWZhdWx0VmFyaWFudHM6e3ZhcmlhbnQ6ImRlZmF1bHQifX0pLFgkPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLHZhcmlhbnQ6dCwuLi5yfSxuKT0+cy5qc3godiQse3JlZjpuLGNsYXNzTmFtZTp3ZShzbmUoe3ZhcmlhbnQ6dH0pLGUpLC4uLnJ9KSk7WCQuZGlzcGxheU5hbWU9diQuZGlzcGxheU5hbWU7Y29uc3QgYW5lPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeChqJCx7cmVmOnIsY2xhc3NOYW1lOndlKCJpbmxpbmUtZmxleCBoLTggc2hyaW5rLTAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXRyYW5zcGFyZW50IHB4LTMgdGV4dC1zbSBmb250LW1lZGl1bSByaW5nLW9mZnNldC1iYWNrZ3JvdW5kIHRyYW5zaXRpb24tY29sb3JzIGdyb3VwLVsuZGVzdHJ1Y3RpdmVdOmJvcmRlci1tdXRlZC80MCBob3ZlcjpiZy1zZWNvbmRhcnkgZ3JvdXAtWy5kZXN0cnVjdGl2ZV06aG92ZXI6Ym9yZGVyLWRlc3RydWN0aXZlLzMwIGdyb3VwLVsuZGVzdHJ1Y3RpdmVdOmhvdmVyOmJnLWRlc3RydWN0aXZlIGdyb3VwLVsuZGVzdHJ1Y3RpdmVdOmhvdmVyOnRleHQtZGVzdHJ1Y3RpdmUtZm9yZWdyb3VuZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctcmluZyBmb2N1czpyaW5nLW9mZnNldC0yIGdyb3VwLVsuZGVzdHJ1Y3RpdmVdOmZvY3VzOnJpbmctZGVzdHJ1Y3RpdmUgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIixlKSwuLi50fSkpO2FuZS5kaXNwbGF5TmFtZT1qJC5kaXNwbGF5TmFtZTtjb25zdCBKJD1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3goTiQse3JlZjpyLGNsYXNzTmFtZTp3ZSgiYWJzb2x1dGUgcmlnaHQtMiB0b3AtMiByb3VuZGVkLWZ1bGwgcC0xLjUgYmctYmxhY2svMjAgaG92ZXI6YmctYmxhY2svNDAgdGV4dC13aGl0ZSB0cmFuc2l0aW9uLWFsbCBvcGFjaXR5LTEwMCBob3ZlcjpzY2FsZS0xMTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXdoaXRlLzUwIixlKSwidG9hc3QtY2xvc2UiOiIiLC4uLnQsY2hpbGRyZW46cy5qc3goU2kse2NsYXNzTmFtZToiaC00IHctNCJ9KX0pKTtKJC5kaXNwbGF5TmFtZT1OJC5kaXNwbGF5TmFtZTtjb25zdCBaJD1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3godyQse3JlZjpyLGNsYXNzTmFtZTp3ZSgidGV4dC1iYXNlIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCIsZSksLi4udH0pKTtaJC5kaXNwbGF5TmFtZT13JC5kaXNwbGF5TmFtZTtjb25zdCBlNj1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3goYiQse3JlZjpyLGNsYXNzTmFtZTp3ZSgidGV4dC1zbSBvcGFjaXR5LTkwIixlKSwuLi50fSkpO2U2LmRpc3BsYXlOYW1lPWIkLmRpc3BsYXlOYW1lO2Z1bmN0aW9uIGluZSgpe2NvbnN0e3RvYXN0czplfT1tdGUoKTtyZXR1cm4gcy5qc3hzKG5uZSx7Y2hpbGRyZW46W2UubWFwKGZ1bmN0aW9uKHtpZDp0LHRpdGxlOnIsZGVzY3JpcHRpb246bixhY3Rpb246YSwuLi5pfSl7cmV0dXJuIHMuanN4cyhYJCx7Li4uaSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgZ2FwLTEiLGNoaWxkcmVuOltyJiZzLmpzeChaJCx7Y2hpbGRyZW46cn0pLG4mJnMuanN4KGU2LHtjaGlsZHJlbjpufSldfSksYSxzLmpzeChKJCx7fSldfSx0KX0pLHMuanN4KFkkLHt9KV19KX12YXIgJDQ9WyJsaWdodCIsImRhcmsiXSxvbmU9IihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiLGxuZT1nLmNyZWF0ZUNvbnRleHQodm9pZCAwKSxjbmU9e3NldFRoZW1lOmU9Pnt9LHRoZW1lczpbXX0sZG5lPSgpPT57dmFyIGU7cmV0dXJuKGU9Zy51c2VDb250ZXh0KGxuZSkpIT1udWxsP2U6Y25lfTtnLm1lbW8oKHtmb3JjZWRUaGVtZTplLHN0b3JhZ2VLZXk6dCxhdHRyaWJ1dGU6cixlbmFibGVTeXN0ZW06bixlbmFibGVDb2xvclNjaGVtZTphLGRlZmF1bHRUaGVtZTppLHZhbHVlOm8sYXR0cnM6bCxub25jZTpjfSk9PntsZXQgZD1pPT09InN5c3RlbSIsdT1yPT09ImNsYXNzIj9gdmFyIGQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGM9ZC5jbGFzc0xpc3Q7JHtgYy5yZW1vdmUoJHtsLm1hcChwPT5gJyR7cH0nYCkuam9pbigiLCIpfSlgfTtgOmB2YXIgZD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbj0nJHtyfScscz0nc2V0QXR0cmlidXRlJztgLEE9YT8kNC5pbmNsdWRlcyhpKSYmaT9gaWYoZT09PSdsaWdodCd8fGU9PT0nZGFyayd8fCFlKWQuc3R5bGUuY29sb3JTY2hlbWU9ZXx8JyR7aX0nYDoiaWYoZT09PSdsaWdodCd8fGU9PT0nZGFyaycpZC5zdHlsZS5jb2xvclNjaGVtZT1lIjoiIixmPShwLG09ITEseD0hMCk9PntsZXQgdz1vP29bcF06cCx5PW0/cCsifHwgJyciOmAnJHt3fSdgLHY9IiI7cmV0dXJuIGEmJngmJiFtJiYkNC5pbmNsdWRlcyhwKSYmKHYrPWBkLnN0eWxlLmNvbG9yU2NoZW1lID0gJyR7cH0nO2ApLHI9PT0iY2xhc3MiP218fHc/dis9YGMuYWRkKCR7eX0pYDp2Kz0ibnVsbCI6dyYmKHYrPWBkW3NdKG4sJHt5fSlgKSx2fSxoPWU/YCFmdW5jdGlvbigpeyR7dX0ke2YoZSl9fSgpYDpuP2AhZnVuY3Rpb24oKXt0cnl7JHt1fXZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCcke3R9Jyk7aWYoJ3N5c3RlbSc9PT1lfHwoIWUmJiR7ZH0pKXt2YXIgdD0nJHtvbmV9JyxtPXdpbmRvdy5tYXRjaE1lZGlhKHQpO2lmKG0ubWVkaWEhPT10fHxtLm1hdGNoZXMpeyR7ZigiZGFyayIpfX1lbHNleyR7ZigibGlnaHQiKX19fWVsc2UgaWYoZSl7JHtvP2B2YXIgeD0ke0pTT04uc3RyaW5naWZ5KG8pfTtgOiIifSR7ZihvPyJ4W2VdIjoiZSIsITApfX0ke2Q/IiI6ImVsc2V7IitmKGksITEsITEpKyJ9In0ke0F9fWNhdGNoKGUpe319KClgOmAhZnVuY3Rpb24oKXt0cnl7JHt1fXZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCcke3R9Jyk7aWYoZSl7JHtvP2B2YXIgeD0ke0pTT04uc3RyaW5naWZ5KG8pfTtgOiIifSR7ZihvPyJ4W2VdIjoiZSIsITApfX1lbHNleyR7ZihpLCExLCExKX07fSR7QX19Y2F0Y2godCl7fX0oKTtgO3JldHVybiBnLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIse25vbmNlOmMsZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpofX0pfSk7dmFyIHVuZT1lPT57c3dpdGNoKGUpe2Nhc2Uic3VjY2VzcyI6cmV0dXJuIGhuZTtjYXNlImluZm8iOnJldHVybiBwbmU7Y2FzZSJ3YXJuaW5nIjpyZXR1cm4gbW5lO2Nhc2UiZXJyb3IiOnJldHVybiBnbmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19LEFuZT1BcnJheSgxMikuZmlsbCgwKSxmbmU9KHt2aXNpYmxlOmUsY2xhc3NOYW1lOnR9KT0+Sy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6WyJzb25uZXItbG9hZGluZy13cmFwcGVyIix0XS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpLCJkYXRhLXZpc2libGUiOmV9LEsuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJzb25uZXItc3Bpbm5lciJ9LEFuZS5tYXAoKHIsbik9PksuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJzb25uZXItbG9hZGluZy1iYXIiLGtleTpgc3Bpbm5lci1iYXItJHtufWB9KSkpKSxobmU9Sy5jcmVhdGVFbGVtZW50KCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHZpZXdCb3g6IjAgMCAyMCAyMCIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjIwIix3aWR0aDoiMjAifSxLLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtmaWxsUnVsZToiZXZlbm9kZCIsZDoiTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTMuODU3LTkuODA5YS43NS43NSAwIDAwLTEuMjE0LS44ODJsLTMuNDgzIDQuNzktMS44OC0xLjg4YS43NS43NSAwIDEwLTEuMDYgMS4wNjFsMi41IDIuNWEuNzUuNzUgMCAwMDEuMTM3LS4wODlsNC01LjV6IixjbGlwUnVsZToiZXZlbm9kZCJ9KSksbW5lPUsuY3JlYXRlRWxlbWVudCgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyMCIsd2lkdGg6IjIwIn0sSy5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGQ6Ik05LjQwMSAzLjAwM2MxLjE1NS0yIDQuMDQzLTIgNS4xOTcgMGw3LjM1NSAxMi43NDhjMS4xNTQgMi0uMjkgNC41LTIuNTk5IDQuNUg0LjY0NWMtMi4zMDkgMC0zLjc1Mi0yLjUtMi41OTgtNC41TDkuNCAzLjAwM3pNMTIgOC4yNWEuNzUuNzUgMCAwMS43NS43NXYzLjc1YS43NS43NSAwIDAxLTEuNSAwVjlhLjc1Ljc1IDAgMDEuNzUtLjc1em0wIDguMjVhLjc1Ljc1IDAgMTAwLTEuNS43NS43NSAwIDAwMCAxLjV6IixjbGlwUnVsZToiZXZlbm9kZCJ9KSkscG5lPUsuY3JlYXRlRWxlbWVudCgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyMCIsd2lkdGg6IjIwIn0sSy5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGQ6Ik0xOCAxMGE4IDggMCAxMS0xNiAwIDggOCAwIDAxMTYgMHptLTctNGExIDEgMCAxMS0yIDAgMSAxIDAgMDEyIDB6TTkgOWEuNzUuNzUgMCAwMDAgMS41aC4yNTNhLjI1LjI1IDAgMDEuMjQ0LjMwNGwtLjQ1OSAyLjA2NkExLjc1IDEuNzUgMCAwMDEwLjc0NyAxNUgxMWEuNzUuNzUgMCAwMDAtMS41aC0uMjUzYS4yNS4yNSAwIDAxLS4yNDQtLjMwNGwuNDU5LTIuMDY2QTEuNzUgMS43NSAwIDAwOS4yNTMgOUg5eiIsY2xpcFJ1bGU6ImV2ZW5vZGQifSkpLGduZT1LLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDIwIDIwIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjAiLHdpZHRoOiIyMCJ9LEsuY3JlYXRlRWxlbWVudCgicGF0aCIse2ZpbGxSdWxlOiJldmVub2RkIixkOiJNMTggMTBhOCA4IDAgMTEtMTYgMCA4IDggMCAwMTE2IDB6bS04LTVhLjc1Ljc1IDAgMDEuNzUuNzV2NC41YS43NS43NSAwIDAxLTEuNSAwdi00LjVBLjc1Ljc1IDAgMDExMCA1em0wIDEwYTEgMSAwIDEwMC0yIDEgMSAwIDAwMCAyeiIsY2xpcFJ1bGU6ImV2ZW5vZGQifSkpLHhuZT1LLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsd2lkdGg6IjEyIixoZWlnaHQ6IjEyIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS41IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIn0sSy5jcmVhdGVFbGVtZW50KCJsaW5lIix7eDE6IjE4Iix5MToiNiIseDI6IjYiLHkyOiIxOCJ9KSxLLmNyZWF0ZUVsZW1lbnQoImxpbmUiLHt4MToiNiIseTE6IjYiLHgyOiIxOCIseTI6IjE4In0pKSx5bmU9KCk9PntsZXRbZSx0XT1LLnVzZVN0YXRlKGRvY3VtZW50LmhpZGRlbik7cmV0dXJuIEsudXNlRWZmZWN0KCgpPT57bGV0IHI9KCk9Pnt0KGRvY3VtZW50LmhpZGRlbil9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixyKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHIpfSxbXSksZX0sa0M9MSx2bmU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN1YnNjcmliZT1lPT4odGhpcy5zdWJzY3JpYmVycy5wdXNoKGUpLCgpPT57bGV0IHQ9dGhpcy5zdWJzY3JpYmVycy5pbmRleE9mKGUpO3RoaXMuc3Vic2NyaWJlcnMuc3BsaWNlKHQsMSl9KSx0aGlzLnB1Ymxpc2g9ZT0+e3RoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaCh0PT50KGUpKX0sdGhpcy5hZGRUb2FzdD1lPT57dGhpcy5wdWJsaXNoKGUpLHRoaXMudG9hc3RzPVsuLi50aGlzLnRvYXN0cyxlXX0sdGhpcy5jcmVhdGU9ZT0+e3ZhciB0O2xldHttZXNzYWdlOnIsLi4ubn09ZSxhPXR5cGVvZihlPT1udWxsP3ZvaWQgMDplLmlkKT09Im51bWJlciJ8fCgodD1lLmlkKT09bnVsbD92b2lkIDA6dC5sZW5ndGgpPjA/ZS5pZDprQysrLGk9dGhpcy50b2FzdHMuZmluZChsPT5sLmlkPT09YSksbz1lLmRpc21pc3NpYmxlPT09dm9pZCAwPyEwOmUuZGlzbWlzc2libGU7cmV0dXJuIHRoaXMuZGlzbWlzc2VkVG9hc3RzLmhhcyhhKSYmdGhpcy5kaXNtaXNzZWRUb2FzdHMuZGVsZXRlKGEpLGk/dGhpcy50b2FzdHM9dGhpcy50b2FzdHMubWFwKGw9PmwuaWQ9PT1hPyh0aGlzLnB1Ymxpc2goey4uLmwsLi4uZSxpZDphLHRpdGxlOnJ9KSx7Li4ubCwuLi5lLGlkOmEsZGlzbWlzc2libGU6byx0aXRsZTpyfSk6bCk6dGhpcy5hZGRUb2FzdCh7dGl0bGU6ciwuLi5uLGRpc21pc3NpYmxlOm8saWQ6YX0pLGF9LHRoaXMuZGlzbWlzcz1lPT4odGhpcy5kaXNtaXNzZWRUb2FzdHMuYWRkKGUpLGV8fHRoaXMudG9hc3RzLmZvckVhY2godD0+e3RoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaChyPT5yKHtpZDp0LmlkLGRpc21pc3M6ITB9KSl9KSx0aGlzLnN1YnNjcmliZXJzLmZvckVhY2godD0+dCh7aWQ6ZSxkaXNtaXNzOiEwfSkpLGUpLHRoaXMubWVzc2FnZT0oZSx0KT0+dGhpcy5jcmVhdGUoey4uLnQsbWVzc2FnZTplfSksdGhpcy5lcnJvcj0oZSx0KT0+dGhpcy5jcmVhdGUoey4uLnQsbWVzc2FnZTplLHR5cGU6ImVycm9yIn0pLHRoaXMuc3VjY2Vzcz0oZSx0KT0+dGhpcy5jcmVhdGUoey4uLnQsdHlwZToic3VjY2VzcyIsbWVzc2FnZTplfSksdGhpcy5pbmZvPShlLHQpPT50aGlzLmNyZWF0ZSh7Li4udCx0eXBlOiJpbmZvIixtZXNzYWdlOmV9KSx0aGlzLndhcm5pbmc9KGUsdCk9PnRoaXMuY3JlYXRlKHsuLi50LHR5cGU6Indhcm5pbmciLG1lc3NhZ2U6ZX0pLHRoaXMubG9hZGluZz0oZSx0KT0+dGhpcy5jcmVhdGUoey4uLnQsdHlwZToibG9hZGluZyIsbWVzc2FnZTplfSksdGhpcy5wcm9taXNlPShlLHQpPT57aWYoIXQpcmV0dXJuO2xldCByO3QubG9hZGluZyE9PXZvaWQgMCYmKHI9dGhpcy5jcmVhdGUoey4uLnQscHJvbWlzZTplLHR5cGU6ImxvYWRpbmciLG1lc3NhZ2U6dC5sb2FkaW5nLGRlc2NyaXB0aW9uOnR5cGVvZiB0LmRlc2NyaXB0aW9uIT0iZnVuY3Rpb24iP3QuZGVzY3JpcHRpb246dm9pZCAwfSkpO2xldCBuPWUgaW5zdGFuY2VvZiBQcm9taXNlP2U6ZSgpLGE9ciE9PXZvaWQgMCxpLG89bi50aGVuKGFzeW5jIGM9PntpZihpPVsicmVzb2x2ZSIsY10sSy5pc1ZhbGlkRWxlbWVudChjKSlhPSExLHRoaXMuY3JlYXRlKHtpZDpyLHR5cGU6ImRlZmF1bHQiLG1lc3NhZ2U6Y30pO2Vsc2UgaWYoYm5lKGMpJiYhYy5vayl7YT0hMTtsZXQgZD10eXBlb2YgdC5lcnJvcj09ImZ1bmN0aW9uIj9hd2FpdCB0LmVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7Yy5zdGF0dXN9YCk6dC5lcnJvcix1PXR5cGVvZiB0LmRlc2NyaXB0aW9uPT0iZnVuY3Rpb24iP2F3YWl0IHQuZGVzY3JpcHRpb24oYEhUVFAgZXJyb3IhIHN0YXR1czogJHtjLnN0YXR1c31gKTp0LmRlc2NyaXB0aW9uO3RoaXMuY3JlYXRlKHtpZDpyLHR5cGU6ImVycm9yIixtZXNzYWdlOmQsZGVzY3JpcHRpb246dX0pfWVsc2UgaWYodC5zdWNjZXNzIT09dm9pZCAwKXthPSExO2xldCBkPXR5cGVvZiB0LnN1Y2Nlc3M9PSJmdW5jdGlvbiI/YXdhaXQgdC5zdWNjZXNzKGMpOnQuc3VjY2Vzcyx1PXR5cGVvZiB0LmRlc2NyaXB0aW9uPT0iZnVuY3Rpb24iP2F3YWl0IHQuZGVzY3JpcHRpb24oYyk6dC5kZXNjcmlwdGlvbjt0aGlzLmNyZWF0ZSh7aWQ6cix0eXBlOiJzdWNjZXNzIixtZXNzYWdlOmQsZGVzY3JpcHRpb246dX0pfX0pLmNhdGNoKGFzeW5jIGM9PntpZihpPVsicmVqZWN0IixjXSx0LmVycm9yIT09dm9pZCAwKXthPSExO2xldCBkPXR5cGVvZiB0LmVycm9yPT0iZnVuY3Rpb24iP2F3YWl0IHQuZXJyb3IoYyk6dC5lcnJvcix1PXR5cGVvZiB0LmRlc2NyaXB0aW9uPT0iZnVuY3Rpb24iP2F3YWl0IHQuZGVzY3JpcHRpb24oYyk6dC5kZXNjcmlwdGlvbjt0aGlzLmNyZWF0ZSh7aWQ6cix0eXBlOiJlcnJvciIsbWVzc2FnZTpkLGRlc2NyaXB0aW9uOnV9KX19KS5maW5hbGx5KCgpPT57dmFyIGM7YSYmKHRoaXMuZGlzbWlzcyhyKSxyPXZvaWQgMCksKGM9dC5maW5hbGx5KT09bnVsbHx8Yy5jYWxsKHQpfSksbD0oKT0+bmV3IFByb21pc2UoKGMsZCk9Pm8udGhlbigoKT0+aVswXT09PSJyZWplY3QiP2QoaVsxXSk6YyhpWzFdKSkuY2F0Y2goZCkpO3JldHVybiB0eXBlb2YgciE9InN0cmluZyImJnR5cGVvZiByIT0ibnVtYmVyIj97dW53cmFwOmx9Ok9iamVjdC5hc3NpZ24ocix7dW53cmFwOmx9KX0sdGhpcy5jdXN0b209KGUsdCk9PntsZXQgcj0odD09bnVsbD92b2lkIDA6dC5pZCl8fGtDKys7cmV0dXJuIHRoaXMuY3JlYXRlKHtqc3g6ZShyKSxpZDpyLC4uLnR9KSxyfSx0aGlzLmdldEFjdGl2ZVRvYXN0cz0oKT0+dGhpcy50b2FzdHMuZmlsdGVyKGU9PiF0aGlzLmRpc21pc3NlZFRvYXN0cy5oYXMoZS5pZCkpLHRoaXMuc3Vic2NyaWJlcnM9W10sdGhpcy50b2FzdHM9W10sdGhpcy5kaXNtaXNzZWRUb2FzdHM9bmV3IFNldH19LHRzPW5ldyB2bmUsd25lPShlLHQpPT57bGV0IHI9KHQ9PW51bGw/dm9pZCAwOnQuaWQpfHxrQysrO3JldHVybiB0cy5hZGRUb2FzdCh7dGl0bGU6ZSwuLi50LGlkOnJ9KSxyfSxibmU9ZT0+ZSYmdHlwZW9mIGU9PSJvYmplY3QiJiYib2siaW4gZSYmdHlwZW9mIGUub2s9PSJib29sZWFuIiYmInN0YXR1cyJpbiBlJiZ0eXBlb2YgZS5zdGF0dXM9PSJudW1iZXIiLGpuZT13bmUsTm5lPSgpPT50cy50b2FzdHMsQ25lPSgpPT50cy5nZXRBY3RpdmVUb2FzdHMoKSxXPU9iamVjdC5hc3NpZ24oam5lLHtzdWNjZXNzOnRzLnN1Y2Nlc3MsaW5mbzp0cy5pbmZvLHdhcm5pbmc6dHMud2FybmluZyxlcnJvcjp0cy5lcnJvcixjdXN0b206dHMuY3VzdG9tLG1lc3NhZ2U6dHMubWVzc2FnZSxwcm9taXNlOnRzLnByb21pc2UsZGlzbWlzczp0cy5kaXNtaXNzLGxvYWRpbmc6dHMubG9hZGluZ30se2dldEhpc3Rvcnk6Tm5lLGdldFRvYXN0czpDbmV9KTtmdW5jdGlvbiBfbmUoZSx7aW5zZXJ0QXQ6dH09e30pe2lmKHR5cGVvZiBkb2N1bWVudD4idSIpcmV0dXJuO2xldCByPWRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO24udHlwZT0idGV4dC9jc3MiLHQ9PT0idG9wIiYmci5maXJzdENoaWxkP3IuaW5zZXJ0QmVmb3JlKG4sci5maXJzdENoaWxkKTpyLmFwcGVuZENoaWxkKG4pLG4uc3R5bGVTaGVldD9uLnN0eWxlU2hlZXQuY3NzVGV4dD1lOm4uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSkpfV9uZShgOndoZXJlKGh0bWxbZGlyPSJsdHIiXSksOndoZXJlKFtkYXRhLXNvbm5lci10b2FzdGVyXVtkaXI9Imx0ciJdKXstLXRvYXN0LWljb24tbWFyZ2luLXN0YXJ0OiAtM3B4Oy0tdG9hc3QtaWNvbi1tYXJnaW4tZW5kOiA0cHg7LS10b2FzdC1zdmctbWFyZ2luLXN0YXJ0OiAtMXB4Oy0tdG9hc3Qtc3ZnLW1hcmdpbi1lbmQ6IDBweDstLXRvYXN0LWJ1dHRvbi1tYXJnaW4tc3RhcnQ6IGF1dG87LS10b2FzdC1idXR0b24tbWFyZ2luLWVuZDogMDstLXRvYXN0LWNsb3NlLWJ1dHRvbi1zdGFydDogMDstLXRvYXN0LWNsb3NlLWJ1dHRvbi1lbmQ6IHVuc2V0Oy0tdG9hc3QtY2xvc2UtYnV0dG9uLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0zNSUsIC0zNSUpfTp3aGVyZShodG1sW2Rpcj0icnRsIl0pLDp3aGVyZShbZGF0YS1zb25uZXItdG9hc3Rlcl1bZGlyPSJydGwiXSl7LS10b2FzdC1pY29uLW1hcmdpbi1zdGFydDogNHB4Oy0tdG9hc3QtaWNvbi1tYXJnaW4tZW5kOiAtM3B4Oy0tdG9hc3Qtc3ZnLW1hcmdpbi1zdGFydDogMHB4Oy0tdG9hc3Qtc3ZnLW1hcmdpbi1lbmQ6IC0xcHg7LS10b2FzdC1idXR0b24tbWFyZ2luLXN0YXJ0OiAwOy0tdG9hc3QtYnV0dG9uLW1hcmdpbi1lbmQ6IGF1dG87LS10b2FzdC1jbG9zZS1idXR0b24tc3RhcnQ6IHVuc2V0Oy0tdG9hc3QtY2xvc2UtYnV0dG9uLWVuZDogMDstLXRvYXN0LWNsb3NlLWJ1dHRvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZSgzNSUsIC0zNSUpfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3Rlcl0pe3Bvc2l0aW9uOmZpeGVkO3dpZHRoOnZhcigtLXdpZHRoKTtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxTZWdvZSBVSSxSb2JvdG8sSGVsdmV0aWNhIE5ldWUsQXJpYWwsTm90byBTYW5zLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vamk7LS1ncmF5MTogaHNsKDAsIDAlLCA5OSUpOy0tZ3JheTI6IGhzbCgwLCAwJSwgOTcuMyUpOy0tZ3JheTM6IGhzbCgwLCAwJSwgOTUuMSUpOy0tZ3JheTQ6IGhzbCgwLCAwJSwgOTMlKTstLWdyYXk1OiBoc2woMCwgMCUsIDkwLjklKTstLWdyYXk2OiBoc2woMCwgMCUsIDg4LjclKTstLWdyYXk3OiBoc2woMCwgMCUsIDg1LjglKTstLWdyYXk4OiBoc2woMCwgMCUsIDc4JSk7LS1ncmF5OTogaHNsKDAsIDAlLCA1Ni4xJSk7LS1ncmF5MTA6IGhzbCgwLCAwJSwgNTIuMyUpOy0tZ3JheTExOiBoc2woMCwgMCUsIDQzLjUlKTstLWdyYXkxMjogaHNsKDAsIDAlLCA5JSk7LS1ib3JkZXItcmFkaXVzOiA4cHg7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MDttYXJnaW46MDtsaXN0LXN0eWxlOm5vbmU7b3V0bGluZTpub25lO3otaW5kZXg6OTk5OTk5OTk5O3RyYW5zaXRpb246dHJhbnNmb3JtIC40cyBlYXNlfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1saWZ0ZWQ9InRydWUiXSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpfUBtZWRpYSAoaG92ZXI6IG5vbmUpIGFuZCAocG9pbnRlcjogY29hcnNlKXs6d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtbGlmdGVkPSJ0cnVlIl0pe3RyYW5zZm9ybTpub25lfX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj0icmlnaHQiXSl7cmlnaHQ6dmFyKC0tb2Zmc2V0LXJpZ2h0KX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj0ibGVmdCJdKXtsZWZ0OnZhcigtLW9mZnNldC1sZWZ0KX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj0iY2VudGVyIl0pe2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSl9OndoZXJlKFtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXktcG9zaXRpb249InRvcCJdKXt0b3A6dmFyKC0tb2Zmc2V0LXRvcCl9OndoZXJlKFtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXktcG9zaXRpb249ImJvdHRvbSJdKXtib3R0b206dmFyKC0tb2Zmc2V0LWJvdHRvbSl9OndoZXJlKFtkYXRhLXNvbm5lci10b2FzdF0pey0teTogdHJhbnNsYXRlWSgxMDAlKTstLWxpZnQtYW1vdW50OiBjYWxjKHZhcigtLWxpZnQpICogdmFyKC0tZ2FwKSk7ei1pbmRleDp2YXIoLS16LWluZGV4KTtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7dHJhbnNmb3JtOnZhcigtLXkpO2ZpbHRlcjpibHVyKDApO3RvdWNoLWFjdGlvbjpub25lO3RyYW5zaXRpb246dHJhbnNmb3JtIC40cyxvcGFjaXR5IC40cyxoZWlnaHQgLjRzLGJveC1zaGFkb3cgLjJzO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdXRsaW5lOm5vbmU7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD0idHJ1ZSJdKXtwYWRkaW5nOjE2cHg7YmFja2dyb3VuZDp2YXIoLS1ub3JtYWwtYmcpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbm9ybWFsLWJvcmRlcik7Y29sb3I6dmFyKC0tbm9ybWFsLXRleHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYm9yZGVyLXJhZGl1cyk7Ym94LXNoYWRvdzowIDRweCAxMnB4ICMwMDAwMDAxYTt3aWR0aDp2YXIoLS13aWR0aCk7Zm9udC1zaXplOjEzcHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4fTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdOmZvY3VzLXZpc2libGUpe2JveC1zaGFkb3c6MCA0cHggMTJweCAjMDAwMDAwMWEsMCAwIDAgMnB4ICMwMDAzfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteS1wb3NpdGlvbj0idG9wIl0pe3RvcDowOy0teTogdHJhbnNsYXRlWSgtMTAwJSk7LS1saWZ0OiAxOy0tbGlmdC1hbW91bnQ6IGNhbGMoMSAqIHZhcigtLWdhcCkpfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteS1wb3NpdGlvbj0iYm90dG9tIl0pe2JvdHRvbTowOy0teTogdHJhbnNsYXRlWSgxMDAlKTstLWxpZnQ6IC0xOy0tbGlmdC1hbW91bnQ6IGNhbGModmFyKC0tbGlmdCkgKiB2YXIoLS1nYXApKX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XSkgOndoZXJlKFtkYXRhLWRlc2NyaXB0aW9uXSl7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNDtjb2xvcjppbmhlcml0fTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdKSA6d2hlcmUoW2RhdGEtdGl0bGVdKXtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS41O2NvbG9yOmluaGVyaXR9OndoZXJlKFtkYXRhLXNvbm5lci10b2FzdF0pIDp3aGVyZShbZGF0YS1pY29uXSl7ZGlzcGxheTpmbGV4O2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7cG9zaXRpb246cmVsYXRpdmU7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWxlZnQ6dmFyKC0tdG9hc3QtaWNvbi1tYXJnaW4tc3RhcnQpO21hcmdpbi1yaWdodDp2YXIoLS10b2FzdC1pY29uLW1hcmdpbi1lbmQpfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtcHJvbWlzZT0idHJ1ZSJdKSA6d2hlcmUoW2RhdGEtaWNvbl0pPnN2Z3tvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC44KTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjthbmltYXRpb246c29ubmVyLWZhZGUtaW4gLjNzIGVhc2UgZm9yd2FyZHN9OndoZXJlKFtkYXRhLXNvbm5lci10b2FzdF0pIDp3aGVyZShbZGF0YS1pY29uXSk+KntmbGV4LXNocmluazowfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdKSA6d2hlcmUoW2RhdGEtaWNvbl0pIHN2Z3ttYXJnaW4tbGVmdDp2YXIoLS10b2FzdC1zdmctbWFyZ2luLXN0YXJ0KTttYXJnaW4tcmlnaHQ6dmFyKC0tdG9hc3Qtc3ZnLW1hcmdpbi1lbmQpfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdKSA6d2hlcmUoW2RhdGEtY29udGVudF0pe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWJ1dHRvbl17Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZy1sZWZ0OjhweDtwYWRkaW5nLXJpZ2h0OjhweDtoZWlnaHQ6MjRweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1ub3JtYWwtYmcpO2JhY2tncm91bmQ6dmFyKC0tbm9ybWFsLXRleHQpO21hcmdpbi1sZWZ0OnZhcigtLXRvYXN0LWJ1dHRvbi1tYXJnaW4tc3RhcnQpO21hcmdpbi1yaWdodDp2YXIoLS10b2FzdC1idXR0b24tbWFyZ2luLWVuZCk7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTpub25lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzLGJveC1zaGFkb3cgLjJzfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdKSA6d2hlcmUoW2RhdGEtYnV0dG9uXSk6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgMCAwIDJweCAjMDAwNn06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XSkgOndoZXJlKFtkYXRhLWJ1dHRvbl0pOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6dmFyKC0tdG9hc3QtYnV0dG9uLW1hcmdpbi1zdGFydCk7bWFyZ2luLXJpZ2h0OnZhcigtLXRvYXN0LWJ1dHRvbi1tYXJnaW4tZW5kKX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XSkgOndoZXJlKFtkYXRhLWNhbmNlbF0pe2NvbG9yOnZhcigtLW5vcm1hbC10ZXh0KTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA4KX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXRoZW1lPSJkYXJrIl0pIDp3aGVyZShbZGF0YS1jYW5jZWxdKXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdKSA6d2hlcmUoW2RhdGEtY2xvc2UtYnV0dG9uXSl7cG9zaXRpb246YWJzb2x1dGU7bGVmdDp2YXIoLS10b2FzdC1jbG9zZS1idXR0b24tc3RhcnQpO3JpZ2h0OnZhcigtLXRvYXN0LWNsb3NlLWJ1dHRvbi1lbmQpO3RvcDowO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MDtjb2xvcjp2YXIoLS1ncmF5MTIpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tZ3JheTQpO3RyYW5zZm9ybTp2YXIoLS10b2FzdC1jbG9zZS1idXR0b24tdHJhbnNmb3JtKTtib3JkZXItcmFkaXVzOjUwJTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjE7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyxiYWNrZ3JvdW5kIC4ycyxib3JkZXItY29sb3IgLjJzfVtkYXRhLXNvbm5lci10b2FzdF0gW2RhdGEtY2xvc2UtYnV0dG9uXXtiYWNrZ3JvdW5kOnZhcigtLWdyYXkxKX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XSkgOndoZXJlKFtkYXRhLWNsb3NlLWJ1dHRvbl0pOmZvY3VzLXZpc2libGV7Ym94LXNoYWRvdzowIDRweCAxMnB4ICMwMDAwMDAxYSwwIDAgMCAycHggIzAwMDN9OndoZXJlKFtkYXRhLXNvbm5lci10b2FzdF0pIDp3aGVyZShbZGF0YS1kaXNhYmxlZD0idHJ1ZSJdKXtjdXJzb3I6bm90LWFsbG93ZWR9OndoZXJlKFtkYXRhLXNvbm5lci10b2FzdF0pOmhvdmVyIDp3aGVyZShbZGF0YS1jbG9zZS1idXR0b25dKTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWdyYXkyKTtib3JkZXItY29sb3I6dmFyKC0tZ3JheTUpfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGluZz0idHJ1ZSJdKTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi01MCU7cmlnaHQ6LTUwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Oi0xfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteS1wb3NpdGlvbj0idG9wIl1bZGF0YS1zd2lwaW5nPSJ0cnVlIl0pOmJlZm9yZXtib3R0b206NTAlO3RyYW5zZm9ybTpzY2FsZVkoMykgdHJhbnNsYXRlWSg1MCUpfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteS1wb3NpdGlvbj0iYm90dG9tIl1bZGF0YS1zd2lwaW5nPSJ0cnVlIl0pOmJlZm9yZXt0b3A6NTAlO3RyYW5zZm9ybTpzY2FsZVkoMykgdHJhbnNsYXRlWSgtNTAlKX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBpbmc9ImZhbHNlIl1bZGF0YS1yZW1vdmVkPSJ0cnVlIl0pOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7dHJhbnNmb3JtOnNjYWxlWSgyKX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XSk6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7aGVpZ2h0OmNhbGModmFyKC0tZ2FwKSArIDFweCk7Ym90dG9tOjEwMCU7d2lkdGg6MTAwJX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLW1vdW50ZWQ9InRydWUiXSl7LS15OiB0cmFuc2xhdGVZKDApO29wYWNpdHk6MX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWV4cGFuZGVkPSJmYWxzZSJdW2RhdGEtZnJvbnQ9ImZhbHNlIl0pey0tc2NhbGU6IHZhcigtLXRvYXN0cy1iZWZvcmUpICogLjA1ICsgMTstLXk6IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1saWZ0LWFtb3VudCkgKiB2YXIoLS10b2FzdHMtYmVmb3JlKSkpIHNjYWxlKGNhbGMoLTEgKiB2YXIoLS1zY2FsZSkpKTtoZWlnaHQ6dmFyKC0tZnJvbnQtdG9hc3QtaGVpZ2h0KX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XSk+Knt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtZXhwYW5kZWQ9ImZhbHNlIl1bZGF0YS1mcm9udD0iZmFsc2UiXVtkYXRhLXN0eWxlZD0idHJ1ZSJdKT4qe29wYWNpdHk6MH06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXZpc2libGU9ImZhbHNlIl0pe29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtbW91bnRlZD0idHJ1ZSJdW2RhdGEtZXhwYW5kZWQ9InRydWUiXSl7LS15OiB0cmFuc2xhdGVZKGNhbGModmFyKC0tbGlmdCkgKiB2YXIoLS1vZmZzZXQpKSk7aGVpZ2h0OnZhcigtLWluaXRpYWwtaGVpZ2h0KX06d2hlcmUoW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXJlbW92ZWQ9InRydWUiXVtkYXRhLWZyb250PSJ0cnVlIl1bZGF0YS1zd2lwZS1vdXQ9ImZhbHNlIl0pey0teTogdHJhbnNsYXRlWShjYWxjKHZhcigtLWxpZnQpICogLTEwMCUpKTtvcGFjaXR5OjB9OndoZXJlKFtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1yZW1vdmVkPSJ0cnVlIl1bZGF0YS1mcm9udD0iZmFsc2UiXVtkYXRhLXN3aXBlLW91dD0iZmFsc2UiXVtkYXRhLWV4cGFuZGVkPSJ0cnVlIl0pey0teTogdHJhbnNsYXRlWShjYWxjKHZhcigtLWxpZnQpICogdmFyKC0tb2Zmc2V0KSArIHZhcigtLWxpZnQpICogLTEwMCUpKTtvcGFjaXR5OjB9OndoZXJlKFtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1yZW1vdmVkPSJ0cnVlIl1bZGF0YS1mcm9udD0iZmFsc2UiXVtkYXRhLXN3aXBlLW91dD0iZmFsc2UiXVtkYXRhLWV4cGFuZGVkPSJmYWxzZSJdKXstLXk6IHRyYW5zbGF0ZVkoNDAlKTtvcGFjaXR5OjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjVzLG9wYWNpdHkgLjJzfTp3aGVyZShbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtcmVtb3ZlZD0idHJ1ZSJdW2RhdGEtZnJvbnQ9ImZhbHNlIl0pOmJlZm9yZXtoZWlnaHQ6Y2FsYyh2YXIoLS1pbml0aWFsLWhlaWdodCkgKyAyMCUpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwaW5nPXRydWVde3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVZKHZhcigtLXN3aXBlLWFtb3VudC15LCAwcHgpKSB0cmFuc2xhdGUodmFyKC0tc3dpcGUtYW1vdW50LXgsIDBweCkpO3RyYW5zaXRpb246bm9uZX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGVkPXRydWVde3VzZXItc2VsZWN0Om5vbmV9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBlLW91dD10cnVlXVtkYXRhLXktcG9zaXRpb249Ym90dG9tXSxbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGUtb3V0PXRydWVdW2RhdGEteS1wb3NpdGlvbj10b3Bde2FuaW1hdGlvbi1kdXJhdGlvbjouMnM7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZS1vdXQ9dHJ1ZV1bZGF0YS1zd2lwZS1kaXJlY3Rpb249bGVmdF17YW5pbWF0aW9uLW5hbWU6c3dpcGUtb3V0LWxlZnR9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBlLW91dD10cnVlXVtkYXRhLXN3aXBlLWRpcmVjdGlvbj1yaWdodF17YW5pbWF0aW9uLW5hbWU6c3dpcGUtb3V0LXJpZ2h0fVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZS1vdXQ9dHJ1ZV1bZGF0YS1zd2lwZS1kaXJlY3Rpb249dXBde2FuaW1hdGlvbi1uYW1lOnN3aXBlLW91dC11cH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGUtb3V0PXRydWVdW2RhdGEtc3dpcGUtZGlyZWN0aW9uPWRvd25de2FuaW1hdGlvbi1uYW1lOnN3aXBlLW91dC1kb3dufUBrZXlmcmFtZXMgc3dpcGUtb3V0LWxlZnR7MCV7dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZSh2YXIoLS1zd2lwZS1hbW91bnQteCkpO29wYWNpdHk6MX10b3t0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlKGNhbGModmFyKC0tc3dpcGUtYW1vdW50LXgpIC0gMTAwJSkpO29wYWNpdHk6MH19QGtleWZyYW1lcyBzd2lwZS1vdXQtcmlnaHR7MCV7dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZSh2YXIoLS1zd2lwZS1hbW91bnQteCkpO29wYWNpdHk6MX10b3t0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlKGNhbGModmFyKC0tc3dpcGUtYW1vdW50LXgpICsgMTAwJSkpO29wYWNpdHk6MH19QGtleWZyYW1lcyBzd2lwZS1vdXQtdXB7MCV7dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkodmFyKC0tc3dpcGUtYW1vdW50LXkpKTtvcGFjaXR5OjF9dG97dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1zd2lwZS1hbW91bnQteSkgLSAxMDAlKSk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHN3aXBlLW91dC1kb3duezAle3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVZKHZhcigtLXN3aXBlLWFtb3VudC15KSk7b3BhY2l0eToxfXRve3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVZKGNhbGModmFyKC0tc3dpcGUtYW1vdW50LXkpICsgMTAwJSkpO29wYWNpdHk6MH19QG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KXtbZGF0YS1zb25uZXItdG9hc3Rlcl17cG9zaXRpb246Zml4ZWQ7cmlnaHQ6dmFyKC0tbW9iaWxlLW9mZnNldC1yaWdodCk7bGVmdDp2YXIoLS1tb2JpbGUtb2Zmc2V0LWxlZnQpO3dpZHRoOjEwMCV9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2Rpcj1ydGxde2xlZnQ6Y2FsYyh2YXIoLS1tb2JpbGUtb2Zmc2V0LWxlZnQpICogLTEpfVtkYXRhLXNvbm5lci10b2FzdGVyXSBbZGF0YS1zb25uZXItdG9hc3Rde2xlZnQ6MDtyaWdodDowO3dpZHRoOmNhbGMoMTAwJSAtIHZhcigtLW1vYmlsZS1vZmZzZXQtbGVmdCkgKiAyKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS14LXBvc2l0aW9uPWxlZnRde2xlZnQ6dmFyKC0tbW9iaWxlLW9mZnNldC1sZWZ0KX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV17Ym90dG9tOnZhcigtLW1vYmlsZS1vZmZzZXQtYm90dG9tKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS15LXBvc2l0aW9uPXRvcF17dG9wOnZhcigtLW1vYmlsZS1vZmZzZXQtdG9wKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS14LXBvc2l0aW9uPWNlbnRlcl17bGVmdDp2YXIoLS1tb2JpbGUtb2Zmc2V0LWxlZnQpO3JpZ2h0OnZhcigtLW1vYmlsZS1vZmZzZXQtcmlnaHQpO3RyYW5zZm9ybTpub25lfX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS10aGVtZT1saWdodF17LS1ub3JtYWwtYmc6ICNmZmY7LS1ub3JtYWwtYm9yZGVyOiB2YXIoLS1ncmF5NCk7LS1ub3JtYWwtdGV4dDogdmFyKC0tZ3JheTEyKTstLXN1Y2Nlc3MtYmc6IGhzbCgxNDMsIDg1JSwgOTYlKTstLXN1Y2Nlc3MtYm9yZGVyOiBoc2woMTQ1LCA5MiUsIDkxJSk7LS1zdWNjZXNzLXRleHQ6IGhzbCgxNDAsIDEwMCUsIDI3JSk7LS1pbmZvLWJnOiBoc2woMjA4LCAxMDAlLCA5NyUpOy0taW5mby1ib3JkZXI6IGhzbCgyMjEsIDkxJSwgOTElKTstLWluZm8tdGV4dDogaHNsKDIxMCwgOTIlLCA0NSUpOy0td2FybmluZy1iZzogaHNsKDQ5LCAxMDAlLCA5NyUpOy0td2FybmluZy1ib3JkZXI6IGhzbCg0OSwgOTElLCA5MSUpOy0td2FybmluZy10ZXh0OiBoc2woMzEsIDkyJSwgNDUlKTstLWVycm9yLWJnOiBoc2woMzU5LCAxMDAlLCA5NyUpOy0tZXJyb3ItYm9yZGVyOiBoc2woMzU5LCAxMDAlLCA5NCUpOy0tZXJyb3ItdGV4dDogaHNsKDM2MCwgMTAwJSwgNDUlKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS10aGVtZT1saWdodF0gW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWludmVydD10cnVlXXstLW5vcm1hbC1iZzogIzAwMDstLW5vcm1hbC1ib3JkZXI6IGhzbCgwLCAwJSwgMjAlKTstLW5vcm1hbC10ZXh0OiB2YXIoLS1ncmF5MSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtdGhlbWU9ZGFya10gW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWludmVydD10cnVlXXstLW5vcm1hbC1iZzogI2ZmZjstLW5vcm1hbC1ib3JkZXI6IHZhcigtLWdyYXkzKTstLW5vcm1hbC10ZXh0OiB2YXIoLS1ncmF5MTIpfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXRoZW1lPWRhcmtdey0tbm9ybWFsLWJnOiAjMDAwOy0tbm9ybWFsLWJnLWhvdmVyOiBoc2woMCwgMCUsIDEyJSk7LS1ub3JtYWwtYm9yZGVyOiBoc2woMCwgMCUsIDIwJSk7LS1ub3JtYWwtYm9yZGVyLWhvdmVyOiBoc2woMCwgMCUsIDI1JSk7LS1ub3JtYWwtdGV4dDogdmFyKC0tZ3JheTEpOy0tc3VjY2Vzcy1iZzogaHNsKDE1MCwgMTAwJSwgNiUpOy0tc3VjY2Vzcy1ib3JkZXI6IGhzbCgxNDcsIDEwMCUsIDEyJSk7LS1zdWNjZXNzLXRleHQ6IGhzbCgxNTAsIDg2JSwgNjUlKTstLWluZm8tYmc6IGhzbCgyMTUsIDEwMCUsIDYlKTstLWluZm8tYm9yZGVyOiBoc2woMjIzLCAxMDAlLCAxMiUpOy0taW5mby10ZXh0OiBoc2woMjE2LCA4NyUsIDY1JSk7LS13YXJuaW5nLWJnOiBoc2woNjQsIDEwMCUsIDYlKTstLXdhcm5pbmctYm9yZGVyOiBoc2woNjAsIDEwMCUsIDEyJSk7LS13YXJuaW5nLXRleHQ6IGhzbCg0NiwgODclLCA2NSUpOy0tZXJyb3ItYmc6IGhzbCgzNTgsIDc2JSwgMTAlKTstLWVycm9yLWJvcmRlcjogaHNsKDM1NywgODklLCAxNiUpOy0tZXJyb3ItdGV4dDogaHNsKDM1OCwgMTAwJSwgODElKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS10aGVtZT1kYXJrXSBbZGF0YS1zb25uZXItdG9hc3RdIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS1ub3JtYWwtYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1ub3JtYWwtYm9yZGVyKTtjb2xvcjp2YXIoLS1ub3JtYWwtdGV4dCl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtdGhlbWU9ZGFya10gW2RhdGEtc29ubmVyLXRvYXN0XSBbZGF0YS1jbG9zZS1idXR0b25dOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tbm9ybWFsLWJnLWhvdmVyKTtib3JkZXItY29sb3I6dmFyKC0tbm9ybWFsLWJvcmRlci1ob3Zlcil9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1zdWNjZXNzXSxbZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPXN1Y2Nlc3NdIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLWJnKTtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcy1ib3JkZXIpO2NvbG9yOnZhcigtLXN1Y2Nlc3MtdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1pbmZvXSxbZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPWluZm9dIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS1pbmZvLWJnKTtib3JkZXItY29sb3I6dmFyKC0taW5mby1ib3JkZXIpO2NvbG9yOnZhcigtLWluZm8tdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT13YXJuaW5nXSxbZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPXdhcm5pbmddIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLWJnKTtib3JkZXItY29sb3I6dmFyKC0td2FybmluZy1ib3JkZXIpO2NvbG9yOnZhcigtLXdhcm5pbmctdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1lcnJvcl0sW2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1lcnJvcl0gW2RhdGEtY2xvc2UtYnV0dG9uXXtiYWNrZ3JvdW5kOnZhcigtLWVycm9yLWJnKTtib3JkZXItY29sb3I6dmFyKC0tZXJyb3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1lcnJvci10ZXh0KX0uc29ubmVyLWxvYWRpbmctd3JhcHBlcnstLXNpemU6IDE2cHg7aGVpZ2h0OnZhcigtLXNpemUpO3dpZHRoOnZhcigtLXNpemUpO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxMH0uc29ubmVyLWxvYWRpbmctd3JhcHBlcltkYXRhLXZpc2libGU9ZmFsc2Vde3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzb25uZXItZmFkZS1vdXQgLjJzIGVhc2UgZm9yd2FyZHN9LnNvbm5lci1zcGlubmVye3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDo1MCU7bGVmdDo1MCU7aGVpZ2h0OnZhcigtLXNpemUpO3dpZHRoOnZhcigtLXNpemUpfS5zb25uZXItbG9hZGluZy1iYXJ7YW5pbWF0aW9uOnNvbm5lci1zcGluIDEuMnMgbGluZWFyIGluZmluaXRlO2JhY2tncm91bmQ6dmFyKC0tZ3JheTExKTtib3JkZXItcmFkaXVzOjZweDtoZWlnaHQ6OCU7bGVmdDotMTAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMy45JTt3aWR0aDoyNCV9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoMSl7YW5pbWF0aW9uLWRlbGF5Oi0xLjJzO3RyYW5zZm9ybTpyb3RhdGUoLjAwMDFkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCgyKXthbmltYXRpb24tZGVsYXk6LTEuMXM7dHJhbnNmb3JtOnJvdGF0ZSgzMGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDMpe2FuaW1hdGlvbi1kZWxheTotMXM7dHJhbnNmb3JtOnJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDQpe2FuaW1hdGlvbi1kZWxheTotLjlzO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LS44czt0cmFuc2Zvcm06cm90YXRlKDEyMGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDYpe2FuaW1hdGlvbi1kZWxheTotLjdzO3RyYW5zZm9ybTpyb3RhdGUoMTUwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi0uNnM7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LS41czt0cmFuc2Zvcm06cm90YXRlKDIxMGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDkpe2FuaW1hdGlvbi1kZWxheTotLjRzO3RyYW5zZm9ybTpyb3RhdGUoMjQwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoMTApe2FuaW1hdGlvbi1kZWxheTotLjNzO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoMTEpe2FuaW1hdGlvbi1kZWxheTotLjJzO3RyYW5zZm9ybTpyb3RhdGUoMzAwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoMTIpe2FuaW1hdGlvbi1kZWxheTotLjFzO3RyYW5zZm9ybTpyb3RhdGUoMzMwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9QGtleWZyYW1lcyBzb25uZXItZmFkZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC44KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIHNvbm5lci1mYWRlLW91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjgpfX1Aa2V5ZnJhbWVzIHNvbm5lci1zcGluezAle29wYWNpdHk6MX10b3tvcGFjaXR5Oi4xNX19QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKXtbZGF0YS1zb25uZXItdG9hc3RdLFtkYXRhLXNvbm5lci10b2FzdF0+Kiwuc29ubmVyLWxvYWRpbmctYmFye3RyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50fX0uc29ubmVyLWxvYWRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzLHRyYW5zZm9ybSAuMnN9LnNvbm5lci1sb2FkZXJbZGF0YS12aXNpYmxlPWZhbHNlXXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC44KSB0cmFuc2xhdGUoLTUwJSwtNTAlKX0KYCk7ZnVuY3Rpb24gUWcoZSl7cmV0dXJuIGUubGFiZWwhPT12b2lkIDB9dmFyIEJuZT0zLFNuZT0iMzJweCIsRW5lPSIxNnB4IixIND00ZTMsa25lPTM1NixUbmU9MTQsUG5lPTIwLEZuZT0yMDA7ZnVuY3Rpb24gcGEoLi4uZSl7cmV0dXJuIGUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKX1mdW5jdGlvbiBPbmUoZSl7bGV0W3Qscl09ZS5zcGxpdCgiLSIpLG49W107cmV0dXJuIHQmJm4ucHVzaCh0KSxyJiZuLnB1c2gociksbn12YXIgSW5lPWU9Pnt2YXIgdCxyLG4sYSxpLG8sbCxjLGQsdSxBO2xldHtpbnZlcnQ6Zix0b2FzdDpoLHVuc3R5bGVkOnAsaW50ZXJhY3Rpbmc6bSxzZXRIZWlnaHRzOngsdmlzaWJsZVRvYXN0czp3LGhlaWdodHM6eSxpbmRleDp2LHRvYXN0czpiLGV4cGFuZGVkOmoscmVtb3ZlVG9hc3Q6TixkZWZhdWx0UmljaENvbG9yczpDLGNsb3NlQnV0dG9uOl8sc3R5bGU6QixjYW5jZWxCdXR0b25TdHlsZTprLGFjdGlvbkJ1dHRvblN0eWxlOkUsY2xhc3NOYW1lOkY9IiIsZGVzY3JpcHRpb25DbGFzc05hbWU6Tz0iIixkdXJhdGlvbjpTLHBvc2l0aW9uOlQsZ2FwOlAsbG9hZGluZ0ljb246VSxleHBhbmRCeURlZmF1bHQ6RCxjbGFzc05hbWVzOkksaWNvbnM6UixjbG9zZUJ1dHRvbkFyaWFMYWJlbDpMPSJDbG9zZSB0b2FzdCIscGF1c2VXaGVuUGFnZUlzSGlkZGVuOiR9PWUsW0gsWl09Sy51c2VTdGF0ZShudWxsKSxbZWUscmVdPUsudXNlU3RhdGUobnVsbCksW1gsR109Sy51c2VTdGF0ZSghMSksW3EsWV09Sy51c2VTdGF0ZSghMSksW0osUV09Sy51c2VTdGF0ZSghMSksW2FlLHpdPUsudXNlU3RhdGUoITEpLFtuZSxzZV09Sy51c2VTdGF0ZSghMSksW2llLCRlXT1LLnVzZVN0YXRlKDApLFtWZSxydF09Sy51c2VTdGF0ZSgwKSxkZT1LLnVzZVJlZihoLmR1cmF0aW9ufHxTfHxINCksX2U9Sy51c2VSZWYobnVsbCksS2U9Sy51c2VSZWYobnVsbCksc3Q9dj09PTAsTXQ9disxPD13LHF0PWgudHlwZSxsbj1oLmRpc21pc3NpYmxlIT09ITEsVWk9aC5jbGFzc05hbWV8fCIiLGhhPWguZGVzY3JpcHRpb25DbGFzc05hbWV8fCIiLHNyPUsudXNlTWVtbygoKT0+eS5maW5kSW5kZXgoZ2U9PmdlLnRvYXN0SWQ9PT1oLmlkKXx8MCxbeSxoLmlkXSksVHM9Sy51c2VNZW1vKCgpPT57dmFyIGdlO3JldHVybihnZT1oLmNsb3NlQnV0dG9uKSE9bnVsbD9nZTpffSxbaC5jbG9zZUJ1dHRvbixfXSksWXI9Sy51c2VNZW1vKCgpPT5oLmR1cmF0aW9ufHxTfHxINCxbaC5kdXJhdGlvbixTXSksY249Sy51c2VSZWYoMCksZHM9Sy51c2VSZWYoMCksYmU9Sy51c2VSZWYoMCksemU9Sy51c2VSZWYobnVsbCksW2R0LHB0XT1ULnNwbGl0KCItIiksWXQ9Sy51c2VNZW1vKCgpPT55LnJlZHVjZSgoZ2UsRGUsVGUpPT5UZT49c3I/Z2U6Z2UrRGUuaGVpZ2h0LDApLFt5LHNyXSksdGU9eW5lKCkscGU9aC5pbnZlcnR8fGYsTmU9cXQ9PT0ibG9hZGluZyI7ZHMuY3VycmVudD1LLnVzZU1lbW8oKCk9PnNyKlArWXQsW3NyLFl0XSksSy51c2VFZmZlY3QoKCk9PntkZS5jdXJyZW50PVlyfSxbWXJdKSxLLnVzZUVmZmVjdCgoKT0+e0coITApfSxbXSksSy51c2VFZmZlY3QoKCk9PntsZXQgZ2U9S2UuY3VycmVudDtpZihnZSl7bGV0IERlPWdlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtyZXR1cm4gcnQoRGUpLHgoVGU9Plt7dG9hc3RJZDpoLmlkLGhlaWdodDpEZSxwb3NpdGlvbjpoLnBvc2l0aW9ufSwuLi5UZV0pLCgpPT54KFRlPT5UZS5maWx0ZXIoZXQ9PmV0LnRvYXN0SWQhPT1oLmlkKSl9fSxbeCxoLmlkXSksSy51c2VMYXlvdXRFZmZlY3QoKCk9PntpZighWClyZXR1cm47bGV0IGdlPUtlLmN1cnJlbnQsRGU9Z2Uuc3R5bGUuaGVpZ2h0O2dlLnN0eWxlLmhlaWdodD0iYXV0byI7bGV0IFRlPWdlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtnZS5zdHlsZS5oZWlnaHQ9RGUscnQoVGUpLHgoZXQ9PmV0LmZpbmQoWHQ9Plh0LnRvYXN0SWQ9PT1oLmlkKT9ldC5tYXAoWHQ9Plh0LnRvYXN0SWQ9PT1oLmlkP3suLi5YdCxoZWlnaHQ6VGV9Olh0KTpbe3RvYXN0SWQ6aC5pZCxoZWlnaHQ6VGUscG9zaXRpb246aC5wb3NpdGlvbn0sLi4uZXRdKX0sW1gsaC50aXRsZSxoLmRlc2NyaXB0aW9uLHgsaC5pZF0pO2xldCBRZT1LLnVzZUNhbGxiYWNrKCgpPT57WSghMCksJGUoZHMuY3VycmVudCkseChnZT0+Z2UuZmlsdGVyKERlPT5EZS50b2FzdElkIT09aC5pZCkpLHNldFRpbWVvdXQoKCk9PntOKGgpfSxGbmUpfSxbaCxOLHgsZHNdKTtLLnVzZUVmZmVjdCgoKT0+e2lmKGgucHJvbWlzZSYmcXQ9PT0ibG9hZGluZyJ8fGguZHVyYXRpb249PT0xLzB8fGgudHlwZT09PSJsb2FkaW5nIilyZXR1cm47bGV0IGdlO3JldHVybiBqfHxtfHwkJiZ0ZT8oKCk9PntpZihiZS5jdXJyZW50PGNuLmN1cnJlbnQpe2xldCBEZT1uZXcgRGF0ZSgpLmdldFRpbWUoKS1jbi5jdXJyZW50O2RlLmN1cnJlbnQ9ZGUuY3VycmVudC1EZX1iZS5jdXJyZW50PW5ldyBEYXRlKCkuZ2V0VGltZSgpfSkoKTpkZS5jdXJyZW50IT09MS8wJiYoY24uY3VycmVudD1uZXcgRGF0ZSgpLmdldFRpbWUoKSxnZT1zZXRUaW1lb3V0KCgpPT57dmFyIERlOyhEZT1oLm9uQXV0b0Nsb3NlKT09bnVsbHx8RGUuY2FsbChoLGgpLFFlKCl9LGRlLmN1cnJlbnQpKSwoKT0+Y2xlYXJUaW1lb3V0KGdlKX0sW2osbSxoLHF0LCQsdGUsUWVdKSxLLnVzZUVmZmVjdCgoKT0+e2guZGVsZXRlJiZRZSgpfSxbUWUsaC5kZWxldGVdKTtmdW5jdGlvbiBudCgpe3ZhciBnZSxEZSxUZTtyZXR1cm4gUiE9bnVsbCYmUi5sb2FkaW5nP0suY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnBhKEk9PW51bGw/dm9pZCAwOkkubG9hZGVyLChnZT1oPT1udWxsP3ZvaWQgMDpoLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpnZS5sb2FkZXIsInNvbm5lci1sb2FkZXIiKSwiZGF0YS12aXNpYmxlIjpxdD09PSJsb2FkaW5nIn0sUi5sb2FkaW5nKTpVP0suY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnBhKEk9PW51bGw/dm9pZCAwOkkubG9hZGVyLChEZT1oPT1udWxsP3ZvaWQgMDpoLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpEZS5sb2FkZXIsInNvbm5lci1sb2FkZXIiKSwiZGF0YS12aXNpYmxlIjpxdD09PSJsb2FkaW5nIn0sVSk6Sy5jcmVhdGVFbGVtZW50KGZuZSx7Y2xhc3NOYW1lOnBhKEk9PW51bGw/dm9pZCAwOkkubG9hZGVyLChUZT1oPT1udWxsP3ZvaWQgMDpoLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpUZS5sb2FkZXIpLHZpc2libGU6cXQ9PT0ibG9hZGluZyJ9KX1yZXR1cm4gSy5jcmVhdGVFbGVtZW50KCJsaSIse3RhYkluZGV4OjAscmVmOktlLGNsYXNzTmFtZTpwYShGLFVpLEk9PW51bGw/dm9pZCAwOkkudG9hc3QsKHQ9aD09bnVsbD92b2lkIDA6aC5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6dC50b2FzdCxJPT1udWxsP3ZvaWQgMDpJLmRlZmF1bHQsST09bnVsbD92b2lkIDA6SVtxdF0sKHI9aD09bnVsbD92b2lkIDA6aC5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6cltxdF0pLCJkYXRhLXNvbm5lci10b2FzdCI6IiIsImRhdGEtcmljaC1jb2xvcnMiOihuPWgucmljaENvbG9ycykhPW51bGw/bjpDLCJkYXRhLXN0eWxlZCI6IShoLmpzeHx8aC51bnN0eWxlZHx8cCksImRhdGEtbW91bnRlZCI6WCwiZGF0YS1wcm9taXNlIjohIWgucHJvbWlzZSwiZGF0YS1zd2lwZWQiOm5lLCJkYXRhLXJlbW92ZWQiOnEsImRhdGEtdmlzaWJsZSI6TXQsImRhdGEteS1wb3NpdGlvbiI6ZHQsImRhdGEteC1wb3NpdGlvbiI6cHQsImRhdGEtaW5kZXgiOnYsImRhdGEtZnJvbnQiOnN0LCJkYXRhLXN3aXBpbmciOkosImRhdGEtZGlzbWlzc2libGUiOmxuLCJkYXRhLXR5cGUiOnF0LCJkYXRhLWludmVydCI6cGUsImRhdGEtc3dpcGUtb3V0IjphZSwiZGF0YS1zd2lwZS1kaXJlY3Rpb24iOmVlLCJkYXRhLWV4cGFuZGVkIjohIShqfHxEJiZYKSxzdHlsZTp7Ii0taW5kZXgiOnYsIi0tdG9hc3RzLWJlZm9yZSI6diwiLS16LWluZGV4IjpiLmxlbmd0aC12LCItLW9mZnNldCI6YCR7cT9pZTpkcy5jdXJyZW50fXB4YCwiLS1pbml0aWFsLWhlaWdodCI6RD8iYXV0byI6YCR7VmV9cHhgLC4uLkIsLi4uaC5zdHlsZX0sb25EcmFnRW5kOigpPT57USghMSksWihudWxsKSx6ZS5jdXJyZW50PW51bGx9LG9uUG9pbnRlckRvd246Z2U9PntOZXx8IWxufHwoX2UuY3VycmVudD1uZXcgRGF0ZSwkZShkcy5jdXJyZW50KSxnZS50YXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoZ2UucG9pbnRlcklkKSxnZS50YXJnZXQudGFnTmFtZSE9PSJCVVRUT04iJiYoUSghMCksemUuY3VycmVudD17eDpnZS5jbGllbnRYLHk6Z2UuY2xpZW50WX0pKX0sb25Qb2ludGVyVXA6KCk9Pnt2YXIgZ2UsRGUsVGUsZXQ7aWYoYWV8fCFsbilyZXR1cm47emUuY3VycmVudD1udWxsO2xldCBYdD1OdW1iZXIoKChnZT1LZS5jdXJyZW50KT09bnVsbD92b2lkIDA6Z2Uuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgiLS1zd2lwZS1hbW91bnQteCIpLnJlcGxhY2UoInB4IiwiIikpfHwwKSx3dD1OdW1iZXIoKChEZT1LZS5jdXJyZW50KT09bnVsbD92b2lkIDA6RGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgiLS1zd2lwZS1hbW91bnQteSIpLnJlcGxhY2UoInB4IiwiIikpfHwwKSxOcj1uZXcgRGF0ZSgpLmdldFRpbWUoKS0oKFRlPV9lLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpUZS5nZXRUaW1lKCkpLGFyPUg9PT0ieCI/WHQ6d3QsSm49TWF0aC5hYnMoYXIpL05yO2lmKE1hdGguYWJzKGFyKT49UG5lfHxKbj4uMTEpeyRlKGRzLmN1cnJlbnQpLChldD1oLm9uRGlzbWlzcyk9PW51bGx8fGV0LmNhbGwoaCxoKSxyZShIPT09IngiP1h0PjA/InJpZ2h0IjoibGVmdCI6d3Q+MD8iZG93biI6InVwIiksUWUoKSx6KCEwKSxzZSghMSk7cmV0dXJufVEoITEpLFoobnVsbCl9LG9uUG9pbnRlck1vdmU6Z2U9Pnt2YXIgRGUsVGUsZXQsWHQ7aWYoIXplLmN1cnJlbnR8fCFsbnx8KChEZT13aW5kb3cuZ2V0U2VsZWN0aW9uKCkpPT1udWxsP3ZvaWQgMDpEZS50b1N0cmluZygpLmxlbmd0aCk+MClyZXR1cm47bGV0IHd0PWdlLmNsaWVudFktemUuY3VycmVudC55LE5yPWdlLmNsaWVudFgtemUuY3VycmVudC54LGFyPShUZT1lLnN3aXBlRGlyZWN0aW9ucykhPW51bGw/VGU6T25lKFQpOyFIJiYoTWF0aC5hYnMoTnIpPjF8fE1hdGguYWJzKHd0KT4xKSYmWihNYXRoLmFicyhOcik+TWF0aC5hYnMod3QpPyJ4IjoieSIpO2xldCBKbj17eDowLHk6MH07SD09PSJ5Ij8oYXIuaW5jbHVkZXMoInRvcCIpfHxhci5pbmNsdWRlcygiYm90dG9tIikpJiYoYXIuaW5jbHVkZXMoInRvcCIpJiZ3dDwwfHxhci5pbmNsdWRlcygiYm90dG9tIikmJnd0PjApJiYoSm4ueT13dCk6SD09PSJ4IiYmKGFyLmluY2x1ZGVzKCJsZWZ0Iil8fGFyLmluY2x1ZGVzKCJyaWdodCIpKSYmKGFyLmluY2x1ZGVzKCJsZWZ0IikmJk5yPDB8fGFyLmluY2x1ZGVzKCJyaWdodCIpJiZOcj4wKSYmKEpuLng9TnIpLChNYXRoLmFicyhKbi54KT4wfHxNYXRoLmFicyhKbi55KT4wKSYmc2UoITApLChldD1LZS5jdXJyZW50KT09bnVsbHx8ZXQuc3R5bGUuc2V0UHJvcGVydHkoIi0tc3dpcGUtYW1vdW50LXgiLGAke0puLnh9cHhgKSwoWHQ9S2UuY3VycmVudCk9PW51bGx8fFh0LnN0eWxlLnNldFByb3BlcnR5KCItLXN3aXBlLWFtb3VudC15IixgJHtKbi55fXB4YCl9fSxUcyYmIWguanN4P0suY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7ImFyaWEtbGFiZWwiOkwsImRhdGEtZGlzYWJsZWQiOk5lLCJkYXRhLWNsb3NlLWJ1dHRvbiI6ITAsb25DbGljazpOZXx8IWxuPygpPT57fTooKT0+e3ZhciBnZTtRZSgpLChnZT1oLm9uRGlzbWlzcyk9PW51bGx8fGdlLmNhbGwoaCxoKX0sY2xhc3NOYW1lOnBhKEk9PW51bGw/dm9pZCAwOkkuY2xvc2VCdXR0b24sKGE9aD09bnVsbD92b2lkIDA6aC5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6YS5jbG9zZUJ1dHRvbil9LChpPVI9PW51bGw/dm9pZCAwOlIuY2xvc2UpIT1udWxsP2k6eG5lKTpudWxsLGguanN4fHxnLmlzVmFsaWRFbGVtZW50KGgudGl0bGUpP2guanN4P2guanN4OnR5cGVvZiBoLnRpdGxlPT0iZnVuY3Rpb24iP2gudGl0bGUoKTpoLnRpdGxlOksuY3JlYXRlRWxlbWVudChLLkZyYWdtZW50LG51bGwscXR8fGguaWNvbnx8aC5wcm9taXNlP0suY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtaWNvbiI6IiIsY2xhc3NOYW1lOnBhKEk9PW51bGw/dm9pZCAwOkkuaWNvbiwobz1oPT1udWxsP3ZvaWQgMDpoLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpvLmljb24pfSxoLnByb21pc2V8fGgudHlwZT09PSJsb2FkaW5nIiYmIWguaWNvbj9oLmljb258fG50KCk6bnVsbCxoLnR5cGUhPT0ibG9hZGluZyI/aC5pY29ufHwoUj09bnVsbD92b2lkIDA6UltxdF0pfHx1bmUocXQpOm51bGwpOm51bGwsSy5jcmVhdGVFbGVtZW50KCJkaXYiLHsiZGF0YS1jb250ZW50IjoiIixjbGFzc05hbWU6cGEoST09bnVsbD92b2lkIDA6SS5jb250ZW50LChsPWg9PW51bGw/dm9pZCAwOmguY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOmwuY29udGVudCl9LEsuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtdGl0bGUiOiIiLGNsYXNzTmFtZTpwYShJPT1udWxsP3ZvaWQgMDpJLnRpdGxlLChjPWg9PW51bGw/dm9pZCAwOmguY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOmMudGl0bGUpfSx0eXBlb2YgaC50aXRsZT09ImZ1bmN0aW9uIj9oLnRpdGxlKCk6aC50aXRsZSksaC5kZXNjcmlwdGlvbj9LLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLWRlc2NyaXB0aW9uIjoiIixjbGFzc05hbWU6cGEoTyxoYSxJPT1udWxsP3ZvaWQgMDpJLmRlc2NyaXB0aW9uLChkPWg9PW51bGw/dm9pZCAwOmguY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOmQuZGVzY3JpcHRpb24pfSx0eXBlb2YgaC5kZXNjcmlwdGlvbj09ImZ1bmN0aW9uIj9oLmRlc2NyaXB0aW9uKCk6aC5kZXNjcmlwdGlvbik6bnVsbCksZy5pc1ZhbGlkRWxlbWVudChoLmNhbmNlbCk/aC5jYW5jZWw6aC5jYW5jZWwmJlFnKGguY2FuY2VsKT9LLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIseyJkYXRhLWJ1dHRvbiI6ITAsImRhdGEtY2FuY2VsIjohMCxzdHlsZTpoLmNhbmNlbEJ1dHRvblN0eWxlfHxrLG9uQ2xpY2s6Z2U9Pnt2YXIgRGUsVGU7UWcoaC5jYW5jZWwpJiZsbiYmKChUZT0oRGU9aC5jYW5jZWwpLm9uQ2xpY2spPT1udWxsfHxUZS5jYWxsKERlLGdlKSxRZSgpKX0sY2xhc3NOYW1lOnBhKEk9PW51bGw/dm9pZCAwOkkuY2FuY2VsQnV0dG9uLCh1PWg9PW51bGw/dm9pZCAwOmguY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOnUuY2FuY2VsQnV0dG9uKX0saC5jYW5jZWwubGFiZWwpOm51bGwsZy5pc1ZhbGlkRWxlbWVudChoLmFjdGlvbik/aC5hY3Rpb246aC5hY3Rpb24mJlFnKGguYWN0aW9uKT9LLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIseyJkYXRhLWJ1dHRvbiI6ITAsImRhdGEtYWN0aW9uIjohMCxzdHlsZTpoLmFjdGlvbkJ1dHRvblN0eWxlfHxFLG9uQ2xpY2s6Z2U9Pnt2YXIgRGUsVGU7UWcoaC5hY3Rpb24pJiYoKFRlPShEZT1oLmFjdGlvbikub25DbGljayk9PW51bGx8fFRlLmNhbGwoRGUsZ2UpLCFnZS5kZWZhdWx0UHJldmVudGVkJiZRZSgpKX0sY2xhc3NOYW1lOnBhKEk9PW51bGw/dm9pZCAwOkkuYWN0aW9uQnV0dG9uLChBPWg9PW51bGw/dm9pZCAwOmguY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOkEuYWN0aW9uQnV0dG9uKX0saC5hY3Rpb24ubGFiZWwpOm51bGwpKX07ZnVuY3Rpb24gSzQoKXtpZih0eXBlb2Ygd2luZG93PiJ1Inx8dHlwZW9mIGRvY3VtZW50PiJ1IilyZXR1cm4ibHRyIjtsZXQgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkaXIiKTtyZXR1cm4gZT09PSJhdXRvInx8IWU/d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5kaXJlY3Rpb246ZX1mdW5jdGlvbiBVbmUoZSx0KXtsZXQgcj17fTtyZXR1cm5bZSx0XS5mb3JFYWNoKChuLGEpPT57bGV0IGk9YT09PTEsbz1pPyItLW1vYmlsZS1vZmZzZXQiOiItLW9mZnNldCIsbD1pP0VuZTpTbmU7ZnVuY3Rpb24gYyhkKXtbInRvcCIsInJpZ2h0IiwiYm90dG9tIiwibGVmdCJdLmZvckVhY2godT0+e3JbYCR7b30tJHt1fWBdPXR5cGVvZiBkPT0ibnVtYmVyIj9gJHtkfXB4YDpkfSl9dHlwZW9mIG49PSJudW1iZXIifHx0eXBlb2Ygbj09InN0cmluZyI/YyhuKTp0eXBlb2Ygbj09Im9iamVjdCI/WyJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXS5mb3JFYWNoKGQ9PntuW2RdPT09dm9pZCAwP3JbYCR7b30tJHtkfWBdPWw6cltgJHtvfS0ke2R9YF09dHlwZW9mIG5bZF09PSJudW1iZXIiP2Ake25bZF19cHhgOm5bZF19KTpjKGwpfSkscn12YXIgRG5lPWcuZm9yd2FyZFJlZihmdW5jdGlvbihlLHQpe2xldHtpbnZlcnQ6cixwb3NpdGlvbjpuPSJib3R0b20tcmlnaHQiLGhvdGtleTphPVsiYWx0S2V5IiwiS2V5VCJdLGV4cGFuZDppLGNsb3NlQnV0dG9uOm8sY2xhc3NOYW1lOmwsb2Zmc2V0OmMsbW9iaWxlT2Zmc2V0OmQsdGhlbWU6dT0ibGlnaHQiLHJpY2hDb2xvcnM6QSxkdXJhdGlvbjpmLHN0eWxlOmgsdmlzaWJsZVRvYXN0czpwPUJuZSx0b2FzdE9wdGlvbnM6bSxkaXI6eD1LNCgpLGdhcDp3PVRuZSxsb2FkaW5nSWNvbjp5LGljb25zOnYsY29udGFpbmVyQXJpYUxhYmVsOmI9Ik5vdGlmaWNhdGlvbnMiLHBhdXNlV2hlblBhZ2VJc0hpZGRlbjpqfT1lLFtOLENdPUsudXNlU3RhdGUoW10pLF89Sy51c2VNZW1vKCgpPT5BcnJheS5mcm9tKG5ldyBTZXQoW25dLmNvbmNhdChOLmZpbHRlcigkPT4kLnBvc2l0aW9uKS5tYXAoJD0+JC5wb3NpdGlvbikpKSksW04sbl0pLFtCLGtdPUsudXNlU3RhdGUoW10pLFtFLEZdPUsudXNlU3RhdGUoITEpLFtPLFNdPUsudXNlU3RhdGUoITEpLFtULFBdPUsudXNlU3RhdGUodSE9PSJzeXN0ZW0iP3U6dHlwZW9mIHdpbmRvdzwidSImJndpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXM/ImRhcmsiOiJsaWdodCIpLFU9Sy51c2VSZWYobnVsbCksRD1hLmpvaW4oIisiKS5yZXBsYWNlKC9LZXkvZywiIikucmVwbGFjZSgvRGlnaXQvZywiIiksST1LLnVzZVJlZihudWxsKSxSPUsudXNlUmVmKCExKSxMPUsudXNlQ2FsbGJhY2soJD0+e0MoSD0+e3ZhciBaO3JldHVybihaPUguZmluZChlZT0+ZWUuaWQ9PT0kLmlkKSkhPW51bGwmJlouZGVsZXRlfHx0cy5kaXNtaXNzKCQuaWQpLEguZmlsdGVyKCh7aWQ6ZWV9KT0+ZWUhPT0kLmlkKX0pfSxbXSk7cmV0dXJuIEsudXNlRWZmZWN0KCgpPT50cy5zdWJzY3JpYmUoJD0+e2lmKCQuZGlzbWlzcyl7QyhIPT5ILm1hcChaPT5aLmlkPT09JC5pZD97Li4uWixkZWxldGU6ITB9OlopKTtyZXR1cm59c2V0VGltZW91dCgoKT0+e0ozLmZsdXNoU3luYygoKT0+e0MoSD0+e2xldCBaPUguZmluZEluZGV4KGVlPT5lZS5pZD09PSQuaWQpO3JldHVybiBaIT09LTE/Wy4uLkguc2xpY2UoMCxaKSx7Li4uSFtaXSwuLi4kfSwuLi5ILnNsaWNlKForMSldOlskLC4uLkhdfSl9KX0pfSksW10pLEsudXNlRWZmZWN0KCgpPT57aWYodSE9PSJzeXN0ZW0iKXtQKHUpO3JldHVybn1pZih1PT09InN5c3RlbSImJih3aW5kb3cubWF0Y2hNZWRpYSYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzP1AoImRhcmsiKTpQKCJsaWdodCIpKSx0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm47bGV0ICQ9d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKTt0cnl7JC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCh7bWF0Y2hlczpIfSk9PntQKEg/ImRhcmsiOiJsaWdodCIpfSl9Y2F0Y2h7JC5hZGRMaXN0ZW5lcigoe21hdGNoZXM6Wn0pPT57dHJ5e1AoWj8iZGFyayI6ImxpZ2h0Iil9Y2F0Y2goZWUpe2NvbnNvbGUuZXJyb3IoZWUpfX0pfX0sW3VdKSxLLnVzZUVmZmVjdCgoKT0+e04ubGVuZ3RoPD0xJiZGKCExKX0sW05dKSxLLnVzZUVmZmVjdCgoKT0+e2xldCAkPUg9Pnt2YXIgWixlZTthLmV2ZXJ5KHJlPT5IW3JlXXx8SC5jb2RlPT09cmUpJiYoRighMCksKFo9VS5jdXJyZW50KT09bnVsbHx8Wi5mb2N1cygpKSxILmNvZGU9PT0iRXNjYXBlIiYmKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1VLmN1cnJlbnR8fChlZT1VLmN1cnJlbnQpIT1udWxsJiZlZS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkmJkYoITEpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsJCksKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLCQpfSxbYV0pLEsudXNlRWZmZWN0KCgpPT57aWYoVS5jdXJyZW50KXJldHVybigpPT57SS5jdXJyZW50JiYoSS5jdXJyZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksSS5jdXJyZW50PW51bGwsUi5jdXJyZW50PSExKX19LFtVLmN1cnJlbnRdKSxLLmNyZWF0ZUVsZW1lbnQoInNlY3Rpb24iLHtyZWY6dCwiYXJpYS1sYWJlbCI6YCR7Yn0gJHtEfWAsdGFiSW5kZXg6LTEsImFyaWEtbGl2ZSI6InBvbGl0ZSIsImFyaWEtcmVsZXZhbnQiOiJhZGRpdGlvbnMgdGV4dCIsImFyaWEtYXRvbWljIjoiZmFsc2UiLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMH0sXy5tYXAoKCQsSCk9Pnt2YXIgWjtsZXRbZWUscmVdPSQuc3BsaXQoIi0iKTtyZXR1cm4gTi5sZW5ndGg/Sy5jcmVhdGVFbGVtZW50KCJvbCIse2tleTokLGRpcjp4PT09ImF1dG8iP0s0KCk6eCx0YWJJbmRleDotMSxyZWY6VSxjbGFzc05hbWU6bCwiZGF0YS1zb25uZXItdG9hc3RlciI6ITAsImRhdGEtdGhlbWUiOlQsImRhdGEteS1wb3NpdGlvbiI6ZWUsImRhdGEtbGlmdGVkIjpFJiZOLmxlbmd0aD4xJiYhaSwiZGF0YS14LXBvc2l0aW9uIjpyZSxzdHlsZTp7Ii0tZnJvbnQtdG9hc3QtaGVpZ2h0IjpgJHsoKFo9QlswXSk9PW51bGw/dm9pZCAwOlouaGVpZ2h0KXx8MH1weGAsIi0td2lkdGgiOmAke2tuZX1weGAsIi0tZ2FwIjpgJHt3fXB4YCwuLi5oLC4uLlVuZShjLGQpfSxvbkJsdXI6WD0+e1IuY3VycmVudCYmIVguY3VycmVudFRhcmdldC5jb250YWlucyhYLnJlbGF0ZWRUYXJnZXQpJiYoUi5jdXJyZW50PSExLEkuY3VycmVudCYmKEkuY3VycmVudC5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLEkuY3VycmVudD1udWxsKSl9LG9uRm9jdXM6WD0+e1gudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJlgudGFyZ2V0LmRhdGFzZXQuZGlzbWlzc2libGU9PT0iZmFsc2UifHxSLmN1cnJlbnR8fChSLmN1cnJlbnQ9ITAsSS5jdXJyZW50PVgucmVsYXRlZFRhcmdldCl9LG9uTW91c2VFbnRlcjooKT0+RighMCksb25Nb3VzZU1vdmU6KCk9PkYoITApLG9uTW91c2VMZWF2ZTooKT0+e098fEYoITEpfSxvbkRyYWdFbmQ6KCk9PkYoITEpLG9uUG9pbnRlckRvd246WD0+e1gudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJlgudGFyZ2V0LmRhdGFzZXQuZGlzbWlzc2libGU9PT0iZmFsc2UifHxTKCEwKX0sb25Qb2ludGVyVXA6KCk9PlMoITEpfSxOLmZpbHRlcihYPT4hWC5wb3NpdGlvbiYmSD09PTB8fFgucG9zaXRpb249PT0kKS5tYXAoKFgsRyk9Pnt2YXIgcSxZO3JldHVybiBLLmNyZWF0ZUVsZW1lbnQoSW5lLHtrZXk6WC5pZCxpY29uczp2LGluZGV4OkcsdG9hc3Q6WCxkZWZhdWx0UmljaENvbG9yczpBLGR1cmF0aW9uOihxPW09PW51bGw/dm9pZCAwOm0uZHVyYXRpb24pIT1udWxsP3E6ZixjbGFzc05hbWU6bT09bnVsbD92b2lkIDA6bS5jbGFzc05hbWUsZGVzY3JpcHRpb25DbGFzc05hbWU6bT09bnVsbD92b2lkIDA6bS5kZXNjcmlwdGlvbkNsYXNzTmFtZSxpbnZlcnQ6cix2aXNpYmxlVG9hc3RzOnAsY2xvc2VCdXR0b246KFk9bT09bnVsbD92b2lkIDA6bS5jbG9zZUJ1dHRvbikhPW51bGw/WTpvLGludGVyYWN0aW5nOk8scG9zaXRpb246JCxzdHlsZTptPT1udWxsP3ZvaWQgMDptLnN0eWxlLHVuc3R5bGVkOm09PW51bGw/dm9pZCAwOm0udW5zdHlsZWQsY2xhc3NOYW1lczptPT1udWxsP3ZvaWQgMDptLmNsYXNzTmFtZXMsY2FuY2VsQnV0dG9uU3R5bGU6bT09bnVsbD92b2lkIDA6bS5jYW5jZWxCdXR0b25TdHlsZSxhY3Rpb25CdXR0b25TdHlsZTptPT1udWxsP3ZvaWQgMDptLmFjdGlvbkJ1dHRvblN0eWxlLHJlbW92ZVRvYXN0OkwsdG9hc3RzOk4uZmlsdGVyKEo9PkoucG9zaXRpb249PVgucG9zaXRpb24pLGhlaWdodHM6Qi5maWx0ZXIoSj0+Si5wb3NpdGlvbj09WC5wb3NpdGlvbiksc2V0SGVpZ2h0czprLGV4cGFuZEJ5RGVmYXVsdDppLGdhcDp3LGxvYWRpbmdJY29uOnksZXhwYW5kZWQ6RSxwYXVzZVdoZW5QYWdlSXNIaWRkZW46aixzd2lwZURpcmVjdGlvbnM6ZS5zd2lwZURpcmVjdGlvbnN9KX0pKTpudWxsfSkpfSk7Y29uc3QgTW5lPSh7Li4uZX0pPT57Y29uc3R7dGhlbWU6dD0ic3lzdGVtIn09ZG5lKCk7cmV0dXJuIHMuanN4KERuZSx7dGhlbWU6dCxjbGFzc05hbWU6InRvYXN0ZXIgZ3JvdXAiLGNsb3NlQnV0dG9uOiEwLHRvYXN0T3B0aW9uczp7Y2xhc3NOYW1lczp7dG9hc3Q6Imdyb3VwIHRvYXN0IGdyb3VwLVsudG9hc3Rlcl06YmctYmFja2dyb3VuZCBncm91cC1bLnRvYXN0ZXJdOnRleHQtZm9yZWdyb3VuZCBncm91cC1bLnRvYXN0ZXJdOmJvcmRlci1ib3JkZXIgZ3JvdXAtWy50b2FzdGVyXTpzaGFkb3ctbGciLGRlc2NyaXB0aW9uOiJncm91cC1bLnRvYXN0XTp0ZXh0LW11dGVkLWZvcmVncm91bmQiLGFjdGlvbkJ1dHRvbjoiZ3JvdXAtWy50b2FzdF06YmctcHJpbWFyeSBncm91cC1bLnRvYXN0XTp0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCIsY2FuY2VsQnV0dG9uOiJncm91cC1bLnRvYXN0XTpiZy1tdXRlZCBncm91cC1bLnRvYXN0XTp0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNsb3NlQnV0dG9uOiJncm91cC1bLnRvYXN0XTpiZy1iYWNrZ3JvdW5kIGdyb3VwLVsudG9hc3RdOnRleHQtZm9yZWdyb3VuZCBncm91cC1bLnRvYXN0XTpib3JkZXItYm9yZGVyIGhvdmVyOmdyb3VwLVsudG9hc3RdOmJnLW11dGVkIn19LC4uLmV9KX07dmFyIFJuZT1YU1siIHVzZUlkICIudHJpbSgpLnRvU3RyaW5nKCldfHwoKCk9Pnt9KSxRbmU9MDtmdW5jdGlvbiBlYShlKXtjb25zdFt0LHJdPWcudXNlU3RhdGUoUm5lKCkpO3JldHVybiBqcigoKT0+e3Iobj0+bj8/U3RyaW5nKFFuZSsrKSl9LFtlXSksdD9gcmFkaXgtJHt0fWA6IiJ9Y29uc3QgTG5lPVsidG9wIiwicmlnaHQiLCJib3R0b20iLCJsZWZ0Il0sT2w9TWF0aC5taW4sbXM9TWF0aC5tYXgsejA9TWF0aC5yb3VuZCxMZz1NYXRoLmZsb29yLG1pPWU9Pih7eDplLHk6ZX0pLCRuZT17bGVmdDoicmlnaHQiLHJpZ2h0OiJsZWZ0Iixib3R0b206InRvcCIsdG9wOiJib3R0b20ifSxIbmU9e3N0YXJ0OiJlbmQiLGVuZDoic3RhcnQifTtmdW5jdGlvbiBUQyhlLHQscil7cmV0dXJuIG1zKGUsT2wodCxyKSl9ZnVuY3Rpb24gaG8oZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiI/ZSh0KTplfWZ1bmN0aW9uIG1vKGUpe3JldHVybiBlLnNwbGl0KCItIilbMF19ZnVuY3Rpb24gcUEoZSl7cmV0dXJuIGUuc3BsaXQoIi0iKVsxXX1mdW5jdGlvbiBZMihlKXtyZXR1cm4gZT09PSJ4Ij8ieSI6IngifWZ1bmN0aW9uIFgyKGUpe3JldHVybiBlPT09InkiPyJoZWlnaHQiOiJ3aWR0aCJ9Y29uc3QgS25lPW5ldyBTZXQoWyJ0b3AiLCJib3R0b20iXSk7ZnVuY3Rpb24gZGkoZSl7cmV0dXJuIEtuZS5oYXMobW8oZSkpPyJ5IjoieCJ9ZnVuY3Rpb24gSjIoZSl7cmV0dXJuIFkyKGRpKGUpKX1mdW5jdGlvbiBWbmUoZSx0LHIpe3I9PT12b2lkIDAmJihyPSExKTtjb25zdCBuPXFBKGUpLGE9SjIoZSksaT1YMihhKTtsZXQgbz1hPT09IngiP249PT0ocj8iZW5kIjoic3RhcnQiKT8icmlnaHQiOiJsZWZ0IjpuPT09InN0YXJ0Ij8iYm90dG9tIjoidG9wIjtyZXR1cm4gdC5yZWZlcmVuY2VbaV0+dC5mbG9hdGluZ1tpXSYmKG89VzAobykpLFtvLFcwKG8pXX1mdW5jdGlvbiB6bmUoZSl7Y29uc3QgdD1XMChlKTtyZXR1cm5bUEMoZSksdCxQQyh0KV19ZnVuY3Rpb24gUEMoZSl7cmV0dXJuIGUucmVwbGFjZSgvc3RhcnR8ZW5kL2csdD0+SG5lW3RdKX1jb25zdCBWND1bImxlZnQiLCJyaWdodCJdLHo0PVsicmlnaHQiLCJsZWZ0Il0sV25lPVsidG9wIiwiYm90dG9tIl0sR25lPVsiYm90dG9tIiwidG9wIl07ZnVuY3Rpb24gcW5lKGUsdCxyKXtzd2l0Y2goZSl7Y2FzZSJ0b3AiOmNhc2UiYm90dG9tIjpyZXR1cm4gcj90P3o0OlY0OnQ/VjQ6ejQ7Y2FzZSJsZWZ0IjpjYXNlInJpZ2h0IjpyZXR1cm4gdD9XbmU6R25lO2RlZmF1bHQ6cmV0dXJuW119fWZ1bmN0aW9uIFluZShlLHQscixuKXtjb25zdCBhPXFBKGUpO2xldCBpPXFuZShtbyhlKSxyPT09InN0YXJ0IixuKTtyZXR1cm4gYSYmKGk9aS5tYXAobz0+bysiLSIrYSksdCYmKGk9aS5jb25jYXQoaS5tYXAoUEMpKSkpLGl9ZnVuY3Rpb24gVzAoZSl7cmV0dXJuIGUucmVwbGFjZSgvbGVmdHxyaWdodHxib3R0b218dG9wL2csdD0+JG5lW3RdKX1mdW5jdGlvbiBYbmUoZSl7cmV0dXJue3RvcDowLHJpZ2h0OjAsYm90dG9tOjAsbGVmdDowLC4uLmV9fWZ1bmN0aW9uIHQ2KGUpe3JldHVybiB0eXBlb2YgZSE9Im51bWJlciI/WG5lKGUpOnt0b3A6ZSxyaWdodDplLGJvdHRvbTplLGxlZnQ6ZX19ZnVuY3Rpb24gRzAoZSl7Y29uc3R7eDp0LHk6cix3aWR0aDpuLGhlaWdodDphfT1lO3JldHVybnt3aWR0aDpuLGhlaWdodDphLHRvcDpyLGxlZnQ6dCxyaWdodDp0K24sYm90dG9tOnIrYSx4OnQseTpyfX1mdW5jdGlvbiBXNChlLHQscil7bGV0e3JlZmVyZW5jZTpuLGZsb2F0aW5nOmF9PWU7Y29uc3QgaT1kaSh0KSxvPUoyKHQpLGw9WDIobyksYz1tbyh0KSxkPWk9PT0ieSIsdT1uLngrbi53aWR0aC8yLWEud2lkdGgvMixBPW4ueStuLmhlaWdodC8yLWEuaGVpZ2h0LzIsZj1uW2xdLzItYVtsXS8yO2xldCBoO3N3aXRjaChjKXtjYXNlInRvcCI6aD17eDp1LHk6bi55LWEuaGVpZ2h0fTticmVhaztjYXNlImJvdHRvbSI6aD17eDp1LHk6bi55K24uaGVpZ2h0fTticmVhaztjYXNlInJpZ2h0IjpoPXt4Om4ueCtuLndpZHRoLHk6QX07YnJlYWs7Y2FzZSJsZWZ0IjpoPXt4Om4ueC1hLndpZHRoLHk6QX07YnJlYWs7ZGVmYXVsdDpoPXt4Om4ueCx5Om4ueX19c3dpdGNoKHFBKHQpKXtjYXNlInN0YXJ0IjpoW29dLT1mKihyJiZkPy0xOjEpO2JyZWFrO2Nhc2UiZW5kIjpoW29dKz1mKihyJiZkPy0xOjEpO2JyZWFrfXJldHVybiBofWNvbnN0IEpuZT1hc3luYyhlLHQscik9Pntjb25zdHtwbGFjZW1lbnQ6bj0iYm90dG9tIixzdHJhdGVneTphPSJhYnNvbHV0ZSIsbWlkZGxld2FyZTppPVtdLHBsYXRmb3JtOm99PXIsbD1pLmZpbHRlcihCb29sZWFuKSxjPWF3YWl0KG8uaXNSVEw9PW51bGw/dm9pZCAwOm8uaXNSVEwodCkpO2xldCBkPWF3YWl0IG8uZ2V0RWxlbWVudFJlY3RzKHtyZWZlcmVuY2U6ZSxmbG9hdGluZzp0LHN0cmF0ZWd5OmF9KSx7eDp1LHk6QX09VzQoZCxuLGMpLGY9bixoPXt9LHA9MDtmb3IobGV0IG09MDttPGwubGVuZ3RoO20rKyl7Y29uc3R7bmFtZTp4LGZuOnd9PWxbbV0se3g6eSx5OnYsZGF0YTpiLHJlc2V0Omp9PWF3YWl0IHcoe3g6dSx5OkEsaW5pdGlhbFBsYWNlbWVudDpuLHBsYWNlbWVudDpmLHN0cmF0ZWd5OmEsbWlkZGxld2FyZURhdGE6aCxyZWN0czpkLHBsYXRmb3JtOm8sZWxlbWVudHM6e3JlZmVyZW5jZTplLGZsb2F0aW5nOnR9fSk7dT15Pz91LEE9dj8/QSxoPXsuLi5oLFt4XTp7Li4uaFt4XSwuLi5ifX0saiYmcDw9NTAmJihwKyssdHlwZW9mIGo9PSJvYmplY3QiJiYoai5wbGFjZW1lbnQmJihmPWoucGxhY2VtZW50KSxqLnJlY3RzJiYoZD1qLnJlY3RzPT09ITA/YXdhaXQgby5nZXRFbGVtZW50UmVjdHMoe3JlZmVyZW5jZTplLGZsb2F0aW5nOnQsc3RyYXRlZ3k6YX0pOmoucmVjdHMpLHt4OnUseTpBfT1XNChkLGYsYykpLG09LTEpfXJldHVybnt4OnUseTpBLHBsYWNlbWVudDpmLHN0cmF0ZWd5OmEsbWlkZGxld2FyZURhdGE6aH19O2FzeW5jIGZ1bmN0aW9uIGdtKGUsdCl7dmFyIHI7dD09PXZvaWQgMCYmKHQ9e30pO2NvbnN0e3g6bix5OmEscGxhdGZvcm06aSxyZWN0czpvLGVsZW1lbnRzOmwsc3RyYXRlZ3k6Y309ZSx7Ym91bmRhcnk6ZD0iY2xpcHBpbmdBbmNlc3RvcnMiLHJvb3RCb3VuZGFyeTp1PSJ2aWV3cG9ydCIsZWxlbWVudENvbnRleHQ6QT0iZmxvYXRpbmciLGFsdEJvdW5kYXJ5OmY9ITEscGFkZGluZzpoPTB9PWhvKHQsZSkscD10NihoKSx4PWxbZj9BPT09ImZsb2F0aW5nIj8icmVmZXJlbmNlIjoiZmxvYXRpbmciOkFdLHc9RzAoYXdhaXQgaS5nZXRDbGlwcGluZ1JlY3Qoe2VsZW1lbnQ6KHI9YXdhaXQoaS5pc0VsZW1lbnQ9PW51bGw/dm9pZCAwOmkuaXNFbGVtZW50KHgpKSk9PW51bGx8fHI/eDp4LmNvbnRleHRFbGVtZW50fHxhd2FpdChpLmdldERvY3VtZW50RWxlbWVudD09bnVsbD92b2lkIDA6aS5nZXREb2N1bWVudEVsZW1lbnQobC5mbG9hdGluZykpLGJvdW5kYXJ5OmQscm9vdEJvdW5kYXJ5OnUsc3RyYXRlZ3k6Y30pKSx5PUE9PT0iZmxvYXRpbmciP3t4Om4seTphLHdpZHRoOm8uZmxvYXRpbmcud2lkdGgsaGVpZ2h0Om8uZmxvYXRpbmcuaGVpZ2h0fTpvLnJlZmVyZW5jZSx2PWF3YWl0KGkuZ2V0T2Zmc2V0UGFyZW50PT1udWxsP3ZvaWQgMDppLmdldE9mZnNldFBhcmVudChsLmZsb2F0aW5nKSksYj1hd2FpdChpLmlzRWxlbWVudD09bnVsbD92b2lkIDA6aS5pc0VsZW1lbnQodikpP2F3YWl0KGkuZ2V0U2NhbGU9PW51bGw/dm9pZCAwOmkuZ2V0U2NhbGUodikpfHx7eDoxLHk6MX06e3g6MSx5OjF9LGo9RzAoaS5jb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdD9hd2FpdCBpLmNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0KHtlbGVtZW50czpsLHJlY3Q6eSxvZmZzZXRQYXJlbnQ6dixzdHJhdGVneTpjfSk6eSk7cmV0dXJue3RvcDoody50b3Atai50b3ArcC50b3ApL2IueSxib3R0b206KGouYm90dG9tLXcuYm90dG9tK3AuYm90dG9tKS9iLnksbGVmdDoody5sZWZ0LWoubGVmdCtwLmxlZnQpL2IueCxyaWdodDooai5yaWdodC13LnJpZ2h0K3AucmlnaHQpL2IueH19Y29uc3QgWm5lPWU9Pih7bmFtZToiYXJyb3ciLG9wdGlvbnM6ZSxhc3luYyBmbih0KXtjb25zdHt4OnIseTpuLHBsYWNlbWVudDphLHJlY3RzOmkscGxhdGZvcm06byxlbGVtZW50czpsLG1pZGRsZXdhcmVEYXRhOmN9PXQse2VsZW1lbnQ6ZCxwYWRkaW5nOnU9MH09aG8oZSx0KXx8e307aWYoZD09bnVsbClyZXR1cm57fTtjb25zdCBBPXQ2KHUpLGY9e3g6cix5Om59LGg9SjIoYSkscD1YMihoKSxtPWF3YWl0IG8uZ2V0RGltZW5zaW9ucyhkKSx4PWg9PT0ieSIsdz14PyJ0b3AiOiJsZWZ0Iix5PXg/ImJvdHRvbSI6InJpZ2h0Iix2PXg/ImNsaWVudEhlaWdodCI6ImNsaWVudFdpZHRoIixiPWkucmVmZXJlbmNlW3BdK2kucmVmZXJlbmNlW2hdLWZbaF0taS5mbG9hdGluZ1twXSxqPWZbaF0taS5yZWZlcmVuY2VbaF0sTj1hd2FpdChvLmdldE9mZnNldFBhcmVudD09bnVsbD92b2lkIDA6by5nZXRPZmZzZXRQYXJlbnQoZCkpO2xldCBDPU4/Tlt2XTowOyghQ3x8IWF3YWl0KG8uaXNFbGVtZW50PT1udWxsP3ZvaWQgMDpvLmlzRWxlbWVudChOKSkpJiYoQz1sLmZsb2F0aW5nW3ZdfHxpLmZsb2F0aW5nW3BdKTtjb25zdCBfPWIvMi1qLzIsQj1DLzItbVtwXS8yLTEsaz1PbChBW3ddLEIpLEU9T2woQVt5XSxCKSxGPWssTz1DLW1bcF0tRSxTPUMvMi1tW3BdLzIrXyxUPVRDKEYsUyxPKSxQPSFjLmFycm93JiZxQShhKSE9bnVsbCYmUyE9PVQmJmkucmVmZXJlbmNlW3BdLzItKFM8Rj9rOkUpLW1bcF0vMjwwLFU9UD9TPEY/Uy1GOlMtTzowO3JldHVybntbaF06ZltoXStVLGRhdGE6e1toXTpULGNlbnRlck9mZnNldDpTLVQtVSwuLi5QJiZ7YWxpZ25tZW50T2Zmc2V0OlV9fSxyZXNldDpQfX19KSxlc2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPXt9KSx7bmFtZToiZmxpcCIsb3B0aW9uczplLGFzeW5jIGZuKHQpe3ZhciByLG47Y29uc3R7cGxhY2VtZW50OmEsbWlkZGxld2FyZURhdGE6aSxyZWN0czpvLGluaXRpYWxQbGFjZW1lbnQ6bCxwbGF0Zm9ybTpjLGVsZW1lbnRzOmR9PXQse21haW5BeGlzOnU9ITAsY3Jvc3NBeGlzOkE9ITAsZmFsbGJhY2tQbGFjZW1lbnRzOmYsZmFsbGJhY2tTdHJhdGVneTpoPSJiZXN0Rml0IixmYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uOnA9Im5vbmUiLGZsaXBBbGlnbm1lbnQ6bT0hMCwuLi54fT1obyhlLHQpO2lmKChyPWkuYXJyb3cpIT1udWxsJiZyLmFsaWdubWVudE9mZnNldClyZXR1cm57fTtjb25zdCB3PW1vKGEpLHk9ZGkobCksdj1tbyhsKT09PWwsYj1hd2FpdChjLmlzUlRMPT1udWxsP3ZvaWQgMDpjLmlzUlRMKGQuZmxvYXRpbmcpKSxqPWZ8fCh2fHwhbT9bVzAobCldOnpuZShsKSksTj1wIT09Im5vbmUiOyFmJiZOJiZqLnB1c2goLi4uWW5lKGwsbSxwLGIpKTtjb25zdCBDPVtsLC4uLmpdLF89YXdhaXQgZ20odCx4KSxCPVtdO2xldCBrPSgobj1pLmZsaXApPT1udWxsP3ZvaWQgMDpuLm92ZXJmbG93cyl8fFtdO2lmKHUmJkIucHVzaChfW3ddKSxBKXtjb25zdCBTPVZuZShhLG8sYik7Qi5wdXNoKF9bU1swXV0sX1tTWzFdXSl9aWYoaz1bLi4uayx7cGxhY2VtZW50OmEsb3ZlcmZsb3dzOkJ9XSwhQi5ldmVyeShTPT5TPD0wKSl7dmFyIEUsRjtjb25zdCBTPSgoKEU9aS5mbGlwKT09bnVsbD92b2lkIDA6RS5pbmRleCl8fDApKzEsVD1DW1NdO2lmKFQmJighKEE9PT0iYWxpZ25tZW50Ij95IT09ZGkoVCk6ITEpfHxrLmV2ZXJ5KEQ9PkQub3ZlcmZsb3dzWzBdPjAmJmRpKEQucGxhY2VtZW50KT09PXkpKSlyZXR1cm57ZGF0YTp7aW5kZXg6UyxvdmVyZmxvd3M6a30scmVzZXQ6e3BsYWNlbWVudDpUfX07bGV0IFA9KEY9ay5maWx0ZXIoVT0+VS5vdmVyZmxvd3NbMF08PTApLnNvcnQoKFUsRCk9PlUub3ZlcmZsb3dzWzFdLUQub3ZlcmZsb3dzWzFdKVswXSk9PW51bGw/dm9pZCAwOkYucGxhY2VtZW50O2lmKCFQKXN3aXRjaChoKXtjYXNlImJlc3RGaXQiOnt2YXIgTztjb25zdCBVPShPPWsuZmlsdGVyKEQ9PntpZihOKXtjb25zdCBJPWRpKEQucGxhY2VtZW50KTtyZXR1cm4gST09PXl8fEk9PT0ieSJ9cmV0dXJuITB9KS5tYXAoRD0+W0QucGxhY2VtZW50LEQub3ZlcmZsb3dzLmZpbHRlcihJPT5JPjApLnJlZHVjZSgoSSxSKT0+SStSLDApXSkuc29ydCgoRCxJKT0+RFsxXS1JWzFdKVswXSk9PW51bGw/dm9pZCAwOk9bMF07VSYmKFA9VSk7YnJlYWt9Y2FzZSJpbml0aWFsUGxhY2VtZW50IjpQPWw7YnJlYWt9aWYoYSE9PVApcmV0dXJue3Jlc2V0OntwbGFjZW1lbnQ6UH19fXJldHVybnt9fX19O2Z1bmN0aW9uIEc0KGUsdCl7cmV0dXJue3RvcDplLnRvcC10LmhlaWdodCxyaWdodDplLnJpZ2h0LXQud2lkdGgsYm90dG9tOmUuYm90dG9tLXQuaGVpZ2h0LGxlZnQ6ZS5sZWZ0LXQud2lkdGh9fWZ1bmN0aW9uIHE0KGUpe3JldHVybiBMbmUuc29tZSh0PT5lW3RdPj0wKX1jb25zdCB0c2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPXt9KSx7bmFtZToiaGlkZSIsb3B0aW9uczplLGFzeW5jIGZuKHQpe2NvbnN0e3JlY3RzOnJ9PXQse3N0cmF0ZWd5Om49InJlZmVyZW5jZUhpZGRlbiIsLi4uYX09aG8oZSx0KTtzd2l0Y2gobil7Y2FzZSJyZWZlcmVuY2VIaWRkZW4iOntjb25zdCBpPWF3YWl0IGdtKHQsey4uLmEsZWxlbWVudENvbnRleHQ6InJlZmVyZW5jZSJ9KSxvPUc0KGksci5yZWZlcmVuY2UpO3JldHVybntkYXRhOntyZWZlcmVuY2VIaWRkZW5PZmZzZXRzOm8scmVmZXJlbmNlSGlkZGVuOnE0KG8pfX19Y2FzZSJlc2NhcGVkIjp7Y29uc3QgaT1hd2FpdCBnbSh0LHsuLi5hLGFsdEJvdW5kYXJ5OiEwfSksbz1HNChpLHIuZmxvYXRpbmcpO3JldHVybntkYXRhOntlc2NhcGVkT2Zmc2V0czpvLGVzY2FwZWQ6cTQobyl9fX1kZWZhdWx0OnJldHVybnt9fX19fSxyNj1uZXcgU2V0KFsibGVmdCIsInRvcCJdKTthc3luYyBmdW5jdGlvbiByc2UoZSx0KXtjb25zdHtwbGFjZW1lbnQ6cixwbGF0Zm9ybTpuLGVsZW1lbnRzOmF9PWUsaT1hd2FpdChuLmlzUlRMPT1udWxsP3ZvaWQgMDpuLmlzUlRMKGEuZmxvYXRpbmcpKSxvPW1vKHIpLGw9cUEociksYz1kaShyKT09PSJ5IixkPXI2LmhhcyhvKT8tMToxLHU9aSYmYz8tMToxLEE9aG8odCxlKTtsZXR7bWFpbkF4aXM6Zixjcm9zc0F4aXM6aCxhbGlnbm1lbnRBeGlzOnB9PXR5cGVvZiBBPT0ibnVtYmVyIj97bWFpbkF4aXM6QSxjcm9zc0F4aXM6MCxhbGlnbm1lbnRBeGlzOm51bGx9OnttYWluQXhpczpBLm1haW5BeGlzfHwwLGNyb3NzQXhpczpBLmNyb3NzQXhpc3x8MCxhbGlnbm1lbnRBeGlzOkEuYWxpZ25tZW50QXhpc307cmV0dXJuIGwmJnR5cGVvZiBwPT0ibnVtYmVyIiYmKGg9bD09PSJlbmQiP3AqLTE6cCksYz97eDpoKnUseTpmKmR9Ont4OmYqZCx5OmgqdX19Y29uc3QgbnNlPWZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT0wKSx7bmFtZToib2Zmc2V0IixvcHRpb25zOmUsYXN5bmMgZm4odCl7dmFyIHIsbjtjb25zdHt4OmEseTppLHBsYWNlbWVudDpvLG1pZGRsZXdhcmVEYXRhOmx9PXQsYz1hd2FpdCByc2UodCxlKTtyZXR1cm4gbz09PSgocj1sLm9mZnNldCk9PW51bGw/dm9pZCAwOnIucGxhY2VtZW50KSYmKG49bC5hcnJvdykhPW51bGwmJm4uYWxpZ25tZW50T2Zmc2V0P3t9Ont4OmErYy54LHk6aStjLnksZGF0YTp7Li4uYyxwbGFjZW1lbnQ6b319fX19LHNzZT1mdW5jdGlvbihlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9e30pLHtuYW1lOiJzaGlmdCIsb3B0aW9uczplLGFzeW5jIGZuKHQpe2NvbnN0e3g6cix5Om4scGxhY2VtZW50OmF9PXQse21haW5BeGlzOmk9ITAsY3Jvc3NBeGlzOm89ITEsbGltaXRlcjpsPXtmbjp4PT57bGV0e3g6dyx5fT14O3JldHVybnt4OncseX19fSwuLi5jfT1obyhlLHQpLGQ9e3g6cix5Om59LHU9YXdhaXQgZ20odCxjKSxBPWRpKG1vKGEpKSxmPVkyKEEpO2xldCBoPWRbZl0scD1kW0FdO2lmKGkpe2NvbnN0IHg9Zj09PSJ5Ij8idG9wIjoibGVmdCIsdz1mPT09InkiPyJib3R0b20iOiJyaWdodCIseT1oK3VbeF0sdj1oLXVbd107aD1UQyh5LGgsdil9aWYobyl7Y29uc3QgeD1BPT09InkiPyJ0b3AiOiJsZWZ0Iix3PUE9PT0ieSI/ImJvdHRvbSI6InJpZ2h0Iix5PXArdVt4XSx2PXAtdVt3XTtwPVRDKHkscCx2KX1jb25zdCBtPWwuZm4oey4uLnQsW2ZdOmgsW0FdOnB9KTtyZXR1cm57Li4ubSxkYXRhOnt4Om0ueC1yLHk6bS55LW4sZW5hYmxlZDp7W2ZdOmksW0FdOm99fX19fX0sYXNlPWZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT17fSkse29wdGlvbnM6ZSxmbih0KXtjb25zdHt4OnIseTpuLHBsYWNlbWVudDphLHJlY3RzOmksbWlkZGxld2FyZURhdGE6b309dCx7b2Zmc2V0Omw9MCxtYWluQXhpczpjPSEwLGNyb3NzQXhpczpkPSEwfT1obyhlLHQpLHU9e3g6cix5Om59LEE9ZGkoYSksZj1ZMihBKTtsZXQgaD11W2ZdLHA9dVtBXTtjb25zdCBtPWhvKGwsdCkseD10eXBlb2YgbT09Im51bWJlciI/e21haW5BeGlzOm0sY3Jvc3NBeGlzOjB9OnttYWluQXhpczowLGNyb3NzQXhpczowLC4uLm19O2lmKGMpe2NvbnN0IHY9Zj09PSJ5Ij8iaGVpZ2h0Ijoid2lkdGgiLGI9aS5yZWZlcmVuY2VbZl0taS5mbG9hdGluZ1t2XSt4Lm1haW5BeGlzLGo9aS5yZWZlcmVuY2VbZl0raS5yZWZlcmVuY2Vbdl0teC5tYWluQXhpcztoPGI/aD1iOmg+aiYmKGg9ail9aWYoZCl7dmFyIHcseTtjb25zdCB2PWY9PT0ieSI/IndpZHRoIjoiaGVpZ2h0IixiPXI2LmhhcyhtbyhhKSksaj1pLnJlZmVyZW5jZVtBXS1pLmZsb2F0aW5nW3ZdKyhiJiYoKHc9by5vZmZzZXQpPT1udWxsP3ZvaWQgMDp3W0FdKXx8MCkrKGI/MDp4LmNyb3NzQXhpcyksTj1pLnJlZmVyZW5jZVtBXStpLnJlZmVyZW5jZVt2XSsoYj8wOigoeT1vLm9mZnNldCk9PW51bGw/dm9pZCAwOnlbQV0pfHwwKS0oYj94LmNyb3NzQXhpczowKTtwPGo/cD1qOnA+TiYmKHA9Til9cmV0dXJue1tmXTpoLFtBXTpwfX19fSxpc2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPXt9KSx7bmFtZToic2l6ZSIsb3B0aW9uczplLGFzeW5jIGZuKHQpe3ZhciByLG47Y29uc3R7cGxhY2VtZW50OmEscmVjdHM6aSxwbGF0Zm9ybTpvLGVsZW1lbnRzOmx9PXQse2FwcGx5OmM9KCk9Pnt9LC4uLmR9PWhvKGUsdCksdT1hd2FpdCBnbSh0LGQpLEE9bW8oYSksZj1xQShhKSxoPWRpKGEpPT09InkiLHt3aWR0aDpwLGhlaWdodDptfT1pLmZsb2F0aW5nO2xldCB4LHc7QT09PSJ0b3AifHxBPT09ImJvdHRvbSI/KHg9QSx3PWY9PT0oYXdhaXQoby5pc1JUTD09bnVsbD92b2lkIDA6by5pc1JUTChsLmZsb2F0aW5nKSk/InN0YXJ0IjoiZW5kIik/ImxlZnQiOiJyaWdodCIpOih3PUEseD1mPT09ImVuZCI/InRvcCI6ImJvdHRvbSIpO2NvbnN0IHk9bS11LnRvcC11LmJvdHRvbSx2PXAtdS5sZWZ0LXUucmlnaHQsYj1PbChtLXVbeF0seSksaj1PbChwLXVbd10sdiksTj0hdC5taWRkbGV3YXJlRGF0YS5zaGlmdDtsZXQgQz1iLF89ajtpZigocj10Lm1pZGRsZXdhcmVEYXRhLnNoaWZ0KSE9bnVsbCYmci5lbmFibGVkLngmJihfPXYpLChuPXQubWlkZGxld2FyZURhdGEuc2hpZnQpIT1udWxsJiZuLmVuYWJsZWQueSYmKEM9eSksTiYmIWYpe2NvbnN0IGs9bXModS5sZWZ0LDApLEU9bXModS5yaWdodCwwKSxGPW1zKHUudG9wLDApLE89bXModS5ib3R0b20sMCk7aD9fPXAtMiooayE9PTB8fEUhPT0wP2srRTptcyh1LmxlZnQsdS5yaWdodCkpOkM9bS0yKihGIT09MHx8TyE9PTA/RitPOm1zKHUudG9wLHUuYm90dG9tKSl9YXdhaXQgYyh7Li4udCxhdmFpbGFibGVXaWR0aDpfLGF2YWlsYWJsZUhlaWdodDpDfSk7Y29uc3QgQj1hd2FpdCBvLmdldERpbWVuc2lvbnMobC5mbG9hdGluZyk7cmV0dXJuIHAhPT1CLndpZHRofHxtIT09Qi5oZWlnaHQ/e3Jlc2V0OntyZWN0czohMH19Ont9fX19O2Z1bmN0aW9uIGZ3KCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8InUifWZ1bmN0aW9uIFlBKGUpe3JldHVybiBuNihlKT8oZS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk6IiNkb2N1bWVudCJ9ZnVuY3Rpb24gYnMoZSl7dmFyIHQ7cmV0dXJuKGU9PW51bGx8fCh0PWUub3duZXJEb2N1bWVudCk9PW51bGw/dm9pZCAwOnQuZGVmYXVsdFZpZXcpfHx3aW5kb3d9ZnVuY3Rpb24gRWkoZSl7dmFyIHQ7cmV0dXJuKHQ9KG42KGUpP2Uub3duZXJEb2N1bWVudDplLmRvY3VtZW50KXx8d2luZG93LmRvY3VtZW50KT09bnVsbD92b2lkIDA6dC5kb2N1bWVudEVsZW1lbnR9ZnVuY3Rpb24gbjYoZSl7cmV0dXJuIGZ3KCk/ZSBpbnN0YW5jZW9mIE5vZGV8fGUgaW5zdGFuY2VvZiBicyhlKS5Ob2RlOiExfWZ1bmN0aW9uIEdhKGUpe3JldHVybiBmdygpP2UgaW5zdGFuY2VvZiBFbGVtZW50fHxlIGluc3RhbmNlb2YgYnMoZSkuRWxlbWVudDohMX1mdW5jdGlvbiBiaShlKXtyZXR1cm4gZncoKT9lIGluc3RhbmNlb2YgSFRNTEVsZW1lbnR8fGUgaW5zdGFuY2VvZiBicyhlKS5IVE1MRWxlbWVudDohMX1mdW5jdGlvbiBZNChlKXtyZXR1cm4hZncoKXx8dHlwZW9mIFNoYWRvd1Jvb3Q+InUiPyExOmUgaW5zdGFuY2VvZiBTaGFkb3dSb290fHxlIGluc3RhbmNlb2YgYnMoZSkuU2hhZG93Um9vdH1jb25zdCBvc2U9bmV3IFNldChbImlubGluZSIsImNvbnRlbnRzIl0pO2Z1bmN0aW9uIFJwKGUpe2NvbnN0e292ZXJmbG93OnQsb3ZlcmZsb3dYOnIsb3ZlcmZsb3dZOm4sZGlzcGxheTphfT1xYShlKTtyZXR1cm4vYXV0b3xzY3JvbGx8b3ZlcmxheXxoaWRkZW58Y2xpcC8udGVzdCh0K24rcikmJiFvc2UuaGFzKGEpfWNvbnN0IGxzZT1uZXcgU2V0KFsidGFibGUiLCJ0ZCIsInRoIl0pO2Z1bmN0aW9uIGNzZShlKXtyZXR1cm4gbHNlLmhhcyhZQShlKSl9Y29uc3QgZHNlPVsiOnBvcG92ZXItb3BlbiIsIjptb2RhbCJdO2Z1bmN0aW9uIGh3KGUpe3JldHVybiBkc2Uuc29tZSh0PT57dHJ5e3JldHVybiBlLm1hdGNoZXModCl9Y2F0Y2h7cmV0dXJuITF9fSl9Y29uc3QgdXNlPVsidHJhbnNmb3JtIiwidHJhbnNsYXRlIiwic2NhbGUiLCJyb3RhdGUiLCJwZXJzcGVjdGl2ZSJdLEFzZT1bInRyYW5zZm9ybSIsInRyYW5zbGF0ZSIsInNjYWxlIiwicm90YXRlIiwicGVyc3BlY3RpdmUiLCJmaWx0ZXIiXSxmc2U9WyJwYWludCIsImxheW91dCIsInN0cmljdCIsImNvbnRlbnQiXTtmdW5jdGlvbiBaMihlKXtjb25zdCB0PWVFKCkscj1HYShlKT9xYShlKTplO3JldHVybiB1c2Uuc29tZShuPT5yW25dP3Jbbl0hPT0ibm9uZSI6ITEpfHwoci5jb250YWluZXJUeXBlP3IuY29udGFpbmVyVHlwZSE9PSJub3JtYWwiOiExKXx8IXQmJihyLmJhY2tkcm9wRmlsdGVyP3IuYmFja2Ryb3BGaWx0ZXIhPT0ibm9uZSI6ITEpfHwhdCYmKHIuZmlsdGVyP3IuZmlsdGVyIT09Im5vbmUiOiExKXx8QXNlLnNvbWUobj0+KHIud2lsbENoYW5nZXx8IiIpLmluY2x1ZGVzKG4pKXx8ZnNlLnNvbWUobj0+KHIuY29udGFpbnx8IiIpLmluY2x1ZGVzKG4pKX1mdW5jdGlvbiBoc2UoZSl7bGV0IHQ9SWwoZSk7Zm9yKDtiaSh0KSYmIXJBKHQpOyl7aWYoWjIodCkpcmV0dXJuIHQ7aWYoaHcodCkpcmV0dXJuIG51bGw7dD1JbCh0KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBlRSgpe3JldHVybiB0eXBlb2YgQ1NTPiJ1Inx8IUNTUy5zdXBwb3J0cz8hMTpDU1Muc3VwcG9ydHMoIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIiwibm9uZSIpfWNvbnN0IG1zZT1uZXcgU2V0KFsiaHRtbCIsImJvZHkiLCIjZG9jdW1lbnQiXSk7ZnVuY3Rpb24gckEoZSl7cmV0dXJuIG1zZS5oYXMoWUEoZSkpfWZ1bmN0aW9uIHFhKGUpe3JldHVybiBicyhlKS5nZXRDb21wdXRlZFN0eWxlKGUpfWZ1bmN0aW9uIG13KGUpe3JldHVybiBHYShlKT97c2Nyb2xsTGVmdDplLnNjcm9sbExlZnQsc2Nyb2xsVG9wOmUuc2Nyb2xsVG9wfTp7c2Nyb2xsTGVmdDplLnNjcm9sbFgsc2Nyb2xsVG9wOmUuc2Nyb2xsWX19ZnVuY3Rpb24gSWwoZSl7aWYoWUEoZSk9PT0iaHRtbCIpcmV0dXJuIGU7Y29uc3QgdD1lLmFzc2lnbmVkU2xvdHx8ZS5wYXJlbnROb2RlfHxZNChlKSYmZS5ob3N0fHxFaShlKTtyZXR1cm4gWTQodCk/dC5ob3N0OnR9ZnVuY3Rpb24gczYoZSl7Y29uc3QgdD1JbChlKTtyZXR1cm4gckEodCk/ZS5vd25lckRvY3VtZW50P2Uub3duZXJEb2N1bWVudC5ib2R5OmUuYm9keTpiaSh0KSYmUnAodCk/dDpzNih0KX1mdW5jdGlvbiB4bShlLHQscil7dmFyIG47dD09PXZvaWQgMCYmKHQ9W10pLHI9PT12b2lkIDAmJihyPSEwKTtjb25zdCBhPXM2KGUpLGk9YT09PSgobj1lLm93bmVyRG9jdW1lbnQpPT1udWxsP3ZvaWQgMDpuLmJvZHkpLG89YnMoYSk7aWYoaSl7Y29uc3QgbD1GQyhvKTtyZXR1cm4gdC5jb25jYXQobyxvLnZpc3VhbFZpZXdwb3J0fHxbXSxScChhKT9hOltdLGwmJnI/eG0obCk6W10pfXJldHVybiB0LmNvbmNhdChhLHhtKGEsW10scikpfWZ1bmN0aW9uIEZDKGUpe3JldHVybiBlLnBhcmVudCYmT2JqZWN0LmdldFByb3RvdHlwZU9mKGUucGFyZW50KT9lLmZyYW1lRWxlbWVudDpudWxsfWZ1bmN0aW9uIGE2KGUpe2NvbnN0IHQ9cWEoZSk7bGV0IHI9cGFyc2VGbG9hdCh0LndpZHRoKXx8MCxuPXBhcnNlRmxvYXQodC5oZWlnaHQpfHwwO2NvbnN0IGE9YmkoZSksaT1hP2Uub2Zmc2V0V2lkdGg6cixvPWE/ZS5vZmZzZXRIZWlnaHQ6bixsPXowKHIpIT09aXx8ejAobikhPT1vO3JldHVybiBsJiYocj1pLG49bykse3dpZHRoOnIsaGVpZ2h0Om4sJDpsfX1mdW5jdGlvbiB0RShlKXtyZXR1cm4gR2EoZSk/ZTplLmNvbnRleHRFbGVtZW50fWZ1bmN0aW9uIEV1KGUpe2NvbnN0IHQ9dEUoZSk7aWYoIWJpKHQpKXJldHVybiBtaSgxKTtjb25zdCByPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse3dpZHRoOm4saGVpZ2h0OmEsJDppfT1hNih0KTtsZXQgbz0oaT96MChyLndpZHRoKTpyLndpZHRoKS9uLGw9KGk/ejAoci5oZWlnaHQpOnIuaGVpZ2h0KS9hO3JldHVybighb3x8IU51bWJlci5pc0Zpbml0ZShvKSkmJihvPTEpLCghbHx8IU51bWJlci5pc0Zpbml0ZShsKSkmJihsPTEpLHt4Om8seTpsfX1jb25zdCBwc2U9bWkoMCk7ZnVuY3Rpb24gaTYoZSl7Y29uc3QgdD1icyhlKTtyZXR1cm4hZUUoKXx8IXQudmlzdWFsVmlld3BvcnQ/cHNlOnt4OnQudmlzdWFsVmlld3BvcnQub2Zmc2V0TGVmdCx5OnQudmlzdWFsVmlld3BvcnQub2Zmc2V0VG9wfX1mdW5jdGlvbiBnc2UoZSx0LHIpe3JldHVybiB0PT09dm9pZCAwJiYodD0hMSksIXJ8fHQmJnIhPT1icyhlKT8hMTp0fWZ1bmN0aW9uIGFkKGUsdCxyLG4pe3Q9PT12b2lkIDAmJih0PSExKSxyPT09dm9pZCAwJiYocj0hMSk7Y29uc3QgYT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9dEUoZSk7bGV0IG89bWkoMSk7dCYmKG4/R2EobikmJihvPUV1KG4pKTpvPUV1KGUpKTtjb25zdCBsPWdzZShpLHIsbik/aTYoaSk6bWkoMCk7bGV0IGM9KGEubGVmdCtsLngpL28ueCxkPShhLnRvcCtsLnkpL28ueSx1PWEud2lkdGgvby54LEE9YS5oZWlnaHQvby55O2lmKGkpe2NvbnN0IGY9YnMoaSksaD1uJiZHYShuKT9icyhuKTpuO2xldCBwPWYsbT1GQyhwKTtmb3IoO20mJm4mJmghPT1wOyl7Y29uc3QgeD1FdShtKSx3PW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkseT1xYShtKSx2PXcubGVmdCsobS5jbGllbnRMZWZ0K3BhcnNlRmxvYXQoeS5wYWRkaW5nTGVmdCkpKngueCxiPXcudG9wKyhtLmNsaWVudFRvcCtwYXJzZUZsb2F0KHkucGFkZGluZ1RvcCkpKngueTtjKj14LngsZCo9eC55LHUqPXgueCxBKj14LnksYys9dixkKz1iLHA9YnMobSksbT1GQyhwKX19cmV0dXJuIEcwKHt3aWR0aDp1LGhlaWdodDpBLHg6Yyx5OmR9KX1mdW5jdGlvbiByRShlLHQpe2NvbnN0IHI9bXcoZSkuc2Nyb2xsTGVmdDtyZXR1cm4gdD90LmxlZnQrcjphZChFaShlKSkubGVmdCtyfWZ1bmN0aW9uIG82KGUsdCxyKXtyPT09dm9pZCAwJiYocj0hMSk7Y29uc3Qgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9bi5sZWZ0K3Quc2Nyb2xsTGVmdC0ocj8wOnJFKGUsbikpLGk9bi50b3ArdC5zY3JvbGxUb3A7cmV0dXJue3g6YSx5Oml9fWZ1bmN0aW9uIHhzZShlKXtsZXR7ZWxlbWVudHM6dCxyZWN0OnIsb2Zmc2V0UGFyZW50Om4sc3RyYXRlZ3k6YX09ZTtjb25zdCBpPWE9PT0iZml4ZWQiLG89RWkobiksbD10P2h3KHQuZmxvYXRpbmcpOiExO2lmKG49PT1vfHxsJiZpKXJldHVybiByO2xldCBjPXtzY3JvbGxMZWZ0OjAsc2Nyb2xsVG9wOjB9LGQ9bWkoMSk7Y29uc3QgdT1taSgwKSxBPWJpKG4pO2lmKChBfHwhQSYmIWkpJiYoKFlBKG4pIT09ImJvZHkifHxScChvKSkmJihjPW13KG4pKSxiaShuKSkpe2NvbnN0IGg9YWQobik7ZD1FdShuKSx1Lng9aC54K24uY2xpZW50TGVmdCx1Lnk9aC55K24uY2xpZW50VG9wfWNvbnN0IGY9byYmIUEmJiFpP282KG8sYywhMCk6bWkoMCk7cmV0dXJue3dpZHRoOnIud2lkdGgqZC54LGhlaWdodDpyLmhlaWdodCpkLnkseDpyLngqZC54LWMuc2Nyb2xsTGVmdCpkLngrdS54K2YueCx5OnIueSpkLnktYy5zY3JvbGxUb3AqZC55K3UueStmLnl9fWZ1bmN0aW9uIHlzZShlKXtyZXR1cm4gQXJyYXkuZnJvbShlLmdldENsaWVudFJlY3RzKCkpfWZ1bmN0aW9uIHZzZShlKXtjb25zdCB0PUVpKGUpLHI9bXcoZSksbj1lLm93bmVyRG9jdW1lbnQuYm9keSxhPW1zKHQuc2Nyb2xsV2lkdGgsdC5jbGllbnRXaWR0aCxuLnNjcm9sbFdpZHRoLG4uY2xpZW50V2lkdGgpLGk9bXModC5zY3JvbGxIZWlnaHQsdC5jbGllbnRIZWlnaHQsbi5zY3JvbGxIZWlnaHQsbi5jbGllbnRIZWlnaHQpO2xldCBvPS1yLnNjcm9sbExlZnQrckUoZSk7Y29uc3QgbD0tci5zY3JvbGxUb3A7cmV0dXJuIHFhKG4pLmRpcmVjdGlvbj09PSJydGwiJiYobys9bXModC5jbGllbnRXaWR0aCxuLmNsaWVudFdpZHRoKS1hKSx7d2lkdGg6YSxoZWlnaHQ6aSx4Om8seTpsfX1mdW5jdGlvbiB3c2UoZSx0KXtjb25zdCByPWJzKGUpLG49RWkoZSksYT1yLnZpc3VhbFZpZXdwb3J0O2xldCBpPW4uY2xpZW50V2lkdGgsbz1uLmNsaWVudEhlaWdodCxsPTAsYz0wO2lmKGEpe2k9YS53aWR0aCxvPWEuaGVpZ2h0O2NvbnN0IGQ9ZUUoKTsoIWR8fGQmJnQ9PT0iZml4ZWQiKSYmKGw9YS5vZmZzZXRMZWZ0LGM9YS5vZmZzZXRUb3ApfXJldHVybnt3aWR0aDppLGhlaWdodDpvLHg6bCx5OmN9fWNvbnN0IGJzZT1uZXcgU2V0KFsiYWJzb2x1dGUiLCJmaXhlZCJdKTtmdW5jdGlvbiBqc2UoZSx0KXtjb25zdCByPWFkKGUsITAsdD09PSJmaXhlZCIpLG49ci50b3ArZS5jbGllbnRUb3AsYT1yLmxlZnQrZS5jbGllbnRMZWZ0LGk9YmkoZSk/RXUoZSk6bWkoMSksbz1lLmNsaWVudFdpZHRoKmkueCxsPWUuY2xpZW50SGVpZ2h0KmkueSxjPWEqaS54LGQ9bippLnk7cmV0dXJue3dpZHRoOm8saGVpZ2h0OmwseDpjLHk6ZH19ZnVuY3Rpb24gWDQoZSx0LHIpe2xldCBuO2lmKHQ9PT0idmlld3BvcnQiKW49d3NlKGUscik7ZWxzZSBpZih0PT09ImRvY3VtZW50IiluPXZzZShFaShlKSk7ZWxzZSBpZihHYSh0KSluPWpzZSh0LHIpO2Vsc2V7Y29uc3QgYT1pNihlKTtuPXt4OnQueC1hLngseTp0LnktYS55LHdpZHRoOnQud2lkdGgsaGVpZ2h0OnQuaGVpZ2h0fX1yZXR1cm4gRzAobil9ZnVuY3Rpb24gbDYoZSx0KXtjb25zdCByPUlsKGUpO3JldHVybiByPT09dHx8IUdhKHIpfHxyQShyKT8hMTpxYShyKS5wb3NpdGlvbj09PSJmaXhlZCJ8fGw2KHIsdCl9ZnVuY3Rpb24gTnNlKGUsdCl7Y29uc3Qgcj10LmdldChlKTtpZihyKXJldHVybiByO2xldCBuPXhtKGUsW10sITEpLmZpbHRlcihsPT5HYShsKSYmWUEobCkhPT0iYm9keSIpLGE9bnVsbDtjb25zdCBpPXFhKGUpLnBvc2l0aW9uPT09ImZpeGVkIjtsZXQgbz1pP0lsKGUpOmU7Zm9yKDtHYShvKSYmIXJBKG8pOyl7Y29uc3QgbD1xYShvKSxjPVoyKG8pOyFjJiZsLnBvc2l0aW9uPT09ImZpeGVkIiYmKGE9bnVsbCksKGk/IWMmJiFhOiFjJiZsLnBvc2l0aW9uPT09InN0YXRpYyImJiEhYSYmYnNlLmhhcyhhLnBvc2l0aW9uKXx8UnAobykmJiFjJiZsNihlLG8pKT9uPW4uZmlsdGVyKHU9PnUhPT1vKTphPWwsbz1JbChvKX1yZXR1cm4gdC5zZXQoZSxuKSxufWZ1bmN0aW9uIENzZShlKXtsZXR7ZWxlbWVudDp0LGJvdW5kYXJ5OnIscm9vdEJvdW5kYXJ5Om4sc3RyYXRlZ3k6YX09ZTtjb25zdCBvPVsuLi5yPT09ImNsaXBwaW5nQW5jZXN0b3JzIj9odyh0KT9bXTpOc2UodCx0aGlzLl9jKTpbXS5jb25jYXQociksbl0sbD1vWzBdLGM9by5yZWR1Y2UoKGQsdSk9Pntjb25zdCBBPVg0KHQsdSxhKTtyZXR1cm4gZC50b3A9bXMoQS50b3AsZC50b3ApLGQucmlnaHQ9T2woQS5yaWdodCxkLnJpZ2h0KSxkLmJvdHRvbT1PbChBLmJvdHRvbSxkLmJvdHRvbSksZC5sZWZ0PW1zKEEubGVmdCxkLmxlZnQpLGR9LFg0KHQsbCxhKSk7cmV0dXJue3dpZHRoOmMucmlnaHQtYy5sZWZ0LGhlaWdodDpjLmJvdHRvbS1jLnRvcCx4OmMubGVmdCx5OmMudG9wfX1mdW5jdGlvbiBfc2UoZSl7Y29uc3R7d2lkdGg6dCxoZWlnaHQ6cn09YTYoZSk7cmV0dXJue3dpZHRoOnQsaGVpZ2h0OnJ9fWZ1bmN0aW9uIEJzZShlLHQscil7Y29uc3Qgbj1iaSh0KSxhPUVpKHQpLGk9cj09PSJmaXhlZCIsbz1hZChlLCEwLGksdCk7bGV0IGw9e3Njcm9sbExlZnQ6MCxzY3JvbGxUb3A6MH07Y29uc3QgYz1taSgwKTtmdW5jdGlvbiBkKCl7Yy54PXJFKGEpfWlmKG58fCFuJiYhaSlpZigoWUEodCkhPT0iYm9keSJ8fFJwKGEpKSYmKGw9bXcodCkpLG4pe2NvbnN0IGg9YWQodCwhMCxpLHQpO2MueD1oLngrdC5jbGllbnRMZWZ0LGMueT1oLnkrdC5jbGllbnRUb3B9ZWxzZSBhJiZkKCk7aSYmIW4mJmEmJmQoKTtjb25zdCB1PWEmJiFuJiYhaT9vNihhLGwpOm1pKDApLEE9by5sZWZ0K2wuc2Nyb2xsTGVmdC1jLngtdS54LGY9by50b3ArbC5zY3JvbGxUb3AtYy55LXUueTtyZXR1cm57eDpBLHk6Zix3aWR0aDpvLndpZHRoLGhlaWdodDpvLmhlaWdodH19ZnVuY3Rpb24gSTEoZSl7cmV0dXJuIHFhKGUpLnBvc2l0aW9uPT09InN0YXRpYyJ9ZnVuY3Rpb24gSjQoZSx0KXtpZighYmkoZSl8fHFhKGUpLnBvc2l0aW9uPT09ImZpeGVkIilyZXR1cm4gbnVsbDtpZih0KXJldHVybiB0KGUpO2xldCByPWUub2Zmc2V0UGFyZW50O3JldHVybiBFaShlKT09PXImJihyPXIub3duZXJEb2N1bWVudC5ib2R5KSxyfWZ1bmN0aW9uIGM2KGUsdCl7Y29uc3Qgcj1icyhlKTtpZihodyhlKSlyZXR1cm4gcjtpZighYmkoZSkpe2xldCBhPUlsKGUpO2Zvcig7YSYmIXJBKGEpOyl7aWYoR2EoYSkmJiFJMShhKSlyZXR1cm4gYTthPUlsKGEpfXJldHVybiByfWxldCBuPUo0KGUsdCk7Zm9yKDtuJiZjc2UobikmJkkxKG4pOyluPUo0KG4sdCk7cmV0dXJuIG4mJnJBKG4pJiZJMShuKSYmIVoyKG4pP3I6bnx8aHNlKGUpfHxyfWNvbnN0IFNzZT1hc3luYyBmdW5jdGlvbihlKXtjb25zdCB0PXRoaXMuZ2V0T2Zmc2V0UGFyZW50fHxjNixyPXRoaXMuZ2V0RGltZW5zaW9ucyxuPWF3YWl0IHIoZS5mbG9hdGluZyk7cmV0dXJue3JlZmVyZW5jZTpCc2UoZS5yZWZlcmVuY2UsYXdhaXQgdChlLmZsb2F0aW5nKSxlLnN0cmF0ZWd5KSxmbG9hdGluZzp7eDowLHk6MCx3aWR0aDpuLndpZHRoLGhlaWdodDpuLmhlaWdodH19fTtmdW5jdGlvbiBFc2UoZSl7cmV0dXJuIHFhKGUpLmRpcmVjdGlvbj09PSJydGwifWNvbnN0IGtzZT17Y29udmVydE9mZnNldFBhcmVudFJlbGF0aXZlUmVjdFRvVmlld3BvcnRSZWxhdGl2ZVJlY3Q6eHNlLGdldERvY3VtZW50RWxlbWVudDpFaSxnZXRDbGlwcGluZ1JlY3Q6Q3NlLGdldE9mZnNldFBhcmVudDpjNixnZXRFbGVtZW50UmVjdHM6U3NlLGdldENsaWVudFJlY3RzOnlzZSxnZXREaW1lbnNpb25zOl9zZSxnZXRTY2FsZTpFdSxpc0VsZW1lbnQ6R2EsaXNSVEw6RXNlfTtmdW5jdGlvbiBkNihlLHQpe3JldHVybiBlLng9PT10LngmJmUueT09PXQueSYmZS53aWR0aD09PXQud2lkdGgmJmUuaGVpZ2h0PT09dC5oZWlnaHR9ZnVuY3Rpb24gVHNlKGUsdCl7bGV0IHI9bnVsbCxuO2NvbnN0IGE9RWkoZSk7ZnVuY3Rpb24gaSgpe3ZhciBsO2NsZWFyVGltZW91dChuKSwobD1yKT09bnVsbHx8bC5kaXNjb25uZWN0KCkscj1udWxsfWZ1bmN0aW9uIG8obCxjKXtsPT09dm9pZCAwJiYobD0hMSksYz09PXZvaWQgMCYmKGM9MSksaSgpO2NvbnN0IGQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx7bGVmdDp1LHRvcDpBLHdpZHRoOmYsaGVpZ2h0Omh9PWQ7aWYobHx8dCgpLCFmfHwhaClyZXR1cm47Y29uc3QgcD1MZyhBKSxtPUxnKGEuY2xpZW50V2lkdGgtKHUrZikpLHg9TGcoYS5jbGllbnRIZWlnaHQtKEEraCkpLHc9TGcodSksdj17cm9vdE1hcmdpbjotcCsicHggIistbSsicHggIisteCsicHggIistdysicHgiLHRocmVzaG9sZDptcygwLE9sKDEsYykpfHwxfTtsZXQgYj0hMDtmdW5jdGlvbiBqKE4pe2NvbnN0IEM9TlswXS5pbnRlcnNlY3Rpb25SYXRpbztpZihDIT09Yyl7aWYoIWIpcmV0dXJuIG8oKTtDP28oITEsQyk6bj1zZXRUaW1lb3V0KCgpPT57byghMSwxZS03KX0sMWUzKX1DPT09MSYmIWQ2KGQsZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkmJm8oKSxiPSExfXRyeXtyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihqLHsuLi52LHJvb3Q6YS5vd25lckRvY3VtZW50fSl9Y2F0Y2h7cj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoaix2KX1yLm9ic2VydmUoZSl9cmV0dXJuIG8oITApLGl9ZnVuY3Rpb24gUHNlKGUsdCxyLG4pe249PT12b2lkIDAmJihuPXt9KTtjb25zdHthbmNlc3RvclNjcm9sbDphPSEwLGFuY2VzdG9yUmVzaXplOmk9ITAsZWxlbWVudFJlc2l6ZTpvPXR5cGVvZiBSZXNpemVPYnNlcnZlcj09ImZ1bmN0aW9uIixsYXlvdXRTaGlmdDpsPXR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlcj09ImZ1bmN0aW9uIixhbmltYXRpb25GcmFtZTpjPSExfT1uLGQ9dEUoZSksdT1hfHxpP1suLi5kP3htKGQpOltdLC4uLnhtKHQpXTpbXTt1LmZvckVhY2godz0+e2EmJncuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixyLHtwYXNzaXZlOiEwfSksaSYmdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHIpfSk7Y29uc3QgQT1kJiZsP1RzZShkLHIpOm51bGw7bGV0IGY9LTEsaD1udWxsO28mJihoPW5ldyBSZXNpemVPYnNlcnZlcih3PT57bGV0W3ldPXc7eSYmeS50YXJnZXQ9PT1kJiZoJiYoaC51bm9ic2VydmUodCksY2FuY2VsQW5pbWF0aW9uRnJhbWUoZiksZj1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt2YXIgdjsodj1oKT09bnVsbHx8di5vYnNlcnZlKHQpfSkpLHIoKX0pLGQmJiFjJiZoLm9ic2VydmUoZCksaC5vYnNlcnZlKHQpKTtsZXQgcCxtPWM/YWQoZSk6bnVsbDtjJiZ4KCk7ZnVuY3Rpb24geCgpe2NvbnN0IHc9YWQoZSk7bSYmIWQ2KG0sdykmJnIoKSxtPXcscD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoeCl9cmV0dXJuIHIoKSwoKT0+e3ZhciB3O3UuZm9yRWFjaCh5PT57YSYmeS5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHIpLGkmJnkucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixyKX0pLEE9PW51bGx8fEEoKSwodz1oKT09bnVsbHx8dy5kaXNjb25uZWN0KCksaD1udWxsLGMmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHApfX1jb25zdCBGc2U9bnNlLE9zZT1zc2UsSXNlPWVzZSxVc2U9aXNlLERzZT10c2UsWjQ9Wm5lLE1zZT1hc2UsUnNlPShlLHQscik9Pntjb25zdCBuPW5ldyBNYXAsYT17cGxhdGZvcm06a3NlLC4uLnJ9LGk9ey4uLmEucGxhdGZvcm0sX2M6bn07cmV0dXJuIEpuZShlLHQsey4uLmEscGxhdGZvcm06aX0pfTt2YXIgUXNlPXR5cGVvZiBkb2N1bWVudDwidSIsTHNlPWZ1bmN0aW9uKCl7fSxvMD1Rc2U/Zy51c2VMYXlvdXRFZmZlY3Q6THNlO2Z1bmN0aW9uIHEwKGUsdCl7aWYoZT09PXQpcmV0dXJuITA7aWYodHlwZW9mIGUhPXR5cGVvZiB0KXJldHVybiExO2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iJiZlLnRvU3RyaW5nKCk9PT10LnRvU3RyaW5nKCkpcmV0dXJuITA7bGV0IHIsbixhO2lmKGUmJnQmJnR5cGVvZiBlPT0ib2JqZWN0Iil7aWYoQXJyYXkuaXNBcnJheShlKSl7aWYocj1lLmxlbmd0aCxyIT09dC5sZW5ndGgpcmV0dXJuITE7Zm9yKG49cjtuLS0hPT0wOylpZighcTAoZVtuXSx0W25dKSlyZXR1cm4hMTtyZXR1cm4hMH1pZihhPU9iamVjdC5rZXlzKGUpLHI9YS5sZW5ndGgsciE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm4hMTtmb3Iobj1yO24tLSE9PTA7KWlmKCF7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsYVtuXSkpcmV0dXJuITE7Zm9yKG49cjtuLS0hPT0wOyl7Y29uc3QgaT1hW25dO2lmKCEoaT09PSJfb3duZXIiJiZlLiQkdHlwZW9mKSYmIXEwKGVbaV0sdFtpXSkpcmV0dXJuITF9cmV0dXJuITB9cmV0dXJuIGUhPT1lJiZ0IT09dH1mdW5jdGlvbiB1NihlKXtyZXR1cm4gdHlwZW9mIHdpbmRvdz4idSI/MTooZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmRldmljZVBpeGVsUmF0aW98fDF9ZnVuY3Rpb24gZUYoZSx0KXtjb25zdCByPXU2KGUpO3JldHVybiBNYXRoLnJvdW5kKHQqcikvcn1mdW5jdGlvbiBVMShlKXtjb25zdCB0PWcudXNlUmVmKGUpO3JldHVybiBvMCgoKT0+e3QuY3VycmVudD1lfSksdH1mdW5jdGlvbiAkc2UoZSl7ZT09PXZvaWQgMCYmKGU9e30pO2NvbnN0e3BsYWNlbWVudDp0PSJib3R0b20iLHN0cmF0ZWd5OnI9ImFic29sdXRlIixtaWRkbGV3YXJlOm49W10scGxhdGZvcm06YSxlbGVtZW50czp7cmVmZXJlbmNlOmksZmxvYXRpbmc6b309e30sdHJhbnNmb3JtOmw9ITAsd2hpbGVFbGVtZW50c01vdW50ZWQ6YyxvcGVuOmR9PWUsW3UsQV09Zy51c2VTdGF0ZSh7eDowLHk6MCxzdHJhdGVneTpyLHBsYWNlbWVudDp0LG1pZGRsZXdhcmVEYXRhOnt9LGlzUG9zaXRpb25lZDohMX0pLFtmLGhdPWcudXNlU3RhdGUobik7cTAoZixuKXx8aChuKTtjb25zdFtwLG1dPWcudXNlU3RhdGUobnVsbCksW3gsd109Zy51c2VTdGF0ZShudWxsKSx5PWcudXNlQ2FsbGJhY2soRD0+e0QhPT1OLmN1cnJlbnQmJihOLmN1cnJlbnQ9RCxtKEQpKX0sW10pLHY9Zy51c2VDYWxsYmFjayhEPT57RCE9PUMuY3VycmVudCYmKEMuY3VycmVudD1ELHcoRCkpfSxbXSksYj1pfHxwLGo9b3x8eCxOPWcudXNlUmVmKG51bGwpLEM9Zy51c2VSZWYobnVsbCksXz1nLnVzZVJlZih1KSxCPWMhPW51bGwsaz1VMShjKSxFPVUxKGEpLEY9VTEoZCksTz1nLnVzZUNhbGxiYWNrKCgpPT57aWYoIU4uY3VycmVudHx8IUMuY3VycmVudClyZXR1cm47Y29uc3QgRD17cGxhY2VtZW50OnQsc3RyYXRlZ3k6cixtaWRkbGV3YXJlOmZ9O0UuY3VycmVudCYmKEQucGxhdGZvcm09RS5jdXJyZW50KSxSc2UoTi5jdXJyZW50LEMuY3VycmVudCxEKS50aGVuKEk9Pntjb25zdCBSPXsuLi5JLGlzUG9zaXRpb25lZDpGLmN1cnJlbnQhPT0hMX07Uy5jdXJyZW50JiYhcTAoXy5jdXJyZW50LFIpJiYoXy5jdXJyZW50PVIseGQuZmx1c2hTeW5jKCgpPT57QShSKX0pKX0pfSxbZix0LHIsRSxGXSk7bzAoKCk9PntkPT09ITEmJl8uY3VycmVudC5pc1Bvc2l0aW9uZWQmJihfLmN1cnJlbnQuaXNQb3NpdGlvbmVkPSExLEEoRD0+KHsuLi5ELGlzUG9zaXRpb25lZDohMX0pKSl9LFtkXSk7Y29uc3QgUz1nLnVzZVJlZighMSk7bzAoKCk9PihTLmN1cnJlbnQ9ITAsKCk9PntTLmN1cnJlbnQ9ITF9KSxbXSksbzAoKCk9PntpZihiJiYoTi5jdXJyZW50PWIpLGomJihDLmN1cnJlbnQ9aiksYiYmail7aWYoay5jdXJyZW50KXJldHVybiBrLmN1cnJlbnQoYixqLE8pO08oKX19LFtiLGosTyxrLEJdKTtjb25zdCBUPWcudXNlTWVtbygoKT0+KHtyZWZlcmVuY2U6TixmbG9hdGluZzpDLHNldFJlZmVyZW5jZTp5LHNldEZsb2F0aW5nOnZ9KSxbeSx2XSksUD1nLnVzZU1lbW8oKCk9Pih7cmVmZXJlbmNlOmIsZmxvYXRpbmc6an0pLFtiLGpdKSxVPWcudXNlTWVtbygoKT0+e2NvbnN0IEQ9e3Bvc2l0aW9uOnIsbGVmdDowLHRvcDowfTtpZighUC5mbG9hdGluZylyZXR1cm4gRDtjb25zdCBJPWVGKFAuZmxvYXRpbmcsdS54KSxSPWVGKFAuZmxvYXRpbmcsdS55KTtyZXR1cm4gbD97Li4uRCx0cmFuc2Zvcm06InRyYW5zbGF0ZSgiK0krInB4LCAiK1IrInB4KSIsLi4udTYoUC5mbG9hdGluZyk+PTEuNSYme3dpbGxDaGFuZ2U6InRyYW5zZm9ybSJ9fTp7cG9zaXRpb246cixsZWZ0OkksdG9wOlJ9fSxbcixsLFAuZmxvYXRpbmcsdS54LHUueV0pO3JldHVybiBnLnVzZU1lbW8oKCk9Pih7Li4udSx1cGRhdGU6TyxyZWZzOlQsZWxlbWVudHM6UCxmbG9hdGluZ1N0eWxlczpVfSksW3UsTyxULFAsVV0pfWNvbnN0IEhzZT1lPT57ZnVuY3Rpb24gdChyKXtyZXR1cm57fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsImN1cnJlbnQiKX1yZXR1cm57bmFtZToiYXJyb3ciLG9wdGlvbnM6ZSxmbihyKXtjb25zdHtlbGVtZW50Om4scGFkZGluZzphfT10eXBlb2YgZT09ImZ1bmN0aW9uIj9lKHIpOmU7cmV0dXJuIG4mJnQobik/bi5jdXJyZW50IT1udWxsP1o0KHtlbGVtZW50Om4uY3VycmVudCxwYWRkaW5nOmF9KS5mbihyKTp7fTpuP1o0KHtlbGVtZW50Om4scGFkZGluZzphfSkuZm4ocik6e319fX0sS3NlPShlLHQpPT4oey4uLkZzZShlKSxvcHRpb25zOltlLHRdfSksVnNlPShlLHQpPT4oey4uLk9zZShlKSxvcHRpb25zOltlLHRdfSksenNlPShlLHQpPT4oey4uLk1zZShlKSxvcHRpb25zOltlLHRdfSksV3NlPShlLHQpPT4oey4uLklzZShlKSxvcHRpb25zOltlLHRdfSksR3NlPShlLHQpPT4oey4uLlVzZShlKSxvcHRpb25zOltlLHRdfSkscXNlPShlLHQpPT4oey4uLkRzZShlKSxvcHRpb25zOltlLHRdfSksWXNlPShlLHQpPT4oey4uLkhzZShlKSxvcHRpb25zOltlLHRdfSk7dmFyIFhzZT0iQXJyb3ciLEE2PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e2NoaWxkcmVuOnIsd2lkdGg6bj0xMCxoZWlnaHQ6YT01LC4uLml9PWU7cmV0dXJuIHMuanN4KFNlLnN2Zyx7Li4uaSxyZWY6dCx3aWR0aDpuLGhlaWdodDphLHZpZXdCb3g6IjAgMCAzMCAxMCIscHJlc2VydmVBc3BlY3RSYXRpbzoibm9uZSIsY2hpbGRyZW46ZS5hc0NoaWxkP3I6cy5qc3goInBvbHlnb24iLHtwb2ludHM6IjAsMCAzMCwwIDE1LDEwIn0pfSl9KTtBNi5kaXNwbGF5TmFtZT1Yc2U7dmFyIEpzZT1BNjtmdW5jdGlvbiBwdyhlKXtjb25zdFt0LHJdPWcudXNlU3RhdGUodm9pZCAwKTtyZXR1cm4ganIoKCk9PntpZihlKXtyKHt3aWR0aDplLm9mZnNldFdpZHRoLGhlaWdodDplLm9mZnNldEhlaWdodH0pO2NvbnN0IG49bmV3IFJlc2l6ZU9ic2VydmVyKGE9PntpZighQXJyYXkuaXNBcnJheShhKXx8IWEubGVuZ3RoKXJldHVybjtjb25zdCBpPWFbMF07bGV0IG8sbDtpZigiYm9yZGVyQm94U2l6ZSJpbiBpKXtjb25zdCBjPWkuYm9yZGVyQm94U2l6ZSxkPUFycmF5LmlzQXJyYXkoYyk/Y1swXTpjO289ZC5pbmxpbmVTaXplLGw9ZC5ibG9ja1NpemV9ZWxzZSBvPWUub2Zmc2V0V2lkdGgsbD1lLm9mZnNldEhlaWdodDtyKHt3aWR0aDpvLGhlaWdodDpsfSl9KTtyZXR1cm4gbi5vYnNlcnZlKGUse2JveDoiYm9yZGVyLWJveCJ9KSwoKT0+bi51bm9ic2VydmUoZSl9ZWxzZSByKHZvaWQgMCl9LFtlXSksdH12YXIgbkU9IlBvcHBlciIsW2Y2LFhBXT1EcihuRSksW1pzZSxoNl09ZjYobkUpLG02PWU9Pntjb25zdHtfX3Njb3BlUG9wcGVyOnQsY2hpbGRyZW46cn09ZSxbbixhXT1nLnVzZVN0YXRlKG51bGwpO3JldHVybiBzLmpzeChac2Use3Njb3BlOnQsYW5jaG9yOm4sb25BbmNob3JDaGFuZ2U6YSxjaGlsZHJlbjpyfSl9O202LmRpc3BsYXlOYW1lPW5FO3ZhciBwNj0iUG9wcGVyQW5jaG9yIixnNj1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlUG9wcGVyOnIsdmlydHVhbFJlZjpuLC4uLmF9PWUsaT1oNihwNixyKSxvPWcudXNlUmVmKG51bGwpLGw9V2UodCxvKTtyZXR1cm4gZy51c2VFZmZlY3QoKCk9PntpLm9uQW5jaG9yQ2hhbmdlKChuPT1udWxsP3ZvaWQgMDpuLmN1cnJlbnQpfHxvLmN1cnJlbnQpfSksbj9udWxsOnMuanN4KFNlLmRpdix7Li4uYSxyZWY6bH0pfSk7ZzYuZGlzcGxheU5hbWU9cDY7dmFyIHNFPSJQb3BwZXJDb250ZW50IixbZWFlLHRhZV09ZjYoc0UpLHg2PWcuZm9yd2FyZFJlZigoZSx0KT0+e3ZhciBYLEcscSxZLEosUTtjb25zdHtfX3Njb3BlUG9wcGVyOnIsc2lkZTpuPSJib3R0b20iLHNpZGVPZmZzZXQ6YT0wLGFsaWduOmk9ImNlbnRlciIsYWxpZ25PZmZzZXQ6bz0wLGFycm93UGFkZGluZzpsPTAsYXZvaWRDb2xsaXNpb25zOmM9ITAsY29sbGlzaW9uQm91bmRhcnk6ZD1bXSxjb2xsaXNpb25QYWRkaW5nOnU9MCxzdGlja3k6QT0icGFydGlhbCIsaGlkZVdoZW5EZXRhY2hlZDpmPSExLHVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3k6aD0ib3B0aW1pemVkIixvblBsYWNlZDpwLC4uLm19PWUseD1oNihzRSxyKSxbdyx5XT1nLnVzZVN0YXRlKG51bGwpLHY9V2UodCxhZT0+eShhZSkpLFtiLGpdPWcudXNlU3RhdGUobnVsbCksTj1wdyhiKSxDPShOPT1udWxsP3ZvaWQgMDpOLndpZHRoKT8/MCxfPShOPT1udWxsP3ZvaWQgMDpOLmhlaWdodCk/PzAsQj1uKyhpIT09ImNlbnRlciI/Ii0iK2k6IiIpLGs9dHlwZW9mIHU9PSJudW1iZXIiP3U6e3RvcDowLHJpZ2h0OjAsYm90dG9tOjAsbGVmdDowLC4uLnV9LEU9QXJyYXkuaXNBcnJheShkKT9kOltkXSxGPUUubGVuZ3RoPjAsTz17cGFkZGluZzprLGJvdW5kYXJ5OkUuZmlsdGVyKG5hZSksYWx0Qm91bmRhcnk6Rn0se3JlZnM6UyxmbG9hdGluZ1N0eWxlczpULHBsYWNlbWVudDpQLGlzUG9zaXRpb25lZDpVLG1pZGRsZXdhcmVEYXRhOkR9PSRzZSh7c3RyYXRlZ3k6ImZpeGVkIixwbGFjZW1lbnQ6Qix3aGlsZUVsZW1lbnRzTW91bnRlZDooLi4uYWUpPT5Qc2UoLi4uYWUse2FuaW1hdGlvbkZyYW1lOmg9PT0iYWx3YXlzIn0pLGVsZW1lbnRzOntyZWZlcmVuY2U6eC5hbmNob3J9LG1pZGRsZXdhcmU6W0tzZSh7bWFpbkF4aXM6YStfLGFsaWdubWVudEF4aXM6b30pLGMmJlZzZSh7bWFpbkF4aXM6ITAsY3Jvc3NBeGlzOiExLGxpbWl0ZXI6QT09PSJwYXJ0aWFsIj96c2UoKTp2b2lkIDAsLi4uT30pLGMmJldzZSh7Li4uT30pLEdzZSh7Li4uTyxhcHBseTooe2VsZW1lbnRzOmFlLHJlY3RzOnosYXZhaWxhYmxlV2lkdGg6bmUsYXZhaWxhYmxlSGVpZ2h0OnNlfSk9Pntjb25zdHt3aWR0aDppZSxoZWlnaHQ6JGV9PXoucmVmZXJlbmNlLFZlPWFlLmZsb2F0aW5nLnN0eWxlO1ZlLnNldFByb3BlcnR5KCItLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtd2lkdGgiLGAke25lfXB4YCksVmUuc2V0UHJvcGVydHkoIi0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS1oZWlnaHQiLGAke3NlfXB4YCksVmUuc2V0UHJvcGVydHkoIi0tcmFkaXgtcG9wcGVyLWFuY2hvci13aWR0aCIsYCR7aWV9cHhgKSxWZS5zZXRQcm9wZXJ0eSgiLS1yYWRpeC1wb3BwZXItYW5jaG9yLWhlaWdodCIsYCR7JGV9cHhgKX19KSxiJiZZc2Uoe2VsZW1lbnQ6YixwYWRkaW5nOmx9KSxzYWUoe2Fycm93V2lkdGg6QyxhcnJvd0hlaWdodDpffSksZiYmcXNlKHtzdHJhdGVneToicmVmZXJlbmNlSGlkZGVuIiwuLi5PfSldfSksW0ksUl09dzYoUCksTD13cihwKTtqcigoKT0+e1UmJihMPT1udWxsfHxMKCkpfSxbVSxMXSk7Y29uc3QgJD0oWD1ELmFycm93KT09bnVsbD92b2lkIDA6WC54LEg9KEc9RC5hcnJvdyk9PW51bGw/dm9pZCAwOkcueSxaPSgocT1ELmFycm93KT09bnVsbD92b2lkIDA6cS5jZW50ZXJPZmZzZXQpIT09MCxbZWUscmVdPWcudXNlU3RhdGUoKTtyZXR1cm4ganIoKCk9Pnt3JiZyZSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh3KS56SW5kZXgpfSxbd10pLHMuanN4KCJkaXYiLHtyZWY6Uy5zZXRGbG9hdGluZywiZGF0YS1yYWRpeC1wb3BwZXItY29udGVudC13cmFwcGVyIjoiIixzdHlsZTp7Li4uVCx0cmFuc2Zvcm06VT9ULnRyYW5zZm9ybToidHJhbnNsYXRlKDAsIC0yMDAlKSIsbWluV2lkdGg6Im1heC1jb250ZW50Iix6SW5kZXg6ZWUsIi0tcmFkaXgtcG9wcGVyLXRyYW5zZm9ybS1vcmlnaW4iOlsoWT1ELnRyYW5zZm9ybU9yaWdpbik9PW51bGw/dm9pZCAwOlkueCwoSj1ELnRyYW5zZm9ybU9yaWdpbik9PW51bGw/dm9pZCAwOkoueV0uam9pbigiICIpLC4uLigoUT1ELmhpZGUpPT1udWxsP3ZvaWQgMDpRLnJlZmVyZW5jZUhpZGRlbikmJnt2aXNpYmlsaXR5OiJoaWRkZW4iLHBvaW50ZXJFdmVudHM6Im5vbmUifX0sZGlyOmUuZGlyLGNoaWxkcmVuOnMuanN4KGVhZSx7c2NvcGU6cixwbGFjZWRTaWRlOkksb25BcnJvd0NoYW5nZTpqLGFycm93WDokLGFycm93WTpILHNob3VsZEhpZGVBcnJvdzpaLGNoaWxkcmVuOnMuanN4KFNlLmRpdix7ImRhdGEtc2lkZSI6SSwiZGF0YS1hbGlnbiI6UiwuLi5tLHJlZjp2LHN0eWxlOnsuLi5tLnN0eWxlLGFuaW1hdGlvbjpVP3ZvaWQgMDoibm9uZSJ9fSl9KX0pfSk7eDYuZGlzcGxheU5hbWU9c0U7dmFyIHk2PSJQb3BwZXJBcnJvdyIscmFlPXt0b3A6ImJvdHRvbSIscmlnaHQ6ImxlZnQiLGJvdHRvbToidG9wIixsZWZ0OiJyaWdodCJ9LHY2PWcuZm9yd2FyZFJlZihmdW5jdGlvbih0LHIpe2NvbnN0e19fc2NvcGVQb3BwZXI6biwuLi5hfT10LGk9dGFlKHk2LG4pLG89cmFlW2kucGxhY2VkU2lkZV07cmV0dXJuIHMuanN4KCJzcGFuIix7cmVmOmkub25BcnJvd0NoYW5nZSxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OmkuYXJyb3dYLHRvcDppLmFycm93WSxbb106MCx0cmFuc2Zvcm1PcmlnaW46e3RvcDoiIixyaWdodDoiMCAwIixib3R0b206ImNlbnRlciAwIixsZWZ0OiIxMDAlIDAifVtpLnBsYWNlZFNpZGVdLHRyYW5zZm9ybTp7dG9wOiJ0cmFuc2xhdGVZKDEwMCUpIixyaWdodDoidHJhbnNsYXRlWSg1MCUpIHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlWCgtNTAlKSIsYm90dG9tOiJyb3RhdGUoMTgwZGVnKSIsbGVmdDoidHJhbnNsYXRlWSg1MCUpIHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZVgoNTAlKSJ9W2kucGxhY2VkU2lkZV0sdmlzaWJpbGl0eTppLnNob3VsZEhpZGVBcnJvdz8iaGlkZGVuIjp2b2lkIDB9LGNoaWxkcmVuOnMuanN4KEpzZSx7Li4uYSxyZWY6cixzdHlsZTp7Li4uYS5zdHlsZSxkaXNwbGF5OiJibG9jayJ9fSl9KX0pO3Y2LmRpc3BsYXlOYW1lPXk2O2Z1bmN0aW9uIG5hZShlKXtyZXR1cm4gZSE9PW51bGx9dmFyIHNhZT1lPT4oe25hbWU6InRyYW5zZm9ybU9yaWdpbiIsb3B0aW9uczplLGZuKHQpe3ZhciB4LHcseTtjb25zdHtwbGFjZW1lbnQ6cixyZWN0czpuLG1pZGRsZXdhcmVEYXRhOmF9PXQsbz0oKHg9YS5hcnJvdyk9PW51bGw/dm9pZCAwOnguY2VudGVyT2Zmc2V0KSE9PTAsbD1vPzA6ZS5hcnJvd1dpZHRoLGM9bz8wOmUuYXJyb3dIZWlnaHQsW2QsdV09dzYociksQT17c3RhcnQ6IjAlIixjZW50ZXI6IjUwJSIsZW5kOiIxMDAlIn1bdV0sZj0oKCh3PWEuYXJyb3cpPT1udWxsP3ZvaWQgMDp3LngpPz8wKStsLzIsaD0oKCh5PWEuYXJyb3cpPT1udWxsP3ZvaWQgMDp5LnkpPz8wKStjLzI7bGV0IHA9IiIsbT0iIjtyZXR1cm4gZD09PSJib3R0b20iPyhwPW8/QTpgJHtmfXB4YCxtPWAkey1jfXB4YCk6ZD09PSJ0b3AiPyhwPW8/QTpgJHtmfXB4YCxtPWAke24uZmxvYXRpbmcuaGVpZ2h0K2N9cHhgKTpkPT09InJpZ2h0Ij8ocD1gJHstY31weGAsbT1vP0E6YCR7aH1weGApOmQ9PT0ibGVmdCImJihwPWAke24uZmxvYXRpbmcud2lkdGgrY31weGAsbT1vP0E6YCR7aH1weGApLHtkYXRhOnt4OnAseTptfX19fSk7ZnVuY3Rpb24gdzYoZSl7Y29uc3RbdCxyPSJjZW50ZXIiXT1lLnNwbGl0KCItIik7cmV0dXJuW3Qscl19dmFyIGI2PW02LGFFPWc2LGlFPXg2LG9FPXY2LFtndyxGR2VdPURyKCJUb29sdGlwIixbWEFdKSxsRT1YQSgpLGo2PSJUb29sdGlwUHJvdmlkZXIiLGFhZT03MDAsdEY9InRvb2x0aXAub3BlbiIsW2lhZSxONl09Z3coajYpLEM2PWU9Pntjb25zdHtfX3Njb3BlVG9vbHRpcDp0LGRlbGF5RHVyYXRpb246cj1hYWUsc2tpcERlbGF5RHVyYXRpb246bj0zMDAsZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnQ6YT0hMSxjaGlsZHJlbjppfT1lLG89Zy51c2VSZWYoITApLGw9Zy51c2VSZWYoITEpLGM9Zy51c2VSZWYoMCk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57Y29uc3QgZD1jLmN1cnJlbnQ7cmV0dXJuKCk9PndpbmRvdy5jbGVhclRpbWVvdXQoZCl9LFtdKSxzLmpzeChpYWUse3Njb3BlOnQsaXNPcGVuRGVsYXllZFJlZjpvLGRlbGF5RHVyYXRpb246cixvbk9wZW46Zy51c2VDYWxsYmFjaygoKT0+e3dpbmRvdy5jbGVhclRpbWVvdXQoYy5jdXJyZW50KSxvLmN1cnJlbnQ9ITF9LFtdKSxvbkNsb3NlOmcudXNlQ2FsbGJhY2soKCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KGMuY3VycmVudCksYy5jdXJyZW50PXdpbmRvdy5zZXRUaW1lb3V0KCgpPT5vLmN1cnJlbnQ9ITAsbil9LFtuXSksaXNQb2ludGVySW5UcmFuc2l0UmVmOmwsb25Qb2ludGVySW5UcmFuc2l0Q2hhbmdlOmcudXNlQ2FsbGJhY2soZD0+e2wuY3VycmVudD1kfSxbXSksZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnQ6YSxjaGlsZHJlbjppfSl9O0M2LmRpc3BsYXlOYW1lPWo2O3ZhciBfNj0iVG9vbHRpcCIsW09HZSx4d109Z3coXzYpLE9DPSJUb29sdGlwVHJpZ2dlciIsb2FlPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVUb29sdGlwOnIsLi4ubn09ZSxhPXh3KE9DLHIpLGk9TjYoT0Msciksbz1sRShyKSxsPWcudXNlUmVmKG51bGwpLGM9V2UodCxsLGEub25UcmlnZ2VyQ2hhbmdlKSxkPWcudXNlUmVmKCExKSx1PWcudXNlUmVmKCExKSxBPWcudXNlQ2FsbGJhY2soKCk9PmQuY3VycmVudD0hMSxbXSk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT4oKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixBKSxbQV0pLHMuanN4KGFFLHthc0NoaWxkOiEwLC4uLm8sY2hpbGRyZW46cy5qc3goU2UuYnV0dG9uLHsiYXJpYS1kZXNjcmliZWRieSI6YS5vcGVuP2EuY29udGVudElkOnZvaWQgMCwiZGF0YS1zdGF0ZSI6YS5zdGF0ZUF0dHJpYnV0ZSwuLi5uLHJlZjpjLG9uUG9pbnRlck1vdmU6bWUoZS5vblBvaW50ZXJNb3ZlLGY9PntmLnBvaW50ZXJUeXBlIT09InRvdWNoIiYmIXUuY3VycmVudCYmIWkuaXNQb2ludGVySW5UcmFuc2l0UmVmLmN1cnJlbnQmJihhLm9uVHJpZ2dlckVudGVyKCksdS5jdXJyZW50PSEwKX0pLG9uUG9pbnRlckxlYXZlOm1lKGUub25Qb2ludGVyTGVhdmUsKCk9PnthLm9uVHJpZ2dlckxlYXZlKCksdS5jdXJyZW50PSExfSksb25Qb2ludGVyRG93bjptZShlLm9uUG9pbnRlckRvd24sKCk9PnthLm9wZW4mJmEub25DbG9zZSgpLGQuY3VycmVudD0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLEEse29uY2U6ITB9KX0pLG9uRm9jdXM6bWUoZS5vbkZvY3VzLCgpPT57ZC5jdXJyZW50fHxhLm9uT3BlbigpfSksb25CbHVyOm1lKGUub25CbHVyLGEub25DbG9zZSksb25DbGljazptZShlLm9uQ2xpY2ssYS5vbkNsb3NlKX0pfSl9KTtvYWUuZGlzcGxheU5hbWU9T0M7dmFyIGxhZT0iVG9vbHRpcFBvcnRhbCIsW0lHZSxjYWVdPWd3KGxhZSx7Zm9yY2VNb3VudDp2b2lkIDB9KSxuQT0iVG9vbHRpcENvbnRlbnQiLEI2PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IHI9Y2FlKG5BLGUuX19zY29wZVRvb2x0aXApLHtmb3JjZU1vdW50Om49ci5mb3JjZU1vdW50LHNpZGU6YT0idG9wIiwuLi5pfT1lLG89eHcobkEsZS5fX3Njb3BlVG9vbHRpcCk7cmV0dXJuIHMuanN4KHduLHtwcmVzZW50Om58fG8ub3BlbixjaGlsZHJlbjpvLmRpc2FibGVIb3ZlcmFibGVDb250ZW50P3MuanN4KFM2LHtzaWRlOmEsLi4uaSxyZWY6dH0pOnMuanN4KGRhZSx7c2lkZTphLC4uLmkscmVmOnR9KX0pfSksZGFlPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IHI9eHcobkEsZS5fX3Njb3BlVG9vbHRpcCksbj1ONihuQSxlLl9fc2NvcGVUb29sdGlwKSxhPWcudXNlUmVmKG51bGwpLGk9V2UodCxhKSxbbyxsXT1nLnVzZVN0YXRlKG51bGwpLHt0cmlnZ2VyOmMsb25DbG9zZTpkfT1yLHU9YS5jdXJyZW50LHtvblBvaW50ZXJJblRyYW5zaXRDaGFuZ2U6QX09bixmPWcudXNlQ2FsbGJhY2soKCk9PntsKG51bGwpLEEoITEpfSxbQV0pLGg9Zy51c2VDYWxsYmFjaygocCxtKT0+e2NvbnN0IHg9cC5jdXJyZW50VGFyZ2V0LHc9e3g6cC5jbGllbnRYLHk6cC5jbGllbnRZfSx5PW1hZSh3LHguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLHY9cGFlKHcseSksYj1nYWUobS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSksaj15YWUoWy4uLnYsLi4uYl0pO2woaiksQSghMCl9LFtBXSk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT4oKT0+ZigpLFtmXSksZy51c2VFZmZlY3QoKCk9PntpZihjJiZ1KXtjb25zdCBwPXg9PmgoeCx1KSxtPXg9PmgoeCxjKTtyZXR1cm4gYy5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybGVhdmUiLHApLHUuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmxlYXZlIixtKSwoKT0+e2MucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmxlYXZlIixwKSx1LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJsZWF2ZSIsbSl9fX0sW2MsdSxoLGZdKSxnLnVzZUVmZmVjdCgoKT0+e2lmKG8pe2NvbnN0IHA9bT0+e2NvbnN0IHg9bS50YXJnZXQsdz17eDptLmNsaWVudFgseTptLmNsaWVudFl9LHk9KGM9PW51bGw/dm9pZCAwOmMuY29udGFpbnMoeCkpfHwodT09bnVsbD92b2lkIDA6dS5jb250YWlucyh4KSksdj0heGFlKHcsbyk7eT9mKCk6diYmKGYoKSxkKCkpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIscCl9fSxbYyx1LG8sZCxmXSkscy5qc3goUzYsey4uLmUscmVmOml9KX0pLFt1YWUsQWFlXT1ndyhfNix7aXNJbnNpZGU6ITF9KSxmYWU9dCQoIlRvb2x0aXBDb250ZW50IiksUzY9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVRvb2x0aXA6cixjaGlsZHJlbjpuLCJhcmlhLWxhYmVsIjphLG9uRXNjYXBlS2V5RG93bjppLG9uUG9pbnRlckRvd25PdXRzaWRlOm8sLi4ubH09ZSxjPXh3KG5BLHIpLGQ9bEUocikse29uQ2xvc2U6dX09YztyZXR1cm4gZy51c2VFZmZlY3QoKCk9Pihkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHRGLHUpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRGLHUpKSxbdV0pLGcudXNlRWZmZWN0KCgpPT57aWYoYy50cmlnZ2VyKXtjb25zdCBBPWY9Pntjb25zdCBoPWYudGFyZ2V0O2ghPW51bGwmJmguY29udGFpbnMoYy50cmlnZ2VyKSYmdSgpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsQSx7Y2FwdHVyZTohMH0pLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixBLHtjYXB0dXJlOiEwfSl9fSxbYy50cmlnZ2VyLHVdKSxzLmpzeCh6QSx7YXNDaGlsZDohMCxkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM6ITEsb25Fc2NhcGVLZXlEb3duOmksb25Qb2ludGVyRG93bk91dHNpZGU6byxvbkZvY3VzT3V0c2lkZTpBPT5BLnByZXZlbnREZWZhdWx0KCksb25EaXNtaXNzOnUsY2hpbGRyZW46cy5qc3hzKGlFLHsiZGF0YS1zdGF0ZSI6Yy5zdGF0ZUF0dHJpYnV0ZSwuLi5kLC4uLmwscmVmOnQsc3R5bGU6ey4uLmwuc3R5bGUsIi0tcmFkaXgtdG9vbHRpcC1jb250ZW50LXRyYW5zZm9ybS1vcmlnaW4iOiJ2YXIoLS1yYWRpeC1wb3BwZXItdHJhbnNmb3JtLW9yaWdpbikiLCItLXJhZGl4LXRvb2x0aXAtY29udGVudC1hdmFpbGFibGUtd2lkdGgiOiJ2YXIoLS1yYWRpeC1wb3BwZXItYXZhaWxhYmxlLXdpZHRoKSIsIi0tcmFkaXgtdG9vbHRpcC1jb250ZW50LWF2YWlsYWJsZS1oZWlnaHQiOiJ2YXIoLS1yYWRpeC1wb3BwZXItYXZhaWxhYmxlLWhlaWdodCkiLCItLXJhZGl4LXRvb2x0aXAtdHJpZ2dlci13aWR0aCI6InZhcigtLXJhZGl4LXBvcHBlci1hbmNob3Itd2lkdGgpIiwiLS1yYWRpeC10b29sdGlwLXRyaWdnZXItaGVpZ2h0IjoidmFyKC0tcmFkaXgtcG9wcGVyLWFuY2hvci1oZWlnaHQpIn0sY2hpbGRyZW46W3MuanN4KGZhZSx7Y2hpbGRyZW46bn0pLHMuanN4KHVhZSx7c2NvcGU6cixpc0luc2lkZTohMCxjaGlsZHJlbjpzLmpzeChMdGUse2lkOmMuY29udGVudElkLHJvbGU6InRvb2x0aXAiLGNoaWxkcmVuOmF8fG59KX0pXX0pfSl9KTtCNi5kaXNwbGF5TmFtZT1uQTt2YXIgRTY9IlRvb2x0aXBBcnJvdyIsaGFlPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVUb29sdGlwOnIsLi4ubn09ZSxhPWxFKHIpO3JldHVybiBBYWUoRTYscikuaXNJbnNpZGU/bnVsbDpzLmpzeChvRSx7Li4uYSwuLi5uLHJlZjp0fSl9KTtoYWUuZGlzcGxheU5hbWU9RTY7ZnVuY3Rpb24gbWFlKGUsdCl7Y29uc3Qgcj1NYXRoLmFicyh0LnRvcC1lLnkpLG49TWF0aC5hYnModC5ib3R0b20tZS55KSxhPU1hdGguYWJzKHQucmlnaHQtZS54KSxpPU1hdGguYWJzKHQubGVmdC1lLngpO3N3aXRjaChNYXRoLm1pbihyLG4sYSxpKSl7Y2FzZSBpOnJldHVybiJsZWZ0IjtjYXNlIGE6cmV0dXJuInJpZ2h0IjtjYXNlIHI6cmV0dXJuInRvcCI7Y2FzZSBuOnJldHVybiJib3R0b20iO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJ1bnJlYWNoYWJsZSIpfX1mdW5jdGlvbiBwYWUoZSx0LHI9NSl7Y29uc3Qgbj1bXTtzd2l0Y2godCl7Y2FzZSJ0b3AiOm4ucHVzaCh7eDplLngtcix5OmUueStyfSx7eDplLngrcix5OmUueStyfSk7YnJlYWs7Y2FzZSJib3R0b20iOm4ucHVzaCh7eDplLngtcix5OmUueS1yfSx7eDplLngrcix5OmUueS1yfSk7YnJlYWs7Y2FzZSJsZWZ0IjpuLnB1c2goe3g6ZS54K3IseTplLnktcn0se3g6ZS54K3IseTplLnkrcn0pO2JyZWFrO2Nhc2UicmlnaHQiOm4ucHVzaCh7eDplLngtcix5OmUueS1yfSx7eDplLngtcix5OmUueStyfSk7YnJlYWt9cmV0dXJuIG59ZnVuY3Rpb24gZ2FlKGUpe2NvbnN0e3RvcDp0LHJpZ2h0OnIsYm90dG9tOm4sbGVmdDphfT1lO3JldHVyblt7eDphLHk6dH0se3g6cix5OnR9LHt4OnIseTpufSx7eDphLHk6bn1dfWZ1bmN0aW9uIHhhZShlLHQpe2NvbnN0e3g6cix5Om59PWU7bGV0IGE9ITE7Zm9yKGxldCBpPTAsbz10Lmxlbmd0aC0xO2k8dC5sZW5ndGg7bz1pKyspe2NvbnN0IGw9dFtpXSxjPXRbb10sZD1sLngsdT1sLnksQT1jLngsZj1jLnk7dT5uIT1mPm4mJnI8KEEtZCkqKG4tdSkvKGYtdSkrZCYmKGE9IWEpfXJldHVybiBhfWZ1bmN0aW9uIHlhZShlKXtjb25zdCB0PWUuc2xpY2UoKTtyZXR1cm4gdC5zb3J0KChyLG4pPT5yLng8bi54Py0xOnIueD5uLng/MTpyLnk8bi55Py0xOnIueT5uLnk/MTowKSx2YWUodCl9ZnVuY3Rpb24gdmFlKGUpe2lmKGUubGVuZ3RoPD0xKXJldHVybiBlLnNsaWNlKCk7Y29uc3QgdD1bXTtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7Y29uc3QgYT1lW25dO2Zvcig7dC5sZW5ndGg+PTI7KXtjb25zdCBpPXRbdC5sZW5ndGgtMV0sbz10W3QubGVuZ3RoLTJdO2lmKChpLngtby54KSooYS55LW8ueSk+PShpLnktby55KSooYS54LW8ueCkpdC5wb3AoKTtlbHNlIGJyZWFrfXQucHVzaChhKX10LnBvcCgpO2NvbnN0IHI9W107Zm9yKGxldCBuPWUubGVuZ3RoLTE7bj49MDtuLS0pe2NvbnN0IGE9ZVtuXTtmb3IoO3IubGVuZ3RoPj0yOyl7Y29uc3QgaT1yW3IubGVuZ3RoLTFdLG89cltyLmxlbmd0aC0yXTtpZigoaS54LW8ueCkqKGEueS1vLnkpPj0oaS55LW8ueSkqKGEueC1vLngpKXIucG9wKCk7ZWxzZSBicmVha31yLnB1c2goYSl9cmV0dXJuIHIucG9wKCksdC5sZW5ndGg9PT0xJiZyLmxlbmd0aD09PTEmJnRbMF0ueD09PXJbMF0ueCYmdFswXS55PT09clswXS55P3Q6dC5jb25jYXQocil9dmFyIHdhZT1DNixrNj1CNjtjb25zdCBiYWU9d2FlLGphZT1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSxzaWRlT2Zmc2V0OnQ9NCwuLi5yfSxuKT0+cy5qc3goazYse3JlZjpuLHNpZGVPZmZzZXQ6dCxjbGFzc05hbWU6d2UoInotNTAgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXBvcG92ZXIgcHgtMyBweS0xLjUgdGV4dC1zbSB0ZXh0LXBvcG92ZXItZm9yZWdyb3VuZCBzaGFkb3ctbWQgYW5pbWF0ZS1pbiBmYWRlLWluLTAgem9vbS1pbi05NSBkYXRhLVtzdGF0ZT1jbG9zZWRdOmFuaW1hdGUtb3V0IGRhdGEtW3N0YXRlPWNsb3NlZF06ZmFkZS1vdXQtMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3NpZGU9Ym90dG9tXTpzbGlkZS1pbi1mcm9tLXRvcC0yIGRhdGEtW3NpZGU9bGVmdF06c2xpZGUtaW4tZnJvbS1yaWdodC0yIGRhdGEtW3NpZGU9cmlnaHRdOnNsaWRlLWluLWZyb20tbGVmdC0yIGRhdGEtW3NpZGU9dG9wXTpzbGlkZS1pbi1mcm9tLWJvdHRvbS0yIixlKSwuLi5yfSkpO2phZS5kaXNwbGF5TmFtZT1rNi5kaXNwbGF5TmFtZTt2YXIgeXc9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmxpc3RlbmVycz1uZXcgU2V0LHRoaXMuc3Vic2NyaWJlPXRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyl9c3Vic2NyaWJlKGUpe3JldHVybiB0aGlzLmxpc3RlbmVycy5hZGQoZSksdGhpcy5vblN1YnNjcmliZSgpLCgpPT57dGhpcy5saXN0ZW5lcnMuZGVsZXRlKGUpLHRoaXMub25VbnN1YnNjcmliZSgpfX1oYXNMaXN0ZW5lcnMoKXtyZXR1cm4gdGhpcy5saXN0ZW5lcnMuc2l6ZT4wfW9uU3Vic2NyaWJlKCl7fW9uVW5zdWJzY3JpYmUoKXt9fSx2dz10eXBlb2Ygd2luZG93PiJ1Inx8IkRlbm8iaW4gZ2xvYmFsVGhpcztmdW5jdGlvbiBDYSgpe31mdW5jdGlvbiBOYWUoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiI/ZSh0KTplfWZ1bmN0aW9uIENhZShlKXtyZXR1cm4gdHlwZW9mIGU9PSJudW1iZXIiJiZlPj0wJiZlIT09MS8wfWZ1bmN0aW9uIF9hZShlLHQpe3JldHVybiBNYXRoLm1heChlKyh0fHwwKS1EYXRlLm5vdygpLDApfWZ1bmN0aW9uIElDKGUsdCl7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24iP2UodCk6ZX1mdW5jdGlvbiBCYWUoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiI/ZSh0KTplfWZ1bmN0aW9uIHJGKGUsdCl7Y29uc3R7dHlwZTpyPSJhbGwiLGV4YWN0Om4sZmV0Y2hTdGF0dXM6YSxwcmVkaWNhdGU6aSxxdWVyeUtleTpvLHN0YWxlOmx9PWU7aWYobyl7aWYobil7aWYodC5xdWVyeUhhc2ghPT1jRShvLHQub3B0aW9ucykpcmV0dXJuITF9ZWxzZSBpZighdm0odC5xdWVyeUtleSxvKSlyZXR1cm4hMX1pZihyIT09ImFsbCIpe2NvbnN0IGM9dC5pc0FjdGl2ZSgpO2lmKHI9PT0iYWN0aXZlIiYmIWN8fHI9PT0iaW5hY3RpdmUiJiZjKXJldHVybiExfXJldHVybiEodHlwZW9mIGw9PSJib29sZWFuIiYmdC5pc1N0YWxlKCkhPT1sfHxhJiZhIT09dC5zdGF0ZS5mZXRjaFN0YXR1c3x8aSYmIWkodCkpfWZ1bmN0aW9uIG5GKGUsdCl7Y29uc3R7ZXhhY3Q6cixzdGF0dXM6bixwcmVkaWNhdGU6YSxtdXRhdGlvbktleTppfT1lO2lmKGkpe2lmKCF0Lm9wdGlvbnMubXV0YXRpb25LZXkpcmV0dXJuITE7aWYocil7aWYoeW0odC5vcHRpb25zLm11dGF0aW9uS2V5KSE9PXltKGkpKXJldHVybiExfWVsc2UgaWYoIXZtKHQub3B0aW9ucy5tdXRhdGlvbktleSxpKSlyZXR1cm4hMX1yZXR1cm4hKG4mJnQuc3RhdGUuc3RhdHVzIT09bnx8YSYmIWEodCkpfWZ1bmN0aW9uIGNFKGUsdCl7cmV0dXJuKCh0PT1udWxsP3ZvaWQgMDp0LnF1ZXJ5S2V5SGFzaEZuKXx8eW0pKGUpfWZ1bmN0aW9uIHltKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlLCh0LHIpPT5VQyhyKT9PYmplY3Qua2V5cyhyKS5zb3J0KCkucmVkdWNlKChuLGEpPT4oblthXT1yW2FdLG4pLHt9KTpyKX1mdW5jdGlvbiB2bShlLHQpe3JldHVybiBlPT09dD8hMDp0eXBlb2YgZSE9dHlwZW9mIHQ/ITE6ZSYmdCYmdHlwZW9mIGU9PSJvYmplY3QiJiZ0eXBlb2YgdD09Im9iamVjdCI/T2JqZWN0LmtleXModCkuZXZlcnkocj0+dm0oZVtyXSx0W3JdKSk6ITF9ZnVuY3Rpb24gVDYoZSx0KXtpZihlPT09dClyZXR1cm4gZTtjb25zdCByPXNGKGUpJiZzRih0KTtpZihyfHxVQyhlKSYmVUModCkpe2NvbnN0IG49cj9lOk9iamVjdC5rZXlzKGUpLGE9bi5sZW5ndGgsaT1yP3Q6T2JqZWN0LmtleXModCksbz1pLmxlbmd0aCxsPXI/W106e30sYz1uZXcgU2V0KG4pO2xldCBkPTA7Zm9yKGxldCB1PTA7dTxvO3UrKyl7Y29uc3QgQT1yP3U6aVt1XTsoIXImJmMuaGFzKEEpfHxyKSYmZVtBXT09PXZvaWQgMCYmdFtBXT09PXZvaWQgMD8obFtBXT12b2lkIDAsZCsrKToobFtBXT1UNihlW0FdLHRbQV0pLGxbQV09PT1lW0FdJiZlW0FdIT09dm9pZCAwJiZkKyspfXJldHVybiBhPT09byYmZD09PWE/ZTpsfXJldHVybiB0fWZ1bmN0aW9uIHNGKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aH1mdW5jdGlvbiBVQyhlKXtpZighYUYoZSkpcmV0dXJuITE7Y29uc3QgdD1lLmNvbnN0cnVjdG9yO2lmKHQ9PT12b2lkIDApcmV0dXJuITA7Y29uc3Qgcj10LnByb3RvdHlwZTtyZXR1cm4hKCFhRihyKXx8IXIuaGFzT3duUHJvcGVydHkoImlzUHJvdG90eXBlT2YiKXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpIT09T2JqZWN0LnByb3RvdHlwZSl9ZnVuY3Rpb24gYUYoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT09PSJbb2JqZWN0IE9iamVjdF0ifWZ1bmN0aW9uIFNhZShlKXtyZXR1cm4gbmV3IFByb21pc2UodD0+e3NldFRpbWVvdXQodCxlKX0pfWZ1bmN0aW9uIEVhZShlLHQscil7cmV0dXJuIHR5cGVvZiByLnN0cnVjdHVyYWxTaGFyaW5nPT0iZnVuY3Rpb24iP3Iuc3RydWN0dXJhbFNoYXJpbmcoZSx0KTpyLnN0cnVjdHVyYWxTaGFyaW5nIT09ITE/VDYoZSx0KTp0fWZ1bmN0aW9uIGthZShlLHQscj0wKXtjb25zdCBuPVsuLi5lLHRdO3JldHVybiByJiZuLmxlbmd0aD5yP24uc2xpY2UoMSk6bn1mdW5jdGlvbiBUYWUoZSx0LHI9MCl7Y29uc3Qgbj1bdCwuLi5lXTtyZXR1cm4gciYmbi5sZW5ndGg+cj9uLnNsaWNlKDAsLTEpOm59dmFyIGRFPVN5bWJvbCgpO2Z1bmN0aW9uIFA2KGUsdCl7cmV0dXJuIWUucXVlcnlGbiYmKHQhPW51bGwmJnQuaW5pdGlhbFByb21pc2UpPygpPT50LmluaXRpYWxQcm9taXNlOiFlLnF1ZXJ5Rm58fGUucXVlcnlGbj09PWRFPygpPT5Qcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYE1pc3NpbmcgcXVlcnlGbjogJyR7ZS5xdWVyeUhhc2h9J2ApKTplLnF1ZXJ5Rm59dmFyIEljLFhvLFJ1LGtRLFBhZT0oa1E9Y2xhc3MgZXh0ZW5kcyB5d3tjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7TnQodGhpcyxJYyk7TnQodGhpcyxYbyk7TnQodGhpcyxSdSk7dHQodGhpcyxSdSx0PT57aWYoIXZ3JiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcil7Y29uc3Qgcj0oKT0+dCgpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsciwhMSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIscil9fX0pfW9uU3Vic2NyaWJlKCl7Y2UodGhpcyxYbyl8fHRoaXMuc2V0RXZlbnRMaXN0ZW5lcihjZSh0aGlzLFJ1KSl9b25VbnN1YnNjcmliZSgpe3ZhciB0O3RoaXMuaGFzTGlzdGVuZXJzKCl8fCgodD1jZSh0aGlzLFhvKSk9PW51bGx8fHQuY2FsbCh0aGlzKSx0dCh0aGlzLFhvLHZvaWQgMCkpfXNldEV2ZW50TGlzdGVuZXIodCl7dmFyIHI7dHQodGhpcyxSdSx0KSwocj1jZSh0aGlzLFhvKSk9PW51bGx8fHIuY2FsbCh0aGlzKSx0dCh0aGlzLFhvLHQobj0+e3R5cGVvZiBuPT0iYm9vbGVhbiI/dGhpcy5zZXRGb2N1c2VkKG4pOnRoaXMub25Gb2N1cygpfSkpfXNldEZvY3VzZWQodCl7Y2UodGhpcyxJYykhPT10JiYodHQodGhpcyxJYyx0KSx0aGlzLm9uRm9jdXMoKSl9b25Gb2N1cygpe2NvbnN0IHQ9dGhpcy5pc0ZvY3VzZWQoKTt0aGlzLmxpc3RlbmVycy5mb3JFYWNoKHI9PntyKHQpfSl9aXNGb2N1c2VkKCl7dmFyIHQ7cmV0dXJuIHR5cGVvZiBjZSh0aGlzLEljKT09ImJvb2xlYW4iP2NlKHRoaXMsSWMpOigodD1nbG9iYWxUaGlzLmRvY3VtZW50KT09bnVsbD92b2lkIDA6dC52aXNpYmlsaXR5U3RhdGUpIT09ImhpZGRlbiJ9fSxJYz1uZXcgV2Vha01hcCxYbz1uZXcgV2Vha01hcCxSdT1uZXcgV2Vha01hcCxrUSksRjY9bmV3IFBhZSxRdSxKbyxMdSxUUSxGYWU9KFRRPWNsYXNzIGV4dGVuZHMgeXd7Y29uc3RydWN0b3IoKXtzdXBlcigpO050KHRoaXMsUXUsITApO050KHRoaXMsSm8pO050KHRoaXMsTHUpO3R0KHRoaXMsTHUsdD0+e2lmKCF2dyYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXIpe2NvbnN0IHI9KCk9PnQoITApLG49KCk9PnQoITEpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixyLCExKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsbiwhMSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIixyKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsbil9fX0pfW9uU3Vic2NyaWJlKCl7Y2UodGhpcyxKbyl8fHRoaXMuc2V0RXZlbnRMaXN0ZW5lcihjZSh0aGlzLEx1KSl9b25VbnN1YnNjcmliZSgpe3ZhciB0O3RoaXMuaGFzTGlzdGVuZXJzKCl8fCgodD1jZSh0aGlzLEpvKSk9PW51bGx8fHQuY2FsbCh0aGlzKSx0dCh0aGlzLEpvLHZvaWQgMCkpfXNldEV2ZW50TGlzdGVuZXIodCl7dmFyIHI7dHQodGhpcyxMdSx0KSwocj1jZSh0aGlzLEpvKSk9PW51bGx8fHIuY2FsbCh0aGlzKSx0dCh0aGlzLEpvLHQodGhpcy5zZXRPbmxpbmUuYmluZCh0aGlzKSkpfXNldE9ubGluZSh0KXtjZSh0aGlzLFF1KSE9PXQmJih0dCh0aGlzLFF1LHQpLHRoaXMubGlzdGVuZXJzLmZvckVhY2gobj0+e24odCl9KSl9aXNPbmxpbmUoKXtyZXR1cm4gY2UodGhpcyxRdSl9fSxRdT1uZXcgV2Vha01hcCxKbz1uZXcgV2Vha01hcCxMdT1uZXcgV2Vha01hcCxUUSksWTA9bmV3IEZhZTtmdW5jdGlvbiBPYWUoKXtsZXQgZSx0O2NvbnN0IHI9bmV3IFByb21pc2UoKGEsaSk9PntlPWEsdD1pfSk7ci5zdGF0dXM9InBlbmRpbmciLHIuY2F0Y2goKCk9Pnt9KTtmdW5jdGlvbiBuKGEpe09iamVjdC5hc3NpZ24ocixhKSxkZWxldGUgci5yZXNvbHZlLGRlbGV0ZSByLnJlamVjdH1yZXR1cm4gci5yZXNvbHZlPWE9PntuKHtzdGF0dXM6ImZ1bGZpbGxlZCIsdmFsdWU6YX0pLGUoYSl9LHIucmVqZWN0PWE9PntuKHtzdGF0dXM6InJlamVjdGVkIixyZWFzb246YX0pLHQoYSl9LHJ9ZnVuY3Rpb24gSWFlKGUpe3JldHVybiBNYXRoLm1pbigxZTMqMioqZSwzZTQpfWZ1bmN0aW9uIE82KGUpe3JldHVybihlPz8ib25saW5lIik9PT0ib25saW5lIj9ZMC5pc09ubGluZSgpOiEwfXZhciBJNj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCJDYW5jZWxsZWRFcnJvciIpLHRoaXMucmV2ZXJ0PWU9PW51bGw/dm9pZCAwOmUucmV2ZXJ0LHRoaXMuc2lsZW50PWU9PW51bGw/dm9pZCAwOmUuc2lsZW50fX07ZnVuY3Rpb24gRDEoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBJNn1mdW5jdGlvbiBVNihlKXtsZXQgdD0hMSxyPTAsbj0hMSxhO2NvbnN0IGk9T2FlKCksbz1tPT57dmFyIHg7bnx8KGYobmV3IEk2KG0pKSwoeD1lLmFib3J0KT09bnVsbHx8eC5jYWxsKGUpKX0sbD0oKT0+e3Q9ITB9LGM9KCk9Pnt0PSExfSxkPSgpPT5GNi5pc0ZvY3VzZWQoKSYmKGUubmV0d29ya01vZGU9PT0iYWx3YXlzInx8WTAuaXNPbmxpbmUoKSkmJmUuY2FuUnVuKCksdT0oKT0+TzYoZS5uZXR3b3JrTW9kZSkmJmUuY2FuUnVuKCksQT1tPT57dmFyIHg7bnx8KG49ITAsKHg9ZS5vblN1Y2Nlc3MpPT1udWxsfHx4LmNhbGwoZSxtKSxhPT1udWxsfHxhKCksaS5yZXNvbHZlKG0pKX0sZj1tPT57dmFyIHg7bnx8KG49ITAsKHg9ZS5vbkVycm9yKT09bnVsbHx8eC5jYWxsKGUsbSksYT09bnVsbHx8YSgpLGkucmVqZWN0KG0pKX0saD0oKT0+bmV3IFByb21pc2UobT0+e3ZhciB4O2E9dz0+eyhufHxkKCkpJiZtKHcpfSwoeD1lLm9uUGF1c2UpPT1udWxsfHx4LmNhbGwoZSl9KS50aGVuKCgpPT57dmFyIG07YT12b2lkIDAsbnx8KG09ZS5vbkNvbnRpbnVlKT09bnVsbHx8bS5jYWxsKGUpfSkscD0oKT0+e2lmKG4pcmV0dXJuO2xldCBtO2NvbnN0IHg9cj09PTA/ZS5pbml0aWFsUHJvbWlzZTp2b2lkIDA7dHJ5e209eD8/ZS5mbigpfWNhdGNoKHcpe209UHJvbWlzZS5yZWplY3Qodyl9UHJvbWlzZS5yZXNvbHZlKG0pLnRoZW4oQSkuY2F0Y2godz0+e3ZhciBOO2lmKG4pcmV0dXJuO2NvbnN0IHk9ZS5yZXRyeT8/KHZ3PzA6Myksdj1lLnJldHJ5RGVsYXk/P0lhZSxiPXR5cGVvZiB2PT0iZnVuY3Rpb24iP3Yocix3KTp2LGo9eT09PSEwfHx0eXBlb2YgeT09Im51bWJlciImJnI8eXx8dHlwZW9mIHk9PSJmdW5jdGlvbiImJnkocix3KTtpZih0fHwhail7Zih3KTtyZXR1cm59cisrLChOPWUub25GYWlsKT09bnVsbHx8Ti5jYWxsKGUscix3KSxTYWUoYikudGhlbigoKT0+ZCgpP3ZvaWQgMDpoKCkpLnRoZW4oKCk9Pnt0P2Yodyk6cCgpfSl9KX07cmV0dXJue3Byb21pc2U6aSxjYW5jZWw6byxjb250aW51ZTooKT0+KGE9PW51bGx8fGEoKSxpKSxjYW5jZWxSZXRyeTpsLGNvbnRpbnVlUmV0cnk6YyxjYW5TdGFydDp1LHN0YXJ0OigpPT4odSgpP3AoKTpoKCkudGhlbihwKSxpKX19dmFyIFVhZT1lPT5zZXRUaW1lb3V0KGUsMCk7ZnVuY3Rpb24gRGFlKCl7bGV0IGU9W10sdD0wLHI9bD0+e2woKX0sbj1sPT57bCgpfSxhPVVhZTtjb25zdCBpPWw9Pnt0P2UucHVzaChsKTphKCgpPT57cihsKX0pfSxvPSgpPT57Y29uc3QgbD1lO2U9W10sbC5sZW5ndGgmJmEoKCk9PntuKCgpPT57bC5mb3JFYWNoKGM9PntyKGMpfSl9KX0pfTtyZXR1cm57YmF0Y2g6bD0+e2xldCBjO3QrKzt0cnl7Yz1sKCl9ZmluYWxseXt0LS0sdHx8bygpfXJldHVybiBjfSxiYXRjaENhbGxzOmw9PiguLi5jKT0+e2koKCk9PntsKC4uLmMpfSl9LHNjaGVkdWxlOmksc2V0Tm90aWZ5RnVuY3Rpb246bD0+e3I9bH0sc2V0QmF0Y2hOb3RpZnlGdW5jdGlvbjpsPT57bj1sfSxzZXRTY2hlZHVsZXI6bD0+e2E9bH19fXZhciAkbj1EYWUoKSxVYyxQUSxENj0oUFE9Y2xhc3N7Y29uc3RydWN0b3IoKXtOdCh0aGlzLFVjKX1kZXN0cm95KCl7dGhpcy5jbGVhckdjVGltZW91dCgpfXNjaGVkdWxlR2MoKXt0aGlzLmNsZWFyR2NUaW1lb3V0KCksQ2FlKHRoaXMuZ2NUaW1lKSYmdHQodGhpcyxVYyxzZXRUaW1lb3V0KCgpPT57dGhpcy5vcHRpb25hbFJlbW92ZSgpfSx0aGlzLmdjVGltZSkpfXVwZGF0ZUdjVGltZShlKXt0aGlzLmdjVGltZT1NYXRoLm1heCh0aGlzLmdjVGltZXx8MCxlPz8odnc/MS8wOjUqNjAqMWUzKSl9Y2xlYXJHY1RpbWVvdXQoKXtjZSh0aGlzLFVjKSYmKGNsZWFyVGltZW91dChjZSh0aGlzLFVjKSksdHQodGhpcyxVYyx2b2lkIDApKX19LFVjPW5ldyBXZWFrTWFwLFBRKSwkdSxEYyxScyxNYyxfbixTcCxSYyxCYSxLaSxGUSxNYWU9KEZRPWNsYXNzIGV4dGVuZHMgRDZ7Y29uc3RydWN0b3IodCl7c3VwZXIoKTtOdCh0aGlzLEJhKTtOdCh0aGlzLCR1KTtOdCh0aGlzLERjKTtOdCh0aGlzLFJzKTtOdCh0aGlzLE1jKTtOdCh0aGlzLF9uKTtOdCh0aGlzLFNwKTtOdCh0aGlzLFJjKTt0dCh0aGlzLFJjLCExKSx0dCh0aGlzLFNwLHQuZGVmYXVsdE9wdGlvbnMpLHRoaXMuc2V0T3B0aW9ucyh0Lm9wdGlvbnMpLHRoaXMub2JzZXJ2ZXJzPVtdLHR0KHRoaXMsTWMsdC5jbGllbnQpLHR0KHRoaXMsUnMsY2UodGhpcyxNYykuZ2V0UXVlcnlDYWNoZSgpKSx0aGlzLnF1ZXJ5S2V5PXQucXVlcnlLZXksdGhpcy5xdWVyeUhhc2g9dC5xdWVyeUhhc2gsdHQodGhpcywkdSxRYWUodGhpcy5vcHRpb25zKSksdGhpcy5zdGF0ZT10LnN0YXRlPz9jZSh0aGlzLCR1KSx0aGlzLnNjaGVkdWxlR2MoKX1nZXQgbWV0YSgpe3JldHVybiB0aGlzLm9wdGlvbnMubWV0YX1nZXQgcHJvbWlzZSgpe3ZhciB0O3JldHVybih0PWNlKHRoaXMsX24pKT09bnVsbD92b2lkIDA6dC5wcm9taXNlfXNldE9wdGlvbnModCl7dGhpcy5vcHRpb25zPXsuLi5jZSh0aGlzLFNwKSwuLi50fSx0aGlzLnVwZGF0ZUdjVGltZSh0aGlzLm9wdGlvbnMuZ2NUaW1lKX1vcHRpb25hbFJlbW92ZSgpeyF0aGlzLm9ic2VydmVycy5sZW5ndGgmJnRoaXMuc3RhdGUuZmV0Y2hTdGF0dXM9PT0iaWRsZSImJmNlKHRoaXMsUnMpLnJlbW92ZSh0aGlzKX1zZXREYXRhKHQscil7Y29uc3Qgbj1FYWUodGhpcy5zdGF0ZS5kYXRhLHQsdGhpcy5vcHRpb25zKTtyZXR1cm4gam4odGhpcyxCYSxLaSkuY2FsbCh0aGlzLHtkYXRhOm4sdHlwZToic3VjY2VzcyIsZGF0YVVwZGF0ZWRBdDpyPT1udWxsP3ZvaWQgMDpyLnVwZGF0ZWRBdCxtYW51YWw6cj09bnVsbD92b2lkIDA6ci5tYW51YWx9KSxufXNldFN0YXRlKHQscil7am4odGhpcyxCYSxLaSkuY2FsbCh0aGlzLHt0eXBlOiJzZXRTdGF0ZSIsc3RhdGU6dCxzZXRTdGF0ZU9wdGlvbnM6cn0pfWNhbmNlbCh0KXt2YXIgbixhO2NvbnN0IHI9KG49Y2UodGhpcyxfbikpPT1udWxsP3ZvaWQgMDpuLnByb21pc2U7cmV0dXJuKGE9Y2UodGhpcyxfbikpPT1udWxsfHxhLmNhbmNlbCh0KSxyP3IudGhlbihDYSkuY2F0Y2goQ2EpOlByb21pc2UucmVzb2x2ZSgpfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCksdGhpcy5jYW5jZWwoe3NpbGVudDohMH0pfXJlc2V0KCl7dGhpcy5kZXN0cm95KCksdGhpcy5zZXRTdGF0ZShjZSh0aGlzLCR1KSl9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5vYnNlcnZlcnMuc29tZSh0PT5CYWUodC5vcHRpb25zLmVuYWJsZWQsdGhpcykhPT0hMSl9aXNEaXNhYmxlZCgpe3JldHVybiB0aGlzLmdldE9ic2VydmVyc0NvdW50KCk+MD8hdGhpcy5pc0FjdGl2ZSgpOnRoaXMub3B0aW9ucy5xdWVyeUZuPT09ZEV8fHRoaXMuc3RhdGUuZGF0YVVwZGF0ZUNvdW50K3RoaXMuc3RhdGUuZXJyb3JVcGRhdGVDb3VudD09PTB9aXNTdGF0aWMoKXtyZXR1cm4gdGhpcy5nZXRPYnNlcnZlcnNDb3VudCgpPjA/dGhpcy5vYnNlcnZlcnMuc29tZSh0PT5JQyh0Lm9wdGlvbnMuc3RhbGVUaW1lLHRoaXMpPT09InN0YXRpYyIpOiExfWlzU3RhbGUoKXtyZXR1cm4gdGhpcy5nZXRPYnNlcnZlcnNDb3VudCgpPjA/dGhpcy5vYnNlcnZlcnMuc29tZSh0PT50LmdldEN1cnJlbnRSZXN1bHQoKS5pc1N0YWxlKTp0aGlzLnN0YXRlLmRhdGE9PT12b2lkIDB8fHRoaXMuc3RhdGUuaXNJbnZhbGlkYXRlZH1pc1N0YWxlQnlUaW1lKHQ9MCl7cmV0dXJuIHRoaXMuc3RhdGUuZGF0YT09PXZvaWQgMD8hMDp0PT09InN0YXRpYyI/ITE6dGhpcy5zdGF0ZS5pc0ludmFsaWRhdGVkPyEwOiFfYWUodGhpcy5zdGF0ZS5kYXRhVXBkYXRlZEF0LHQpfW9uRm9jdXMoKXt2YXIgcjtjb25zdCB0PXRoaXMub2JzZXJ2ZXJzLmZpbmQobj0+bi5zaG91bGRGZXRjaE9uV2luZG93Rm9jdXMoKSk7dD09bnVsbHx8dC5yZWZldGNoKHtjYW5jZWxSZWZldGNoOiExfSksKHI9Y2UodGhpcyxfbikpPT1udWxsfHxyLmNvbnRpbnVlKCl9b25PbmxpbmUoKXt2YXIgcjtjb25zdCB0PXRoaXMub2JzZXJ2ZXJzLmZpbmQobj0+bi5zaG91bGRGZXRjaE9uUmVjb25uZWN0KCkpO3Q9PW51bGx8fHQucmVmZXRjaCh7Y2FuY2VsUmVmZXRjaDohMX0pLChyPWNlKHRoaXMsX24pKT09bnVsbHx8ci5jb250aW51ZSgpfWFkZE9ic2VydmVyKHQpe3RoaXMub2JzZXJ2ZXJzLmluY2x1ZGVzKHQpfHwodGhpcy5vYnNlcnZlcnMucHVzaCh0KSx0aGlzLmNsZWFyR2NUaW1lb3V0KCksY2UodGhpcyxScykubm90aWZ5KHt0eXBlOiJvYnNlcnZlckFkZGVkIixxdWVyeTp0aGlzLG9ic2VydmVyOnR9KSl9cmVtb3ZlT2JzZXJ2ZXIodCl7dGhpcy5vYnNlcnZlcnMuaW5jbHVkZXModCkmJih0aGlzLm9ic2VydmVycz10aGlzLm9ic2VydmVycy5maWx0ZXIocj0+ciE9PXQpLHRoaXMub2JzZXJ2ZXJzLmxlbmd0aHx8KGNlKHRoaXMsX24pJiYoY2UodGhpcyxSYyk/Y2UodGhpcyxfbikuY2FuY2VsKHtyZXZlcnQ6ITB9KTpjZSh0aGlzLF9uKS5jYW5jZWxSZXRyeSgpKSx0aGlzLnNjaGVkdWxlR2MoKSksY2UodGhpcyxScykubm90aWZ5KHt0eXBlOiJvYnNlcnZlclJlbW92ZWQiLHF1ZXJ5OnRoaXMsb2JzZXJ2ZXI6dH0pKX1nZXRPYnNlcnZlcnNDb3VudCgpe3JldHVybiB0aGlzLm9ic2VydmVycy5sZW5ndGh9aW52YWxpZGF0ZSgpe3RoaXMuc3RhdGUuaXNJbnZhbGlkYXRlZHx8am4odGhpcyxCYSxLaSkuY2FsbCh0aGlzLHt0eXBlOiJpbnZhbGlkYXRlIn0pfWZldGNoKHQscil7dmFyIGQsdSxBO2lmKHRoaXMuc3RhdGUuZmV0Y2hTdGF0dXMhPT0iaWRsZSIpe2lmKHRoaXMuc3RhdGUuZGF0YSE9PXZvaWQgMCYmKHIhPW51bGwmJnIuY2FuY2VsUmVmZXRjaCkpdGhpcy5jYW5jZWwoe3NpbGVudDohMH0pO2Vsc2UgaWYoY2UodGhpcyxfbikpcmV0dXJuIGNlKHRoaXMsX24pLmNvbnRpbnVlUmV0cnkoKSxjZSh0aGlzLF9uKS5wcm9taXNlfWlmKHQmJnRoaXMuc2V0T3B0aW9ucyh0KSwhdGhpcy5vcHRpb25zLnF1ZXJ5Rm4pe2NvbnN0IGY9dGhpcy5vYnNlcnZlcnMuZmluZChoPT5oLm9wdGlvbnMucXVlcnlGbik7ZiYmdGhpcy5zZXRPcHRpb25zKGYub3B0aW9ucyl9Y29uc3Qgbj1uZXcgQWJvcnRDb250cm9sbGVyLGE9Zj0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCJzaWduYWwiLHtlbnVtZXJhYmxlOiEwLGdldDooKT0+KHR0KHRoaXMsUmMsITApLG4uc2lnbmFsKX0pfSxpPSgpPT57Y29uc3QgZj1QNih0aGlzLm9wdGlvbnMscikscD0oKCk9Pntjb25zdCBtPXtjbGllbnQ6Y2UodGhpcyxNYykscXVlcnlLZXk6dGhpcy5xdWVyeUtleSxtZXRhOnRoaXMubWV0YX07cmV0dXJuIGEobSksbX0pKCk7cmV0dXJuIHR0KHRoaXMsUmMsITEpLHRoaXMub3B0aW9ucy5wZXJzaXN0ZXI/dGhpcy5vcHRpb25zLnBlcnNpc3RlcihmLHAsdGhpcyk6ZihwKX0sbD0oKCk9Pntjb25zdCBmPXtmZXRjaE9wdGlvbnM6cixvcHRpb25zOnRoaXMub3B0aW9ucyxxdWVyeUtleTp0aGlzLnF1ZXJ5S2V5LGNsaWVudDpjZSh0aGlzLE1jKSxzdGF0ZTp0aGlzLnN0YXRlLGZldGNoRm46aX07cmV0dXJuIGEoZiksZn0pKCk7KGQ9dGhpcy5vcHRpb25zLmJlaGF2aW9yKT09bnVsbHx8ZC5vbkZldGNoKGwsdGhpcyksdHQodGhpcyxEYyx0aGlzLnN0YXRlKSwodGhpcy5zdGF0ZS5mZXRjaFN0YXR1cz09PSJpZGxlInx8dGhpcy5zdGF0ZS5mZXRjaE1ldGEhPT0oKHU9bC5mZXRjaE9wdGlvbnMpPT1udWxsP3ZvaWQgMDp1Lm1ldGEpKSYmam4odGhpcyxCYSxLaSkuY2FsbCh0aGlzLHt0eXBlOiJmZXRjaCIsbWV0YTooQT1sLmZldGNoT3B0aW9ucyk9PW51bGw/dm9pZCAwOkEubWV0YX0pO2NvbnN0IGM9Zj0+e3ZhciBoLHAsbSx4O0QxKGYpJiZmLnNpbGVudHx8am4odGhpcyxCYSxLaSkuY2FsbCh0aGlzLHt0eXBlOiJlcnJvciIsZXJyb3I6Zn0pLEQxKGYpfHwoKHA9KGg9Y2UodGhpcyxScykuY29uZmlnKS5vbkVycm9yKT09bnVsbHx8cC5jYWxsKGgsZix0aGlzKSwoeD0obT1jZSh0aGlzLFJzKS5jb25maWcpLm9uU2V0dGxlZCk9PW51bGx8fHguY2FsbChtLHRoaXMuc3RhdGUuZGF0YSxmLHRoaXMpKSx0aGlzLnNjaGVkdWxlR2MoKX07cmV0dXJuIHR0KHRoaXMsX24sVTYoe2luaXRpYWxQcm9taXNlOnI9PW51bGw/dm9pZCAwOnIuaW5pdGlhbFByb21pc2UsZm46bC5mZXRjaEZuLGFib3J0Om4uYWJvcnQuYmluZChuKSxvblN1Y2Nlc3M6Zj0+e3ZhciBoLHAsbSx4O2lmKGY9PT12b2lkIDApe2MobmV3IEVycm9yKGAke3RoaXMucXVlcnlIYXNofSBkYXRhIGlzIHVuZGVmaW5lZGApKTtyZXR1cm59dHJ5e3RoaXMuc2V0RGF0YShmKX1jYXRjaCh3KXtjKHcpO3JldHVybn0ocD0oaD1jZSh0aGlzLFJzKS5jb25maWcpLm9uU3VjY2Vzcyk9PW51bGx8fHAuY2FsbChoLGYsdGhpcyksKHg9KG09Y2UodGhpcyxScykuY29uZmlnKS5vblNldHRsZWQpPT1udWxsfHx4LmNhbGwobSxmLHRoaXMuc3RhdGUuZXJyb3IsdGhpcyksdGhpcy5zY2hlZHVsZUdjKCl9LG9uRXJyb3I6YyxvbkZhaWw6KGYsaCk9Pntqbih0aGlzLEJhLEtpKS5jYWxsKHRoaXMse3R5cGU6ImZhaWxlZCIsZmFpbHVyZUNvdW50OmYsZXJyb3I6aH0pfSxvblBhdXNlOigpPT57am4odGhpcyxCYSxLaSkuY2FsbCh0aGlzLHt0eXBlOiJwYXVzZSJ9KX0sb25Db250aW51ZTooKT0+e2puKHRoaXMsQmEsS2kpLmNhbGwodGhpcyx7dHlwZToiY29udGludWUifSl9LHJldHJ5Omwub3B0aW9ucy5yZXRyeSxyZXRyeURlbGF5Omwub3B0aW9ucy5yZXRyeURlbGF5LG5ldHdvcmtNb2RlOmwub3B0aW9ucy5uZXR3b3JrTW9kZSxjYW5SdW46KCk9PiEwfSkpLGNlKHRoaXMsX24pLnN0YXJ0KCl9fSwkdT1uZXcgV2Vha01hcCxEYz1uZXcgV2Vha01hcCxScz1uZXcgV2Vha01hcCxNYz1uZXcgV2Vha01hcCxfbj1uZXcgV2Vha01hcCxTcD1uZXcgV2Vha01hcCxSYz1uZXcgV2Vha01hcCxCYT1uZXcgV2Vha1NldCxLaT1mdW5jdGlvbih0KXtjb25zdCByPW49Pntzd2l0Y2godC50eXBlKXtjYXNlImZhaWxlZCI6cmV0dXJuey4uLm4sZmV0Y2hGYWlsdXJlQ291bnQ6dC5mYWlsdXJlQ291bnQsZmV0Y2hGYWlsdXJlUmVhc29uOnQuZXJyb3J9O2Nhc2UicGF1c2UiOnJldHVybnsuLi5uLGZldGNoU3RhdHVzOiJwYXVzZWQifTtjYXNlImNvbnRpbnVlIjpyZXR1cm57Li4ubixmZXRjaFN0YXR1czoiZmV0Y2hpbmcifTtjYXNlImZldGNoIjpyZXR1cm57Li4ubiwuLi5SYWUobi5kYXRhLHRoaXMub3B0aW9ucyksZmV0Y2hNZXRhOnQubWV0YT8/bnVsbH07Y2FzZSJzdWNjZXNzIjpyZXR1cm4gdHQodGhpcyxEYyx2b2lkIDApLHsuLi5uLGRhdGE6dC5kYXRhLGRhdGFVcGRhdGVDb3VudDpuLmRhdGFVcGRhdGVDb3VudCsxLGRhdGFVcGRhdGVkQXQ6dC5kYXRhVXBkYXRlZEF0Pz9EYXRlLm5vdygpLGVycm9yOm51bGwsaXNJbnZhbGlkYXRlZDohMSxzdGF0dXM6InN1Y2Nlc3MiLC4uLiF0Lm1hbnVhbCYme2ZldGNoU3RhdHVzOiJpZGxlIixmZXRjaEZhaWx1cmVDb3VudDowLGZldGNoRmFpbHVyZVJlYXNvbjpudWxsfX07Y2FzZSJlcnJvciI6Y29uc3QgYT10LmVycm9yO3JldHVybiBEMShhKSYmYS5yZXZlcnQmJmNlKHRoaXMsRGMpP3suLi5jZSh0aGlzLERjKSxmZXRjaFN0YXR1czoiaWRsZSJ9OnsuLi5uLGVycm9yOmEsZXJyb3JVcGRhdGVDb3VudDpuLmVycm9yVXBkYXRlQ291bnQrMSxlcnJvclVwZGF0ZWRBdDpEYXRlLm5vdygpLGZldGNoRmFpbHVyZUNvdW50Om4uZmV0Y2hGYWlsdXJlQ291bnQrMSxmZXRjaEZhaWx1cmVSZWFzb246YSxmZXRjaFN0YXR1czoiaWRsZSIsc3RhdHVzOiJlcnJvciJ9O2Nhc2UiaW52YWxpZGF0ZSI6cmV0dXJuey4uLm4saXNJbnZhbGlkYXRlZDohMH07Y2FzZSJzZXRTdGF0ZSI6cmV0dXJuey4uLm4sLi4udC5zdGF0ZX19fTt0aGlzLnN0YXRlPXIodGhpcy5zdGF0ZSksJG4uYmF0Y2goKCk9Pnt0aGlzLm9ic2VydmVycy5mb3JFYWNoKG49PntuLm9uUXVlcnlVcGRhdGUoKX0pLGNlKHRoaXMsUnMpLm5vdGlmeSh7cXVlcnk6dGhpcyx0eXBlOiJ1cGRhdGVkIixhY3Rpb246dH0pfSl9LEZRKTtmdW5jdGlvbiBSYWUoZSx0KXtyZXR1cm57ZmV0Y2hGYWlsdXJlQ291bnQ6MCxmZXRjaEZhaWx1cmVSZWFzb246bnVsbCxmZXRjaFN0YXR1czpPNih0Lm5ldHdvcmtNb2RlKT8iZmV0Y2hpbmciOiJwYXVzZWQiLC4uLmU9PT12b2lkIDAmJntlcnJvcjpudWxsLHN0YXR1czoicGVuZGluZyJ9fX1mdW5jdGlvbiBRYWUoZSl7Y29uc3QgdD10eXBlb2YgZS5pbml0aWFsRGF0YT09ImZ1bmN0aW9uIj9lLmluaXRpYWxEYXRhKCk6ZS5pbml0aWFsRGF0YSxyPXQhPT12b2lkIDAsbj1yP3R5cGVvZiBlLmluaXRpYWxEYXRhVXBkYXRlZEF0PT0iZnVuY3Rpb24iP2UuaW5pdGlhbERhdGFVcGRhdGVkQXQoKTplLmluaXRpYWxEYXRhVXBkYXRlZEF0OjA7cmV0dXJue2RhdGE6dCxkYXRhVXBkYXRlQ291bnQ6MCxkYXRhVXBkYXRlZEF0OnI/bj8/RGF0ZS5ub3coKTowLGVycm9yOm51bGwsZXJyb3JVcGRhdGVDb3VudDowLGVycm9yVXBkYXRlZEF0OjAsZmV0Y2hGYWlsdXJlQ291bnQ6MCxmZXRjaEZhaWx1cmVSZWFzb246bnVsbCxmZXRjaE1ldGE6bnVsbCxpc0ludmFsaWRhdGVkOiExLHN0YXR1czpyPyJzdWNjZXNzIjoicGVuZGluZyIsZmV0Y2hTdGF0dXM6ImlkbGUifX12YXIgaWksT1EsTGFlPShPUT1jbGFzcyBleHRlbmRzIHl3e2NvbnN0cnVjdG9yKHQ9e30pe3N1cGVyKCk7TnQodGhpcyxpaSk7dGhpcy5jb25maWc9dCx0dCh0aGlzLGlpLG5ldyBNYXApfWJ1aWxkKHQscixuKXtjb25zdCBhPXIucXVlcnlLZXksaT1yLnF1ZXJ5SGFzaD8/Y0UoYSxyKTtsZXQgbz10aGlzLmdldChpKTtyZXR1cm4gb3x8KG89bmV3IE1hZSh7Y2xpZW50OnQscXVlcnlLZXk6YSxxdWVyeUhhc2g6aSxvcHRpb25zOnQuZGVmYXVsdFF1ZXJ5T3B0aW9ucyhyKSxzdGF0ZTpuLGRlZmF1bHRPcHRpb25zOnQuZ2V0UXVlcnlEZWZhdWx0cyhhKX0pLHRoaXMuYWRkKG8pKSxvfWFkZCh0KXtjZSh0aGlzLGlpKS5oYXModC5xdWVyeUhhc2gpfHwoY2UodGhpcyxpaSkuc2V0KHQucXVlcnlIYXNoLHQpLHRoaXMubm90aWZ5KHt0eXBlOiJhZGRlZCIscXVlcnk6dH0pKX1yZW1vdmUodCl7Y29uc3Qgcj1jZSh0aGlzLGlpKS5nZXQodC5xdWVyeUhhc2gpO3ImJih0LmRlc3Ryb3koKSxyPT09dCYmY2UodGhpcyxpaSkuZGVsZXRlKHQucXVlcnlIYXNoKSx0aGlzLm5vdGlmeSh7dHlwZToicmVtb3ZlZCIscXVlcnk6dH0pKX1jbGVhcigpeyRuLmJhdGNoKCgpPT57dGhpcy5nZXRBbGwoKS5mb3JFYWNoKHQ9Pnt0aGlzLnJlbW92ZSh0KX0pfSl9Z2V0KHQpe3JldHVybiBjZSh0aGlzLGlpKS5nZXQodCl9Z2V0QWxsKCl7cmV0dXJuWy4uLmNlKHRoaXMsaWkpLnZhbHVlcygpXX1maW5kKHQpe2NvbnN0IHI9e2V4YWN0OiEwLC4uLnR9O3JldHVybiB0aGlzLmdldEFsbCgpLmZpbmQobj0+ckYocixuKSl9ZmluZEFsbCh0PXt9KXtjb25zdCByPXRoaXMuZ2V0QWxsKCk7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmxlbmd0aD4wP3IuZmlsdGVyKG49PnJGKHQsbikpOnJ9bm90aWZ5KHQpeyRuLmJhdGNoKCgpPT57dGhpcy5saXN0ZW5lcnMuZm9yRWFjaChyPT57cih0KX0pfSl9b25Gb2N1cygpeyRuLmJhdGNoKCgpPT57dGhpcy5nZXRBbGwoKS5mb3JFYWNoKHQ9Pnt0Lm9uRm9jdXMoKX0pfSl9b25PbmxpbmUoKXskbi5iYXRjaCgoKT0+e3RoaXMuZ2V0QWxsKCkuZm9yRWFjaCh0PT57dC5vbk9ubGluZSgpfSl9KX19LGlpPW5ldyBXZWFrTWFwLE9RKSxvaSxSbixRYyxsaSxVbyxJUSwkYWU9KElRPWNsYXNzIGV4dGVuZHMgRDZ7Y29uc3RydWN0b3IodCl7c3VwZXIoKTtOdCh0aGlzLGxpKTtOdCh0aGlzLG9pKTtOdCh0aGlzLFJuKTtOdCh0aGlzLFFjKTt0aGlzLm11dGF0aW9uSWQ9dC5tdXRhdGlvbklkLHR0KHRoaXMsUm4sdC5tdXRhdGlvbkNhY2hlKSx0dCh0aGlzLG9pLFtdKSx0aGlzLnN0YXRlPXQuc3RhdGV8fEhhZSgpLHRoaXMuc2V0T3B0aW9ucyh0Lm9wdGlvbnMpLHRoaXMuc2NoZWR1bGVHYygpfXNldE9wdGlvbnModCl7dGhpcy5vcHRpb25zPXQsdGhpcy51cGRhdGVHY1RpbWUodGhpcy5vcHRpb25zLmdjVGltZSl9Z2V0IG1ldGEoKXtyZXR1cm4gdGhpcy5vcHRpb25zLm1ldGF9YWRkT2JzZXJ2ZXIodCl7Y2UodGhpcyxvaSkuaW5jbHVkZXModCl8fChjZSh0aGlzLG9pKS5wdXNoKHQpLHRoaXMuY2xlYXJHY1RpbWVvdXQoKSxjZSh0aGlzLFJuKS5ub3RpZnkoe3R5cGU6Im9ic2VydmVyQWRkZWQiLG11dGF0aW9uOnRoaXMsb2JzZXJ2ZXI6dH0pKX1yZW1vdmVPYnNlcnZlcih0KXt0dCh0aGlzLG9pLGNlKHRoaXMsb2kpLmZpbHRlcihyPT5yIT09dCkpLHRoaXMuc2NoZWR1bGVHYygpLGNlKHRoaXMsUm4pLm5vdGlmeSh7dHlwZToib2JzZXJ2ZXJSZW1vdmVkIixtdXRhdGlvbjp0aGlzLG9ic2VydmVyOnR9KX1vcHRpb25hbFJlbW92ZSgpe2NlKHRoaXMsb2kpLmxlbmd0aHx8KHRoaXMuc3RhdGUuc3RhdHVzPT09InBlbmRpbmciP3RoaXMuc2NoZWR1bGVHYygpOmNlKHRoaXMsUm4pLnJlbW92ZSh0aGlzKSl9Y29udGludWUoKXt2YXIgdDtyZXR1cm4oKHQ9Y2UodGhpcyxRYykpPT1udWxsP3ZvaWQgMDp0LmNvbnRpbnVlKCkpPz90aGlzLmV4ZWN1dGUodGhpcy5zdGF0ZS52YXJpYWJsZXMpfWFzeW5jIGV4ZWN1dGUodCl7dmFyIGksbyxsLGMsZCx1LEEsZixoLHAsbSx4LHcseSx2LGIsaixOLEMsXztjb25zdCByPSgpPT57am4odGhpcyxsaSxVbykuY2FsbCh0aGlzLHt0eXBlOiJjb250aW51ZSJ9KX07dHQodGhpcyxRYyxVNih7Zm46KCk9PnRoaXMub3B0aW9ucy5tdXRhdGlvbkZuP3RoaXMub3B0aW9ucy5tdXRhdGlvbkZuKHQpOlByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiTm8gbXV0YXRpb25GbiBmb3VuZCIpKSxvbkZhaWw6KEIsayk9Pntqbih0aGlzLGxpLFVvKS5jYWxsKHRoaXMse3R5cGU6ImZhaWxlZCIsZmFpbHVyZUNvdW50OkIsZXJyb3I6a30pfSxvblBhdXNlOigpPT57am4odGhpcyxsaSxVbykuY2FsbCh0aGlzLHt0eXBlOiJwYXVzZSJ9KX0sb25Db250aW51ZTpyLHJldHJ5OnRoaXMub3B0aW9ucy5yZXRyeT8/MCxyZXRyeURlbGF5OnRoaXMub3B0aW9ucy5yZXRyeURlbGF5LG5ldHdvcmtNb2RlOnRoaXMub3B0aW9ucy5uZXR3b3JrTW9kZSxjYW5SdW46KCk9PmNlKHRoaXMsUm4pLmNhblJ1bih0aGlzKX0pKTtjb25zdCBuPXRoaXMuc3RhdGUuc3RhdHVzPT09InBlbmRpbmciLGE9IWNlKHRoaXMsUWMpLmNhblN0YXJ0KCk7dHJ5e2lmKG4pcigpO2Vsc2V7am4odGhpcyxsaSxVbykuY2FsbCh0aGlzLHt0eXBlOiJwZW5kaW5nIix2YXJpYWJsZXM6dCxpc1BhdXNlZDphfSksYXdhaXQoKG89KGk9Y2UodGhpcyxSbikuY29uZmlnKS5vbk11dGF0ZSk9PW51bGw/dm9pZCAwOm8uY2FsbChpLHQsdGhpcykpO2NvbnN0IGs9YXdhaXQoKGM9KGw9dGhpcy5vcHRpb25zKS5vbk11dGF0ZSk9PW51bGw/dm9pZCAwOmMuY2FsbChsLHQpKTtrIT09dGhpcy5zdGF0ZS5jb250ZXh0JiZqbih0aGlzLGxpLFVvKS5jYWxsKHRoaXMse3R5cGU6InBlbmRpbmciLGNvbnRleHQ6ayx2YXJpYWJsZXM6dCxpc1BhdXNlZDphfSl9Y29uc3QgQj1hd2FpdCBjZSh0aGlzLFFjKS5zdGFydCgpO3JldHVybiBhd2FpdCgodT0oZD1jZSh0aGlzLFJuKS5jb25maWcpLm9uU3VjY2Vzcyk9PW51bGw/dm9pZCAwOnUuY2FsbChkLEIsdCx0aGlzLnN0YXRlLmNvbnRleHQsdGhpcykpLGF3YWl0KChmPShBPXRoaXMub3B0aW9ucykub25TdWNjZXNzKT09bnVsbD92b2lkIDA6Zi5jYWxsKEEsQix0LHRoaXMuc3RhdGUuY29udGV4dCkpLGF3YWl0KChwPShoPWNlKHRoaXMsUm4pLmNvbmZpZykub25TZXR0bGVkKT09bnVsbD92b2lkIDA6cC5jYWxsKGgsQixudWxsLHRoaXMuc3RhdGUudmFyaWFibGVzLHRoaXMuc3RhdGUuY29udGV4dCx0aGlzKSksYXdhaXQoKHg9KG09dGhpcy5vcHRpb25zKS5vblNldHRsZWQpPT1udWxsP3ZvaWQgMDp4LmNhbGwobSxCLG51bGwsdCx0aGlzLnN0YXRlLmNvbnRleHQpKSxqbih0aGlzLGxpLFVvKS5jYWxsKHRoaXMse3R5cGU6InN1Y2Nlc3MiLGRhdGE6Qn0pLEJ9Y2F0Y2goQil7dHJ5e3Rocm93IGF3YWl0KCh5PSh3PWNlKHRoaXMsUm4pLmNvbmZpZykub25FcnJvcik9PW51bGw/dm9pZCAwOnkuY2FsbCh3LEIsdCx0aGlzLnN0YXRlLmNvbnRleHQsdGhpcykpLGF3YWl0KChiPSh2PXRoaXMub3B0aW9ucykub25FcnJvcik9PW51bGw/dm9pZCAwOmIuY2FsbCh2LEIsdCx0aGlzLnN0YXRlLmNvbnRleHQpKSxhd2FpdCgoTj0oaj1jZSh0aGlzLFJuKS5jb25maWcpLm9uU2V0dGxlZCk9PW51bGw/dm9pZCAwOk4uY2FsbChqLHZvaWQgMCxCLHRoaXMuc3RhdGUudmFyaWFibGVzLHRoaXMuc3RhdGUuY29udGV4dCx0aGlzKSksYXdhaXQoKF89KEM9dGhpcy5vcHRpb25zKS5vblNldHRsZWQpPT1udWxsP3ZvaWQgMDpfLmNhbGwoQyx2b2lkIDAsQix0LHRoaXMuc3RhdGUuY29udGV4dCkpLEJ9ZmluYWxseXtqbih0aGlzLGxpLFVvKS5jYWxsKHRoaXMse3R5cGU6ImVycm9yIixlcnJvcjpCfSl9fWZpbmFsbHl7Y2UodGhpcyxSbikucnVuTmV4dCh0aGlzKX19fSxvaT1uZXcgV2Vha01hcCxSbj1uZXcgV2Vha01hcCxRYz1uZXcgV2Vha01hcCxsaT1uZXcgV2Vha1NldCxVbz1mdW5jdGlvbih0KXtjb25zdCByPW49Pntzd2l0Y2godC50eXBlKXtjYXNlImZhaWxlZCI6cmV0dXJuey4uLm4sZmFpbHVyZUNvdW50OnQuZmFpbHVyZUNvdW50LGZhaWx1cmVSZWFzb246dC5lcnJvcn07Y2FzZSJwYXVzZSI6cmV0dXJuey4uLm4saXNQYXVzZWQ6ITB9O2Nhc2UiY29udGludWUiOnJldHVybnsuLi5uLGlzUGF1c2VkOiExfTtjYXNlInBlbmRpbmciOnJldHVybnsuLi5uLGNvbnRleHQ6dC5jb250ZXh0LGRhdGE6dm9pZCAwLGZhaWx1cmVDb3VudDowLGZhaWx1cmVSZWFzb246bnVsbCxlcnJvcjpudWxsLGlzUGF1c2VkOnQuaXNQYXVzZWQsc3RhdHVzOiJwZW5kaW5nIix2YXJpYWJsZXM6dC52YXJpYWJsZXMsc3VibWl0dGVkQXQ6RGF0ZS5ub3coKX07Y2FzZSJzdWNjZXNzIjpyZXR1cm57Li4ubixkYXRhOnQuZGF0YSxmYWlsdXJlQ291bnQ6MCxmYWlsdXJlUmVhc29uOm51bGwsZXJyb3I6bnVsbCxzdGF0dXM6InN1Y2Nlc3MiLGlzUGF1c2VkOiExfTtjYXNlImVycm9yIjpyZXR1cm57Li4ubixkYXRhOnZvaWQgMCxlcnJvcjp0LmVycm9yLGZhaWx1cmVDb3VudDpuLmZhaWx1cmVDb3VudCsxLGZhaWx1cmVSZWFzb246dC5lcnJvcixpc1BhdXNlZDohMSxzdGF0dXM6ImVycm9yIn19fTt0aGlzLnN0YXRlPXIodGhpcy5zdGF0ZSksJG4uYmF0Y2goKCk9PntjZSh0aGlzLG9pKS5mb3JFYWNoKG49PntuLm9uTXV0YXRpb25VcGRhdGUodCl9KSxjZSh0aGlzLFJuKS5ub3RpZnkoe211dGF0aW9uOnRoaXMsdHlwZToidXBkYXRlZCIsYWN0aW9uOnR9KX0pfSxJUSk7ZnVuY3Rpb24gSGFlKCl7cmV0dXJue2NvbnRleHQ6dm9pZCAwLGRhdGE6dm9pZCAwLGVycm9yOm51bGwsZmFpbHVyZUNvdW50OjAsZmFpbHVyZVJlYXNvbjpudWxsLGlzUGF1c2VkOiExLHN0YXR1czoiaWRsZSIsdmFyaWFibGVzOnZvaWQgMCxzdWJtaXR0ZWRBdDowfX12YXIgcWksU2EsRXAsVVEsS2FlPShVUT1jbGFzcyBleHRlbmRzIHl3e2NvbnN0cnVjdG9yKHQ9e30pe3N1cGVyKCk7TnQodGhpcyxxaSk7TnQodGhpcyxTYSk7TnQodGhpcyxFcCk7dGhpcy5jb25maWc9dCx0dCh0aGlzLHFpLG5ldyBTZXQpLHR0KHRoaXMsU2EsbmV3IE1hcCksdHQodGhpcyxFcCwwKX1idWlsZCh0LHIsbil7Y29uc3QgYT1uZXcgJGFlKHttdXRhdGlvbkNhY2hlOnRoaXMsbXV0YXRpb25JZDorK3lnKHRoaXMsRXApLl8sb3B0aW9uczp0LmRlZmF1bHRNdXRhdGlvbk9wdGlvbnMociksc3RhdGU6bn0pO3JldHVybiB0aGlzLmFkZChhKSxhfWFkZCh0KXtjZSh0aGlzLHFpKS5hZGQodCk7Y29uc3Qgcj0kZyh0KTtpZih0eXBlb2Ygcj09InN0cmluZyIpe2NvbnN0IG49Y2UodGhpcyxTYSkuZ2V0KHIpO24/bi5wdXNoKHQpOmNlKHRoaXMsU2EpLnNldChyLFt0XSl9dGhpcy5ub3RpZnkoe3R5cGU6ImFkZGVkIixtdXRhdGlvbjp0fSl9cmVtb3ZlKHQpe2lmKGNlKHRoaXMscWkpLmRlbGV0ZSh0KSl7Y29uc3Qgcj0kZyh0KTtpZih0eXBlb2Ygcj09InN0cmluZyIpe2NvbnN0IG49Y2UodGhpcyxTYSkuZ2V0KHIpO2lmKG4paWYobi5sZW5ndGg+MSl7Y29uc3QgYT1uLmluZGV4T2YodCk7YSE9PS0xJiZuLnNwbGljZShhLDEpfWVsc2UgblswXT09PXQmJmNlKHRoaXMsU2EpLmRlbGV0ZShyKX19dGhpcy5ub3RpZnkoe3R5cGU6InJlbW92ZWQiLG11dGF0aW9uOnR9KX1jYW5SdW4odCl7Y29uc3Qgcj0kZyh0KTtpZih0eXBlb2Ygcj09InN0cmluZyIpe2NvbnN0IG49Y2UodGhpcyxTYSkuZ2V0KHIpLGE9bj09bnVsbD92b2lkIDA6bi5maW5kKGk9Pmkuc3RhdGUuc3RhdHVzPT09InBlbmRpbmciKTtyZXR1cm4hYXx8YT09PXR9ZWxzZSByZXR1cm4hMH1ydW5OZXh0KHQpe3ZhciBuO2NvbnN0IHI9JGcodCk7aWYodHlwZW9mIHI9PSJzdHJpbmciKXtjb25zdCBhPShuPWNlKHRoaXMsU2EpLmdldChyKSk9PW51bGw/dm9pZCAwOm4uZmluZChpPT5pIT09dCYmaS5zdGF0ZS5pc1BhdXNlZCk7cmV0dXJuKGE9PW51bGw/dm9pZCAwOmEuY29udGludWUoKSk/P1Byb21pc2UucmVzb2x2ZSgpfWVsc2UgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfWNsZWFyKCl7JG4uYmF0Y2goKCk9PntjZSh0aGlzLHFpKS5mb3JFYWNoKHQ9Pnt0aGlzLm5vdGlmeSh7dHlwZToicmVtb3ZlZCIsbXV0YXRpb246dH0pfSksY2UodGhpcyxxaSkuY2xlYXIoKSxjZSh0aGlzLFNhKS5jbGVhcigpfSl9Z2V0QWxsKCl7cmV0dXJuIEFycmF5LmZyb20oY2UodGhpcyxxaSkpfWZpbmQodCl7Y29uc3Qgcj17ZXhhY3Q6ITAsLi4udH07cmV0dXJuIHRoaXMuZ2V0QWxsKCkuZmluZChuPT5uRihyLG4pKX1maW5kQWxsKHQ9e30pe3JldHVybiB0aGlzLmdldEFsbCgpLmZpbHRlcihyPT5uRih0LHIpKX1ub3RpZnkodCl7JG4uYmF0Y2goKCk9Pnt0aGlzLmxpc3RlbmVycy5mb3JFYWNoKHI9PntyKHQpfSl9KX1yZXN1bWVQYXVzZWRNdXRhdGlvbnMoKXtjb25zdCB0PXRoaXMuZ2V0QWxsKCkuZmlsdGVyKHI9PnIuc3RhdGUuaXNQYXVzZWQpO3JldHVybiAkbi5iYXRjaCgoKT0+UHJvbWlzZS5hbGwodC5tYXAocj0+ci5jb250aW51ZSgpLmNhdGNoKENhKSkpKX19LHFpPW5ldyBXZWFrTWFwLFNhPW5ldyBXZWFrTWFwLEVwPW5ldyBXZWFrTWFwLFVRKTtmdW5jdGlvbiAkZyhlKXt2YXIgdDtyZXR1cm4odD1lLm9wdGlvbnMuc2NvcGUpPT1udWxsP3ZvaWQgMDp0LmlkfWZ1bmN0aW9uIGlGKGUpe3JldHVybntvbkZldGNoOih0LHIpPT57dmFyIHUsQSxmLGgscDtjb25zdCBuPXQub3B0aW9ucyxhPShmPShBPSh1PXQuZmV0Y2hPcHRpb25zKT09bnVsbD92b2lkIDA6dS5tZXRhKT09bnVsbD92b2lkIDA6QS5mZXRjaE1vcmUpPT1udWxsP3ZvaWQgMDpmLmRpcmVjdGlvbixpPSgoaD10LnN0YXRlLmRhdGEpPT1udWxsP3ZvaWQgMDpoLnBhZ2VzKXx8W10sbz0oKHA9dC5zdGF0ZS5kYXRhKT09bnVsbD92b2lkIDA6cC5wYWdlUGFyYW1zKXx8W107bGV0IGw9e3BhZ2VzOltdLHBhZ2VQYXJhbXM6W119LGM9MDtjb25zdCBkPWFzeW5jKCk9PntsZXQgbT0hMTtjb25zdCB4PXY9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodiwic2lnbmFsIix7ZW51bWVyYWJsZTohMCxnZXQ6KCk9Pih0LnNpZ25hbC5hYm9ydGVkP209ITA6dC5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57bT0hMH0pLHQuc2lnbmFsKX0pfSx3PVA2KHQub3B0aW9ucyx0LmZldGNoT3B0aW9ucykseT1hc3luYyh2LGIsaik9PntpZihtKXJldHVybiBQcm9taXNlLnJlamVjdCgpO2lmKGI9PW51bGwmJnYucGFnZXMubGVuZ3RoKXJldHVybiBQcm9taXNlLnJlc29sdmUodik7Y29uc3QgQz0oKCk9Pntjb25zdCBFPXtjbGllbnQ6dC5jbGllbnQscXVlcnlLZXk6dC5xdWVyeUtleSxwYWdlUGFyYW06YixkaXJlY3Rpb246aj8iYmFja3dhcmQiOiJmb3J3YXJkIixtZXRhOnQub3B0aW9ucy5tZXRhfTtyZXR1cm4geChFKSxFfSkoKSxfPWF3YWl0IHcoQykse21heFBhZ2VzOkJ9PXQub3B0aW9ucyxrPWo/VGFlOmthZTtyZXR1cm57cGFnZXM6ayh2LnBhZ2VzLF8sQikscGFnZVBhcmFtczprKHYucGFnZVBhcmFtcyxiLEIpfX07aWYoYSYmaS5sZW5ndGgpe2NvbnN0IHY9YT09PSJiYWNrd2FyZCIsYj12P1ZhZTpvRixqPXtwYWdlczppLHBhZ2VQYXJhbXM6b30sTj1iKG4saik7bD1hd2FpdCB5KGosTix2KX1lbHNle2NvbnN0IHY9ZT8/aS5sZW5ndGg7ZG97Y29uc3QgYj1jPT09MD9vWzBdPz9uLmluaXRpYWxQYWdlUGFyYW06b0YobixsKTtpZihjPjAmJmI9PW51bGwpYnJlYWs7bD1hd2FpdCB5KGwsYiksYysrfXdoaWxlKGM8dil9cmV0dXJuIGx9O3Qub3B0aW9ucy5wZXJzaXN0ZXI/dC5mZXRjaEZuPSgpPT57dmFyIG0seDtyZXR1cm4oeD0obT10Lm9wdGlvbnMpLnBlcnNpc3Rlcik9PW51bGw/dm9pZCAwOnguY2FsbChtLGQse2NsaWVudDp0LmNsaWVudCxxdWVyeUtleTp0LnF1ZXJ5S2V5LG1ldGE6dC5vcHRpb25zLm1ldGEsc2lnbmFsOnQuc2lnbmFsfSxyKX06dC5mZXRjaEZuPWR9fX1mdW5jdGlvbiBvRihlLHtwYWdlczp0LHBhZ2VQYXJhbXM6cn0pe2NvbnN0IG49dC5sZW5ndGgtMTtyZXR1cm4gdC5sZW5ndGg+MD9lLmdldE5leHRQYWdlUGFyYW0odFtuXSx0LHJbbl0scik6dm9pZCAwfWZ1bmN0aW9uIFZhZShlLHtwYWdlczp0LHBhZ2VQYXJhbXM6cn0pe3ZhciBuO3JldHVybiB0Lmxlbmd0aD4wPyhuPWUuZ2V0UHJldmlvdXNQYWdlUGFyYW0pPT1udWxsP3ZvaWQgMDpuLmNhbGwoZSx0WzBdLHQsclswXSxyKTp2b2lkIDB9dmFyIGdyLFpvLGVsLEh1LEt1LHRsLFZ1LHp1LERRLHphZT0oRFE9Y2xhc3N7Y29uc3RydWN0b3IoZT17fSl7TnQodGhpcyxncik7TnQodGhpcyxabyk7TnQodGhpcyxlbCk7TnQodGhpcyxIdSk7TnQodGhpcyxLdSk7TnQodGhpcyx0bCk7TnQodGhpcyxWdSk7TnQodGhpcyx6dSk7dHQodGhpcyxncixlLnF1ZXJ5Q2FjaGV8fG5ldyBMYWUpLHR0KHRoaXMsWm8sZS5tdXRhdGlvbkNhY2hlfHxuZXcgS2FlKSx0dCh0aGlzLGVsLGUuZGVmYXVsdE9wdGlvbnN8fHt9KSx0dCh0aGlzLEh1LG5ldyBNYXApLHR0KHRoaXMsS3UsbmV3IE1hcCksdHQodGhpcyx0bCwwKX1tb3VudCgpe3lnKHRoaXMsdGwpLl8rKyxjZSh0aGlzLHRsKT09PTEmJih0dCh0aGlzLFZ1LEY2LnN1YnNjcmliZShhc3luYyBlPT57ZSYmKGF3YWl0IHRoaXMucmVzdW1lUGF1c2VkTXV0YXRpb25zKCksY2UodGhpcyxncikub25Gb2N1cygpKX0pKSx0dCh0aGlzLHp1LFkwLnN1YnNjcmliZShhc3luYyBlPT57ZSYmKGF3YWl0IHRoaXMucmVzdW1lUGF1c2VkTXV0YXRpb25zKCksY2UodGhpcyxncikub25PbmxpbmUoKSl9KSkpfXVubW91bnQoKXt2YXIgZSx0O3lnKHRoaXMsdGwpLl8tLSxjZSh0aGlzLHRsKT09PTAmJigoZT1jZSh0aGlzLFZ1KSk9PW51bGx8fGUuY2FsbCh0aGlzKSx0dCh0aGlzLFZ1LHZvaWQgMCksKHQ9Y2UodGhpcyx6dSkpPT1udWxsfHx0LmNhbGwodGhpcyksdHQodGhpcyx6dSx2b2lkIDApKX1pc0ZldGNoaW5nKGUpe3JldHVybiBjZSh0aGlzLGdyKS5maW5kQWxsKHsuLi5lLGZldGNoU3RhdHVzOiJmZXRjaGluZyJ9KS5sZW5ndGh9aXNNdXRhdGluZyhlKXtyZXR1cm4gY2UodGhpcyxabykuZmluZEFsbCh7Li4uZSxzdGF0dXM6InBlbmRpbmcifSkubGVuZ3RofWdldFF1ZXJ5RGF0YShlKXt2YXIgcjtjb25zdCB0PXRoaXMuZGVmYXVsdFF1ZXJ5T3B0aW9ucyh7cXVlcnlLZXk6ZX0pO3JldHVybihyPWNlKHRoaXMsZ3IpLmdldCh0LnF1ZXJ5SGFzaCkpPT1udWxsP3ZvaWQgMDpyLnN0YXRlLmRhdGF9ZW5zdXJlUXVlcnlEYXRhKGUpe2NvbnN0IHQ9dGhpcy5kZWZhdWx0UXVlcnlPcHRpb25zKGUpLHI9Y2UodGhpcyxncikuYnVpbGQodGhpcyx0KSxuPXIuc3RhdGUuZGF0YTtyZXR1cm4gbj09PXZvaWQgMD90aGlzLmZldGNoUXVlcnkoZSk6KGUucmV2YWxpZGF0ZUlmU3RhbGUmJnIuaXNTdGFsZUJ5VGltZShJQyh0LnN0YWxlVGltZSxyKSkmJnRoaXMucHJlZmV0Y2hRdWVyeSh0KSxQcm9taXNlLnJlc29sdmUobikpfWdldFF1ZXJpZXNEYXRhKGUpe3JldHVybiBjZSh0aGlzLGdyKS5maW5kQWxsKGUpLm1hcCgoe3F1ZXJ5S2V5OnQsc3RhdGU6cn0pPT57Y29uc3Qgbj1yLmRhdGE7cmV0dXJuW3Qsbl19KX1zZXRRdWVyeURhdGEoZSx0LHIpe2NvbnN0IG49dGhpcy5kZWZhdWx0UXVlcnlPcHRpb25zKHtxdWVyeUtleTplfSksYT1jZSh0aGlzLGdyKS5nZXQobi5xdWVyeUhhc2gpLGk9YT09bnVsbD92b2lkIDA6YS5zdGF0ZS5kYXRhLG89TmFlKHQsaSk7aWYobyE9PXZvaWQgMClyZXR1cm4gY2UodGhpcyxncikuYnVpbGQodGhpcyxuKS5zZXREYXRhKG8sey4uLnIsbWFudWFsOiEwfSl9c2V0UXVlcmllc0RhdGEoZSx0LHIpe3JldHVybiAkbi5iYXRjaCgoKT0+Y2UodGhpcyxncikuZmluZEFsbChlKS5tYXAoKHtxdWVyeUtleTpufSk9PltuLHRoaXMuc2V0UXVlcnlEYXRhKG4sdCxyKV0pKX1nZXRRdWVyeVN0YXRlKGUpe3ZhciByO2NvbnN0IHQ9dGhpcy5kZWZhdWx0UXVlcnlPcHRpb25zKHtxdWVyeUtleTplfSk7cmV0dXJuKHI9Y2UodGhpcyxncikuZ2V0KHQucXVlcnlIYXNoKSk9PW51bGw/dm9pZCAwOnIuc3RhdGV9cmVtb3ZlUXVlcmllcyhlKXtjb25zdCB0PWNlKHRoaXMsZ3IpOyRuLmJhdGNoKCgpPT57dC5maW5kQWxsKGUpLmZvckVhY2gocj0+e3QucmVtb3ZlKHIpfSl9KX1yZXNldFF1ZXJpZXMoZSx0KXtjb25zdCByPWNlKHRoaXMsZ3IpO3JldHVybiAkbi5iYXRjaCgoKT0+KHIuZmluZEFsbChlKS5mb3JFYWNoKG49PntuLnJlc2V0KCl9KSx0aGlzLnJlZmV0Y2hRdWVyaWVzKHt0eXBlOiJhY3RpdmUiLC4uLmV9LHQpKSl9Y2FuY2VsUXVlcmllcyhlLHQ9e30pe2NvbnN0IHI9e3JldmVydDohMCwuLi50fSxuPSRuLmJhdGNoKCgpPT5jZSh0aGlzLGdyKS5maW5kQWxsKGUpLm1hcChhPT5hLmNhbmNlbChyKSkpO3JldHVybiBQcm9taXNlLmFsbChuKS50aGVuKENhKS5jYXRjaChDYSl9aW52YWxpZGF0ZVF1ZXJpZXMoZSx0PXt9KXtyZXR1cm4gJG4uYmF0Y2goKCk9PihjZSh0aGlzLGdyKS5maW5kQWxsKGUpLmZvckVhY2gocj0+e3IuaW52YWxpZGF0ZSgpfSksKGU9PW51bGw/dm9pZCAwOmUucmVmZXRjaFR5cGUpPT09Im5vbmUiP1Byb21pc2UucmVzb2x2ZSgpOnRoaXMucmVmZXRjaFF1ZXJpZXMoey4uLmUsdHlwZTooZT09bnVsbD92b2lkIDA6ZS5yZWZldGNoVHlwZSk/PyhlPT1udWxsP3ZvaWQgMDplLnR5cGUpPz8iYWN0aXZlIn0sdCkpKX1yZWZldGNoUXVlcmllcyhlLHQ9e30pe2NvbnN0IHI9ey4uLnQsY2FuY2VsUmVmZXRjaDp0LmNhbmNlbFJlZmV0Y2g/PyEwfSxuPSRuLmJhdGNoKCgpPT5jZSh0aGlzLGdyKS5maW5kQWxsKGUpLmZpbHRlcihhPT4hYS5pc0Rpc2FibGVkKCkmJiFhLmlzU3RhdGljKCkpLm1hcChhPT57bGV0IGk9YS5mZXRjaCh2b2lkIDAscik7cmV0dXJuIHIudGhyb3dPbkVycm9yfHwoaT1pLmNhdGNoKENhKSksYS5zdGF0ZS5mZXRjaFN0YXR1cz09PSJwYXVzZWQiP1Byb21pc2UucmVzb2x2ZSgpOml9KSk7cmV0dXJuIFByb21pc2UuYWxsKG4pLnRoZW4oQ2EpfWZldGNoUXVlcnkoZSl7Y29uc3QgdD10aGlzLmRlZmF1bHRRdWVyeU9wdGlvbnMoZSk7dC5yZXRyeT09PXZvaWQgMCYmKHQucmV0cnk9ITEpO2NvbnN0IHI9Y2UodGhpcyxncikuYnVpbGQodGhpcyx0KTtyZXR1cm4gci5pc1N0YWxlQnlUaW1lKElDKHQuc3RhbGVUaW1lLHIpKT9yLmZldGNoKHQpOlByb21pc2UucmVzb2x2ZShyLnN0YXRlLmRhdGEpfXByZWZldGNoUXVlcnkoZSl7cmV0dXJuIHRoaXMuZmV0Y2hRdWVyeShlKS50aGVuKENhKS5jYXRjaChDYSl9ZmV0Y2hJbmZpbml0ZVF1ZXJ5KGUpe3JldHVybiBlLmJlaGF2aW9yPWlGKGUucGFnZXMpLHRoaXMuZmV0Y2hRdWVyeShlKX1wcmVmZXRjaEluZmluaXRlUXVlcnkoZSl7cmV0dXJuIHRoaXMuZmV0Y2hJbmZpbml0ZVF1ZXJ5KGUpLnRoZW4oQ2EpLmNhdGNoKENhKX1lbnN1cmVJbmZpbml0ZVF1ZXJ5RGF0YShlKXtyZXR1cm4gZS5iZWhhdmlvcj1pRihlLnBhZ2VzKSx0aGlzLmVuc3VyZVF1ZXJ5RGF0YShlKX1yZXN1bWVQYXVzZWRNdXRhdGlvbnMoKXtyZXR1cm4gWTAuaXNPbmxpbmUoKT9jZSh0aGlzLFpvKS5yZXN1bWVQYXVzZWRNdXRhdGlvbnMoKTpQcm9taXNlLnJlc29sdmUoKX1nZXRRdWVyeUNhY2hlKCl7cmV0dXJuIGNlKHRoaXMsZ3IpfWdldE11dGF0aW9uQ2FjaGUoKXtyZXR1cm4gY2UodGhpcyxabyl9Z2V0RGVmYXVsdE9wdGlvbnMoKXtyZXR1cm4gY2UodGhpcyxlbCl9c2V0RGVmYXVsdE9wdGlvbnMoZSl7dHQodGhpcyxlbCxlKX1zZXRRdWVyeURlZmF1bHRzKGUsdCl7Y2UodGhpcyxIdSkuc2V0KHltKGUpLHtxdWVyeUtleTplLGRlZmF1bHRPcHRpb25zOnR9KX1nZXRRdWVyeURlZmF1bHRzKGUpe2NvbnN0IHQ9Wy4uLmNlKHRoaXMsSHUpLnZhbHVlcygpXSxyPXt9O3JldHVybiB0LmZvckVhY2gobj0+e3ZtKGUsbi5xdWVyeUtleSkmJk9iamVjdC5hc3NpZ24ocixuLmRlZmF1bHRPcHRpb25zKX0pLHJ9c2V0TXV0YXRpb25EZWZhdWx0cyhlLHQpe2NlKHRoaXMsS3UpLnNldCh5bShlKSx7bXV0YXRpb25LZXk6ZSxkZWZhdWx0T3B0aW9uczp0fSl9Z2V0TXV0YXRpb25EZWZhdWx0cyhlKXtjb25zdCB0PVsuLi5jZSh0aGlzLEt1KS52YWx1ZXMoKV0scj17fTtyZXR1cm4gdC5mb3JFYWNoKG49Pnt2bShlLG4ubXV0YXRpb25LZXkpJiZPYmplY3QuYXNzaWduKHIsbi5kZWZhdWx0T3B0aW9ucyl9KSxyfWRlZmF1bHRRdWVyeU9wdGlvbnMoZSl7aWYoZS5fZGVmYXVsdGVkKXJldHVybiBlO2NvbnN0IHQ9ey4uLmNlKHRoaXMsZWwpLnF1ZXJpZXMsLi4udGhpcy5nZXRRdWVyeURlZmF1bHRzKGUucXVlcnlLZXkpLC4uLmUsX2RlZmF1bHRlZDohMH07cmV0dXJuIHQucXVlcnlIYXNofHwodC5xdWVyeUhhc2g9Y0UodC5xdWVyeUtleSx0KSksdC5yZWZldGNoT25SZWNvbm5lY3Q9PT12b2lkIDAmJih0LnJlZmV0Y2hPblJlY29ubmVjdD10Lm5ldHdvcmtNb2RlIT09ImFsd2F5cyIpLHQudGhyb3dPbkVycm9yPT09dm9pZCAwJiYodC50aHJvd09uRXJyb3I9ISF0LnN1c3BlbnNlKSwhdC5uZXR3b3JrTW9kZSYmdC5wZXJzaXN0ZXImJih0Lm5ldHdvcmtNb2RlPSJvZmZsaW5lRmlyc3QiKSx0LnF1ZXJ5Rm49PT1kRSYmKHQuZW5hYmxlZD0hMSksdH1kZWZhdWx0TXV0YXRpb25PcHRpb25zKGUpe3JldHVybiBlIT1udWxsJiZlLl9kZWZhdWx0ZWQ/ZTp7Li4uY2UodGhpcyxlbCkubXV0YXRpb25zLC4uLihlPT1udWxsP3ZvaWQgMDplLm11dGF0aW9uS2V5KSYmdGhpcy5nZXRNdXRhdGlvbkRlZmF1bHRzKGUubXV0YXRpb25LZXkpLC4uLmUsX2RlZmF1bHRlZDohMH19Y2xlYXIoKXtjZSh0aGlzLGdyKS5jbGVhcigpLGNlKHRoaXMsWm8pLmNsZWFyKCl9fSxncj1uZXcgV2Vha01hcCxabz1uZXcgV2Vha01hcCxlbD1uZXcgV2Vha01hcCxIdT1uZXcgV2Vha01hcCxLdT1uZXcgV2Vha01hcCx0bD1uZXcgV2Vha01hcCxWdT1uZXcgV2Vha01hcCx6dT1uZXcgV2Vha01hcCxEUSksV2FlPWcuY3JlYXRlQ29udGV4dCh2b2lkIDApLEdhZT0oe2NsaWVudDplLGNoaWxkcmVuOnR9KT0+KGcudXNlRWZmZWN0KCgpPT4oZS5tb3VudCgpLCgpPT57ZS51bm1vdW50KCl9KSxbZV0pLHMuanN4KFdhZS5Qcm92aWRlcix7dmFsdWU6ZSxjaGlsZHJlbjp0fSkpOy8qKgogKiBAcmVtaXgtcnVuL3JvdXRlciB2MS4yMy4wCiAqCiAqIENvcHlyaWdodCAoYykgUmVtaXggU29mdHdhcmUgSW5jLgogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGUKICogTElDRU5TRS5tZCBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKgogKiBAbGljZW5zZSBNSVQKICovZnVuY3Rpb24gd20oKXtyZXR1cm4gd209T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF07Zm9yKHZhciBuIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsbikmJihlW25dPXJbbl0pfXJldHVybiBlfSx3bS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dmFyIHNsOyhmdW5jdGlvbihlKXtlLlBvcD0iUE9QIixlLlB1c2g9IlBVU0giLGUuUmVwbGFjZT0iUkVQTEFDRSJ9KShzbHx8KHNsPXt9KSk7Y29uc3QgbEY9InBvcHN0YXRlIjtmdW5jdGlvbiBxYWUoZSl7ZT09PXZvaWQgMCYmKGU9e30pO2Z1bmN0aW9uIHQobixhKXtsZXR7cGF0aG5hbWU6aSxzZWFyY2g6byxoYXNoOmx9PW4ubG9jYXRpb247cmV0dXJuIERDKCIiLHtwYXRobmFtZTppLHNlYXJjaDpvLGhhc2g6bH0sYS5zdGF0ZSYmYS5zdGF0ZS51c3J8fG51bGwsYS5zdGF0ZSYmYS5zdGF0ZS5rZXl8fCJkZWZhdWx0Iil9ZnVuY3Rpb24gcihuLGEpe3JldHVybiB0eXBlb2YgYT09InN0cmluZyI/YTpYMChhKX1yZXR1cm4gWGFlKHQscixudWxsLGUpfWZ1bmN0aW9uIGJyKGUsdCl7aWYoZT09PSExfHxlPT09bnVsbHx8dHlwZW9mIGU+InUiKXRocm93IG5ldyBFcnJvcih0KX1mdW5jdGlvbiBNNihlLHQpe2lmKCFlKXt0eXBlb2YgY29uc29sZTwidSImJmNvbnNvbGUud2Fybih0KTt0cnl7dGhyb3cgbmV3IEVycm9yKHQpfWNhdGNoe319fWZ1bmN0aW9uIFlhZSgpe3JldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiw4KX1mdW5jdGlvbiBjRihlLHQpe3JldHVybnt1c3I6ZS5zdGF0ZSxrZXk6ZS5rZXksaWR4OnR9fWZ1bmN0aW9uIERDKGUsdCxyLG4pe3JldHVybiByPT09dm9pZCAwJiYocj1udWxsKSx3bSh7cGF0aG5hbWU6dHlwZW9mIGU9PSJzdHJpbmciP2U6ZS5wYXRobmFtZSxzZWFyY2g6IiIsaGFzaDoiIn0sdHlwZW9mIHQ9PSJzdHJpbmciP0pBKHQpOnQse3N0YXRlOnIsa2V5OnQmJnQua2V5fHxufHxZYWUoKX0pfWZ1bmN0aW9uIFgwKGUpe2xldHtwYXRobmFtZTp0PSIvIixzZWFyY2g6cj0iIixoYXNoOm49IiJ9PWU7cmV0dXJuIHImJnIhPT0iPyImJih0Kz1yLmNoYXJBdCgwKT09PSI/Ij9yOiI/IityKSxuJiZuIT09IiMiJiYodCs9bi5jaGFyQXQoMCk9PT0iIyI/bjoiIyIrbiksdH1mdW5jdGlvbiBKQShlKXtsZXQgdD17fTtpZihlKXtsZXQgcj1lLmluZGV4T2YoIiMiKTtyPj0wJiYodC5oYXNoPWUuc3Vic3RyKHIpLGU9ZS5zdWJzdHIoMCxyKSk7bGV0IG49ZS5pbmRleE9mKCI/Iik7bj49MCYmKHQuc2VhcmNoPWUuc3Vic3RyKG4pLGU9ZS5zdWJzdHIoMCxuKSksZSYmKHQucGF0aG5hbWU9ZSl9cmV0dXJuIHR9ZnVuY3Rpb24gWGFlKGUsdCxyLG4pe249PT12b2lkIDAmJihuPXt9KTtsZXR7d2luZG93OmE9ZG9jdW1lbnQuZGVmYXVsdFZpZXcsdjVDb21wYXQ6aT0hMX09bixvPWEuaGlzdG9yeSxsPXNsLlBvcCxjPW51bGwsZD11KCk7ZD09bnVsbCYmKGQ9MCxvLnJlcGxhY2VTdGF0ZSh3bSh7fSxvLnN0YXRlLHtpZHg6ZH0pLCIiKSk7ZnVuY3Rpb24gdSgpe3JldHVybihvLnN0YXRlfHx7aWR4Om51bGx9KS5pZHh9ZnVuY3Rpb24gQSgpe2w9c2wuUG9wO2xldCB4PXUoKSx3PXg9PW51bGw/bnVsbDp4LWQ7ZD14LGMmJmMoe2FjdGlvbjpsLGxvY2F0aW9uOm0ubG9jYXRpb24sZGVsdGE6d30pfWZ1bmN0aW9uIGYoeCx3KXtsPXNsLlB1c2g7bGV0IHk9REMobS5sb2NhdGlvbix4LHcpO2Q9dSgpKzE7bGV0IHY9Y0YoeSxkKSxiPW0uY3JlYXRlSHJlZih5KTt0cnl7by5wdXNoU3RhdGUodiwiIixiKX1jYXRjaChqKXtpZihqIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiZqLm5hbWU9PT0iRGF0YUNsb25lRXJyb3IiKXRocm93IGo7YS5sb2NhdGlvbi5hc3NpZ24oYil9aSYmYyYmYyh7YWN0aW9uOmwsbG9jYXRpb246bS5sb2NhdGlvbixkZWx0YToxfSl9ZnVuY3Rpb24gaCh4LHcpe2w9c2wuUmVwbGFjZTtsZXQgeT1EQyhtLmxvY2F0aW9uLHgsdyk7ZD11KCk7bGV0IHY9Y0YoeSxkKSxiPW0uY3JlYXRlSHJlZih5KTtvLnJlcGxhY2VTdGF0ZSh2LCIiLGIpLGkmJmMmJmMoe2FjdGlvbjpsLGxvY2F0aW9uOm0ubG9jYXRpb24sZGVsdGE6MH0pfWZ1bmN0aW9uIHAoeCl7bGV0IHc9YS5sb2NhdGlvbi5vcmlnaW4hPT0ibnVsbCI/YS5sb2NhdGlvbi5vcmlnaW46YS5sb2NhdGlvbi5ocmVmLHk9dHlwZW9mIHg9PSJzdHJpbmciP3g6WDAoeCk7cmV0dXJuIHk9eS5yZXBsYWNlKC8gJC8sIiUyMCIpLGJyKHcsIk5vIHdpbmRvdy5sb2NhdGlvbi4ob3JpZ2lufGhyZWYpIGF2YWlsYWJsZSB0byBjcmVhdGUgVVJMIGZvciBocmVmOiAiK3kpLG5ldyBVUkwoeSx3KX1sZXQgbT17Z2V0IGFjdGlvbigpe3JldHVybiBsfSxnZXQgbG9jYXRpb24oKXtyZXR1cm4gZShhLG8pfSxsaXN0ZW4oeCl7aWYoYyl0aHJvdyBuZXcgRXJyb3IoIkEgaGlzdG9yeSBvbmx5IGFjY2VwdHMgb25lIGFjdGl2ZSBsaXN0ZW5lciIpO3JldHVybiBhLmFkZEV2ZW50TGlzdGVuZXIobEYsQSksYz14LCgpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyKGxGLEEpLGM9bnVsbH19LGNyZWF0ZUhyZWYoeCl7cmV0dXJuIHQoYSx4KX0sY3JlYXRlVVJMOnAsZW5jb2RlTG9jYXRpb24oeCl7bGV0IHc9cCh4KTtyZXR1cm57cGF0aG5hbWU6dy5wYXRobmFtZSxzZWFyY2g6dy5zZWFyY2gsaGFzaDp3Lmhhc2h9fSxwdXNoOmYscmVwbGFjZTpoLGdvKHgpe3JldHVybiBvLmdvKHgpfX07cmV0dXJuIG19dmFyIGRGOyhmdW5jdGlvbihlKXtlLmRhdGE9ImRhdGEiLGUuZGVmZXJyZWQ9ImRlZmVycmVkIixlLnJlZGlyZWN0PSJyZWRpcmVjdCIsZS5lcnJvcj0iZXJyb3IifSkoZEZ8fChkRj17fSkpO2Z1bmN0aW9uIEphZShlLHQscil7cmV0dXJuIHI9PT12b2lkIDAmJihyPSIvIiksWmFlKGUsdCxyLCExKX1mdW5jdGlvbiBaYWUoZSx0LHIsbil7bGV0IGE9dHlwZW9mIHQ9PSJzdHJpbmciP0pBKHQpOnQsaT1zQShhLnBhdGhuYW1lfHwiLyIscik7aWYoaT09bnVsbClyZXR1cm4gbnVsbDtsZXQgbz1SNihlKTtlaWUobyk7bGV0IGw9bnVsbDtmb3IobGV0IGM9MDtsPT1udWxsJiZjPG8ubGVuZ3RoOysrYyl7bGV0IGQ9dWllKGkpO2w9Y2llKG9bY10sZCxuKX1yZXR1cm4gbH1mdW5jdGlvbiBSNihlLHQscixuKXt0PT09dm9pZCAwJiYodD1bXSkscj09PXZvaWQgMCYmKHI9W10pLG49PT12b2lkIDAmJihuPSIiKTtsZXQgYT0oaSxvLGwpPT57bGV0IGM9e3JlbGF0aXZlUGF0aDpsPT09dm9pZCAwP2kucGF0aHx8IiI6bCxjYXNlU2Vuc2l0aXZlOmkuY2FzZVNlbnNpdGl2ZT09PSEwLGNoaWxkcmVuSW5kZXg6byxyb3V0ZTppfTtjLnJlbGF0aXZlUGF0aC5zdGFydHNXaXRoKCIvIikmJihicihjLnJlbGF0aXZlUGF0aC5zdGFydHNXaXRoKG4pLCdBYnNvbHV0ZSByb3V0ZSBwYXRoICInK2MucmVsYXRpdmVQYXRoKyciIG5lc3RlZCB1bmRlciBwYXRoICcrKCciJytuKyciIGlzIG5vdCB2YWxpZC4gQW4gYWJzb2x1dGUgY2hpbGQgcm91dGUgcGF0aCAnKSsibXVzdCBzdGFydCB3aXRoIHRoZSBjb21iaW5lZCBwYXRoIG9mIGFsbCBpdHMgcGFyZW50IHJvdXRlcy4iKSxjLnJlbGF0aXZlUGF0aD1jLnJlbGF0aXZlUGF0aC5zbGljZShuLmxlbmd0aCkpO2xldCBkPWJsKFtuLGMucmVsYXRpdmVQYXRoXSksdT1yLmNvbmNhdChjKTtpLmNoaWxkcmVuJiZpLmNoaWxkcmVuLmxlbmd0aD4wJiYoYnIoaS5pbmRleCE9PSEwLCJJbmRleCByb3V0ZXMgbXVzdCBub3QgaGF2ZSBjaGlsZCByb3V0ZXMuIFBsZWFzZSByZW1vdmUgIisoJ2FsbCBjaGlsZCByb3V0ZXMgZnJvbSByb3V0ZSBwYXRoICInK2QrJyIuJykpLFI2KGkuY2hpbGRyZW4sdCx1LGQpKSwhKGkucGF0aD09bnVsbCYmIWkuaW5kZXgpJiZ0LnB1c2goe3BhdGg6ZCxzY29yZTpvaWUoZCxpLmluZGV4KSxyb3V0ZXNNZXRhOnV9KX07cmV0dXJuIGUuZm9yRWFjaCgoaSxvKT0+e3ZhciBsO2lmKGkucGF0aD09PSIifHwhKChsPWkucGF0aCkhPW51bGwmJmwuaW5jbHVkZXMoIj8iKSkpYShpLG8pO2Vsc2UgZm9yKGxldCBjIG9mIFE2KGkucGF0aCkpYShpLG8sYyl9KSx0fWZ1bmN0aW9uIFE2KGUpe2xldCB0PWUuc3BsaXQoIi8iKTtpZih0Lmxlbmd0aD09PTApcmV0dXJuW107bGV0W3IsLi4ubl09dCxhPXIuZW5kc1dpdGgoIj8iKSxpPXIucmVwbGFjZSgvXD8kLywiIik7aWYobi5sZW5ndGg9PT0wKXJldHVybiBhP1tpLCIiXTpbaV07bGV0IG89UTYobi5qb2luKCIvIikpLGw9W107cmV0dXJuIGwucHVzaCguLi5vLm1hcChjPT5jPT09IiI/aTpbaSxjXS5qb2luKCIvIikpKSxhJiZsLnB1c2goLi4ubyksbC5tYXAoYz0+ZS5zdGFydHNXaXRoKCIvIikmJmM9PT0iIj8iLyI6Yyl9ZnVuY3Rpb24gZWllKGUpe2Uuc29ydCgodCxyKT0+dC5zY29yZSE9PXIuc2NvcmU/ci5zY29yZS10LnNjb3JlOmxpZSh0LnJvdXRlc01ldGEubWFwKG49Pm4uY2hpbGRyZW5JbmRleCksci5yb3V0ZXNNZXRhLm1hcChuPT5uLmNoaWxkcmVuSW5kZXgpKSl9Y29uc3QgdGllPS9eOltcdy1dKyQvLHJpZT0zLG5pZT0yLHNpZT0xLGFpZT0xMCxpaWU9LTIsdUY9ZT0+ZT09PSIqIjtmdW5jdGlvbiBvaWUoZSx0KXtsZXQgcj1lLnNwbGl0KCIvIiksbj1yLmxlbmd0aDtyZXR1cm4gci5zb21lKHVGKSYmKG4rPWlpZSksdCYmKG4rPW5pZSksci5maWx0ZXIoYT0+IXVGKGEpKS5yZWR1Y2UoKGEsaSk9PmErKHRpZS50ZXN0KGkpP3JpZTppPT09IiI/c2llOmFpZSksbil9ZnVuY3Rpb24gbGllKGUsdCl7cmV0dXJuIGUubGVuZ3RoPT09dC5sZW5ndGgmJmUuc2xpY2UoMCwtMSkuZXZlcnkoKG4sYSk9Pm49PT10W2FdKT9lW2UubGVuZ3RoLTFdLXRbdC5sZW5ndGgtMV06MH1mdW5jdGlvbiBjaWUoZSx0LHIpe2xldHtyb3V0ZXNNZXRhOm59PWUsYT17fSxpPSIvIixvPVtdO2ZvcihsZXQgbD0wO2w8bi5sZW5ndGg7KytsKXtsZXQgYz1uW2xdLGQ9bD09PW4ubGVuZ3RoLTEsdT1pPT09Ii8iP3Q6dC5zbGljZShpLmxlbmd0aCl8fCIvIixBPUowKHtwYXRoOmMucmVsYXRpdmVQYXRoLGNhc2VTZW5zaXRpdmU6Yy5jYXNlU2Vuc2l0aXZlLGVuZDpkfSx1KSxmPWMucm91dGU7aWYoIUEmJmQmJnImJiFuW24ubGVuZ3RoLTFdLnJvdXRlLmluZGV4JiYoQT1KMCh7cGF0aDpjLnJlbGF0aXZlUGF0aCxjYXNlU2Vuc2l0aXZlOmMuY2FzZVNlbnNpdGl2ZSxlbmQ6ITF9LHUpKSwhQSlyZXR1cm4gbnVsbDtPYmplY3QuYXNzaWduKGEsQS5wYXJhbXMpLG8ucHVzaCh7cGFyYW1zOmEscGF0aG5hbWU6YmwoW2ksQS5wYXRobmFtZV0pLHBhdGhuYW1lQmFzZTptaWUoYmwoW2ksQS5wYXRobmFtZUJhc2VdKSkscm91dGU6Zn0pLEEucGF0aG5hbWVCYXNlIT09Ii8iJiYoaT1ibChbaSxBLnBhdGhuYW1lQmFzZV0pKX1yZXR1cm4gb31mdW5jdGlvbiBKMChlLHQpe3R5cGVvZiBlPT0ic3RyaW5nIiYmKGU9e3BhdGg6ZSxjYXNlU2Vuc2l0aXZlOiExLGVuZDohMH0pO2xldFtyLG5dPWRpZShlLnBhdGgsZS5jYXNlU2Vuc2l0aXZlLGUuZW5kKSxhPXQubWF0Y2gocik7aWYoIWEpcmV0dXJuIG51bGw7bGV0IGk9YVswXSxvPWkucmVwbGFjZSgvKC4pXC8rJC8sIiQxIiksbD1hLnNsaWNlKDEpO3JldHVybntwYXJhbXM6bi5yZWR1Y2UoKGQsdSxBKT0+e2xldHtwYXJhbU5hbWU6Zixpc09wdGlvbmFsOmh9PXU7aWYoZj09PSIqIil7bGV0IG09bFtBXXx8IiI7bz1pLnNsaWNlKDAsaS5sZW5ndGgtbS5sZW5ndGgpLnJlcGxhY2UoLyguKVwvKyQvLCIkMSIpfWNvbnN0IHA9bFtBXTtyZXR1cm4gaCYmIXA/ZFtmXT12b2lkIDA6ZFtmXT0ocHx8IiIpLnJlcGxhY2UoLyUyRi9nLCIvIiksZH0se30pLHBhdGhuYW1lOmkscGF0aG5hbWVCYXNlOm8scGF0dGVybjplfX1mdW5jdGlvbiBkaWUoZSx0LHIpe3Q9PT12b2lkIDAmJih0PSExKSxyPT09dm9pZCAwJiYocj0hMCksTTYoZT09PSIqInx8IWUuZW5kc1dpdGgoIioiKXx8ZS5lbmRzV2l0aCgiLyoiKSwnUm91dGUgcGF0aCAiJytlKyciIHdpbGwgYmUgdHJlYXRlZCBhcyBpZiBpdCB3ZXJlICcrKCciJytlLnJlcGxhY2UoL1wqJC8sIi8qIikrJyIgYmVjYXVzZSB0aGUgYCpgIGNoYXJhY3RlciBtdXN0ICcpKyJhbHdheXMgZm9sbG93IGEgYC9gIGluIHRoZSBwYXR0ZXJuLiBUbyBnZXQgcmlkIG9mIHRoaXMgd2FybmluZywgIisoJ3BsZWFzZSBjaGFuZ2UgdGhlIHJvdXRlIHBhdGggdG8gIicrZS5yZXBsYWNlKC9cKiQvLCIvKiIpKyciLicpKTtsZXQgbj1bXSxhPSJeIitlLnJlcGxhY2UoL1wvKlwqPyQvLCIiKS5yZXBsYWNlKC9eXC8qLywiLyIpLnJlcGxhY2UoL1tcXC4qK14ke318KClbXF1dL2csIlxcJCYiKS5yZXBsYWNlKC9cLzooW1x3LV0rKShcPyk/L2csKG8sbCxjKT0+KG4ucHVzaCh7cGFyYW1OYW1lOmwsaXNPcHRpb25hbDpjIT1udWxsfSksYz8iLz8oW15cXC9dKyk/IjoiLyhbXlxcL10rKSIpKTtyZXR1cm4gZS5lbmRzV2l0aCgiKiIpPyhuLnB1c2goe3BhcmFtTmFtZToiKiJ9KSxhKz1lPT09IioifHxlPT09Ii8qIj8iKC4qKSQiOiIoPzpcXC8oLispfFxcLyopJCIpOnI/YSs9IlxcLyokIjplIT09IiImJmUhPT0iLyImJihhKz0iKD86KD89XFwvfCQpKSIpLFtuZXcgUmVnRXhwKGEsdD92b2lkIDA6ImkiKSxuXX1mdW5jdGlvbiB1aWUoZSl7dHJ5e3JldHVybiBlLnNwbGl0KCIvIikubWFwKHQ9PmRlY29kZVVSSUNvbXBvbmVudCh0KS5yZXBsYWNlKC9cLy9nLCIlMkYiKSkuam9pbigiLyIpfWNhdGNoKHQpe3JldHVybiBNNighMSwnVGhlIFVSTCBwYXRoICInK2UrJyIgY291bGQgbm90IGJlIGRlY29kZWQgYmVjYXVzZSBpdCBpcyBpcyBhIG1hbGZvcm1lZCBVUkwgc2VnbWVudC4gVGhpcyBpcyBwcm9iYWJseSBkdWUgdG8gYSBiYWQgcGVyY2VudCAnKygiZW5jb2RpbmcgKCIrdCsiKS4iKSksZX19ZnVuY3Rpb24gc0EoZSx0KXtpZih0PT09Ii8iKXJldHVybiBlO2lmKCFlLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCh0LnRvTG93ZXJDYXNlKCkpKXJldHVybiBudWxsO2xldCByPXQuZW5kc1dpdGgoIi8iKT90Lmxlbmd0aC0xOnQubGVuZ3RoLG49ZS5jaGFyQXQocik7cmV0dXJuIG4mJm4hPT0iLyI/bnVsbDplLnNsaWNlKHIpfHwiLyJ9ZnVuY3Rpb24gQWllKGUsdCl7dD09PXZvaWQgMCYmKHQ9Ii8iKTtsZXR7cGF0aG5hbWU6cixzZWFyY2g6bj0iIixoYXNoOmE9IiJ9PXR5cGVvZiBlPT0ic3RyaW5nIj9KQShlKTplO3JldHVybntwYXRobmFtZTpyP3Iuc3RhcnRzV2l0aCgiLyIpP3I6ZmllKHIsdCk6dCxzZWFyY2g6cGllKG4pLGhhc2g6Z2llKGEpfX1mdW5jdGlvbiBmaWUoZSx0KXtsZXQgcj10LnJlcGxhY2UoL1wvKyQvLCIiKS5zcGxpdCgiLyIpO3JldHVybiBlLnNwbGl0KCIvIikuZm9yRWFjaChhPT57YT09PSIuLiI/ci5sZW5ndGg+MSYmci5wb3AoKTphIT09Ii4iJiZyLnB1c2goYSl9KSxyLmxlbmd0aD4xP3Iuam9pbigiLyIpOiIvIn1mdW5jdGlvbiBNMShlLHQscixuKXtyZXR1cm4iQ2Fubm90IGluY2x1ZGUgYSAnIitlKyInIGNoYXJhY3RlciBpbiBhIG1hbnVhbGx5IHNwZWNpZmllZCAiKygiYHRvLiIrdCsiYCBmaWVsZCBbIitKU09OLnN0cmluZ2lmeShuKSsiXS4gIFBsZWFzZSBzZXBhcmF0ZSBpdCBvdXQgdG8gdGhlICIpKygiYHRvLiIrcisiYCBmaWVsZC4gQWx0ZXJuYXRpdmVseSB5b3UgbWF5IHByb3ZpZGUgdGhlIGZ1bGwgcGF0aCBhcyAiKSsnYSBzdHJpbmcgaW4gPExpbmsgdG89Ii4uLiI+IGFuZCB0aGUgcm91dGVyIHdpbGwgcGFyc2UgaXQgZm9yIHlvdS4nfWZ1bmN0aW9uIGhpZShlKXtyZXR1cm4gZS5maWx0ZXIoKHQscik9PnI9PT0wfHx0LnJvdXRlLnBhdGgmJnQucm91dGUucGF0aC5sZW5ndGg+MCl9ZnVuY3Rpb24gTDYoZSx0KXtsZXQgcj1oaWUoZSk7cmV0dXJuIHQ/ci5tYXAoKG4sYSk9PmE9PT1yLmxlbmd0aC0xP24ucGF0aG5hbWU6bi5wYXRobmFtZUJhc2UpOnIubWFwKG49Pm4ucGF0aG5hbWVCYXNlKX1mdW5jdGlvbiAkNihlLHQscixuKXtuPT09dm9pZCAwJiYobj0hMSk7bGV0IGE7dHlwZW9mIGU9PSJzdHJpbmciP2E9SkEoZSk6KGE9d20oe30sZSksYnIoIWEucGF0aG5hbWV8fCFhLnBhdGhuYW1lLmluY2x1ZGVzKCI/IiksTTEoIj8iLCJwYXRobmFtZSIsInNlYXJjaCIsYSkpLGJyKCFhLnBhdGhuYW1lfHwhYS5wYXRobmFtZS5pbmNsdWRlcygiIyIpLE0xKCIjIiwicGF0aG5hbWUiLCJoYXNoIixhKSksYnIoIWEuc2VhcmNofHwhYS5zZWFyY2guaW5jbHVkZXMoIiMiKSxNMSgiIyIsInNlYXJjaCIsImhhc2giLGEpKSk7bGV0IGk9ZT09PSIifHxhLnBhdGhuYW1lPT09IiIsbz1pPyIvIjphLnBhdGhuYW1lLGw7aWYobz09bnVsbClsPXI7ZWxzZXtsZXQgQT10Lmxlbmd0aC0xO2lmKCFuJiZvLnN0YXJ0c1dpdGgoIi4uIikpe2xldCBmPW8uc3BsaXQoIi8iKTtmb3IoO2ZbMF09PT0iLi4iOylmLnNoaWZ0KCksQS09MTthLnBhdGhuYW1lPWYuam9pbigiLyIpfWw9QT49MD90W0FdOiIvIn1sZXQgYz1BaWUoYSxsKSxkPW8mJm8hPT0iLyImJm8uZW5kc1dpdGgoIi8iKSx1PShpfHxvPT09Ii4iKSYmci5lbmRzV2l0aCgiLyIpO3JldHVybiFjLnBhdGhuYW1lLmVuZHNXaXRoKCIvIikmJihkfHx1KSYmKGMucGF0aG5hbWUrPSIvIiksY31jb25zdCBibD1lPT5lLmpvaW4oIi8iKS5yZXBsYWNlKC9cL1wvKy9nLCIvIiksbWllPWU9PmUucmVwbGFjZSgvXC8rJC8sIiIpLnJlcGxhY2UoL15cLyovLCIvIikscGllPWU9PiFlfHxlPT09Ij8iPyIiOmUuc3RhcnRzV2l0aCgiPyIpP2U6Ij8iK2UsZ2llPWU9PiFlfHxlPT09IiMiPyIiOmUuc3RhcnRzV2l0aCgiIyIpP2U6IiMiK2U7ZnVuY3Rpb24geGllKGUpe3JldHVybiBlIT1udWxsJiZ0eXBlb2YgZS5zdGF0dXM9PSJudW1iZXIiJiZ0eXBlb2YgZS5zdGF0dXNUZXh0PT0ic3RyaW5nIiYmdHlwZW9mIGUuaW50ZXJuYWw9PSJib29sZWFuIiYmImRhdGEiaW4gZX1jb25zdCBINj1bInBvc3QiLCJwdXQiLCJwYXRjaCIsImRlbGV0ZSJdO25ldyBTZXQoSDYpO2NvbnN0IHlpZT1bImdldCIsLi4uSDZdO25ldyBTZXQoeWllKTsvKioKICogUmVhY3QgUm91dGVyIHY2LjMwLjEKICoKICogQ29weXJpZ2h0IChjKSBSZW1peCBTb2Z0d2FyZSBJbmMuCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZQogKiBMSUNFTlNFLm1kIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqCiAqIEBsaWNlbnNlIE1JVAogKi9mdW5jdGlvbiBibSgpe3JldHVybiBibT1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciByPWFyZ3VtZW50c1t0XTtmb3IodmFyIG4gaW4gcilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixuKSYmKGVbbl09cltuXSl9cmV0dXJuIGV9LGJtLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jb25zdCB3dz1nLmNyZWF0ZUNvbnRleHQobnVsbCksSzY9Zy5jcmVhdGVDb250ZXh0KG51bGwpLFZsPWcuY3JlYXRlQ29udGV4dChudWxsKSxidz1nLmNyZWF0ZUNvbnRleHQobnVsbCksemw9Zy5jcmVhdGVDb250ZXh0KHtvdXRsZXQ6bnVsbCxtYXRjaGVzOltdLGlzRGF0YVJvdXRlOiExfSksVjY9Zy5jcmVhdGVDb250ZXh0KG51bGwpO2Z1bmN0aW9uIHZpZShlLHQpe2xldHtyZWxhdGl2ZTpyfT10PT09dm9pZCAwP3t9OnQ7UXAoKXx8YnIoITEpO2xldHtiYXNlbmFtZTpuLG5hdmlnYXRvcjphfT1nLnVzZUNvbnRleHQoVmwpLHtoYXNoOmkscGF0aG5hbWU6byxzZWFyY2g6bH09ancoZSx7cmVsYXRpdmU6cn0pLGM9bztyZXR1cm4gbiE9PSIvIiYmKGM9bz09PSIvIj9uOmJsKFtuLG9dKSksYS5jcmVhdGVIcmVmKHtwYXRobmFtZTpjLHNlYXJjaDpsLGhhc2g6aX0pfWZ1bmN0aW9uIFFwKCl7cmV0dXJuIGcudXNlQ29udGV4dChidykhPW51bGx9ZnVuY3Rpb24gWWEoKXtyZXR1cm4gUXAoKXx8YnIoITEpLGcudXNlQ29udGV4dChidykubG9jYXRpb259ZnVuY3Rpb24gejYoZSl7Zy51c2VDb250ZXh0KFZsKS5zdGF0aWN8fGcudXNlTGF5b3V0RWZmZWN0KGUpfWZ1bmN0aW9uIGx0KCl7bGV0e2lzRGF0YVJvdXRlOmV9PWcudXNlQ29udGV4dCh6bCk7cmV0dXJuIGU/RmllKCk6d2llKCl9ZnVuY3Rpb24gd2llKCl7UXAoKXx8YnIoITEpO2xldCBlPWcudXNlQ29udGV4dCh3dykse2Jhc2VuYW1lOnQsZnV0dXJlOnIsbmF2aWdhdG9yOm59PWcudXNlQ29udGV4dChWbCkse21hdGNoZXM6YX09Zy51c2VDb250ZXh0KHpsKSx7cGF0aG5hbWU6aX09WWEoKSxvPUpTT04uc3RyaW5naWZ5KEw2KGEsci52N19yZWxhdGl2ZVNwbGF0UGF0aCkpLGw9Zy51c2VSZWYoITEpO3JldHVybiB6NigoKT0+e2wuY3VycmVudD0hMH0pLGcudXNlQ2FsbGJhY2soZnVuY3Rpb24oZCx1KXtpZih1PT09dm9pZCAwJiYodT17fSksIWwuY3VycmVudClyZXR1cm47aWYodHlwZW9mIGQ9PSJudW1iZXIiKXtuLmdvKGQpO3JldHVybn1sZXQgQT0kNihkLEpTT04ucGFyc2UobyksaSx1LnJlbGF0aXZlPT09InBhdGgiKTtlPT1udWxsJiZ0IT09Ii8iJiYoQS5wYXRobmFtZT1BLnBhdGhuYW1lPT09Ii8iP3Q6YmwoW3QsQS5wYXRobmFtZV0pKSwodS5yZXBsYWNlP24ucmVwbGFjZTpuLnB1c2gpKEEsdS5zdGF0ZSx1KX0sW3QsbixvLGksZV0pfWZ1bmN0aW9uIGpvKCl7bGV0e21hdGNoZXM6ZX09Zy51c2VDb250ZXh0KHpsKSx0PWVbZS5sZW5ndGgtMV07cmV0dXJuIHQ/dC5wYXJhbXM6e319ZnVuY3Rpb24gancoZSx0KXtsZXR7cmVsYXRpdmU6cn09dD09PXZvaWQgMD97fTp0LHtmdXR1cmU6bn09Zy51c2VDb250ZXh0KFZsKSx7bWF0Y2hlczphfT1nLnVzZUNvbnRleHQoemwpLHtwYXRobmFtZTppfT1ZYSgpLG89SlNPTi5zdHJpbmdpZnkoTDYoYSxuLnY3X3JlbGF0aXZlU3BsYXRQYXRoKSk7cmV0dXJuIGcudXNlTWVtbygoKT0+JDYoZSxKU09OLnBhcnNlKG8pLGkscj09PSJwYXRoIiksW2UsbyxpLHJdKX1mdW5jdGlvbiBiaWUoZSx0KXtyZXR1cm4gamllKGUsdCl9ZnVuY3Rpb24gamllKGUsdCxyLG4pe1FwKCl8fGJyKCExKTtsZXR7bmF2aWdhdG9yOmF9PWcudXNlQ29udGV4dChWbCkse21hdGNoZXM6aX09Zy51c2VDb250ZXh0KHpsKSxvPWlbaS5sZW5ndGgtMV0sbD1vP28ucGFyYW1zOnt9O28mJm8ucGF0aG5hbWU7bGV0IGM9bz9vLnBhdGhuYW1lQmFzZToiLyI7byYmby5yb3V0ZTtsZXQgZD1ZYSgpLHU7aWYodCl7dmFyIEE7bGV0IHg9dHlwZW9mIHQ9PSJzdHJpbmciP0pBKHQpOnQ7Yz09PSIvInx8KEE9eC5wYXRobmFtZSkhPW51bGwmJkEuc3RhcnRzV2l0aChjKXx8YnIoITEpLHU9eH1lbHNlIHU9ZDtsZXQgZj11LnBhdGhuYW1lfHwiLyIsaD1mO2lmKGMhPT0iLyIpe2xldCB4PWMucmVwbGFjZSgvXlwvLywiIikuc3BsaXQoIi8iKTtoPSIvIitmLnJlcGxhY2UoL15cLy8sIiIpLnNwbGl0KCIvIikuc2xpY2UoeC5sZW5ndGgpLmpvaW4oIi8iKX1sZXQgcD1KYWUoZSx7cGF0aG5hbWU6aH0pLG09U2llKHAmJnAubWFwKHg9Pk9iamVjdC5hc3NpZ24oe30seCx7cGFyYW1zOk9iamVjdC5hc3NpZ24oe30sbCx4LnBhcmFtcykscGF0aG5hbWU6YmwoW2MsYS5lbmNvZGVMb2NhdGlvbj9hLmVuY29kZUxvY2F0aW9uKHgucGF0aG5hbWUpLnBhdGhuYW1lOngucGF0aG5hbWVdKSxwYXRobmFtZUJhc2U6eC5wYXRobmFtZUJhc2U9PT0iLyI/YzpibChbYyxhLmVuY29kZUxvY2F0aW9uP2EuZW5jb2RlTG9jYXRpb24oeC5wYXRobmFtZUJhc2UpLnBhdGhuYW1lOngucGF0aG5hbWVCYXNlXSl9KSksaSxyLG4pO3JldHVybiB0JiZtP2cuY3JlYXRlRWxlbWVudChidy5Qcm92aWRlcix7dmFsdWU6e2xvY2F0aW9uOmJtKHtwYXRobmFtZToiLyIsc2VhcmNoOiIiLGhhc2g6IiIsc3RhdGU6bnVsbCxrZXk6ImRlZmF1bHQifSx1KSxuYXZpZ2F0aW9uVHlwZTpzbC5Qb3B9fSxtKTptfWZ1bmN0aW9uIE5pZSgpe2xldCBlPVBpZSgpLHQ9eGllKGUpP2Uuc3RhdHVzKyIgIitlLnN0YXR1c1RleHQ6ZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZTpKU09OLnN0cmluZ2lmeShlKSxyPWUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrOm51bGwsYT17cGFkZGluZzoiMC41cmVtIixiYWNrZ3JvdW5kQ29sb3I6InJnYmEoMjAwLDIwMCwyMDAsIDAuNSkifTtyZXR1cm4gZy5jcmVhdGVFbGVtZW50KGcuRnJhZ21lbnQsbnVsbCxnLmNyZWF0ZUVsZW1lbnQoImgyIixudWxsLCJVbmV4cGVjdGVkIEFwcGxpY2F0aW9uIEVycm9yISIpLGcuY3JlYXRlRWxlbWVudCgiaDMiLHtzdHlsZTp7Zm9udFN0eWxlOiJpdGFsaWMifX0sdCkscj9nLmNyZWF0ZUVsZW1lbnQoInByZSIse3N0eWxlOmF9LHIpOm51bGwsbnVsbCl9Y29uc3QgQ2llPWcuY3JlYXRlRWxlbWVudChOaWUsbnVsbCk7Y2xhc3MgX2llIGV4dGVuZHMgZy5Db21wb25lbnR7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5zdGF0ZT17bG9jYXRpb246dC5sb2NhdGlvbixyZXZhbGlkYXRpb246dC5yZXZhbGlkYXRpb24sZXJyb3I6dC5lcnJvcn19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcih0KXtyZXR1cm57ZXJyb3I6dH19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyh0LHIpe3JldHVybiByLmxvY2F0aW9uIT09dC5sb2NhdGlvbnx8ci5yZXZhbGlkYXRpb24hPT0iaWRsZSImJnQucmV2YWxpZGF0aW9uPT09ImlkbGUiP3tlcnJvcjp0LmVycm9yLGxvY2F0aW9uOnQubG9jYXRpb24scmV2YWxpZGF0aW9uOnQucmV2YWxpZGF0aW9ufTp7ZXJyb3I6dC5lcnJvciE9PXZvaWQgMD90LmVycm9yOnIuZXJyb3IsbG9jYXRpb246ci5sb2NhdGlvbixyZXZhbGlkYXRpb246dC5yZXZhbGlkYXRpb258fHIucmV2YWxpZGF0aW9ufX1jb21wb25lbnREaWRDYXRjaCh0LHIpe2NvbnNvbGUuZXJyb3IoIlJlYWN0IFJvdXRlciBjYXVnaHQgdGhlIGZvbGxvd2luZyBlcnJvciBkdXJpbmcgcmVuZGVyIix0LHIpfXJlbmRlcigpe3JldHVybiB0aGlzLnN0YXRlLmVycm9yIT09dm9pZCAwP2cuY3JlYXRlRWxlbWVudCh6bC5Qcm92aWRlcix7dmFsdWU6dGhpcy5wcm9wcy5yb3V0ZUNvbnRleHR9LGcuY3JlYXRlRWxlbWVudChWNi5Qcm92aWRlcix7dmFsdWU6dGhpcy5zdGF0ZS5lcnJvcixjaGlsZHJlbjp0aGlzLnByb3BzLmNvbXBvbmVudH0pKTp0aGlzLnByb3BzLmNoaWxkcmVufX1mdW5jdGlvbiBCaWUoZSl7bGV0e3JvdXRlQ29udGV4dDp0LG1hdGNoOnIsY2hpbGRyZW46bn09ZSxhPWcudXNlQ29udGV4dCh3dyk7cmV0dXJuIGEmJmEuc3RhdGljJiZhLnN0YXRpY0NvbnRleHQmJihyLnJvdXRlLmVycm9yRWxlbWVudHx8ci5yb3V0ZS5FcnJvckJvdW5kYXJ5KSYmKGEuc3RhdGljQ29udGV4dC5fZGVlcGVzdFJlbmRlcmVkQm91bmRhcnlJZD1yLnJvdXRlLmlkKSxnLmNyZWF0ZUVsZW1lbnQoemwuUHJvdmlkZXIse3ZhbHVlOnR9LG4pfWZ1bmN0aW9uIFNpZShlLHQscixuKXt2YXIgYTtpZih0PT09dm9pZCAwJiYodD1bXSkscj09PXZvaWQgMCYmKHI9bnVsbCksbj09PXZvaWQgMCYmKG49bnVsbCksZT09bnVsbCl7dmFyIGk7aWYoIXIpcmV0dXJuIG51bGw7aWYoci5lcnJvcnMpZT1yLm1hdGNoZXM7ZWxzZSBpZigoaT1uKSE9bnVsbCYmaS52N19wYXJ0aWFsSHlkcmF0aW9uJiZ0Lmxlbmd0aD09PTAmJiFyLmluaXRpYWxpemVkJiZyLm1hdGNoZXMubGVuZ3RoPjApZT1yLm1hdGNoZXM7ZWxzZSByZXR1cm4gbnVsbH1sZXQgbz1lLGw9KGE9cik9PW51bGw/dm9pZCAwOmEuZXJyb3JzO2lmKGwhPW51bGwpe2xldCB1PW8uZmluZEluZGV4KEE9PkEucm91dGUuaWQmJihsPT1udWxsP3ZvaWQgMDpsW0Eucm91dGUuaWRdKSE9PXZvaWQgMCk7dT49MHx8YnIoITEpLG89by5zbGljZSgwLE1hdGgubWluKG8ubGVuZ3RoLHUrMSkpfWxldCBjPSExLGQ9LTE7aWYociYmbiYmbi52N19wYXJ0aWFsSHlkcmF0aW9uKWZvcihsZXQgdT0wO3U8by5sZW5ndGg7dSsrKXtsZXQgQT1vW3VdO2lmKChBLnJvdXRlLkh5ZHJhdGVGYWxsYmFja3x8QS5yb3V0ZS5oeWRyYXRlRmFsbGJhY2tFbGVtZW50KSYmKGQ9dSksQS5yb3V0ZS5pZCl7bGV0e2xvYWRlckRhdGE6ZixlcnJvcnM6aH09cixwPUEucm91dGUubG9hZGVyJiZmW0Eucm91dGUuaWRdPT09dm9pZCAwJiYoIWh8fGhbQS5yb3V0ZS5pZF09PT12b2lkIDApO2lmKEEucm91dGUubGF6eXx8cCl7Yz0hMCxkPj0wP289by5zbGljZSgwLGQrMSk6bz1bb1swXV07YnJlYWt9fX1yZXR1cm4gby5yZWR1Y2VSaWdodCgodSxBLGYpPT57bGV0IGgscD0hMSxtPW51bGwseD1udWxsO3ImJihoPWwmJkEucm91dGUuaWQ/bFtBLnJvdXRlLmlkXTp2b2lkIDAsbT1BLnJvdXRlLmVycm9yRWxlbWVudHx8Q2llLGMmJihkPDAmJmY9PT0wPyhwPSEwLHg9bnVsbCk6ZD09PWYmJihwPSEwLHg9QS5yb3V0ZS5oeWRyYXRlRmFsbGJhY2tFbGVtZW50fHxudWxsKSkpO2xldCB3PXQuY29uY2F0KG8uc2xpY2UoMCxmKzEpKSx5PSgpPT57bGV0IHY7cmV0dXJuIGg/dj1tOnA/dj14OkEucm91dGUuQ29tcG9uZW50P3Y9Zy5jcmVhdGVFbGVtZW50KEEucm91dGUuQ29tcG9uZW50LG51bGwpOkEucm91dGUuZWxlbWVudD92PUEucm91dGUuZWxlbWVudDp2PXUsZy5jcmVhdGVFbGVtZW50KEJpZSx7bWF0Y2g6QSxyb3V0ZUNvbnRleHQ6e291dGxldDp1LG1hdGNoZXM6dyxpc0RhdGFSb3V0ZTpyIT1udWxsfSxjaGlsZHJlbjp2fSl9O3JldHVybiByJiYoQS5yb3V0ZS5FcnJvckJvdW5kYXJ5fHxBLnJvdXRlLmVycm9yRWxlbWVudHx8Zj09PTApP2cuY3JlYXRlRWxlbWVudChfaWUse2xvY2F0aW9uOnIubG9jYXRpb24scmV2YWxpZGF0aW9uOnIucmV2YWxpZGF0aW9uLGNvbXBvbmVudDptLGVycm9yOmgsY2hpbGRyZW46eSgpLHJvdXRlQ29udGV4dDp7b3V0bGV0Om51bGwsbWF0Y2hlczp3LGlzRGF0YVJvdXRlOiEwfX0pOnkoKX0sbnVsbCl9dmFyIFc2PWZ1bmN0aW9uKGUpe3JldHVybiBlLlVzZUJsb2NrZXI9InVzZUJsb2NrZXIiLGUuVXNlUmV2YWxpZGF0b3I9InVzZVJldmFsaWRhdG9yIixlLlVzZU5hdmlnYXRlU3RhYmxlPSJ1c2VOYXZpZ2F0ZSIsZX0oVzZ8fHt9KSxaMD1mdW5jdGlvbihlKXtyZXR1cm4gZS5Vc2VCbG9ja2VyPSJ1c2VCbG9ja2VyIixlLlVzZUxvYWRlckRhdGE9InVzZUxvYWRlckRhdGEiLGUuVXNlQWN0aW9uRGF0YT0idXNlQWN0aW9uRGF0YSIsZS5Vc2VSb3V0ZUVycm9yPSJ1c2VSb3V0ZUVycm9yIixlLlVzZU5hdmlnYXRpb249InVzZU5hdmlnYXRpb24iLGUuVXNlUm91dGVMb2FkZXJEYXRhPSJ1c2VSb3V0ZUxvYWRlckRhdGEiLGUuVXNlTWF0Y2hlcz0idXNlTWF0Y2hlcyIsZS5Vc2VSZXZhbGlkYXRvcj0idXNlUmV2YWxpZGF0b3IiLGUuVXNlTmF2aWdhdGVTdGFibGU9InVzZU5hdmlnYXRlIixlLlVzZVJvdXRlSWQ9InVzZVJvdXRlSWQiLGV9KFowfHx7fSk7ZnVuY3Rpb24gRWllKGUpe2xldCB0PWcudXNlQ29udGV4dCh3dyk7cmV0dXJuIHR8fGJyKCExKSx0fWZ1bmN0aW9uIGtpZShlKXtsZXQgdD1nLnVzZUNvbnRleHQoSzYpO3JldHVybiB0fHxicighMSksdH1mdW5jdGlvbiBUaWUoZSl7bGV0IHQ9Zy51c2VDb250ZXh0KHpsKTtyZXR1cm4gdHx8YnIoITEpLHR9ZnVuY3Rpb24gRzYoZSl7bGV0IHQ9VGllKCkscj10Lm1hdGNoZXNbdC5tYXRjaGVzLmxlbmd0aC0xXTtyZXR1cm4gci5yb3V0ZS5pZHx8YnIoITEpLHIucm91dGUuaWR9ZnVuY3Rpb24gUGllKCl7dmFyIGU7bGV0IHQ9Zy51c2VDb250ZXh0KFY2KSxyPWtpZShaMC5Vc2VSb3V0ZUVycm9yKSxuPUc2KFowLlVzZVJvdXRlRXJyb3IpO3JldHVybiB0IT09dm9pZCAwP3Q6KGU9ci5lcnJvcnMpPT1udWxsP3ZvaWQgMDplW25dfWZ1bmN0aW9uIEZpZSgpe2xldHtyb3V0ZXI6ZX09RWllKFc2LlVzZU5hdmlnYXRlU3RhYmxlKSx0PUc2KFowLlVzZU5hdmlnYXRlU3RhYmxlKSxyPWcudXNlUmVmKCExKTtyZXR1cm4gejYoKCk9PntyLmN1cnJlbnQ9ITB9KSxnLnVzZUNhbGxiYWNrKGZ1bmN0aW9uKGEsaSl7aT09PXZvaWQgMCYmKGk9e30pLHIuY3VycmVudCYmKHR5cGVvZiBhPT0ibnVtYmVyIj9lLm5hdmlnYXRlKGEpOmUubmF2aWdhdGUoYSxibSh7ZnJvbVJvdXRlSWQ6dH0saSkpKX0sW2UsdF0pfWZ1bmN0aW9uIE9pZShlLHQpe2U9PW51bGx8fGUudjdfc3RhcnRUcmFuc2l0aW9uLGU9PW51bGx8fGUudjdfcmVsYXRpdmVTcGxhdFBhdGh9ZnVuY3Rpb24gSWUoZSl7YnIoITEpfWZ1bmN0aW9uIElpZShlKXtsZXR7YmFzZW5hbWU6dD0iLyIsY2hpbGRyZW46cj1udWxsLGxvY2F0aW9uOm4sbmF2aWdhdGlvblR5cGU6YT1zbC5Qb3AsbmF2aWdhdG9yOmksc3RhdGljOm89ITEsZnV0dXJlOmx9PWU7UXAoKSYmYnIoITEpO2xldCBjPXQucmVwbGFjZSgvXlwvKi8sIi8iKSxkPWcudXNlTWVtbygoKT0+KHtiYXNlbmFtZTpjLG5hdmlnYXRvcjppLHN0YXRpYzpvLGZ1dHVyZTpibSh7djdfcmVsYXRpdmVTcGxhdFBhdGg6ITF9LGwpfSksW2MsbCxpLG9dKTt0eXBlb2Ygbj09InN0cmluZyImJihuPUpBKG4pKTtsZXR7cGF0aG5hbWU6dT0iLyIsc2VhcmNoOkE9IiIsaGFzaDpmPSIiLHN0YXRlOmg9bnVsbCxrZXk6cD0iZGVmYXVsdCJ9PW4sbT1nLnVzZU1lbW8oKCk9PntsZXQgeD1zQSh1LGMpO3JldHVybiB4PT1udWxsP251bGw6e2xvY2F0aW9uOntwYXRobmFtZTp4LHNlYXJjaDpBLGhhc2g6ZixzdGF0ZTpoLGtleTpwfSxuYXZpZ2F0aW9uVHlwZTphfX0sW2MsdSxBLGYsaCxwLGFdKTtyZXR1cm4gbT09bnVsbD9udWxsOmcuY3JlYXRlRWxlbWVudChWbC5Qcm92aWRlcix7dmFsdWU6ZH0sZy5jcmVhdGVFbGVtZW50KGJ3LlByb3ZpZGVyLHtjaGlsZHJlbjpyLHZhbHVlOm19KSl9ZnVuY3Rpb24gVWllKGUpe2xldHtjaGlsZHJlbjp0LGxvY2F0aW9uOnJ9PWU7cmV0dXJuIGJpZShNQyh0KSxyKX1uZXcgUHJvbWlzZSgoKT0+e30pO2Z1bmN0aW9uIE1DKGUsdCl7dD09PXZvaWQgMCYmKHQ9W10pO2xldCByPVtdO3JldHVybiBnLkNoaWxkcmVuLmZvckVhY2goZSwobixhKT0+e2lmKCFnLmlzVmFsaWRFbGVtZW50KG4pKXJldHVybjtsZXQgaT1bLi4udCxhXTtpZihuLnR5cGU9PT1nLkZyYWdtZW50KXtyLnB1c2guYXBwbHkocixNQyhuLnByb3BzLmNoaWxkcmVuLGkpKTtyZXR1cm59bi50eXBlIT09SWUmJmJyKCExKSwhbi5wcm9wcy5pbmRleHx8IW4ucHJvcHMuY2hpbGRyZW58fGJyKCExKTtsZXQgbz17aWQ6bi5wcm9wcy5pZHx8aS5qb2luKCItIiksY2FzZVNlbnNpdGl2ZTpuLnByb3BzLmNhc2VTZW5zaXRpdmUsZWxlbWVudDpuLnByb3BzLmVsZW1lbnQsQ29tcG9uZW50Om4ucHJvcHMuQ29tcG9uZW50LGluZGV4Om4ucHJvcHMuaW5kZXgscGF0aDpuLnByb3BzLnBhdGgsbG9hZGVyOm4ucHJvcHMubG9hZGVyLGFjdGlvbjpuLnByb3BzLmFjdGlvbixlcnJvckVsZW1lbnQ6bi5wcm9wcy5lcnJvckVsZW1lbnQsRXJyb3JCb3VuZGFyeTpuLnByb3BzLkVycm9yQm91bmRhcnksaGFzRXJyb3JCb3VuZGFyeTpuLnByb3BzLkVycm9yQm91bmRhcnkhPW51bGx8fG4ucHJvcHMuZXJyb3JFbGVtZW50IT1udWxsLHNob3VsZFJldmFsaWRhdGU6bi5wcm9wcy5zaG91bGRSZXZhbGlkYXRlLGhhbmRsZTpuLnByb3BzLmhhbmRsZSxsYXp5Om4ucHJvcHMubGF6eX07bi5wcm9wcy5jaGlsZHJlbiYmKG8uY2hpbGRyZW49TUMobi5wcm9wcy5jaGlsZHJlbixpKSksci5wdXNoKG8pfSkscn0vKioKICogUmVhY3QgUm91dGVyIERPTSB2Ni4zMC4xCiAqCiAqIENvcHlyaWdodCAoYykgUmVtaXggU29mdHdhcmUgSW5jLgogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGUKICogTElDRU5TRS5tZCBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKgogKiBAbGljZW5zZSBNSVQKICovZnVuY3Rpb24gZXkoKXtyZXR1cm4gZXk9T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF07Zm9yKHZhciBuIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsbikmJihlW25dPXJbbl0pfXJldHVybiBlfSxleS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gcTYoZSx0KXtpZihlPT1udWxsKXJldHVybnt9O3ZhciByPXt9LG49T2JqZWN0LmtleXMoZSksYSxpO2ZvcihpPTA7aTxuLmxlbmd0aDtpKyspYT1uW2ldLCEodC5pbmRleE9mKGEpPj0wKSYmKHJbYV09ZVthXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gRGllKGUpe3JldHVybiEhKGUubWV0YUtleXx8ZS5hbHRLZXl8fGUuY3RybEtleXx8ZS5zaGlmdEtleSl9ZnVuY3Rpb24gTWllKGUsdCl7cmV0dXJuIGUuYnV0dG9uPT09MCYmKCF0fHx0PT09Il9zZWxmIikmJiFEaWUoZSl9ZnVuY3Rpb24gUkMoZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPSIiKSxuZXcgVVJMU2VhcmNoUGFyYW1zKHR5cGVvZiBlPT0ic3RyaW5nInx8QXJyYXkuaXNBcnJheShlKXx8ZSBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtcz9lOk9iamVjdC5rZXlzKGUpLnJlZHVjZSgodCxyKT0+e2xldCBuPWVbcl07cmV0dXJuIHQuY29uY2F0KEFycmF5LmlzQXJyYXkobik/bi5tYXAoYT0+W3IsYV0pOltbcixuXV0pfSxbXSkpfWZ1bmN0aW9uIFJpZShlLHQpe2xldCByPVJDKGUpO3JldHVybiB0JiZ0LmZvckVhY2goKG4sYSk9PntyLmhhcyhhKXx8dC5nZXRBbGwoYSkuZm9yRWFjaChpPT57ci5hcHBlbmQoYSxpKX0pfSkscn1jb25zdCBRaWU9WyJvbkNsaWNrIiwicmVsYXRpdmUiLCJyZWxvYWREb2N1bWVudCIsInJlcGxhY2UiLCJzdGF0ZSIsInRhcmdldCIsInRvIiwicHJldmVudFNjcm9sbFJlc2V0Iiwidmlld1RyYW5zaXRpb24iXSxMaWU9WyJhcmlhLWN1cnJlbnQiLCJjYXNlU2Vuc2l0aXZlIiwiY2xhc3NOYW1lIiwiZW5kIiwic3R5bGUiLCJ0byIsInZpZXdUcmFuc2l0aW9uIiwiY2hpbGRyZW4iXSwkaWU9IjYiO3RyeXt3aW5kb3cuX19yZWFjdFJvdXRlclZlcnNpb249JGllfWNhdGNoe31jb25zdCBIaWU9Zy5jcmVhdGVDb250ZXh0KHtpc1RyYW5zaXRpb25pbmc6ITF9KSxLaWU9InN0YXJ0VHJhbnNpdGlvbiIsQUY9WFNbS2llXTtmdW5jdGlvbiBWaWUoZSl7bGV0e2Jhc2VuYW1lOnQsY2hpbGRyZW46cixmdXR1cmU6bix3aW5kb3c6YX09ZSxpPWcudXNlUmVmKCk7aS5jdXJyZW50PT1udWxsJiYoaS5jdXJyZW50PXFhZSh7d2luZG93OmEsdjVDb21wYXQ6ITB9KSk7bGV0IG89aS5jdXJyZW50LFtsLGNdPWcudXNlU3RhdGUoe2FjdGlvbjpvLmFjdGlvbixsb2NhdGlvbjpvLmxvY2F0aW9ufSkse3Y3X3N0YXJ0VHJhbnNpdGlvbjpkfT1ufHx7fSx1PWcudXNlQ2FsbGJhY2soQT0+e2QmJkFGP0FGKCgpPT5jKEEpKTpjKEEpfSxbYyxkXSk7cmV0dXJuIGcudXNlTGF5b3V0RWZmZWN0KCgpPT5vLmxpc3Rlbih1KSxbbyx1XSksZy51c2VFZmZlY3QoKCk9Pk9pZShuKSxbbl0pLGcuY3JlYXRlRWxlbWVudChJaWUse2Jhc2VuYW1lOnQsY2hpbGRyZW46cixsb2NhdGlvbjpsLmxvY2F0aW9uLG5hdmlnYXRpb25UeXBlOmwuYWN0aW9uLG5hdmlnYXRvcjpvLGZ1dHVyZTpufSl9Y29uc3QgemllPXR5cGVvZiB3aW5kb3c8InUiJiZ0eXBlb2Ygd2luZG93LmRvY3VtZW50PCJ1IiYmdHlwZW9mIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50PCJ1IixXaWU9L14oPzpbYS16XVthLXowLTkrLi1dKjp8XC9cLykvaSxvZT1nLmZvcndhcmRSZWYoZnVuY3Rpb24odCxyKXtsZXR7b25DbGljazpuLHJlbGF0aXZlOmEscmVsb2FkRG9jdW1lbnQ6aSxyZXBsYWNlOm8sc3RhdGU6bCx0YXJnZXQ6Yyx0bzpkLHByZXZlbnRTY3JvbGxSZXNldDp1LHZpZXdUcmFuc2l0aW9uOkF9PXQsZj1xNih0LFFpZSkse2Jhc2VuYW1lOmh9PWcudXNlQ29udGV4dChWbCkscCxtPSExO2lmKHR5cGVvZiBkPT0ic3RyaW5nIiYmV2llLnRlc3QoZCkmJihwPWQsemllKSl0cnl7bGV0IHY9bmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZiksYj1kLnN0YXJ0c1dpdGgoIi8vIik/bmV3IFVSTCh2LnByb3RvY29sK2QpOm5ldyBVUkwoZCksaj1zQShiLnBhdGhuYW1lLGgpO2Iub3JpZ2luPT09di5vcmlnaW4mJmohPW51bGw/ZD1qK2Iuc2VhcmNoK2IuaGFzaDptPSEwfWNhdGNoe31sZXQgeD12aWUoZCx7cmVsYXRpdmU6YX0pLHc9cWllKGQse3JlcGxhY2U6byxzdGF0ZTpsLHRhcmdldDpjLHByZXZlbnRTY3JvbGxSZXNldDp1LHJlbGF0aXZlOmEsdmlld1RyYW5zaXRpb246QX0pO2Z1bmN0aW9uIHkodil7biYmbih2KSx2LmRlZmF1bHRQcmV2ZW50ZWR8fHcodil9cmV0dXJuIGcuY3JlYXRlRWxlbWVudCgiYSIsZXkoe30sZix7aHJlZjpwfHx4LG9uQ2xpY2s6bXx8aT9uOnkscmVmOnIsdGFyZ2V0OmN9KSl9KSxZNj1nLmZvcndhcmRSZWYoZnVuY3Rpb24odCxyKXtsZXR7ImFyaWEtY3VycmVudCI6bj0icGFnZSIsY2FzZVNlbnNpdGl2ZTphPSExLGNsYXNzTmFtZTppPSIiLGVuZDpvPSExLHN0eWxlOmwsdG86Yyx2aWV3VHJhbnNpdGlvbjpkLGNoaWxkcmVuOnV9PXQsQT1xNih0LExpZSksZj1qdyhjLHtyZWxhdGl2ZTpBLnJlbGF0aXZlfSksaD1ZYSgpLHA9Zy51c2VDb250ZXh0KEs2KSx7bmF2aWdhdG9yOm0sYmFzZW5hbWU6eH09Zy51c2VDb250ZXh0KFZsKSx3PXAhPW51bGwmJllpZShmKSYmZD09PSEwLHk9bS5lbmNvZGVMb2NhdGlvbj9tLmVuY29kZUxvY2F0aW9uKGYpLnBhdGhuYW1lOmYucGF0aG5hbWUsdj1oLnBhdGhuYW1lLGI9cCYmcC5uYXZpZ2F0aW9uJiZwLm5hdmlnYXRpb24ubG9jYXRpb24/cC5uYXZpZ2F0aW9uLmxvY2F0aW9uLnBhdGhuYW1lOm51bGw7YXx8KHY9di50b0xvd2VyQ2FzZSgpLGI9Yj9iLnRvTG93ZXJDYXNlKCk6bnVsbCx5PXkudG9Mb3dlckNhc2UoKSksYiYmeCYmKGI9c0EoYix4KXx8Yik7Y29uc3Qgaj15IT09Ii8iJiZ5LmVuZHNXaXRoKCIvIik/eS5sZW5ndGgtMTp5Lmxlbmd0aDtsZXQgTj12PT09eXx8IW8mJnYuc3RhcnRzV2l0aCh5KSYmdi5jaGFyQXQoaik9PT0iLyIsQz1iIT1udWxsJiYoYj09PXl8fCFvJiZiLnN0YXJ0c1dpdGgoeSkmJmIuY2hhckF0KHkubGVuZ3RoKT09PSIvIiksXz17aXNBY3RpdmU6Tixpc1BlbmRpbmc6Qyxpc1RyYW5zaXRpb25pbmc6d30sQj1OP246dm9pZCAwLGs7dHlwZW9mIGk9PSJmdW5jdGlvbiI/az1pKF8pOms9W2ksTj8iYWN0aXZlIjpudWxsLEM/InBlbmRpbmciOm51bGwsdz8idHJhbnNpdGlvbmluZyI6bnVsbF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKTtsZXQgRT10eXBlb2YgbD09ImZ1bmN0aW9uIj9sKF8pOmw7cmV0dXJuIGcuY3JlYXRlRWxlbWVudChvZSxleSh7fSxBLHsiYXJpYS1jdXJyZW50IjpCLGNsYXNzTmFtZTprLHJlZjpyLHN0eWxlOkUsdG86Yyx2aWV3VHJhbnNpdGlvbjpkfSksdHlwZW9mIHU9PSJmdW5jdGlvbiI/dShfKTp1KX0pO3ZhciBRQzsoZnVuY3Rpb24oZSl7ZS5Vc2VTY3JvbGxSZXN0b3JhdGlvbj0idXNlU2Nyb2xsUmVzdG9yYXRpb24iLGUuVXNlU3VibWl0PSJ1c2VTdWJtaXQiLGUuVXNlU3VibWl0RmV0Y2hlcj0idXNlU3VibWl0RmV0Y2hlciIsZS5Vc2VGZXRjaGVyPSJ1c2VGZXRjaGVyIixlLnVzZVZpZXdUcmFuc2l0aW9uU3RhdGU9InVzZVZpZXdUcmFuc2l0aW9uU3RhdGUifSkoUUN8fChRQz17fSkpO3ZhciBmRjsoZnVuY3Rpb24oZSl7ZS5Vc2VGZXRjaGVyPSJ1c2VGZXRjaGVyIixlLlVzZUZldGNoZXJzPSJ1c2VGZXRjaGVycyIsZS5Vc2VTY3JvbGxSZXN0b3JhdGlvbj0idXNlU2Nyb2xsUmVzdG9yYXRpb24ifSkoZkZ8fChmRj17fSkpO2Z1bmN0aW9uIEdpZShlKXtsZXQgdD1nLnVzZUNvbnRleHQod3cpO3JldHVybiB0fHxicighMSksdH1mdW5jdGlvbiBxaWUoZSx0KXtsZXR7dGFyZ2V0OnIscmVwbGFjZTpuLHN0YXRlOmEscHJldmVudFNjcm9sbFJlc2V0OmkscmVsYXRpdmU6byx2aWV3VHJhbnNpdGlvbjpsfT10PT09dm9pZCAwP3t9OnQsYz1sdCgpLGQ9WWEoKSx1PWp3KGUse3JlbGF0aXZlOm99KTtyZXR1cm4gZy51c2VDYWxsYmFjayhBPT57aWYoTWllKEEscikpe0EucHJldmVudERlZmF1bHQoKTtsZXQgZj1uIT09dm9pZCAwP246WDAoZCk9PT1YMCh1KTtjKGUse3JlcGxhY2U6ZixzdGF0ZTphLHByZXZlbnRTY3JvbGxSZXNldDppLHJlbGF0aXZlOm8sdmlld1RyYW5zaXRpb246bH0pfX0sW2QsYyx1LG4sYSxyLGUsaSxvLGxdKX1mdW5jdGlvbiBjYShlKXtsZXQgdD1nLnVzZVJlZihSQyhlKSkscj1nLnVzZVJlZighMSksbj1ZYSgpLGE9Zy51c2VNZW1vKCgpPT5SaWUobi5zZWFyY2gsci5jdXJyZW50P251bGw6dC5jdXJyZW50KSxbbi5zZWFyY2hdKSxpPWx0KCksbz1nLnVzZUNhbGxiYWNrKChsLGMpPT57Y29uc3QgZD1SQyh0eXBlb2YgbD09ImZ1bmN0aW9uIj9sKGEpOmwpO3IuY3VycmVudD0hMCxpKCI/IitkLGMpfSxbaSxhXSk7cmV0dXJuW2Esb119ZnVuY3Rpb24gWWllKGUsdCl7dD09PXZvaWQgMCYmKHQ9e30pO2xldCByPWcudXNlQ29udGV4dChIaWUpO3I9PW51bGwmJmJyKCExKTtsZXR7YmFzZW5hbWU6bn09R2llKFFDLnVzZVZpZXdUcmFuc2l0aW9uU3RhdGUpLGE9ancoZSx7cmVsYXRpdmU6dC5yZWxhdGl2ZX0pO2lmKCFyLmlzVHJhbnNpdGlvbmluZylyZXR1cm4hMTtsZXQgaT1zQShyLmN1cnJlbnRMb2NhdGlvbi5wYXRobmFtZSxuKXx8ci5jdXJyZW50TG9jYXRpb24ucGF0aG5hbWUsbz1zQShyLm5leHRMb2NhdGlvbi5wYXRobmFtZSxuKXx8ci5uZXh0TG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIEowKGEucGF0aG5hbWUsbykhPW51bGx8fEowKGEucGF0aG5hbWUsaSkhPW51bGx9Y29uc3QgWGllPXtFTjp7aG9tZToiSG9tZSIsYWJvdXQ6IkFib3V0IHVzIixmYXE6IkZBUSIsY2hhbGxlbmdlczoiQ2hhbGxlbmdlcyIsbG9naW46IkxvZ2luIixoZXJvVGl0bGUxOiJHZXQgVXAgdG8gIixoZXJvVGl0bGUyOiIgaW4gU2ltdWxhdGVkIixoZXJvVGl0bGUzOiJGdW5kaW5nIHdpdGggYW4gMS1TdGVwIENoYWxsZW5nZSIsaGVyb0Rlc2M6IkJ1eSB5b3VyIHRyYWRpbmcgY2hhbGxlbmdlIGFuZCBzaG93IHlvdXIgZWRnZS4gUGFzc2VkIGEgY2hhbGxlbmdlPyBHZXQgb3VyIHVuaXF1ZSBjZXJ0aWZpY2F0ZSEiLGZlYXR1cmUxVGl0bGU6IlVwIHRvIDEwMCUgQ2VydGlmaWNhdGUgVmFsdWUiLGZlYXR1cmUxRGVzYzoiTWF4aW1pemUgeW91ciBzaW11bGF0ZWQgcGVyZm9ybWFuY2UgcmV3YXJkcyIsZmVhdHVyZTJUaXRsZToiRmFzdCBDZXJ0aWZpY2F0ZXMiLGZlYXR1cmUyRGVzYzoiQ2VydGlmaWNhdGVzIGlzc3VlZCB3aXRoaW4gMjQgaG91cnMiLGZlYXR1cmUzVGl0bGU6IlNjYWxlIFlvdXIgQWNjb3VudCIsZmVhdHVyZTNEZXNjOiJHcm93IHlvdXIgYWNjb3VudCB3aXRoIGNvbnNpc3RlbnQgcGVyZm9ybWFuY2UiLGZlYXR1cmU0VGl0bGU6Ik5vIFRpbWUgTGltaXRzIixmZWF0dXJlNERlc2M6IlRyYWRlIGF0IHlvdXIgb3duIHBhY2UiLHJhdGVkT246Im9uIFRydXN0cGlsb3QiLGZvb3RlckRlc2M6IkZsb3dpbmdGdW5kZWQ6IFlvdXIgdHJhZGluZyBlZHVjYXRpb24gYW5kIHBlcmZvcm1hbmNlIHNpbXVsYXRpb24gcGxhdGZvcm0g4oCUIGVtcG93ZXJpbmcgdHJhZGVycyB0byBwcm92ZSB0aGVpciBza2lsbHMhIixxdWlja0xpbmtzOiJRdWljayBMaW5rcyIscHJvZ3JhbXM6IlByb2dyYW1zIixwcmljaW5nOiJQcmljaW5nIixob3dJdFdvcmtzOiJIb3cgaXQgd29ya3MiLHN1cHBvcnQ6IlN1cHBvcnQiLGNvbnRhY3RVczoiQ29udGFjdCB1cyIscHJpdmFjeVBvbGljeToiUHJpdmFjeSBQb2xpY3kiLHRlcm1zQ29uZGl0aW9uczoiVGVybXMgYW5kIENvbmRpdGlvbnMiLGNvcHlyaWdodDoiwqkgMjAyNSBGbG93aW5nRnVuZGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLiIscmV2aWV3czoiUkVWSUVXUyIsaGVhckZyb21UcmFkZXJzOiJIZWFyIEZyb20gT3VyIFRyYWRlcnMiLHJlYWxUcmFkZXJzOiJSZWFsIHBhcnRpY2lwYW50cy4gUmVhbCBzdG9yaWVzLiBTZWUgd2hhdCB0cmFkZXJzIGxpa2UgeW91IGFyZSBzYXlpbmcgYWJvdXQgRmxvd2luZ0Z1bmRlZC4iLHJlYWRNb3JlUmV2aWV3czoiUmVhZCBtb3JlIHJldmlld3MiLGZhcVRpdGxlOiJGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9ucyIsZmFxU3VidGl0bGU6IlF1aWNrIGFuc3dlcnMgdG8gY29tbW9uIHF1ZXN0aW9ucyBhYm91dCBvdXIgdHJhZGluZyBjaGFsbGVuZ2VzIixmYXExUToiV2hhdCBpcyBhIHRyYWRpbmcgc2ltdWxhdGlvbiBwbGF0Zm9ybT8iLGZhcTFBOiJBIHRyYWRpbmcgc2ltdWxhdGlvbiBwbGF0Zm9ybSBwcm92aWRlcyBhbiBlZHVjYXRpb25hbCBhc3Nlc3NtZW50IGVudmlyb25tZW50IHdoZXJlIHRyYWRlcnMgY2FuIHByb3ZlIHRoZWlyIHNraWxscy4gQWZ0ZXIgcGFzc2luZyBvdXIgZXZhbHVhdGlvbiBjaGFsbGVuZ2UsIHlvdSdsbCByZWNlaXZlIGEgc2ltdWxhdGlvbiBhY2NvdW50IHRvIGRlbW9uc3RyYXRlIHlvdXIgdHJhZGluZyBwcmFjdGljZSBhbmQgZWFybiBwZXJmb3JtYW5jZSBjZXJ0aWZpY2F0ZXMuIixmYXEyUToiSG93IGxvbmcgZG9lcyBpdCB0YWtlIHRvIGdldCBhIHNpbXVsYXRpb24gYWNjb3VudD8iLGZhcTJBOiJUaGUgdGltZWxpbmUgZGVwZW5kcyBvbiB5b3VyIHRyYWRpbmcgcGVyZm9ybWFuY2UuIFRoZXJlJ3Mgbm8gdGltZSBsaW1pdCBvbiBvdXIgY2hhbGxlbmdlcywgc28geW91IGNhbiB0YWtlIGFzIGxvbmcgYXMgeW91IG5lZWQuIE9uY2UgeW91IHBhc3MsIHlvdSdsbCByZWNlaXZlIHlvdXIgc2ltdWxhdGlvbiBhY2NvdW50IGNyZWRlbnRpYWxzIHdpdGhpbiAyNCBob3Vycy4iLGZhcTNROiJXaGF0IGFyZSB0aGUgcHJvZml0IHRhcmdldHMgYW5kIGRyYXdkb3duIGxpbWl0cz8iLGZhcTNBOiJQaGFzZSAxIHJlcXVpcmVzIGEgMTAlIHByb2ZpdCB0YXJnZXQgd2l0aCBhIDEwJSBtYXhpbXVtIGRyYXdkb3duLiBQaGFzZSAyIHJlcXVpcmVzIGEgNSUgcHJvZml0IHRhcmdldCB3aXRoIGEgMTAlIG1heGltdW0gZHJhd2Rvd24uIFRoZXNlIGFyZSBkZXNpZ25lZCB0byBiZSBhY2hpZXZhYmxlIHdoaWxlIHByb21vdGluZyBnb29kIHJpc2sgbWFuYWdlbWVudCBwcmFjdGljZXMuIix2aWV3QWxsRmFxczoiVmlldyBBbGwgRkFRcyIsY2hvb3NlSm91cm5leToiQ0hPT1NFIFlPVVIgSk9VUk5FWSIsZnVuZGluZ0pvdXJuZXlUaXRsZToiWW91ciBDaGFsbGVuZ2UgSm91cm5leSBTdGFydHMgSGVyZSIsZnVuZGluZ0pvdXJuZXlEZXNjOiJDaG9vc2UgdGhlIGFjY291bnQgcGxhbiB0aGF0IGJlc3QgZml0cyB5b3VyIHRyYWRpbmcgc3R5bGUsIGdvYWxzLCBhbmQgcGVyc29uYWwgcHJlZmVyZW5jZXMg4oCUIGFuZCBzdGFydCB5b3VyIGNoYWxsZW5nZSB0b2RheSEiLGNoYWxsZW5nZURldGFpbHM6IkNoYWxsZW5nZSBEZXRhaWxzIixvbmVTdGVwQ2hhbGxlbmdlOiIxLVN0ZXAgQ2hhbGxlbmdlIixmdW5kZWRTdGFnZToiUGVyZm9ybWFuY2UgU3RhZ2UiLHRyYWRpbmdQZXJpb2Q6IlRyYWRpbmcgUGVyaW9kIix1bmxpbWl0ZWQ6IlVubGltaXRlZCIsaW5kZWZpbml0ZToiSW5kZWZpbml0ZSIsbWluVHJhZGluZ0RheXM6Ik1pbi4gVHJhZGluZyBEYXlzIixkYXlzOiJEYXlzIixtYXhEYWlseUxvc3M6Ik1heCBEYWlseSBMb3NzIixtYXhPdmVyYWxsTG9zczoiTWF4IE92ZXJhbGwgTG9zcyIscHJvZml0VGFyZ2V0OiJQcm9maXQgVGFyZ2V0Iixub0NvbnNpc3RlbmN5UnVsZXM6Ik5vIENvbnNpc3RlbmN5IFJ1bGVzIixtdDVBdmFpbGFibGU6IlByb2Zlc3Npb25hbCBQbGF0Zm9ybSIsbGl2ZVN1cHBvcnRGYXN0OiIyNC83IExpdmUgRmFzdCBTdXBwb3J0IixvbmVDaGFsbGVuZ2U6IjEgQ2hhbGxlbmdlIOKAoiAxLVN0ZXAiLHByaWNlOiJQcmljZToiLGdldEZ1bmRlZDoiU3RhcnQgQ2hhbGxlbmdlIOKGkiIsYWRtaW5Vc2VyQWNjb3VudHM6IlVzZXIgQWNjb3VudHMiLGFkbWluUGF5b3V0czoiUGF5b3V0cyIsYWRtaW5TdXBwb3J0OiJTdXBwb3J0IixhZG1pbkVtYWlsTWFuYWdlbWVudDoiRW1haWwgTWFuYWdlbWVudCIsYWRtaW5FbWFpbFNldHRpbmdzOiJFbWFpbCBTZXR0aW5ncyIsdHJhZGVyQ2hhbGxlbmdlczoiQ2hhbGxlbmdlcyIsdHJhZGVyUGF5b3V0czoiUGF5b3V0cyIsdHJhZGVyQ2VydGlmaWNhdGVzOiJDZXJ0aWZpY2F0ZXMiLHRyYWRlckluZm9ybWF0aW9uOiJJbmZvcm1hdGlvbiIsdHJhZGVyU3VwcG9ydDoiU3VwcG9ydCIsbG9nb3V0OiJMb2dvdXQiLHdlbGNvbWU6IldlbGNvbWUiLHRvdGFsQ2hhbGxlbmdlczoiVG90YWwgQ2hhbGxlbmdlcyIsYWN0aXZlVHJhZGVyczoiQWN0aXZlIFRyYWRlcnMiLHBhc3NlZENoYWxsZW5nZXM6IlBhc3NlZCBDaGFsbGVuZ2VzIixjcmVhdGVOZXdDaGFsbGVuZ2U6IkNyZWF0ZSBOZXcgQ2hhbGxlbmdlIixzZWFyY2hVc2VyczoiU2VhcmNoIHVzZXJzLi4uIixhY3Rpb25zOiJBY3Rpb25zIixlZGl0OiJFZGl0IixkZWxldGU6IkRlbGV0ZSIsYmFsYW5jZToiQmFsYW5jZSIsc3RhdHVzOiJTdGF0dXMiLGFjdGl2ZToiQWN0aXZlIixmdW5kZWQ6IkZ1bmRlZCIsZmFpbGVkOiJGYWlsZWQiLGJhY2tUb0NoYWxsZW5nZXM6IkJhY2sgdG8gQ2hhbGxlbmdlcyJ9LEVTOntob21lOiJJbmljaW8iLGFib3V0OiJTb2JyZSBub3NvdHJvcyIsZmFxOiJQcmVndW50YXMgZnJlY3VlbnRlcyIsY2hhbGxlbmdlczoiRGVzYWbDrW9zIixsb2dpbjoiSW5pY2lhciBzZXNpw7NuIixoZXJvVGl0bGUxOiJPYnTDqW4gaGFzdGEgIixoZXJvVGl0bGUyOiIgZW4gZmluYW5jaWFjacOzbiIsaGVyb1RpdGxlMzoic2ltdWxhZGEgY29uIHVuIGRlc2Fmw61vIGRlIDEgcGFzbyIsaGVyb0Rlc2M6IkNvbXByYSB0dSBkZXNhZsOtbyBkZSB0cmFkaW5nIHkgZGVtdWVzdHJhIHR1IHZlbnRhamEuIMK/U3VwZXJhc3RlIHVuIGRlc2Fmw61vPyDCoU9idMOpbiBudWVzdHJvIGNlcnRpZmljYWRvIMO6bmljbyEiLGZlYXR1cmUxVGl0bGU6Ikhhc3RhIDEwMCUgdmFsb3IgZGVsIGNlcnRpZmljYWRvIixmZWF0dXJlMURlc2M6Ik1heGltaXphIHR1cyByZWNvbXBlbnNhcyBkZSByZW5kaW1pZW50byBzaW11bGFkbyIsZmVhdHVyZTJUaXRsZToiQ2VydGlmaWNhZG9zIHLDoXBpZG9zIixmZWF0dXJlMkRlc2M6IkNlcnRpZmljYWRvcyBlbWl0aWRvcyBlbiAyNCBob3JhcyIsZmVhdHVyZTNUaXRsZToiRXNjYWxhIHR1IGN1ZW50YSIsZmVhdHVyZTNEZXNjOiJBdW1lbnRhIHR1IGN1ZW50YSBjb24gcmVuZGltaWVudG8gY29uc3RhbnRlIixmZWF0dXJlNFRpdGxlOiJTaW4gbMOtbWl0ZXMgZGUgdGllbXBvIixmZWF0dXJlNERlc2M6Ik9wZXJhIGEgdHUgcHJvcGlvIHJpdG1vIixyYXRlZE9uOiJlbiBUcnVzdHBpbG90Iixmb290ZXJEZXNjOiJGbG93aW5nRnVuZGVkOiBUdSBwbGF0YWZvcm1hIGRlIGVkdWNhY2nDs24geSBzaW11bGFjacOzbiBkZSB0cmFkaW5nIOKAlCBkZW11ZXN0cmEgdHVzIGhhYmlsaWRhZGVzISIscXVpY2tMaW5rczoiRW5sYWNlcyByw6FwaWRvcyIscHJvZ3JhbXM6IlByb2dyYW1hcyIscHJpY2luZzoiUHJlY2lvcyIsaG93SXRXb3JrczoiQ8OzbW8gZnVuY2lvbmEiLHN1cHBvcnQ6IlNvcG9ydGUiLGNvbnRhY3RVczoiQ29udMOhY3Rhbm9zIixwcml2YWN5UG9saWN5OiJQb2zDrXRpY2EgZGUgcHJpdmFjaWRhZCIsdGVybXNDb25kaXRpb25zOiJUw6lybWlub3MgeSBjb25kaWNpb25lcyIsY29weXJpZ2h0OiLCqSAyMDI1IEZsb3dpbmdGdW5kZWQuIFRvZG9zIGxvcyBkZXJlY2hvcyByZXNlcnZhZG9zLiIscmV2aWV3czoiUkVTRcORQVMiLGhlYXJGcm9tVHJhZGVyczoiRXNjdWNoYSBhIG51ZXN0cm9zIHRyYWRlcnMiLHJlYWxUcmFkZXJzOiJUcmFkZXJzIHJlYWxlcy4gSGlzdG9yaWFzIHJlYWxlcy4gTWlyYSBsbyBxdWUgdHJhZGVycyBjb21vIHTDuiBlc3TDoW4gZGljaWVuZG8gc29icmUgRmxvd2luZ0Z1bmRlZC4iLHJlYWRNb3JlUmV2aWV3czoiTGVlciBtw6FzIHJlc2XDsWFzIixmYXFUaXRsZToiUHJlZ3VudGFzIGZyZWN1ZW50ZXMiLGZhcVN1YnRpdGxlOiJSZXNwdWVzdGFzIHLDoXBpZGFzIGEgcHJlZ3VudGFzIGNvbXVuZXMgc29icmUgbnVlc3Ryb3MgZGVzYWbDrW9zIGRlIHRyYWRpbmciLGZhcTFROiLCv1F1w6kgZXMgdW5hIHBsYXRhZm9ybWEgZGUgc2ltdWxhY2nDs24gZGUgdHJhZGluZz8iLGZhcTFBOiJVbmEgcGxhdGFmb3JtYSBkZSBzaW11bGFjacOzbiBkZSB0cmFkaW5nIHByb3BvcmNpb25hIHVuIGVudG9ybm8gZGUgZXZhbHVhY2nDs24gZWR1Y2F0aXZhIGRvbmRlIGxvcyB0cmFkZXJzIHB1ZWRlbiBkZW1vc3RyYXIgc3VzIGhhYmlsaWRhZGVzLiBEZXNwdcOpcyBkZSBhcHJvYmFyIG51ZXN0cm8gZGVzYWbDrW8gZGUgZXZhbHVhY2nDs24sIHJlY2liaXLDoXMgdW5hIGN1ZW50YSBkZSBzaW11bGFjacOzbiBwYXJhIGRlbW9zdHJhciB0dSBwcsOhY3RpY2EgZGUgdHJhZGluZyB5IG9idGVuZXIgY2VydGlmaWNhZG9zIGRlIHJlbmRpbWllbnRvLiIsZmFxMlE6IsK/Q3XDoW50byB0aWVtcG8gbGxldmEgb2J0ZW5lciB1bmEgY3VlbnRhIGRlIHNpbXVsYWNpw7NuPyIsZmFxMkE6IkVsIHRpZW1wbyBkZXBlbmRlIGRlIHR1IHJlbmRpbWllbnRvIGVuIHRyYWRpbmcuIE5vIGhheSBsw61taXRlIGRlIHRpZW1wbyBlbiBudWVzdHJvcyBkZXNhZsOtb3MsIGFzw60gcXVlIHB1ZWRlcyB0b21hcnRlIGVsIHRpZW1wbyBxdWUgbmVjZXNpdGVzLiBVbmEgdmV6IHF1ZSBhcHJ1ZWJlcywgcmVjaWJpcsOhcyB0dXMgY3JlZGVuY2lhbGVzIGRlIGN1ZW50YSBkZSBzaW11bGFjacOzbiBlbiAyNCBob3Jhcy4iLGZhcTNROiLCv0N1w6FsZXMgc29uIGxvcyBvYmpldGl2b3MgZGUgYmVuZWZpY2lvIHkgbG9zIGzDrW1pdGVzIGRlIHDDqXJkaWRhPyIsZmFxM0E6IkxhIEZhc2UgMSByZXF1aWVyZSB1biBvYmpldGl2byBkZSBiZW5lZmljaW8gZGVsIDEwJSBjb24gdW5hIHDDqXJkaWRhIG3DoXhpbWEgZGVsIDEwJS4gTGEgRmFzZSAyIHJlcXVpZXJlIHVuIG9iamV0aXZvIGRlIGJlbmVmaWNpbyBkZWwgNSUgY29uIHVuYSBww6lyZGlkYSBtw6F4aW1hIGRlbCAxMCUuIEVzdG9zIGVzdMOhbiBkaXNlw7FhZG9zIHBhcmEgc2VyIGFsY2FuemFibGVzIG1pZW50cmFzIHByb211ZXZlbiBidWVuYXMgcHLDoWN0aWNhcyBkZSBnZXN0acOzbiBkZSByaWVzZ29zLiIsdmlld0FsbEZhcXM6IlZlciB0b2RhcyBsYXMgcHJlZ3VudGFzIGZyZWN1ZW50ZXMiLGNob29zZUpvdXJuZXk6IkVMSUdFIFRVIENBTUlOTyIsZnVuZGluZ0pvdXJuZXlUaXRsZToiVHUgdmlhamUgZGUgZGVzYWbDrW8gY29taWVuemEgYXF1w60iLGZ1bmRpbmdKb3VybmV5RGVzYzoiwqFFbGlnZSBlbCBwbGFuIGRlIGN1ZW50YSBxdWUgbWVqb3Igc2UgYWRhcHRlIGEgdHUgZXN0aWxvIGRlIHRyYWRpbmcsIG9iamV0aXZvcyB5IHByZWZlcmVuY2lhcyBwZXJzb25hbGVzIOKAlCB5IGNvbWllbnphIHR1IGRlc2Fmw61vIGhveSEiLGNoYWxsZW5nZURldGFpbHM6IkRldGFsbGVzIGRlbCBkZXNhZsOtbyIsb25lU3RlcENoYWxsZW5nZToiRGVzYWbDrW8gZGUgMSBQYXNvIixmdW5kZWRTdGFnZToiRXRhcGEgZGUgcmVuZGltaWVudG8iLHRyYWRpbmdQZXJpb2Q6IlBlcsOtb2RvIGRlIHRyYWRpbmciLHVubGltaXRlZDoiSWxpbWl0YWRvIixpbmRlZmluaXRlOiJJbmRlZmluaWRvIixtaW5UcmFkaW5nRGF5czoiRMOtYXMgbcOtbmltb3MgZGUgdHJhZGluZyIsZGF5czoiRMOtYXMiLG1heERhaWx5TG9zczoiUMOpcmRpZGEgZGlhcmlhIG3DoXhpbWEiLG1heE92ZXJhbGxMb3NzOiJQw6lyZGlkYSB0b3RhbCBtw6F4aW1hIixwcm9maXRUYXJnZXQ6Ik9iamV0aXZvIGRlIGJlbmVmaWNpbyIsbm9Db25zaXN0ZW5jeVJ1bGVzOiJTaW4gcmVnbGFzIGRlIGNvbnNpc3RlbmNpYSIsbXQ1QXZhaWxhYmxlOiJQbGF0YWZvcm1hIHByb2Zlc2lvbmFsIixsaXZlU3VwcG9ydEZhc3Q6IlNvcG9ydGUgcsOhcGlkbyAyNC83IixvbmVDaGFsbGVuZ2U6IjEgRGVzYWbDrW8g4oCiIDEgUGFzbyIscHJpY2U6IlByZWNpbzoiLGdldEZ1bmRlZDoiSW5pY2lhciBkZXNhZsOtbyDihpIiLGFkbWluVXNlckFjY291bnRzOiJDdWVudGFzIGRlIHVzdWFyaW8iLGFkbWluUGF5b3V0czoiUGFnb3MiLGFkbWluU3VwcG9ydDoiU29wb3J0ZSIsYWRtaW5FbWFpbE1hbmFnZW1lbnQ6Ikdlc3Rpw7NuIGRlIGVtYWlscyIsYWRtaW5FbWFpbFNldHRpbmdzOiJDb25maWd1cmFjacOzbiBkZSBlbWFpbCIsdHJhZGVyQ2hhbGxlbmdlczoiRGVzYWbDrW9zIix0cmFkZXJQYXlvdXRzOiJQYWdvcyIsdHJhZGVyQ2VydGlmaWNhdGVzOiJDZXJ0aWZpY2Fkb3MiLHRyYWRlckluZm9ybWF0aW9uOiJJbmZvcm1hY2nDs24iLHRyYWRlclN1cHBvcnQ6IlNvcG9ydGUiLGxvZ291dDoiQ2VycmFyIHNlc2nDs24iLHdlbGNvbWU6IkJpZW52ZW5pZG8iLHRvdGFsQ2hhbGxlbmdlczoiRGVzYWbDrW9zIHRvdGFsZXMiLGFjdGl2ZVRyYWRlcnM6IlRyYWRlcnMgYWN0aXZvcyIscGFzc2VkQ2hhbGxlbmdlczoiRGVzYWbDrW9zIGFwcm9iYWRvcyIsY3JlYXRlTmV3Q2hhbGxlbmdlOiJDcmVhciBudWV2byBkZXNhZsOtbyIsc2VhcmNoVXNlcnM6IkJ1c2NhciB1c3Vhcmlvcy4uLiIsYWN0aW9uczoiQWNjaW9uZXMiLGVkaXQ6IkVkaXRhciIsZGVsZXRlOiJFbGltaW5hciIsYmFsYW5jZToiQmFsYW5jZSIsc3RhdHVzOiJFc3RhZG8iLGFjdGl2ZToiQWN0aXZvIixmdW5kZWQ6IkZpbmFuY2lhZG8iLGZhaWxlZDoiRmFsbGlkbyIsYmFja1RvQ2hhbGxlbmdlczoiVm9sdmVyIGEgZGVzYWbDrW9zIn0sUEw6e2hvbWU6IlN0cm9uYSBnxYLDs3duYSIsYWJvdXQ6Ik8gbmFzIixmYXE6IkZBUSIsY2hhbGxlbmdlczoiV3l6d2FuaWEiLGxvZ2luOiJaYWxvZ3VqIHNpxJkiLGhlcm9UaXRsZTE6Ilpkb2LEhWTFuiBkbyAiLGhlcm9UaXRsZTI6IiB3IHN5bXVsb3dhbnltIixoZXJvVGl0bGUzOiJmaW5hbnNvd2FuaXUgemEgcG9tb2PEhSB3eXp3YW5pYSAxLWV0YXBvd2VnbyIsaGVyb0Rlc2M6Ikt1cCBzd29qZSB3eXp3YW5pZSB0cmFkaW5nb3dlIGkgcG9rYcW8IHN3b2rEhSBwcnpld2FnxJkuIFpkYcWCZcWbIHd5endhbmllPyBaZG9ixIVkxbogbmFzeiB1bmlrYWxueSBjZXJ0eWZpa2F0ISIsZmVhdHVyZTFUaXRsZToiRG8gMTAwJSB3YXJ0b8WbY2kgY2VydHlmaWthdHUiLGZlYXR1cmUxRGVzYzoiTWFrc3ltYWxpenVqIG5hZ3JvZHkgemEgc3ltdWxvd2FuZSB3eW5pa2kiLGZlYXR1cmUyVGl0bGU6IlN6eWJraWUgY2VydHlmaWthdHkiLGZlYXR1cmUyRGVzYzoiQ2VydHlmaWthdHkgd3lkYXdhbmUgdyBjacSFZ3UgMjQgZ29kemluIixmZWF0dXJlM1RpdGxlOiJTa2FsdWogc3dvamUga29udG8iLGZlYXR1cmUzRGVzYzoiUm96d2lqYWoga29udG8gZHppxJlraSBzdGHFgmVqIHd5ZGFqbm/Fm2NpIixmZWF0dXJlNFRpdGxlOiJCZXogbGltaXTDs3cgY3phc293eWNoIixmZWF0dXJlNERlc2M6IkhhbmRsdWogd2Ugd8WCYXNueW0gdGVtcGllIixyYXRlZE9uOiJuYSBUcnVzdHBpbG90Iixmb290ZXJEZXNjOiJGbG93aW5nRnVuZGVkOiBUd29qYSBwbGF0Zm9ybWEgZWR1a2FjamkgdHJhZGluZ293ZWogaSBzeW11bGFjamkgd3luaWvDs3cg4oCUIHVkb3dvZG5paiBzd29qZSB1bWllasSZdG5vxZtjaSEiLHF1aWNrTGlua3M6IlN6eWJraWUgbGlua2kiLHByb2dyYW1zOiJQcm9ncmFteSIscHJpY2luZzoiQ2VubmlrIixob3dJdFdvcmtzOiJKYWsgdG8gZHppYcWCYSIsc3VwcG9ydDoiV3NwYXJjaWUiLGNvbnRhY3RVczoiU2tvbnRha3R1aiBzacSZIHogbmFtaSIscHJpdmFjeVBvbGljeToiUG9saXR5a2EgcHJ5d2F0bm/Fm2NpIix0ZXJtc0NvbmRpdGlvbnM6IlJlZ3VsYW1pbiIsY29weXJpZ2h0OiLCqSAyMDI1IEZsb3dpbmdGdW5kZWQuIFdzemVsa2llIHByYXdhIHphc3RyemXFvG9uZS4iLHJldmlld3M6Ik9QSU5JRSIsaGVhckZyb21UcmFkZXJzOiJQb3PFgnVjaGFqIG5hc3p5Y2ggdHJhZGVyw7N3IixyZWFsVHJhZGVyczoiUHJhd2R6aXdpIHRyYWRlcnp5LiBQcmF3ZHppd2UgaGlzdG9yaWUuIFpvYmFjeiwgY28gdHJhZGVyenkgdGFjeSBqYWsgdHkgbcOzd2nEhSBvIEZsb3dpbmdGdW5kZWQuIixyZWFkTW9yZVJldmlld3M6IlByemVjenl0YWogd2nEmWNlaiBvcGluaWkiLGZhcVRpdGxlOiJOYWpjesSZxZtjaWVqIHphZGF3YW5lIHB5dGFuaWEiLGZhcVN1YnRpdGxlOiJTenlia2llIG9kcG93aWVkemkgbmEgY3rEmXN0ZSBweXRhbmlhIGRvdHljesSFY2UgbmFzenljaCB3eXp3YcWEIHRyYWRpbmdvd3ljaCIsZmFxMVE6IkN6eW0gamVzdCBwbGF0Zm9ybWEgc3ltdWxhY2ppIHRyYWRpbmd1PyIsZmFxMUE6IlBsYXRmb3JtYSBzeW11bGFjamkgdHJhZGluZ3UgemFwZXduaWEgxZtyb2Rvd2lza28gb2NlbnkgZWR1a2FjeWpuZWosIHcga3TDs3J5bSB0cmFkZXJ6eSBtb2fEhSB1ZG93b2RuacSHIHN3b2plIHVtaWVqxJl0bm/Fm2NpLiBQbyB6ZGFuaXUgbmFzemVnbyB3eXp3YW5pYSBld2FsdWFjeWpuZWdvIG90cnp5bWFzeiBrb250byBzeW11bGFjeWpuZSBkbyBkZW1vbnN0cm93YW5pYSBzd29pY2ggdW1pZWrEmXRub8WbY2kgaSB6ZG9ieXdhbmlhIGNlcnR5ZmlrYXTDs3cgd3luaWvDs3cuIixmYXEyUToiSWxlIGN6YXN1IHpham11amUgdXp5c2thbmllIGtvbnRhIHN5bXVsYWN5am5lZ28/IixmYXEyQToiQ3phcyB6YWxlxbx5IG9kIHR3b2ljaCB3eW5pa8OzdyB3IHRyYWRpbmd1LiBOYXN6ZSB3eXp3YW5pYSBuaWUgbWFqxIUgbGltaXR1IGN6YXNvd2Vnbywgd2nEmWMgbW/FvGVzeiBwb8Wbd2nEmWNpxIcgdHlsZSBjemFzdSwgaWxlIHBvdHJ6ZWJ1amVzei4gUG8gemRhbml1IG90cnp5bWFzeiBkYW5lIGRvc3TEmXBvd2UgZG8ga29udGEgc3ltdWxhY3lqbmVnbyB3IGNpxIVndSAyNCBnb2R6aW4uIixmYXEzUToiSmFraWUgc8SFIGNlbGUgenlza3UgaSBsaW1pdHkgZHJhd2Rvd24/IixmYXEzQToiRmF6YSAxIHd5bWFnYSAxMCUgY2VsdSB6eXNrdSB6IG1ha3N5bWFsbnltIGRyYXdkb3duZW0gMTAlLiBGYXphIDIgd3ltYWdhIDUlIGNlbHUgenlza3UgeiBtYWtzeW1hbG55bSBkcmF3ZG93bmVtIDEwJS4gWm9zdGHFgnkgemFwcm9qZWt0b3dhbmUgdGFrLCBhYnkgYnnFgnkgb3NpxIVnYWxuZSwgamVkbm9jemXFm25pZSBwcm9tdWrEhWMgZG9icmUgcHJha3R5a2kgemFyesSFZHphbmlhIHJ5enlraWVtLiIsdmlld0FsbEZhcXM6IlpvYmFjeiB3c3p5c3RraWUgRkFRIixjaG9vc2VKb3VybmV5OiJXWUJJRVJaIFNXT0rEhCBEUk9HxJgiLGZ1bmRpbmdKb3VybmV5VGl0bGU6IlR3b2phIGRyb2dhIHd5endhxYQgemFjenluYSBzacSZIHR1dGFqIixmdW5kaW5nSm91cm5leURlc2M6Ild5YmllcnogcGxhbiBrb250YSwga3TDs3J5IG5hamxlcGllaiBwYXN1amUgZG8gdHdvamVnbyBzdHlsdSB0cmFkaW5ndSwgY2Vsw7N3IGkgb3NvYmlzdHljaCBwcmVmZXJlbmNqaSDigJQgaSByb3pwb2N6bmlqIHd5endhbmllIGp1xbwgZHppxZshIixjaGFsbGVuZ2VEZXRhaWxzOiJTemN6ZWfDs8WCeSB3eXp3YW5pYSIsb25lU3RlcENoYWxsZW5nZToiV3l6d2FuaWUgMS1FdGFwb3dlIixmdW5kZWRTdGFnZToiRXRhcCB3eW5pa8OzdyIsdHJhZGluZ1BlcmlvZDoiT2tyZXMgdHJhZGluZ3UiLHVubGltaXRlZDoiTmllb2dyYW5pY3pvbnkiLGluZGVmaW5pdGU6Ik5pZW9rcmXFm2xvbnkiLG1pblRyYWRpbmdEYXlzOiJNaW4uIGRuaSB0cmFkaW5ndSIsZGF5czoiRG5pIixtYXhEYWlseUxvc3M6Ik1ha3MuIGR6aWVubmEgc3RyYXRhIixtYXhPdmVyYWxsTG9zczoiTWFrcy4gY2HFgmtvd2l0YSBzdHJhdGEiLHByb2ZpdFRhcmdldDoiQ2VsIHp5c2t1Iixub0NvbnNpc3RlbmN5UnVsZXM6IkJyYWsgemFzYWQgc3DDs2pub8WbY2kiLG10NUF2YWlsYWJsZToiUHJvZmVzam9uYWxuYSBwbGF0Zm9ybWEiLGxpdmVTdXBwb3J0RmFzdDoiU3p5YmtpZSB3c3BhcmNpZSAyNC83IixvbmVDaGFsbGVuZ2U6IjEgV3l6d2FuaWUg4oCiIDEgRXRhcCIscHJpY2U6IkNlbmE6IixnZXRGdW5kZWQ6IlJvenBvY3puaWogd3l6d2FuaWUg4oaSIixhZG1pblVzZXJBY2NvdW50czoiS29udGEgdcW8eXRrb3duaWvDs3ciLGFkbWluUGF5b3V0czoiV3lwxYJhdHkiLGFkbWluU3VwcG9ydDoiV3NwYXJjaWUiLGFkbWluRW1haWxNYW5hZ2VtZW50OiJaYXJ6xIVkemFuaWUgZW1haWxhbWkiLGFkbWluRW1haWxTZXR0aW5nczoiVXN0YXdpZW5pYSBlbWFpbCIsdHJhZGVyQ2hhbGxlbmdlczoiV3l6d2FuaWEiLHRyYWRlclBheW91dHM6Ild5cMWCYXR5Iix0cmFkZXJDZXJ0aWZpY2F0ZXM6IkNlcnR5ZmlrYXR5Iix0cmFkZXJJbmZvcm1hdGlvbjoiSW5mb3JtYWNqZSIsdHJhZGVyU3VwcG9ydDoiV3NwYXJjaWUiLGxvZ291dDoiV3lsb2d1aiIsd2VsY29tZToiV2l0YWoiLHRvdGFsQ2hhbGxlbmdlczoiV3N6eXN0a2llIHd5endhbmlhIixhY3RpdmVUcmFkZXJzOiJBa3R5d25pIHRyYWRlcnp5IixwYXNzZWRDaGFsbGVuZ2VzOiJaZGFuZSB3eXp3YW5pYSIsY3JlYXRlTmV3Q2hhbGxlbmdlOiJVdHfDs3J6IG5vd2Ugd3l6d2FuaWUiLHNlYXJjaFVzZXJzOiJTenVrYWogdcW8eXRrb3duaWvDs3cuLi4iLGFjdGlvbnM6IkFrY2plIixlZGl0OiJFZHl0dWoiLGRlbGV0ZToiVXN1xYQiLGJhbGFuY2U6IlNhbGRvIixzdGF0dXM6IlN0YXR1cyIsYWN0aXZlOiJBa3R5d255IixmdW5kZWQ6IkZpbmFuc293YW55IixmYWlsZWQ6Ik5pZXVkYW55IixiYWNrVG9DaGFsbGVuZ2VzOiJQb3dyw7N0IGRvIHd5endhxYQifSxERTp7aG9tZToiU3RhcnRzZWl0ZSIsYWJvdXQ6IsOcYmVyIHVucyIsZmFxOiJGQVEiLGNoYWxsZW5nZXM6IkhlcmF1c2ZvcmRlcnVuZ2VuIixsb2dpbjoiQW5tZWxkZW4iLGhlcm9UaXRsZTE6IkVyaGFsdGVuIFNpZSBiaXMgenUgIixoZXJvVGl0bGUyOiIgYW4gc2ltdWxpZXJ0ZXIiLGhlcm9UaXRsZTM6IkZpbmFuemllcnVuZyBtaXQgZWluZXIgMS1TY2hyaXR0LUNoYWxsZW5nZSIsaGVyb0Rlc2M6IkthdWZlbiBTaWUgSWhyZSBUcmFkaW5nLUNoYWxsZW5nZSB1bmQgemVpZ2VuIFNpZSBJaHJlbiBWb3J0ZWlsLiBDaGFsbGVuZ2UgYmVzdGFuZGVuPyBFcmhhbHRlbiBTaWUgdW5zZXIgZWluemlnYXJ0aWdlcyBaZXJ0aWZpa2F0ISIsZmVhdHVyZTFUaXRsZToiQmlzIHp1IDEwMCUgWmVydGlmaWthdHdlcnQiLGZlYXR1cmUxRGVzYzoiTWF4aW1pZXJlbiBTaWUgSWhyZSBzaW11bGllcnRlbiBMZWlzdHVuZ3NwcsOkbWllbiIsZmVhdHVyZTJUaXRsZToiU2NobmVsbGUgWmVydGlmaWthdGUiLGZlYXR1cmUyRGVzYzoiWmVydGlmaWthdGUgaW5uZXJoYWxiIHZvbiAyNCBTdHVuZGVuIGF1c2dlc3RlbGx0IixmZWF0dXJlM1RpdGxlOiJTa2FsaWVyZW4gU2llIElociBLb250byIsZmVhdHVyZTNEZXNjOiJFbnR3aWNrZWxuIFNpZSBJaHIgS29udG8gbWl0IGtvbnN0YW50ZXIgTGVpc3R1bmciLGZlYXR1cmU0VGl0bGU6IktlaW5lIFplaXRsaW1pdHMiLGZlYXR1cmU0RGVzYzoiSGFuZGVsbiBTaWUgaW4gSWhyZW0gZWlnZW5lbiBUZW1wbyIscmF0ZWRPbjoiYXVmIFRydXN0cGlsb3QiLGZvb3RlckRlc2M6IkZsb3dpbmdGdW5kZWQ6IElocmUgUGxhdHRmb3JtIGbDvHIgVHJhZGluZy1BdXNiaWxkdW5nIHVuZCBMZWlzdHVuZ3NzaW11bGF0aW9uIOKAlCBiZXdlaXNlbiBTaWUgSWhyZSBGw6RoaWdrZWl0ZW4hIixxdWlja0xpbmtzOiJTY2huZWxsbGlua3MiLHByb2dyYW1zOiJQcm9ncmFtbWUiLHByaWNpbmc6IlByZWlzZSIsaG93SXRXb3JrczoiV2llIGVzIGZ1bmt0aW9uaWVydCIsc3VwcG9ydDoiVW50ZXJzdMO8dHp1bmciLGNvbnRhY3RVczoiS29udGFrdGllcmVuIFNpZSB1bnMiLHByaXZhY3lQb2xpY3k6IkRhdGVuc2NodXR6cmljaHRsaW5pZSIsdGVybXNDb25kaXRpb25zOiJHZXNjaMOkZnRzYmVkaW5ndW5nZW4iLGNvcHlyaWdodDoiwqkgMjAyNSBGbG93aW5nRnVuZGVkLiBBbGxlIFJlY2h0ZSB2b3JiZWhhbHRlbi4iLHJldmlld3M6IkJFV0VSVFVOR0VOIixoZWFyRnJvbVRyYWRlcnM6IkjDtnJlbiBTaWUgdm9uIHVuc2VyZW4gVHJhZGVybiIscmVhbFRyYWRlcnM6IkVjaHRlIFRyYWRlci4gRWNodGUgR2VzY2hpY2h0ZW4uIFNlaGVuIFNpZSwgd2FzIFRyYWRlciB3aWUgU2llIMO8YmVyIEZsb3dpbmdGdW5kZWQgc2FnZW4uIixyZWFkTW9yZVJldmlld3M6Ik1laHIgQmV3ZXJ0dW5nZW4gbGVzZW4iLGZhcVRpdGxlOiJIw6R1ZmlnIGdlc3RlbGx0ZSBGcmFnZW4iLGZhcVN1YnRpdGxlOiJTY2huZWxsZSBBbnR3b3J0ZW4gYXVmIGjDpHVmaWdlIEZyYWdlbiB6dSB1bnNlcmVuIFRyYWRpbmctQ2hhbGxlbmdlcyIsZmFxMVE6IldhcyBpc3QgZWluZSBUcmFkaW5nLVNpbXVsYXRpb25zcGxhdHRmb3JtPyIsZmFxMUE6IkVpbmUgVHJhZGluZy1TaW11bGF0aW9uc3BsYXR0Zm9ybSBiaWV0ZXQgZWluZSBCaWxkdW5nc2Jld2VydHVuZ3N1bWdlYnVuZywgaW4gZGVyIFRyYWRlciBpaHJlIEbDpGhpZ2tlaXRlbiB1bnRlciBCZXdlaXMgc3RlbGxlbiBrw7ZubmVuLiBOYWNoIEJlc3RlaGVuIHVuc2VyZXIgRXZhbHVpZXJ1bmdzLUNoYWxsZW5nZSBlcmhhbHRlbiBTaWUgZWluIFNpbXVsYXRpb25za29udG8genVyIERlbW9uc3RyYXRpb24gSWhyZXIgSGFuZGVsc3ByYXhpcyB1bmQgenVtIEVyd2VyYiB2b24gTGVpc3R1bmdzemVydGlmaWthdGVuLiIsZmFxMlE6IldpZSBsYW5nZSBkYXVlcnQgZXMsIGVpbiBTaW11bGF0aW9uc2tvbnRvIHp1IGVyaGFsdGVuPyIsZmFxMkE6IkRpZSBaZWl0IGjDpG5ndCB2b24gSWhyZXIgVHJhZGluZy1QZXJmb3JtYW5jZSBhYi4gVW5zZXJlIENoYWxsZW5nZXMgaGFiZW4ga2VpbmUgWmVpdGJlZ3Jlbnp1bmcsIHNvZGFzcyBTaWUgc2ljaCBzbyB2aWVsIFplaXQgbmVobWVuIGvDtm5uZW4sIHdpZSBTaWUgYmVuw7Z0aWdlbi4gTmFjaCBCZXN0ZWhlbiBlcmhhbHRlbiBTaWUgSWhyZSBTaW11bGF0aW9uc2tvbnRvLURhdGVuIGlubmVyaGFsYiB2b24gMjQgU3R1bmRlbi4iLGZhcTNROiJXYXMgc2luZCBkaWUgR2V3aW5uemllbGUgdW5kIERyYXdkb3duLUxpbWl0cz8iLGZhcTNBOiJQaGFzZSAxIGVyZm9yZGVydCBlaW4gMTAlIEdld2lubnppZWwgbWl0IG1heGltYWxlbSAxMCUgRHJhd2Rvd24uIFBoYXNlIDIgZXJmb3JkZXJ0IGVpbiA1JSBHZXdpbm56aWVsIG1pdCBtYXhpbWFsZW0gMTAlIERyYXdkb3duLiBEaWVzZSBzaW5kIHNvIGtvbnppcGllcnQsIGRhc3Mgc2llIGVycmVpY2hiYXIgc2luZCB1bmQgZ2xlaWNoemVpdGlnIGd1dGUgUmlzaWtvbWFuYWdlbWVudC1QcmFrdGlrZW4gZsO2cmRlcm4uIix2aWV3QWxsRmFxczoiQWxsZSBGQVFzIGFuemVpZ2VuIixjaG9vc2VKb3VybmV5OiJXw4RITEVOIFNJRSBJSFJFTiBXRUciLGZ1bmRpbmdKb3VybmV5VGl0bGU6IklocmUgQ2hhbGxlbmdlLVJlaXNlIGJlZ2lubnQgaGllciIsZnVuZGluZ0pvdXJuZXlEZXNjOiJXw6RobGVuIFNpZSBkZW4gS29udG9wbGFuLCBkZXIgYW0gYmVzdGVuIHp1IElocmVtIFRyYWRpbmctU3RpbCwgSWhyZW4gWmllbGVuIHVuZCBwZXJzw7ZubGljaGVuIFZvcmxpZWJlbiBwYXNzdCDigJQgdW5kIHN0YXJ0ZW4gU2llIElocmUgQ2hhbGxlbmdlIG5vY2ggaGV1dGUhIixjaGFsbGVuZ2VEZXRhaWxzOiJDaGFsbGVuZ2UtRGV0YWlscyIsb25lU3RlcENoYWxsZW5nZToiMS1TY2hyaXR0LUNoYWxsZW5nZSIsZnVuZGVkU3RhZ2U6IkxlaXN0dW5nc3BoYXNlIix0cmFkaW5nUGVyaW9kOiJUcmFkaW5nLVBlcmlvZGUiLHVubGltaXRlZDoiVW5iZWdyZW56dCIsaW5kZWZpbml0ZToiVW5iZWZyaXN0ZXQiLG1pblRyYWRpbmdEYXlzOiJNaW4uIFRyYWRpbmctVGFnZSIsZGF5czoiVGFnZSIsbWF4RGFpbHlMb3NzOiJNYXguIHTDpGdsaWNoZXIgVmVybHVzdCIsbWF4T3ZlcmFsbExvc3M6Ik1heC4gR2VzYW10dmVybHVzdCIscHJvZml0VGFyZ2V0OiJHZXdpbm56aWVsIixub0NvbnNpc3RlbmN5UnVsZXM6IktlaW5lIEtvbnNpc3RlbnpyZWdlbG4iLG10NUF2YWlsYWJsZToiUHJvZmVzc2lvbmVsbGUgUGxhdHRmb3JtIixsaXZlU3VwcG9ydEZhc3Q6IjI0Lzcgc2NobmVsbGVyIExpdmUtU3VwcG9ydCIsb25lQ2hhbGxlbmdlOiIxIENoYWxsZW5nZSDigKIgMSBTY2hyaXR0IixwcmljZToiUHJlaXM6IixnZXRGdW5kZWQ6IkNoYWxsZW5nZSBzdGFydGVuIOKGkiIsYWRtaW5Vc2VyQWNjb3VudHM6IkJlbnV0emVya29udGVuIixhZG1pblBheW91dHM6IkF1c3phaGx1bmdlbiIsYWRtaW5TdXBwb3J0OiJTdXBwb3J0IixhZG1pbkVtYWlsTWFuYWdlbWVudDoiRS1NYWlsLVZlcndhbHR1bmciLGFkbWluRW1haWxTZXR0aW5nczoiRS1NYWlsLUVpbnN0ZWxsdW5nZW4iLHRyYWRlckNoYWxsZW5nZXM6IkNoYWxsZW5nZXMiLHRyYWRlclBheW91dHM6IkF1c3phaGx1bmdlbiIsdHJhZGVyQ2VydGlmaWNhdGVzOiJaZXJ0aWZpa2F0ZSIsdHJhZGVySW5mb3JtYXRpb246IkluZm9ybWF0aW9uZW4iLHRyYWRlclN1cHBvcnQ6IlN1cHBvcnQiLGxvZ291dDoiQWJtZWxkZW4iLHdlbGNvbWU6IldpbGxrb21tZW4iLHRvdGFsQ2hhbGxlbmdlczoiR2VzYW10LUNoYWxsZW5nZXMiLGFjdGl2ZVRyYWRlcnM6IkFrdGl2ZSBUcmFkZXIiLHBhc3NlZENoYWxsZW5nZXM6IkJlc3RhbmRlbmUgQ2hhbGxlbmdlcyIsY3JlYXRlTmV3Q2hhbGxlbmdlOiJOZXVlIENoYWxsZW5nZSBlcnN0ZWxsZW4iLHNlYXJjaFVzZXJzOiJCZW51dHplciBzdWNoZW4uLi4iLGFjdGlvbnM6IkFrdGlvbmVuIixlZGl0OiJCZWFyYmVpdGVuIixkZWxldGU6IkzDtnNjaGVuIixiYWxhbmNlOiJTYWxkbyIsc3RhdHVzOiJTdGF0dXMiLGFjdGl2ZToiQWt0aXYiLGZ1bmRlZDoiRmluYW56aWVydCIsZmFpbGVkOiJGZWhsZ2VzY2hsYWdlbiIsYmFja1RvQ2hhbGxlbmdlczoiWnVyw7xjayB6dSBDaGFsbGVuZ2VzIn0sUFQ6e2hvbWU6Ikluw61jaW8iLGFib3V0OiJTb2JyZSBuw7NzIixmYXE6IlBlcmd1bnRhcyBmcmVxdWVudGVzIixjaGFsbGVuZ2VzOiJEZXNhZmlvcyIsbG9naW46IkVudHJhciIsaGVyb1RpdGxlMToiT2J0ZW5oYSBhdMOpICIsaGVyb1RpdGxlMjoiIGVtIGZpbmFuY2lhbWVudG8iLGhlcm9UaXRsZTM6InNpbXVsYWRvIGNvbSB1bSBkZXNhZmlvIGRlIDEgZXRhcGEiLGhlcm9EZXNjOiJDb21wcmUgc2V1IGRlc2FmaW8gZGUgdHJhZGluZyBlIG1vc3RyZSBzdWEgdmFudGFnZW0uIFBhc3NvdSBubyBkZXNhZmlvPyBPYnRlbmhhIG5vc3NvIGNlcnRpZmljYWRvIMO6bmljbyEiLGZlYXR1cmUxVGl0bGU6IkF0w6kgMTAwJSBkbyB2YWxvciBkbyBjZXJ0aWZpY2FkbyIsZmVhdHVyZTFEZXNjOiJNYXhpbWl6ZSBzdWFzIHJlY29tcGVuc2FzIGRlIGRlc2VtcGVuaG8gc2ltdWxhZG8iLGZlYXR1cmUyVGl0bGU6IkNlcnRpZmljYWRvcyByw6FwaWRvcyIsZmVhdHVyZTJEZXNjOiJDZXJ0aWZpY2Fkb3MgZW1pdGlkb3MgZW0gMjQgaG9yYXMiLGZlYXR1cmUzVGl0bGU6IkVzY2FsZSBzdWEgY29udGEiLGZlYXR1cmUzRGVzYzoiRGVzZW52b2x2YSBzdWEgY29udGEgY29tIGRlc2VtcGVuaG8gY29uc2lzdGVudGUiLGZlYXR1cmU0VGl0bGU6IlNlbSBsaW1pdGVzIGRlIHRlbXBvIixmZWF0dXJlNERlc2M6Ik5lZ29jaWUgbm8gc2V1IHByw7NwcmlvIHJpdG1vIixyYXRlZE9uOiJubyBUcnVzdHBpbG90Iixmb290ZXJEZXNjOiJGbG93aW5nRnVuZGVkOiBTdWEgcGxhdGFmb3JtYSBkZSBlZHVjYcOnw6NvIGUgc2ltdWxhw6fDo28gZGUgdHJhZGluZyDigJQgcHJvdmUgc3VhcyBoYWJpbGlkYWRlcyEiLHF1aWNrTGlua3M6IkxpbmtzIHLDoXBpZG9zIixwcm9ncmFtczoiUHJvZ3JhbWFzIixwcmljaW5nOiJQcmXDp29zIixob3dJdFdvcmtzOiJDb21vIGZ1bmNpb25hIixzdXBwb3J0OiJTdXBvcnRlIixjb250YWN0VXM6IkZhbGUgY29ub3NjbyIscHJpdmFjeVBvbGljeToiUG9sw610aWNhIGRlIHByaXZhY2lkYWRlIix0ZXJtc0NvbmRpdGlvbnM6IlRlcm1vcyBlIGNvbmRpw6fDtWVzIixjb3B5cmlnaHQ6IsKpIDIwMjUgRmxvd2luZ0Z1bmRlZC4gVG9kb3Mgb3MgZGlyZWl0b3MgcmVzZXJ2YWRvcy4iLHJldmlld3M6IkFWQUxJQcOHw5VFUyIsaGVhckZyb21UcmFkZXJzOiJPdcOnYSBub3Nzb3MgdHJhZGVycyIscmVhbFRyYWRlcnM6IlRyYWRlcnMgcmVhaXMuIEhpc3TDs3JpYXMgcmVhaXMuIFZlamEgbyBxdWUgdHJhZGVycyBjb21vIHZvY8OqIGVzdMOjbyBkaXplbmRvIHNvYnJlIEZsb3dpbmdGdW5kZWQuIixyZWFkTW9yZVJldmlld3M6IkxlciBtYWlzIGF2YWxpYcOnw7VlcyIsZmFxVGl0bGU6IlBlcmd1bnRhcyBmcmVxdWVudGVzIixmYXFTdWJ0aXRsZToiUmVzcG9zdGFzIHLDoXBpZGFzIHBhcmEgcGVyZ3VudGFzIGNvbXVucyBzb2JyZSBub3Nzb3MgZGVzYWZpb3MgZGUgdHJhZGluZyIsZmFxMVE6Ik8gcXVlIMOpIHVtYSBwbGF0YWZvcm1hIGRlIHNpbXVsYcOnw6NvIGRlIHRyYWRpbmc/IixmYXExQToiVW1hIHBsYXRhZm9ybWEgZGUgc2ltdWxhw6fDo28gZGUgdHJhZGluZyBmb3JuZWNlIHVtIGFtYmllbnRlIGRlIGF2YWxpYcOnw6NvIGVkdWNhY2lvbmFsIG9uZGUgb3MgdHJhZGVycyBwb2RlbSBwcm92YXIgc3VhcyBoYWJpbGlkYWRlcy4gQXDDs3MgcGFzc2FyIGVtIG5vc3NvIGRlc2FmaW8gZGUgYXZhbGlhw6fDo28sIHZvY8OqIHJlY2ViZXLDoSB1bWEgY29udGEgZGUgc2ltdWxhw6fDo28gcGFyYSBkZW1vbnN0cmFyIHN1YSBwcsOhdGljYSBkZSB0cmFkaW5nIGUgb2J0ZXIgY2VydGlmaWNhZG9zIGRlIGRlc2VtcGVuaG8uIixmYXEyUToiUXVhbnRvIHRlbXBvIGxldmEgcGFyYSBvYnRlciB1bWEgY29udGEgZGUgc2ltdWxhw6fDo28/IixmYXEyQToiTyB0ZW1wbyBkZXBlbmRlIGRvIHNldSBkZXNlbXBlbmhvIGRlIHRyYWRpbmcuIE7Do28gaMOhIGxpbWl0ZSBkZSB0ZW1wbyBlbSBub3Nzb3MgZGVzYWZpb3MsIGVudMOjbyB2b2PDqiBwb2RlIGxldmFyIG8gdGVtcG8gcXVlIHByZWNpc2FyLiBBc3NpbSBxdWUgcGFzc2FyLCByZWNlYmVyw6Egc3VhcyBjcmVkZW5jaWFpcyBkZSBjb250YSBkZSBzaW11bGHDp8OjbyBlbSAyNCBob3Jhcy4iLGZhcTNROiJRdWFpcyBzw6NvIGFzIG1ldGFzIGRlIGx1Y3JvIGUgbGltaXRlcyBkZSBkcmF3ZG93bj8iLGZhcTNBOiJBIEZhc2UgMSByZXF1ZXIgdW1hIG1ldGEgZGUgbHVjcm8gZGUgMTAlIGNvbSB1bSBkcmF3ZG93biBtw6F4aW1vIGRlIDEwJS4gQSBGYXNlIDIgcmVxdWVyIHVtYSBtZXRhIGRlIGx1Y3JvIGRlIDUlIGNvbSB1bSBkcmF3ZG93biBtw6F4aW1vIGRlIDEwJS4gRXN0ZXMgc8OjbyBwcm9qZXRhZG9zIHBhcmEgc2VyZW0gYWxjYW7Dp8OhdmVpcyBlbnF1YW50byBwcm9tb3ZlbSBib2FzIHByw6F0aWNhcyBkZSBnZXJlbmNpYW1lbnRvIGRlIHJpc2NvLiIsdmlld0FsbEZhcXM6IlZlciB0b2RhcyBhcyBwZXJndW50YXMiLGNob29zZUpvdXJuZXk6IkVTQ09MSEEgU1VBIEpPUk5BREEiLGZ1bmRpbmdKb3VybmV5VGl0bGU6IlN1YSBqb3JuYWRhIGRlIGRlc2FmaW8gY29tZcOnYSBhcXVpIixmdW5kaW5nSm91cm5leURlc2M6IkVzY29saGEgbyBwbGFubyBkZSBjb250YSBxdWUgbWVsaG9yIHNlIGFkYXB0YSBhbyBzZXUgZXN0aWxvIGRlIHRyYWRpbmcsIG9iamV0aXZvcyBlIHByZWZlcsOqbmNpYXMgcGVzc29haXMg4oCUIGUgY29tZWNlIHNldSBkZXNhZmlvIGhvamUhIixjaGFsbGVuZ2VEZXRhaWxzOiJEZXRhbGhlcyBkbyBkZXNhZmlvIixvbmVTdGVwQ2hhbGxlbmdlOiJEZXNhZmlvIGRlIDEgRXRhcGEiLGZ1bmRlZFN0YWdlOiJGYXNlIGRlIGRlc2VtcGVuaG8iLHRyYWRpbmdQZXJpb2Q6IlBlcsOtb2RvIGRlIHRyYWRpbmciLHVubGltaXRlZDoiSWxpbWl0YWRvIixpbmRlZmluaXRlOiJJbmRlZmluaWRvIixtaW5UcmFkaW5nRGF5czoiRGlhcyBtw61uaW1vcyBkZSB0cmFkaW5nIixkYXlzOiJEaWFzIixtYXhEYWlseUxvc3M6IlBlcmRhIGRpw6FyaWEgbcOheGltYSIsbWF4T3ZlcmFsbExvc3M6IlBlcmRhIHRvdGFsIG3DoXhpbWEiLHByb2ZpdFRhcmdldDoiTWV0YSBkZSBsdWNybyIsbm9Db25zaXN0ZW5jeVJ1bGVzOiJTZW0gcmVncmFzIGRlIGNvbnNpc3TDqm5jaWEiLG10NUF2YWlsYWJsZToiUGxhdGFmb3JtYSBwcm9maXNzaW9uYWwiLGxpdmVTdXBwb3J0RmFzdDoiU3Vwb3J0ZSByw6FwaWRvIDI0LzciLG9uZUNoYWxsZW5nZToiMSBEZXNhZmlvIOKAoiAxIEV0YXBhIixwcmljZToiUHJlw6dvOiIsZ2V0RnVuZGVkOiJJbmljaWFyIGRlc2FmaW8g4oaSIixhZG1pblVzZXJBY2NvdW50czoiQ29udGFzIGRlIHVzdcOhcmlvIixhZG1pblBheW91dHM6IlBhZ2FtZW50b3MiLGFkbWluU3VwcG9ydDoiU3Vwb3J0ZSIsYWRtaW5FbWFpbE1hbmFnZW1lbnQ6Ikdlc3TDo28gZGUgZS1tYWlscyIsYWRtaW5FbWFpbFNldHRpbmdzOiJDb25maWd1cmHDp8O1ZXMgZGUgZS1tYWlsIix0cmFkZXJDaGFsbGVuZ2VzOiJEZXNhZmlvcyIsdHJhZGVyUGF5b3V0czoiUGFnYW1lbnRvcyIsdHJhZGVyQ2VydGlmaWNhdGVzOiJDZXJ0aWZpY2Fkb3MiLHRyYWRlckluZm9ybWF0aW9uOiJJbmZvcm1hw6fDtWVzIix0cmFkZXJTdXBwb3J0OiJTdXBvcnRlIixsb2dvdXQ6IlNhaXIiLHdlbGNvbWU6IkJlbS12aW5kbyIsdG90YWxDaGFsbGVuZ2VzOiJEZXNhZmlvcyB0b3RhaXMiLGFjdGl2ZVRyYWRlcnM6IlRyYWRlcnMgYXRpdm9zIixwYXNzZWRDaGFsbGVuZ2VzOiJEZXNhZmlvcyBhcHJvdmFkb3MiLGNyZWF0ZU5ld0NoYWxsZW5nZToiQ3JpYXIgbm92byBkZXNhZmlvIixzZWFyY2hVc2VyczoiUGVzcXVpc2FyIHVzdcOhcmlvcy4uLiIsYWN0aW9uczoiQcOnw7VlcyIsZWRpdDoiRWRpdGFyIixkZWxldGU6IkV4Y2x1aXIiLGJhbGFuY2U6IlNhbGRvIixzdGF0dXM6IlN0YXR1cyIsYWN0aXZlOiJBdGl2byIsZnVuZGVkOiJGaW5hbmNpYWRvIixmYWlsZWQ6IkZhbGhhZG8iLGJhY2tUb0NoYWxsZW5nZXM6IlZvbHRhciBhb3MgZGVzYWZpb3MifX0sWDY9Zy5jcmVhdGVDb250ZXh0KHZvaWQgMCk7ZnVuY3Rpb24gSmllKHtjaGlsZHJlbjplfSl7Y29uc3RbdCxyXT1nLnVzZVN0YXRlKCJFTiIpLG49YT0+WGllW3RdW2FdfHxhO3JldHVybiBzLmpzeChYNi5Qcm92aWRlcix7dmFsdWU6e2xhbmd1YWdlOnQsc2V0TGFuZ3VhZ2U6cix0Om59LGNoaWxkcmVuOmV9KX1mdW5jdGlvbiBOdygpe2NvbnN0IGU9Zy51c2VDb250ZXh0KFg2KTtpZihlPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigidXNlTGFuZ3VhZ2UgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIExhbmd1YWdlUHJvdmlkZXIiKTtyZXR1cm4gZX1mdW5jdGlvbiBaaWUoKXtyZXR1cm4gcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImJnLWdyYWRpZW50LXRvLXIgZnJvbS1hbWJlci02MDAgdmlhLXllbGxvdy01MDAgdG8tYW1iZXItNjAwIHRleHQtd2hpdGUgdGV4dC1jZW50ZXIgcHktMiB0ZXh0LXNtIGZvbnQtYm9sZCBzaGFkb3ctbGciLGNoaWxkcmVuOltzLmpzeCgic3BhbiIse2NsYXNzTmFtZToibXItMiIsY2hpbGRyZW46IvCfjokifSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZvbnQtYmxhY2siLGNoaWxkcmVuOiJGTEFTSCBPRkZFUjoifSksIiBDZWxlYnJhdGUgd2l0aCBEb3VibGUgQ2hhbGxlbmdlcyEiLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJtbC0yIixjaGlsZHJlbjoi8J+OgiJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToibWwtMiBmb250LWJsYWNrIGJnLXdoaXRlIHRleHQtYW1iZXItNjAwIHB4LTIgcHktMC41IHJvdW5kZWQgdGV4dC14cyIsY2hpbGRyZW46IkJVWSAxIEdFVCAxIEZSRUUifSldfSl9ZnVuY3Rpb24gZW9lKCl7cmV0dXJuIHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InctZnVsbCBiZy1hbWJlci00MDAgYm9yZGVyLWItMiBib3JkZXItYW1iZXItNjAwIHB5LTIgcHgtNCB0ZXh0LWNlbnRlciB6LVsxMDBdIHJlbGF0aXZlIixjaGlsZHJlbjpzLmpzeHMoInAiLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHNtOnRleHQteHMgdGV4dC1hbWJlci05NTAgZm9udC1ib2xkIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xLjUgbGVhZGluZy1zbnVnIixjaGlsZHJlbjpbcy5qc3goT3Ise2NsYXNzTmFtZToiaC0zLjUgdy0zLjUgZmxleC1zaHJpbmstMCJ9KSxzLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6InVwcGVyY2FzZSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoi4pqgIEVkdWNhdGlvbmFsIFNpbXVsYXRpb24gT25seSDCtyBObyBSZWFsIE1vbmV5IMK3IE5vdCBhIEJyb2tlciwgRXhjaGFuZ2UsIEN1c3RvZGlhbiwgb3IgRmluYW5jaWFsIEFkdmlzZXIifSkscy5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJoaWRkZW4gc206aW5saW5lIixjaGlsZHJlbjpbJyDigJQgQWxsIGJhbGFuY2VzLCBwcm9maXRzLCAicGF5b3V0cywiIGFuZCBjZXJ0aWZpY2F0ZXMgc2hvd24gYW55d2hlcmUgb24gdGhpcyBzaXRlIGFyZSAnLHMuanN4KCJ1Iix7Y2hpbGRyZW46InNpbXVsYXRlZCBlZHVjYXRpb25hbCBtZXRyaWNzIHdpdGggbm8gbW9uZXRhcnkgdmFsdWUifSksIi4iXX0pXX0pXX0pfSl9ZnVuY3Rpb24gdG9lKCl7cmV0dXJuIHMuanN4KCJkaXYiLHsiYXJpYS1sYWJlbCI6IkVkdWNhdGlvbmFsIHNpbXVsYXRpb24gb25seSDigJQgbm8gcmVhbCBtb25leSIsY2xhc3NOYW1lOiJmaXhlZCBib3R0b20tMiByaWdodC0yIHotWzE1MF0gcG9pbnRlci1ldmVudHMtbm9uZSBzZWxlY3Qtbm9uZSIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgcm91bmRlZC1mdWxsIGJnLWFtYmVyLTUwMC85NSB0ZXh0LWFtYmVyLTk1MCBib3JkZXItMiBib3JkZXItYW1iZXItNzAwIHNoYWRvdy1sZyBweC0yLjUgcHktMSB0ZXh0LVsxMHB4XSBzbTp0ZXh0LVsxMXB4XSBmb250LWV4dHJhYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIiLGNoaWxkcmVuOltzLmpzeChPcix7Y2xhc3NOYW1lOiJoLTMgdy0zIn0pLHMuanN4KCJzcGFuIix7Y2hpbGRyZW46IlNpbXVsYXRpb24gwrcgTm8gUmVhbCBNb25leSJ9KV19KX0pfXZhciBMQz1mdW5jdGlvbihlLHQpe3JldHVybiBMQz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24ocixuKXtyLl9fcHJvdG9fXz1ufXx8ZnVuY3Rpb24ocixuKXtmb3IodmFyIGEgaW4gbilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixhKSYmKHJbYV09blthXSl9LExDKGUsdCl9O2Z1bmN0aW9uIEo2KGUsdCl7aWYodHlwZW9mIHQhPSJmdW5jdGlvbiImJnQhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcodCkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7TEMoZSx0KTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfWUucHJvdG90eXBlPXQ9PT1udWxsP09iamVjdC5jcmVhdGUodCk6KHIucHJvdG90eXBlPXQucHJvdG90eXBlLG5ldyByKX12YXIgenM9ZnVuY3Rpb24oKXtyZXR1cm4genM9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciByLG49MSxhPWFyZ3VtZW50cy5sZW5ndGg7bjxhO24rKyl7cj1hcmd1bWVudHNbbl07Zm9yKHZhciBpIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsaSkmJih0W2ldPXJbaV0pfXJldHVybiB0fSx6cy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIFdsKGUsdCl7dmFyIHI9e307Zm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJnQuaW5kZXhPZihuKTwwJiYocltuXT1lW25dKTtpZihlIT1udWxsJiZ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz09ImZ1bmN0aW9uIilmb3IodmFyIGE9MCxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7YTxuLmxlbmd0aDthKyspdC5pbmRleE9mKG5bYV0pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLG5bYV0pJiYocltuW2FdXT1lW25bYV1dKTtyZXR1cm4gcn1mdW5jdGlvbiBaNihlLHQscixuKXt2YXIgYT1hcmd1bWVudHMubGVuZ3RoLGk9YTwzP3Q6bj09PW51bGw/bj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQscik6bixvO2lmKHR5cGVvZiBSZWZsZWN0PT0ib2JqZWN0IiYmdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGU9PSJmdW5jdGlvbiIpaT1SZWZsZWN0LmRlY29yYXRlKGUsdCxyLG4pO2Vsc2UgZm9yKHZhciBsPWUubGVuZ3RoLTE7bD49MDtsLS0pKG89ZVtsXSkmJihpPShhPDM/byhpKTphPjM/byh0LHIsaSk6byh0LHIpKXx8aSk7cmV0dXJuIGE+MyYmaSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQscixpKSxpfWZ1bmN0aW9uIGVIKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKHIsbil7dChyLG4sZSl9fWZ1bmN0aW9uIHRIKGUsdCxyLG4sYSxpKXtmdW5jdGlvbiBvKHcpe2lmKHchPT12b2lkIDAmJnR5cGVvZiB3IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHd9Zm9yKHZhciBsPW4ua2luZCxjPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixkPSF0JiZlP24uc3RhdGljP2U6ZS5wcm90b3R5cGU6bnVsbCx1PXR8fChkP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZCxuLm5hbWUpOnt9KSxBLGY9ITEsaD1yLmxlbmd0aC0xO2g+PTA7aC0tKXt2YXIgcD17fTtmb3IodmFyIG0gaW4gbilwW21dPW09PT0iYWNjZXNzIj97fTpuW21dO2Zvcih2YXIgbSBpbiBuLmFjY2VzcylwLmFjY2Vzc1ttXT1uLmFjY2Vzc1ttXTtwLmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHcpe2lmKGYpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7aS5wdXNoKG8od3x8bnVsbCkpfTt2YXIgeD0oMCxyW2hdKShsPT09ImFjY2Vzc29yIj97Z2V0OnUuZ2V0LHNldDp1LnNldH06dVtjXSxwKTtpZihsPT09ImFjY2Vzc29yIil7aWYoeD09PXZvaWQgMCljb250aW51ZTtpZih4PT09bnVsbHx8dHlwZW9mIHghPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhBPW8oeC5nZXQpKSYmKHUuZ2V0PUEpLChBPW8oeC5zZXQpKSYmKHUuc2V0PUEpLChBPW8oeC5pbml0KSkmJmEudW5zaGlmdChBKX1lbHNlKEE9byh4KSkmJihsPT09ImZpZWxkIj9hLnVuc2hpZnQoQSk6dVtjXT1BKX1kJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZCxuLm5hbWUsdSksZj0hMH1mdW5jdGlvbiBySChlLHQscil7Zm9yKHZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MixhPTA7YTx0Lmxlbmd0aDthKyspcj1uP3RbYV0uY2FsbChlLHIpOnRbYV0uY2FsbChlKTtyZXR1cm4gbj9yOnZvaWQgMH1mdW5jdGlvbiBuSChlKXtyZXR1cm4gdHlwZW9mIGU9PSJzeW1ib2wiP2U6IiIuY29uY2F0KGUpfWZ1bmN0aW9uIHNIKGUsdCxyKXtyZXR1cm4gdHlwZW9mIHQ9PSJzeW1ib2wiJiYodD10LmRlc2NyaXB0aW9uPyJbIi5jb25jYXQodC5kZXNjcmlwdGlvbiwiXSIpOiIiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwibmFtZSIse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTpyPyIiLmNvbmNhdChyLCIgIix0KTp0fSl9ZnVuY3Rpb24gYUgoZSx0KXtpZih0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJnR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhPT0iZnVuY3Rpb24iKXJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKGUsdCl9ZnVuY3Rpb24gTWUoZSx0LHIsbil7ZnVuY3Rpb24gYShpKXtyZXR1cm4gaSBpbnN0YW5jZW9mIHI/aTpuZXcgcihmdW5jdGlvbihvKXtvKGkpfSl9cmV0dXJuIG5ldyhyfHwocj1Qcm9taXNlKSkoZnVuY3Rpb24oaSxvKXtmdW5jdGlvbiBsKHUpe3RyeXtkKG4ubmV4dCh1KSl9Y2F0Y2goQSl7byhBKX19ZnVuY3Rpb24gYyh1KXt0cnl7ZChuLnRocm93KHUpKX1jYXRjaChBKXtvKEEpfX1mdW5jdGlvbiBkKHUpe3UuZG9uZT9pKHUudmFsdWUpOmEodS52YWx1ZSkudGhlbihsLGMpfWQoKG49bi5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pfWZ1bmN0aW9uIGlIKGUsdCl7dmFyIHI9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKGlbMF0mMSl0aHJvdyBpWzFdO3JldHVybiBpWzFdfSx0cnlzOltdLG9wczpbXX0sbixhLGksbz1PYmplY3QuY3JlYXRlKCh0eXBlb2YgSXRlcmF0b3I9PSJmdW5jdGlvbiI/SXRlcmF0b3I6T2JqZWN0KS5wcm90b3R5cGUpO3JldHVybiBvLm5leHQ9bCgwKSxvLnRocm93PWwoMSksby5yZXR1cm49bCgyKSx0eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiYob1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxvO2Z1bmN0aW9uIGwoZCl7cmV0dXJuIGZ1bmN0aW9uKHUpe3JldHVybiBjKFtkLHVdKX19ZnVuY3Rpb24gYyhkKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO28mJihvPTAsZFswXSYmKHI9MCkpLHI7KXRyeXtpZihuPTEsYSYmKGk9ZFswXSYyP2EucmV0dXJuOmRbMF0/YS50aHJvd3x8KChpPWEucmV0dXJuKSYmaS5jYWxsKGEpLDApOmEubmV4dCkmJiEoaT1pLmNhbGwoYSxkWzFdKSkuZG9uZSlyZXR1cm4gaTtzd2l0Y2goYT0wLGkmJihkPVtkWzBdJjIsaS52YWx1ZV0pLGRbMF0pe2Nhc2UgMDpjYXNlIDE6aT1kO2JyZWFrO2Nhc2UgNDpyZXR1cm4gci5sYWJlbCsrLHt2YWx1ZTpkWzFdLGRvbmU6ITF9O2Nhc2UgNTpyLmxhYmVsKyssYT1kWzFdLGQ9WzBdO2NvbnRpbnVlO2Nhc2UgNzpkPXIub3BzLnBvcCgpLHIudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKGk9ci50cnlzLCEoaT1pLmxlbmd0aD4wJiZpW2kubGVuZ3RoLTFdKSYmKGRbMF09PT02fHxkWzBdPT09Mikpe3I9MDtjb250aW51ZX1pZihkWzBdPT09MyYmKCFpfHxkWzFdPmlbMF0mJmRbMV08aVszXSkpe3IubGFiZWw9ZFsxXTticmVha31pZihkWzBdPT09NiYmci5sYWJlbDxpWzFdKXtyLmxhYmVsPWlbMV0saT1kO2JyZWFrfWlmKGkmJnIubGFiZWw8aVsyXSl7ci5sYWJlbD1pWzJdLHIub3BzLnB1c2goZCk7YnJlYWt9aVsyXSYmci5vcHMucG9wKCksci50cnlzLnBvcCgpO2NvbnRpbnVlfWQ9dC5jYWxsKGUscil9Y2F0Y2godSl7ZD1bNix1XSxhPTB9ZmluYWxseXtuPWk9MH1pZihkWzBdJjUpdGhyb3cgZFsxXTtyZXR1cm57dmFsdWU6ZFswXT9kWzFdOnZvaWQgMCxkb25lOiEwfX19dmFyIEN3PU9iamVjdC5jcmVhdGU/ZnVuY3Rpb24oZSx0LHIsbil7bj09PXZvaWQgMCYmKG49cik7dmFyIGE9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpOyghYXx8KCJnZXQiaW4gYT8hdC5fX2VzTW9kdWxlOmEud3JpdGFibGV8fGEuY29uZmlndXJhYmxlKSkmJihhPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W3JdfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4sYSl9OmZ1bmN0aW9uKGUsdCxyLG4pe249PT12b2lkIDAmJihuPXIpLGVbbl09dFtyXX07ZnVuY3Rpb24gb0goZSx0KXtmb3IodmFyIHIgaW4gZSlyIT09ImRlZmF1bHQiJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJkN3KHQsZSxyKX1mdW5jdGlvbiB0eShlKXt2YXIgdD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wuaXRlcmF0b3Iscj10JiZlW3RdLG49MDtpZihyKXJldHVybiByLmNhbGwoZSk7aWYoZSYmdHlwZW9mIGUubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpmdW5jdGlvbigpe3JldHVybiBlJiZuPj1lLmxlbmd0aCYmKGU9dm9pZCAwKSx7dmFsdWU6ZSYmZVtuKytdLGRvbmU6IWV9fX07dGhyb3cgbmV3IFR5cGVFcnJvcih0PyJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLiI6IlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKX1mdW5jdGlvbiB1RShlLHQpe3ZhciByPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJmVbU3ltYm9sLml0ZXJhdG9yXTtpZighcilyZXR1cm4gZTt2YXIgbj1yLmNhbGwoZSksYSxpPVtdLG87dHJ5e2Zvcig7KHQ9PT12b2lkIDB8fHQtLSA+MCkmJiEoYT1uLm5leHQoKSkuZG9uZTspaS5wdXNoKGEudmFsdWUpfWNhdGNoKGwpe289e2Vycm9yOmx9fWZpbmFsbHl7dHJ5e2EmJiFhLmRvbmUmJihyPW4ucmV0dXJuKSYmci5jYWxsKG4pfWZpbmFsbHl7aWYobyl0aHJvdyBvLmVycm9yfX1yZXR1cm4gaX1mdW5jdGlvbiBsSCgpe2Zvcih2YXIgZT1bXSx0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllPWUuY29uY2F0KHVFKGFyZ3VtZW50c1t0XSkpO3JldHVybiBlfWZ1bmN0aW9uIGNIKCl7Zm9yKHZhciBlPTAsdD0wLHI9YXJndW1lbnRzLmxlbmd0aDt0PHI7dCsrKWUrPWFyZ3VtZW50c1t0XS5sZW5ndGg7Zm9yKHZhciBuPUFycmF5KGUpLGE9MCx0PTA7dDxyO3QrKylmb3IodmFyIGk9YXJndW1lbnRzW3RdLG89MCxsPWkubGVuZ3RoO288bDtvKyssYSsrKW5bYV09aVtvXTtyZXR1cm4gbn1mdW5jdGlvbiBBRShlLHQscil7aWYocnx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciBuPTAsYT10Lmxlbmd0aCxpO248YTtuKyspKGl8fCEobiBpbiB0KSkmJihpfHwoaT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0LDAsbikpLGlbbl09dFtuXSk7cmV0dXJuIGUuY29uY2F0KGl8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpKX1mdW5jdGlvbiBhQShlKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGFBPyh0aGlzLnY9ZSx0aGlzKTpuZXcgYUEoZSl9ZnVuY3Rpb24gZEgoZSx0LHIpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgbj1yLmFwcGx5KGUsdHx8W10pLGEsaT1bXTtyZXR1cm4gYT1PYmplY3QuY3JlYXRlKCh0eXBlb2YgQXN5bmNJdGVyYXRvcj09ImZ1bmN0aW9uIj9Bc3luY0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKSxsKCJuZXh0IiksbCgidGhyb3ciKSxsKCJyZXR1cm4iLG8pLGFbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGE7ZnVuY3Rpb24gbyhoKXtyZXR1cm4gZnVuY3Rpb24ocCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShwKS50aGVuKGgsQSl9fWZ1bmN0aW9uIGwoaCxwKXtuW2hdJiYoYVtoXT1mdW5jdGlvbihtKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oeCx3KXtpLnB1c2goW2gsbSx4LHddKT4xfHxjKGgsbSl9KX0scCYmKGFbaF09cChhW2hdKSkpfWZ1bmN0aW9uIGMoaCxwKXt0cnl7ZChuW2hdKHApKX1jYXRjaChtKXtmKGlbMF1bM10sbSl9fWZ1bmN0aW9uIGQoaCl7aC52YWx1ZSBpbnN0YW5jZW9mIGFBP1Byb21pc2UucmVzb2x2ZShoLnZhbHVlLnYpLnRoZW4odSxBKTpmKGlbMF1bMl0saCl9ZnVuY3Rpb24gdShoKXtjKCJuZXh0IixoKX1mdW5jdGlvbiBBKGgpe2MoInRocm93IixoKX1mdW5jdGlvbiBmKGgscCl7aChwKSxpLnNoaWZ0KCksaS5sZW5ndGgmJmMoaVswXVswXSxpWzBdWzFdKX19ZnVuY3Rpb24gdUgoZSl7dmFyIHQscjtyZXR1cm4gdD17fSxuKCJuZXh0IiksbigidGhyb3ciLGZ1bmN0aW9uKGEpe3Rocm93IGF9KSxuKCJyZXR1cm4iKSx0W1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdDtmdW5jdGlvbiBuKGEsaSl7dFthXT1lW2FdP2Z1bmN0aW9uKG8pe3JldHVybihyPSFyKT97dmFsdWU6YUEoZVthXShvKSksZG9uZTohMX06aT9pKG8pOm99Oml9fWZ1bmN0aW9uIEFIKGUpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgdD1lW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSxyO3JldHVybiB0P3QuY2FsbChlKTooZT10eXBlb2YgdHk9PSJmdW5jdGlvbiI/dHkoZSk6ZVtTeW1ib2wuaXRlcmF0b3JdKCkscj17fSxuKCJuZXh0IiksbigidGhyb3ciKSxuKCJyZXR1cm4iKSxyW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxyKTtmdW5jdGlvbiBuKGkpe3JbaV09ZVtpXSYmZnVuY3Rpb24obyl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGwsYyl7bz1lW2ldKG8pLGEobCxjLG8uZG9uZSxvLnZhbHVlKX0pfX1mdW5jdGlvbiBhKGksbyxsLGMpe1Byb21pc2UucmVzb2x2ZShjKS50aGVuKGZ1bmN0aW9uKGQpe2koe3ZhbHVlOmQsZG9uZTpsfSl9LG8pfX1mdW5jdGlvbiBmSChlLHQpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHk/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsInJhdyIse3ZhbHVlOnR9KTplLnJhdz10LGV9dmFyIHJvZT1PYmplY3QuY3JlYXRlP2Z1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KX06ZnVuY3Rpb24oZSx0KXtlLmRlZmF1bHQ9dH0sJEM9ZnVuY3Rpb24oZSl7cmV0dXJuICRDPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzfHxmdW5jdGlvbih0KXt2YXIgcj1bXTtmb3IodmFyIG4gaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxuKSYmKHJbci5sZW5ndGhdPW4pO3JldHVybiByfSwkQyhlKX07ZnVuY3Rpb24gaEgoZSl7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKGUhPW51bGwpZm9yKHZhciByPSRDKGUpLG49MDtuPHIubGVuZ3RoO24rKylyW25dIT09ImRlZmF1bHQiJiZDdyh0LGUscltuXSk7cmV0dXJuIHJvZSh0LGUpLHR9ZnVuY3Rpb24gbUgoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fWZ1bmN0aW9uIHBIKGUsdCxyLG4pe2lmKHI9PT0iYSImJiFuKXRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlciIpO2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iP2UhPT10fHwhbjohdC5oYXMoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIHI9PT0ibSI/bjpyPT09ImEiP24uY2FsbChlKTpuP24udmFsdWU6dC5nZXQoZSl9ZnVuY3Rpb24gZ0goZSx0LHIsbixhKXtpZihuPT09Im0iKXRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgbWV0aG9kIGlzIG5vdCB3cml0YWJsZSIpO2lmKG49PT0iYSImJiFhKXRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlciIpO2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iP2UhPT10fHwhYTohdC5oYXMoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXQiKTtyZXR1cm4gbj09PSJhIj9hLmNhbGwoZSxyKTphP2EudmFsdWU9cjp0LnNldChlLHIpLHJ9ZnVuY3Rpb24geEgoZSx0KXtpZih0PT09bnVsbHx8dHlwZW9mIHQhPSJvYmplY3QiJiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgdXNlICdpbicgb3BlcmF0b3Igb24gbm9uLW9iamVjdCIpO3JldHVybiB0eXBlb2YgZT09ImZ1bmN0aW9uIj90PT09ZTplLmhhcyh0KX1mdW5jdGlvbiB5SChlLHQscil7aWYodCE9bnVsbCl7aWYodHlwZW9mIHQhPSJvYmplY3QiJiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQuIik7dmFyIG4sYTtpZihyKXtpZighU3ltYm9sLmFzeW5jRGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNEaXNwb3NlIGlzIG5vdCBkZWZpbmVkLiIpO249dFtTeW1ib2wuYXN5bmNEaXNwb3NlXX1pZihuPT09dm9pZCAwKXtpZighU3ltYm9sLmRpc3Bvc2UpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmRpc3Bvc2UgaXMgbm90IGRlZmluZWQuIik7bj10W1N5bWJvbC5kaXNwb3NlXSxyJiYoYT1uKX1pZih0eXBlb2YgbiE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3Qgbm90IGRpc3Bvc2FibGUuIik7YSYmKG49ZnVuY3Rpb24oKXt0cnl7YS5jYWxsKHRoaXMpfWNhdGNoKGkpe3JldHVybiBQcm9taXNlLnJlamVjdChpKX19KSxlLnN0YWNrLnB1c2goe3ZhbHVlOnQsZGlzcG9zZTpuLGFzeW5jOnJ9KX1lbHNlIHImJmUuc3RhY2sucHVzaCh7YXN5bmM6ITB9KTtyZXR1cm4gdH12YXIgbm9lPXR5cGVvZiBTdXBwcmVzc2VkRXJyb3I9PSJmdW5jdGlvbiI/U3VwcHJlc3NlZEVycm9yOmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1uZXcgRXJyb3Iocik7cmV0dXJuIG4ubmFtZT0iU3VwcHJlc3NlZEVycm9yIixuLmVycm9yPWUsbi5zdXBwcmVzc2VkPXQsbn07ZnVuY3Rpb24gdkgoZSl7ZnVuY3Rpb24gdChpKXtlLmVycm9yPWUuaGFzRXJyb3I/bmV3IG5vZShpLGUuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTppLGUuaGFzRXJyb3I9ITB9dmFyIHIsbj0wO2Z1bmN0aW9uIGEoKXtmb3IoO3I9ZS5zdGFjay5wb3AoKTspdHJ5e2lmKCFyLmFzeW5jJiZuPT09MSlyZXR1cm4gbj0wLGUuc3RhY2sucHVzaChyKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKGEpO2lmKHIuZGlzcG9zZSl7dmFyIGk9ci5kaXNwb3NlLmNhbGwoci52YWx1ZSk7aWYoci5hc3luYylyZXR1cm4gbnw9MixQcm9taXNlLnJlc29sdmUoaSkudGhlbihhLGZ1bmN0aW9uKG8pe3JldHVybiB0KG8pLGEoKX0pfWVsc2Ugbnw9MX1jYXRjaChvKXt0KG8pfWlmKG49PT0xKXJldHVybiBlLmhhc0Vycm9yP1Byb21pc2UucmVqZWN0KGUuZXJyb3IpOlByb21pc2UucmVzb2x2ZSgpO2lmKGUuaGFzRXJyb3IpdGhyb3cgZS5lcnJvcn1yZXR1cm4gYSgpfWZ1bmN0aW9uIHdIKGUsdCl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIiYmL15cLlwuP1wvLy50ZXN0KGUpP2UucmVwbGFjZSgvXC4odHN4KSR8KCg/OlwuZCk/KSgoPzpcLlteLi9dKz8pPylcLihbY21dPyl0cyQvaSxmdW5jdGlvbihyLG4sYSxpLG8pe3JldHVybiBuP3Q/Ii5qc3giOiIuanMiOmEmJighaXx8IW8pP3I6YStpKyIuIitvLnRvTG93ZXJDYXNlKCkrImpzIn0pOmV9Y29uc3Qgc29lPXtfX2V4dGVuZHM6SjYsX19hc3NpZ246enMsX19yZXN0OldsLF9fZGVjb3JhdGU6WjYsX19wYXJhbTplSCxfX2VzRGVjb3JhdGU6dEgsX19ydW5Jbml0aWFsaXplcnM6ckgsX19wcm9wS2V5Om5ILF9fc2V0RnVuY3Rpb25OYW1lOnNILF9fbWV0YWRhdGE6YUgsX19hd2FpdGVyOk1lLF9fZ2VuZXJhdG9yOmlILF9fY3JlYXRlQmluZGluZzpDdyxfX2V4cG9ydFN0YXI6b0gsX192YWx1ZXM6dHksX19yZWFkOnVFLF9fc3ByZWFkOmxILF9fc3ByZWFkQXJyYXlzOmNILF9fc3ByZWFkQXJyYXk6QUUsX19hd2FpdDphQSxfX2FzeW5jR2VuZXJhdG9yOmRILF9fYXN5bmNEZWxlZ2F0b3I6dUgsX19hc3luY1ZhbHVlczpBSCxfX21ha2VUZW1wbGF0ZU9iamVjdDpmSCxfX2ltcG9ydFN0YXI6aEgsX19pbXBvcnREZWZhdWx0Om1ILF9fY2xhc3NQcml2YXRlRmllbGRHZXQ6cEgsX19jbGFzc1ByaXZhdGVGaWVsZFNldDpnSCxfX2NsYXNzUHJpdmF0ZUZpZWxkSW46eEgsX19hZGREaXNwb3NhYmxlUmVzb3VyY2U6eUgsX19kaXNwb3NlUmVzb3VyY2VzOnZILF9fcmV3cml0ZVJlbGF0aXZlSW1wb3J0RXh0ZW5zaW9uOndIfSxhb2U9T2JqZWN0LmZyZWV6ZShPYmplY3QuZGVmaW5lUHJvcGVydHkoe19fcHJvdG9fXzpudWxsLF9fYWRkRGlzcG9zYWJsZVJlc291cmNlOnlILGdldCBfX2Fzc2lnbigpe3JldHVybiB6c30sX19hc3luY0RlbGVnYXRvcjp1SCxfX2FzeW5jR2VuZXJhdG9yOmRILF9fYXN5bmNWYWx1ZXM6QUgsX19hd2FpdDphQSxfX2F3YWl0ZXI6TWUsX19jbGFzc1ByaXZhdGVGaWVsZEdldDpwSCxfX2NsYXNzUHJpdmF0ZUZpZWxkSW46eEgsX19jbGFzc1ByaXZhdGVGaWVsZFNldDpnSCxfX2NyZWF0ZUJpbmRpbmc6Q3csX19kZWNvcmF0ZTpaNixfX2Rpc3Bvc2VSZXNvdXJjZXM6dkgsX19lc0RlY29yYXRlOnRILF9fZXhwb3J0U3RhcjpvSCxfX2V4dGVuZHM6SjYsX19nZW5lcmF0b3I6aUgsX19pbXBvcnREZWZhdWx0Om1ILF9faW1wb3J0U3RhcjpoSCxfX21ha2VUZW1wbGF0ZU9iamVjdDpmSCxfX21ldGFkYXRhOmFILF9fcGFyYW06ZUgsX19wcm9wS2V5Om5ILF9fcmVhZDp1RSxfX3Jlc3Q6V2wsX19yZXdyaXRlUmVsYXRpdmVJbXBvcnRFeHRlbnNpb246d0gsX19ydW5Jbml0aWFsaXplcnM6ckgsX19zZXRGdW5jdGlvbk5hbWU6c0gsX19zcHJlYWQ6bEgsX19zcHJlYWRBcnJheTpBRSxfX3NwcmVhZEFycmF5czpjSCxfX3ZhbHVlczp0eSxkZWZhdWx0OnNvZX0sU3ltYm9sLnRvU3RyaW5nVGFnLHt2YWx1ZToiTW9kdWxlIn0pKSxpb2U9Im1vZHVsZXByZWxvYWQiLG9vZT1mdW5jdGlvbihlKXtyZXR1cm4iLyIrZX0saEY9e30sWkE9ZnVuY3Rpb24odCxyLG4pe2xldCBhPVByb21pc2UucmVzb2x2ZSgpO2lmKHImJnIubGVuZ3RoPjApe2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIik7Y29uc3Qgbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW3Byb3BlcnR5PWNzcC1ub25jZV0iKSxsPShvPT1udWxsP3ZvaWQgMDpvLm5vbmNlKXx8KG89PW51bGw/dm9pZCAwOm8uZ2V0QXR0cmlidXRlKCJub25jZSIpKTthPVByb21pc2UuYWxsU2V0dGxlZChyLm1hcChjPT57aWYoYz1vb2UoYyksYyBpbiBoRilyZXR1cm47aEZbY109ITA7Y29uc3QgZD1jLmVuZHNXaXRoKCIuY3NzIiksdT1kPydbcmVsPSJzdHlsZXNoZWV0Il0nOiIiO2lmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpbmtbaHJlZj0iJHtjfSJdJHt1fWApKXJldHVybjtjb25zdCBBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtpZihBLnJlbD1kPyJzdHlsZXNoZWV0Ijppb2UsZHx8KEEuYXM9InNjcmlwdCIpLEEuY3Jvc3NPcmlnaW49IiIsQS5ocmVmPWMsbCYmQS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixsKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKEEpLGQpcmV0dXJuIG5ldyBQcm9taXNlKChmLGgpPT57QS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmKSxBLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+aChuZXcgRXJyb3IoYFVuYWJsZSB0byBwcmVsb2FkIENTUyBmb3IgJHtjfWApKSl9KX0pKX1mdW5jdGlvbiBpKG8pe2NvbnN0IGw9bmV3IEV2ZW50KCJ2aXRlOnByZWxvYWRFcnJvciIse2NhbmNlbGFibGU6ITB9KTtpZihsLnBheWxvYWQ9byx3aW5kb3cuZGlzcGF0Y2hFdmVudChsKSwhbC5kZWZhdWx0UHJldmVudGVkKXRocm93IG99cmV0dXJuIGEudGhlbihvPT57Zm9yKGNvbnN0IGwgb2Ygb3x8W10pbC5zdGF0dXM9PT0icmVqZWN0ZWQiJiZpKGwucmVhc29uKTtyZXR1cm4gdCgpLmNhdGNoKGkpfSl9LGxvZT1lPT57bGV0IHQ7cmV0dXJuIGU/dD1lOnR5cGVvZiBmZXRjaD4idSI/dD0oLi4ucik9PlpBKGFzeW5jKCk9Pntjb25zdHtkZWZhdWx0Om59PWF3YWl0IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnlkKTtyZXR1cm57ZGVmYXVsdDpufX0sdm9pZCAwKS50aGVuKCh7ZGVmYXVsdDpufSk9Pm4oLi4ucikpOnQ9ZmV0Y2gsKC4uLnIpPT50KC4uLnIpfTtjbGFzcyBmRSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscj0iRnVuY3Rpb25zRXJyb3IiLG4pe3N1cGVyKHQpLHRoaXMubmFtZT1yLHRoaXMuY29udGV4dD1ufX1jbGFzcyBtRiBleHRlbmRzIGZFe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCJGYWlsZWQgdG8gc2VuZCBhIHJlcXVlc3QgdG8gdGhlIEVkZ2UgRnVuY3Rpb24iLCJGdW5jdGlvbnNGZXRjaEVycm9yIix0KX19Y2xhc3MgcEYgZXh0ZW5kcyBmRXtjb25zdHJ1Y3Rvcih0KXtzdXBlcigiUmVsYXkgRXJyb3IgaW52b2tpbmcgdGhlIEVkZ2UgRnVuY3Rpb24iLCJGdW5jdGlvbnNSZWxheUVycm9yIix0KX19Y2xhc3MgZ0YgZXh0ZW5kcyBmRXtjb25zdHJ1Y3Rvcih0KXtzdXBlcigiRWRnZSBGdW5jdGlvbiByZXR1cm5lZCBhIG5vbi0yeHggc3RhdHVzIGNvZGUiLCJGdW5jdGlvbnNIdHRwRXJyb3IiLHQpfX12YXIgSEM7KGZ1bmN0aW9uKGUpe2UuQW55PSJhbnkiLGUuQXBOb3J0aGVhc3QxPSJhcC1ub3J0aGVhc3QtMSIsZS5BcE5vcnRoZWFzdDI9ImFwLW5vcnRoZWFzdC0yIixlLkFwU291dGgxPSJhcC1zb3V0aC0xIixlLkFwU291dGhlYXN0MT0iYXAtc291dGhlYXN0LTEiLGUuQXBTb3V0aGVhc3QyPSJhcC1zb3V0aGVhc3QtMiIsZS5DYUNlbnRyYWwxPSJjYS1jZW50cmFsLTEiLGUuRXVDZW50cmFsMT0iZXUtY2VudHJhbC0xIixlLkV1V2VzdDE9ImV1LXdlc3QtMSIsZS5FdVdlc3QyPSJldS13ZXN0LTIiLGUuRXVXZXN0Mz0iZXUtd2VzdC0zIixlLlNhRWFzdDE9InNhLWVhc3QtMSIsZS5Vc0Vhc3QxPSJ1cy1lYXN0LTEiLGUuVXNXZXN0MT0idXMtd2VzdC0xIixlLlVzV2VzdDI9InVzLXdlc3QtMiJ9KShIQ3x8KEhDPXt9KSk7Y2xhc3MgY29le2NvbnN0cnVjdG9yKHQse2hlYWRlcnM6cj17fSxjdXN0b21GZXRjaDpuLHJlZ2lvbjphPUhDLkFueX09e30pe3RoaXMudXJsPXQsdGhpcy5oZWFkZXJzPXIsdGhpcy5yZWdpb249YSx0aGlzLmZldGNoPWxvZShuKX1zZXRBdXRoKHQpe3RoaXMuaGVhZGVycy5BdXRob3JpemF0aW9uPWBCZWFyZXIgJHt0fWB9aW52b2tlKHQpe3JldHVybiBNZSh0aGlzLGFyZ3VtZW50cyx2b2lkIDAsZnVuY3Rpb24qKHIsbj17fSl7dmFyIGE7dHJ5e2NvbnN0e2hlYWRlcnM6aSxtZXRob2Q6byxib2R5Omwsc2lnbmFsOmN9PW47bGV0IGQ9e30se3JlZ2lvbjp1fT1uO3V8fCh1PXRoaXMucmVnaW9uKTtjb25zdCBBPW5ldyBVUkwoYCR7dGhpcy51cmx9LyR7cn1gKTt1JiZ1IT09ImFueSImJihkWyJ4LXJlZ2lvbiJdPXUsQS5zZWFyY2hQYXJhbXMuc2V0KCJmb3JjZUZ1bmN0aW9uUmVnaW9uIix1KSk7bGV0IGY7bCYmKGkmJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaSwiQ29udGVudC1UeXBlIil8fCFpKT90eXBlb2YgQmxvYjwidSImJmwgaW5zdGFuY2VvZiBCbG9ifHxsIGluc3RhbmNlb2YgQXJyYXlCdWZmZXI/KGRbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLGY9bCk6dHlwZW9mIGw9PSJzdHJpbmciPyhkWyJDb250ZW50LVR5cGUiXT0idGV4dC9wbGFpbiIsZj1sKTp0eXBlb2YgRm9ybURhdGE8InUiJiZsIGluc3RhbmNlb2YgRm9ybURhdGE/Zj1sOihkWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIsZj1KU09OLnN0cmluZ2lmeShsKSk6Zj1sO2NvbnN0IGg9eWllbGQgdGhpcy5mZXRjaChBLnRvU3RyaW5nKCkse21ldGhvZDpvfHwiUE9TVCIsaGVhZGVyczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxkKSx0aGlzLmhlYWRlcnMpLGkpLGJvZHk6ZixzaWduYWw6Y30pLmNhdGNoKHc9Pnt0aHJvdyB3Lm5hbWU9PT0iQWJvcnRFcnJvciI/dzpuZXcgbUYodyl9KSxwPWguaGVhZGVycy5nZXQoIngtcmVsYXktZXJyb3IiKTtpZihwJiZwPT09InRydWUiKXRocm93IG5ldyBwRihoKTtpZighaC5vayl0aHJvdyBuZXcgZ0YoaCk7bGV0IG09KChhPWguaGVhZGVycy5nZXQoIkNvbnRlbnQtVHlwZSIpKSE9PW51bGwmJmEhPT12b2lkIDA/YToidGV4dC9wbGFpbiIpLnNwbGl0KCI7IilbMF0udHJpbSgpLHg7cmV0dXJuIG09PT0iYXBwbGljYXRpb24vanNvbiI/eD15aWVsZCBoLmpzb24oKTptPT09ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSJ8fG09PT0iYXBwbGljYXRpb24vcGRmIj94PXlpZWxkIGguYmxvYigpOm09PT0idGV4dC9ldmVudC1zdHJlYW0iP3g9aDptPT09Im11bHRpcGFydC9mb3JtLWRhdGEiP3g9eWllbGQgaC5mb3JtRGF0YSgpOng9eWllbGQgaC50ZXh0KCkse2RhdGE6eCxlcnJvcjpudWxsLHJlc3BvbnNlOmh9fWNhdGNoKGkpe3JldHVybiBpIGluc3RhbmNlb2YgRXJyb3ImJmkubmFtZT09PSJBYm9ydEVycm9yIj97ZGF0YTpudWxsLGVycm9yOm5ldyBtRihpKX06e2RhdGE6bnVsbCxlcnJvcjppLHJlc3BvbnNlOmkgaW5zdGFuY2VvZiBnRnx8aSBpbnN0YW5jZW9mIHBGP2kuY29udGV4dDp2b2lkIDB9fX0pfX12YXIgSG49e307Y29uc3QgZWY9UlEoYW9lKTt2YXIgSGc9e30sS2c9e30sVmc9e30semc9e30sV2c9e30sZG9lPWZ1bmN0aW9uKCl7aWYodHlwZW9mIHNlbGY8InUiKXJldHVybiBzZWxmO2lmKHR5cGVvZiB3aW5kb3c8InUiKXJldHVybiB3aW5kb3c7aWYodHlwZW9mIGdsb2JhbDwidSIpcmV0dXJuIGdsb2JhbDt0aHJvdyBuZXcgRXJyb3IoInVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCIpfSxpQT1kb2UoKTtjb25zdCB1b2U9aUEuZmV0Y2gsYkg9aUEuZmV0Y2guYmluZChpQSksakg9aUEuSGVhZGVycyxBb2U9aUEuUmVxdWVzdCxmb2U9aUEuUmVzcG9uc2UseWQ9T2JqZWN0LmZyZWV6ZShPYmplY3QuZGVmaW5lUHJvcGVydHkoe19fcHJvdG9fXzpudWxsLEhlYWRlcnM6akgsUmVxdWVzdDpBb2UsUmVzcG9uc2U6Zm9lLGRlZmF1bHQ6YkgsZmV0Y2g6dW9lfSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSkpLGhvZT1SUSh5ZCk7dmFyIEdnPXt9LHhGO2Z1bmN0aW9uIE5IKCl7aWYoeEYpcmV0dXJuIEdnO3hGPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KEdnLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjbGFzcyBlIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3Iocil7c3VwZXIoci5tZXNzYWdlKSx0aGlzLm5hbWU9IlBvc3RncmVzdEVycm9yIix0aGlzLmRldGFpbHM9ci5kZXRhaWxzLHRoaXMuaGludD1yLmhpbnQsdGhpcy5jb2RlPXIuY29kZX19cmV0dXJuIEdnLmRlZmF1bHQ9ZSxHZ312YXIgeUY7ZnVuY3Rpb24gQ0goKXtpZih5RilyZXR1cm4gV2c7eUY9MSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV2csIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IGU9ZWYsdD1lLl9faW1wb3J0RGVmYXVsdChob2UpLHI9ZS5fX2ltcG9ydERlZmF1bHQoTkgoKSk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihpKXt2YXIgbyxsO3RoaXMuc2hvdWxkVGhyb3dPbkVycm9yPSExLHRoaXMubWV0aG9kPWkubWV0aG9kLHRoaXMudXJsPWkudXJsLHRoaXMuaGVhZGVycz1uZXcgSGVhZGVycyhpLmhlYWRlcnMpLHRoaXMuc2NoZW1hPWkuc2NoZW1hLHRoaXMuYm9keT1pLmJvZHksdGhpcy5zaG91bGRUaHJvd09uRXJyb3I9KG89aS5zaG91bGRUaHJvd09uRXJyb3IpIT09bnVsbCYmbyE9PXZvaWQgMD9vOiExLHRoaXMuc2lnbmFsPWkuc2lnbmFsLHRoaXMuaXNNYXliZVNpbmdsZT0obD1pLmlzTWF5YmVTaW5nbGUpIT09bnVsbCYmbCE9PXZvaWQgMD9sOiExLGkuZmV0Y2g/dGhpcy5mZXRjaD1pLmZldGNoOnR5cGVvZiBmZXRjaD4idSI/dGhpcy5mZXRjaD10LmRlZmF1bHQ6dGhpcy5mZXRjaD1mZXRjaH10aHJvd09uRXJyb3IoKXtyZXR1cm4gdGhpcy5zaG91bGRUaHJvd09uRXJyb3I9ITAsdGhpc31zZXRIZWFkZXIoaSxvKXtyZXR1cm4gdGhpcy5oZWFkZXJzPW5ldyBIZWFkZXJzKHRoaXMuaGVhZGVycyksdGhpcy5oZWFkZXJzLnNldChpLG8pLHRoaXN9dGhlbihpLG8pe3RoaXMuc2NoZW1hPT09dm9pZCAwfHwoWyJHRVQiLCJIRUFEIl0uaW5jbHVkZXModGhpcy5tZXRob2QpP3RoaXMuaGVhZGVycy5zZXQoIkFjY2VwdC1Qcm9maWxlIix0aGlzLnNjaGVtYSk6dGhpcy5oZWFkZXJzLnNldCgiQ29udGVudC1Qcm9maWxlIix0aGlzLnNjaGVtYSkpLHRoaXMubWV0aG9kIT09IkdFVCImJnRoaXMubWV0aG9kIT09IkhFQUQiJiZ0aGlzLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi9qc29uIik7Y29uc3QgbD10aGlzLmZldGNoO2xldCBjPWwodGhpcy51cmwudG9TdHJpbmcoKSx7bWV0aG9kOnRoaXMubWV0aG9kLGhlYWRlcnM6dGhpcy5oZWFkZXJzLGJvZHk6SlNPTi5zdHJpbmdpZnkodGhpcy5ib2R5KSxzaWduYWw6dGhpcy5zaWduYWx9KS50aGVuKGFzeW5jIGQ9Pnt2YXIgdSxBLGYsaDtsZXQgcD1udWxsLG09bnVsbCx4PW51bGwsdz1kLnN0YXR1cyx5PWQuc3RhdHVzVGV4dDtpZihkLm9rKXtpZih0aGlzLm1ldGhvZCE9PSJIRUFEIil7Y29uc3QgTj1hd2FpdCBkLnRleHQoKTtOPT09IiJ8fCh0aGlzLmhlYWRlcnMuZ2V0KCJBY2NlcHQiKT09PSJ0ZXh0L2NzdiJ8fHRoaXMuaGVhZGVycy5nZXQoIkFjY2VwdCIpJiYoISgodT10aGlzLmhlYWRlcnMuZ2V0KCJBY2NlcHQiKSk9PT1udWxsfHx1PT09dm9pZCAwKSYmdS5pbmNsdWRlcygiYXBwbGljYXRpb24vdm5kLnBncnN0LnBsYW4rdGV4dCIpKT9tPU46bT1KU09OLnBhcnNlKE4pKX1jb25zdCBiPShBPXRoaXMuaGVhZGVycy5nZXQoIlByZWZlciIpKT09PW51bGx8fEE9PT12b2lkIDA/dm9pZCAwOkEubWF0Y2goL2NvdW50PShleGFjdHxwbGFubmVkfGVzdGltYXRlZCkvKSxqPShmPWQuaGVhZGVycy5nZXQoImNvbnRlbnQtcmFuZ2UiKSk9PT1udWxsfHxmPT09dm9pZCAwP3ZvaWQgMDpmLnNwbGl0KCIvIik7YiYmaiYmai5sZW5ndGg+MSYmKHg9cGFyc2VJbnQoalsxXSkpLHRoaXMuaXNNYXliZVNpbmdsZSYmdGhpcy5tZXRob2Q9PT0iR0VUIiYmQXJyYXkuaXNBcnJheShtKSYmKG0ubGVuZ3RoPjE/KHA9e2NvZGU6IlBHUlNUMTE2IixkZXRhaWxzOmBSZXN1bHRzIGNvbnRhaW4gJHttLmxlbmd0aH0gcm93cywgYXBwbGljYXRpb24vdm5kLnBncnN0Lm9iamVjdCtqc29uIHJlcXVpcmVzIDEgcm93YCxoaW50Om51bGwsbWVzc2FnZToiSlNPTiBvYmplY3QgcmVxdWVzdGVkLCBtdWx0aXBsZSAob3Igbm8pIHJvd3MgcmV0dXJuZWQifSxtPW51bGwseD1udWxsLHc9NDA2LHk9Ik5vdCBBY2NlcHRhYmxlIik6bS5sZW5ndGg9PT0xP209bVswXTptPW51bGwpfWVsc2V7Y29uc3QgYj1hd2FpdCBkLnRleHQoKTt0cnl7cD1KU09OLnBhcnNlKGIpLEFycmF5LmlzQXJyYXkocCkmJmQuc3RhdHVzPT09NDA0JiYobT1bXSxwPW51bGwsdz0yMDAseT0iT0siKX1jYXRjaHtkLnN0YXR1cz09PTQwNCYmYj09PSIiPyh3PTIwNCx5PSJObyBDb250ZW50Iik6cD17bWVzc2FnZTpifX1pZihwJiZ0aGlzLmlzTWF5YmVTaW5nbGUmJighKChoPXA9PW51bGw/dm9pZCAwOnAuZGV0YWlscyk9PT1udWxsfHxoPT09dm9pZCAwKSYmaC5pbmNsdWRlcygiMCByb3dzIikpJiYocD1udWxsLHc9MjAwLHk9Ik9LIikscCYmdGhpcy5zaG91bGRUaHJvd09uRXJyb3IpdGhyb3cgbmV3IHIuZGVmYXVsdChwKX1yZXR1cm57ZXJyb3I6cCxkYXRhOm0sY291bnQ6eCxzdGF0dXM6dyxzdGF0dXNUZXh0Onl9fSk7cmV0dXJuIHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yfHwoYz1jLmNhdGNoKGQ9Pnt2YXIgdSxBLGY7cmV0dXJue2Vycm9yOnttZXNzYWdlOmAkeyh1PWQ9PW51bGw/dm9pZCAwOmQubmFtZSkhPT1udWxsJiZ1IT09dm9pZCAwP3U6IkZldGNoRXJyb3IifTogJHtkPT1udWxsP3ZvaWQgMDpkLm1lc3NhZ2V9YCxkZXRhaWxzOmAkeyhBPWQ9PW51bGw/dm9pZCAwOmQuc3RhY2spIT09bnVsbCYmQSE9PXZvaWQgMD9BOiIifWAsaGludDoiIixjb2RlOmAkeyhmPWQ9PW51bGw/dm9pZCAwOmQuY29kZSkhPT1udWxsJiZmIT09dm9pZCAwP2Y6IiJ9YH0sZGF0YTpudWxsLGNvdW50Om51bGwsc3RhdHVzOjAsc3RhdHVzVGV4dDoiIn19KSksYy50aGVuKGksbyl9cmV0dXJucygpe3JldHVybiB0aGlzfW92ZXJyaWRlVHlwZXMoKXtyZXR1cm4gdGhpc319cmV0dXJuIFdnLmRlZmF1bHQ9bixXZ312YXIgdkY7ZnVuY3Rpb24gX0goKXtpZih2RilyZXR1cm4gemc7dkY9MSxPYmplY3QuZGVmaW5lUHJvcGVydHkoemcsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IHQ9ZWYuX19pbXBvcnREZWZhdWx0KENIKCkpO2NsYXNzIHIgZXh0ZW5kcyB0LmRlZmF1bHR7c2VsZWN0KGEpe2xldCBpPSExO2NvbnN0IG89KGE/PyIqIikuc3BsaXQoIiIpLm1hcChsPT4vXHMvLnRlc3QobCkmJiFpPyIiOihsPT09JyInJiYoaT0haSksbCkpLmpvaW4oIiIpO3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuc2V0KCJzZWxlY3QiLG8pLHRoaXMuaGVhZGVycy5hcHBlbmQoIlByZWZlciIsInJldHVybj1yZXByZXNlbnRhdGlvbiIpLHRoaXN9b3JkZXIoYSx7YXNjZW5kaW5nOmk9ITAsbnVsbHNGaXJzdDpvLGZvcmVpZ25UYWJsZTpsLHJlZmVyZW5jZWRUYWJsZTpjPWx9PXt9KXtjb25zdCBkPWM/YCR7Y30ub3JkZXJgOiJvcmRlciIsdT10aGlzLnVybC5zZWFyY2hQYXJhbXMuZ2V0KGQpO3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuc2V0KGQsYCR7dT9gJHt1fSxgOiIifSR7YX0uJHtpPyJhc2MiOiJkZXNjIn0ke289PT12b2lkIDA/IiI6bz8iLm51bGxzZmlyc3QiOiIubnVsbHNsYXN0In1gKSx0aGlzfWxpbWl0KGEse2ZvcmVpZ25UYWJsZTppLHJlZmVyZW5jZWRUYWJsZTpvPWl9PXt9KXtjb25zdCBsPXR5cGVvZiBvPiJ1Ij8ibGltaXQiOmAke299LmxpbWl0YDtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLnNldChsLGAke2F9YCksdGhpc31yYW5nZShhLGkse2ZvcmVpZ25UYWJsZTpvLHJlZmVyZW5jZWRUYWJsZTpsPW99PXt9KXtjb25zdCBjPXR5cGVvZiBsPiJ1Ij8ib2Zmc2V0IjpgJHtsfS5vZmZzZXRgLGQ9dHlwZW9mIGw+InUiPyJsaW1pdCI6YCR7bH0ubGltaXRgO3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuc2V0KGMsYCR7YX1gKSx0aGlzLnVybC5zZWFyY2hQYXJhbXMuc2V0KGQsYCR7aS1hKzF9YCksdGhpc31hYm9ydFNpZ25hbChhKXtyZXR1cm4gdGhpcy5zaWduYWw9YSx0aGlzfXNpbmdsZSgpe3JldHVybiB0aGlzLmhlYWRlcnMuc2V0KCJBY2NlcHQiLCJhcHBsaWNhdGlvbi92bmQucGdyc3Qub2JqZWN0K2pzb24iKSx0aGlzfW1heWJlU2luZ2xlKCl7cmV0dXJuIHRoaXMubWV0aG9kPT09IkdFVCI/dGhpcy5oZWFkZXJzLnNldCgiQWNjZXB0IiwiYXBwbGljYXRpb24vanNvbiIpOnRoaXMuaGVhZGVycy5zZXQoIkFjY2VwdCIsImFwcGxpY2F0aW9uL3ZuZC5wZ3JzdC5vYmplY3QranNvbiIpLHRoaXMuaXNNYXliZVNpbmdsZT0hMCx0aGlzfWNzdigpe3JldHVybiB0aGlzLmhlYWRlcnMuc2V0KCJBY2NlcHQiLCJ0ZXh0L2NzdiIpLHRoaXN9Z2VvanNvbigpe3JldHVybiB0aGlzLmhlYWRlcnMuc2V0KCJBY2NlcHQiLCJhcHBsaWNhdGlvbi9nZW8ranNvbiIpLHRoaXN9ZXhwbGFpbih7YW5hbHl6ZTphPSExLHZlcmJvc2U6aT0hMSxzZXR0aW5nczpvPSExLGJ1ZmZlcnM6bD0hMSx3YWw6Yz0hMSxmb3JtYXQ6ZD0idGV4dCJ9PXt9KXt2YXIgdTtjb25zdCBBPVthPyJhbmFseXplIjpudWxsLGk/InZlcmJvc2UiOm51bGwsbz8ic2V0dGluZ3MiOm51bGwsbD8iYnVmZmVycyI6bnVsbCxjPyJ3YWwiOm51bGxdLmZpbHRlcihCb29sZWFuKS5qb2luKCJ8IiksZj0odT10aGlzLmhlYWRlcnMuZ2V0KCJBY2NlcHQiKSkhPT1udWxsJiZ1IT09dm9pZCAwP3U6ImFwcGxpY2F0aW9uL2pzb24iO3JldHVybiB0aGlzLmhlYWRlcnMuc2V0KCJBY2NlcHQiLGBhcHBsaWNhdGlvbi92bmQucGdyc3QucGxhbiske2R9OyBmb3I9IiR7Zn0iOyBvcHRpb25zPSR7QX07YCksZD09PSJqc29uIj90aGlzOnRoaXN9cm9sbGJhY2soKXtyZXR1cm4gdGhpcy5oZWFkZXJzLmFwcGVuZCgiUHJlZmVyIiwidHg9cm9sbGJhY2siKSx0aGlzfXJldHVybnMoKXtyZXR1cm4gdGhpc31tYXhBZmZlY3RlZChhKXtyZXR1cm4gdGhpcy5oZWFkZXJzLmFwcGVuZCgiUHJlZmVyIiwiaGFuZGxpbmc9c3RyaWN0IiksdGhpcy5oZWFkZXJzLmFwcGVuZCgiUHJlZmVyIixgbWF4LWFmZmVjdGVkPSR7YX1gKSx0aGlzfX1yZXR1cm4gemcuZGVmYXVsdD1yLHpnfXZhciB3RjtmdW5jdGlvbiBoRSgpe2lmKHdGKXJldHVybiBWZzt3Rj0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShWZywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7Y29uc3QgdD1lZi5fX2ltcG9ydERlZmF1bHQoX0goKSkscj1uZXcgUmVnRXhwKCJbLCgpXSIpO2NsYXNzIG4gZXh0ZW5kcyB0LmRlZmF1bHR7ZXEoaSxvKXtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBlcS4ke299YCksdGhpc31uZXEoaSxvKXtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBuZXEuJHtvfWApLHRoaXN9Z3QoaSxvKXtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBndC4ke299YCksdGhpc31ndGUoaSxvKXtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBndGUuJHtvfWApLHRoaXN9bHQoaSxvKXtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBsdC4ke299YCksdGhpc31sdGUoaSxvKXtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBsdGUuJHtvfWApLHRoaXN9bGlrZShpLG8pe3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGksYGxpa2UuJHtvfWApLHRoaXN9bGlrZUFsbE9mKGksbyl7cmV0dXJuIHRoaXMudXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoaSxgbGlrZShhbGwpLnske28uam9pbigiLCIpfX1gKSx0aGlzfWxpa2VBbnlPZihpLG8pe3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGksYGxpa2UoYW55KS57JHtvLmpvaW4oIiwiKX19YCksdGhpc31pbGlrZShpLG8pe3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGksYGlsaWtlLiR7b31gKSx0aGlzfWlsaWtlQWxsT2YoaSxvKXtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBpbGlrZShhbGwpLnske28uam9pbigiLCIpfX1gKSx0aGlzfWlsaWtlQW55T2YoaSxvKXtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBpbGlrZShhbnkpLnske28uam9pbigiLCIpfX1gKSx0aGlzfWlzKGksbyl7cmV0dXJuIHRoaXMudXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoaSxgaXMuJHtvfWApLHRoaXN9aW4oaSxvKXtjb25zdCBsPUFycmF5LmZyb20obmV3IFNldChvKSkubWFwKGM9PnR5cGVvZiBjPT0ic3RyaW5nIiYmci50ZXN0KGMpP2AiJHtjfSJgOmAke2N9YCkuam9pbigiLCIpO3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGksYGluLigke2x9KWApLHRoaXN9Y29udGFpbnMoaSxvKXtyZXR1cm4gdHlwZW9mIG89PSJzdHJpbmciP3RoaXMudXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoaSxgY3MuJHtvfWApOkFycmF5LmlzQXJyYXkobyk/dGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBjcy57JHtvLmpvaW4oIiwiKX19YCk6dGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBjcy4ke0pTT04uc3RyaW5naWZ5KG8pfWApLHRoaXN9Y29udGFpbmVkQnkoaSxvKXtyZXR1cm4gdHlwZW9mIG89PSJzdHJpbmciP3RoaXMudXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoaSxgY2QuJHtvfWApOkFycmF5LmlzQXJyYXkobyk/dGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBjZC57JHtvLmpvaW4oIiwiKX19YCk6dGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBjZC4ke0pTT04uc3RyaW5naWZ5KG8pfWApLHRoaXN9cmFuZ2VHdChpLG8pe3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGksYHNyLiR7b31gKSx0aGlzfXJhbmdlR3RlKGksbyl7cmV0dXJuIHRoaXMudXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoaSxgbnhsLiR7b31gKSx0aGlzfXJhbmdlTHQoaSxvKXtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBzbC4ke299YCksdGhpc31yYW5nZUx0ZShpLG8pe3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGksYG54ci4ke299YCksdGhpc31yYW5nZUFkamFjZW50KGksbyl7cmV0dXJuIHRoaXMudXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoaSxgYWRqLiR7b31gKSx0aGlzfW92ZXJsYXBzKGksbyl7cmV0dXJuIHR5cGVvZiBvPT0ic3RyaW5nIj90aGlzLnVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGksYG92LiR7b31gKTp0aGlzLnVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGksYG92Lnske28uam9pbigiLCIpfX1gKSx0aGlzfXRleHRTZWFyY2goaSxvLHtjb25maWc6bCx0eXBlOmN9PXt9KXtsZXQgZD0iIjtjPT09InBsYWluIj9kPSJwbCI6Yz09PSJwaHJhc2UiP2Q9InBoIjpjPT09IndlYnNlYXJjaCImJihkPSJ3Iik7Y29uc3QgdT1sPT09dm9pZCAwPyIiOmAoJHtsfSlgO3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGksYCR7ZH1mdHMke3V9LiR7b31gKSx0aGlzfW1hdGNoKGkpe3JldHVybiBPYmplY3QuZW50cmllcyhpKS5mb3JFYWNoKChbbyxsXSk9Pnt0aGlzLnVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKG8sYGVxLiR7bH1gKX0pLHRoaXN9bm90KGksbyxsKXtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGBub3QuJHtvfS4ke2x9YCksdGhpc31vcihpLHtmb3JlaWduVGFibGU6byxyZWZlcmVuY2VkVGFibGU6bD1vfT17fSl7Y29uc3QgYz1sP2Ake2x9Lm9yYDoib3IiO3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGMsYCgke2l9KWApLHRoaXN9ZmlsdGVyKGksbyxsKXtyZXR1cm4gdGhpcy51cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChpLGAke299LiR7bH1gKSx0aGlzfX1yZXR1cm4gVmcuZGVmYXVsdD1uLFZnfXZhciBiRjtmdW5jdGlvbiBCSCgpe2lmKGJGKXJldHVybiBLZztiRj0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShLZywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7Y29uc3QgdD1lZi5fX2ltcG9ydERlZmF1bHQoaEUoKSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihhLHtoZWFkZXJzOmk9e30sc2NoZW1hOm8sZmV0Y2g6bH0pe3RoaXMudXJsPWEsdGhpcy5oZWFkZXJzPW5ldyBIZWFkZXJzKGkpLHRoaXMuc2NoZW1hPW8sdGhpcy5mZXRjaD1sfXNlbGVjdChhLGkpe2NvbnN0e2hlYWQ6bz0hMSxjb3VudDpsfT1pPz97fSxjPW8/IkhFQUQiOiJHRVQiO2xldCBkPSExO2NvbnN0IHU9KGE/PyIqIikuc3BsaXQoIiIpLm1hcChBPT4vXHMvLnRlc3QoQSkmJiFkPyIiOihBPT09JyInJiYoZD0hZCksQSkpLmpvaW4oIiIpO3JldHVybiB0aGlzLnVybC5zZWFyY2hQYXJhbXMuc2V0KCJzZWxlY3QiLHUpLGwmJnRoaXMuaGVhZGVycy5hcHBlbmQoIlByZWZlciIsYGNvdW50PSR7bH1gKSxuZXcgdC5kZWZhdWx0KHttZXRob2Q6Yyx1cmw6dGhpcy51cmwsaGVhZGVyczp0aGlzLmhlYWRlcnMsc2NoZW1hOnRoaXMuc2NoZW1hLGZldGNoOnRoaXMuZmV0Y2h9KX1pbnNlcnQoYSx7Y291bnQ6aSxkZWZhdWx0VG9OdWxsOm89ITB9PXt9KXt2YXIgbDtjb25zdCBjPSJQT1NUIjtpZihpJiZ0aGlzLmhlYWRlcnMuYXBwZW5kKCJQcmVmZXIiLGBjb3VudD0ke2l9YCksb3x8dGhpcy5oZWFkZXJzLmFwcGVuZCgiUHJlZmVyIiwibWlzc2luZz1kZWZhdWx0IiksQXJyYXkuaXNBcnJheShhKSl7Y29uc3QgZD1hLnJlZHVjZSgodSxBKT0+dS5jb25jYXQoT2JqZWN0LmtleXMoQSkpLFtdKTtpZihkLmxlbmd0aD4wKXtjb25zdCB1PVsuLi5uZXcgU2V0KGQpXS5tYXAoQT0+YCIke0F9ImApO3RoaXMudXJsLnNlYXJjaFBhcmFtcy5zZXQoImNvbHVtbnMiLHUuam9pbigiLCIpKX19cmV0dXJuIG5ldyB0LmRlZmF1bHQoe21ldGhvZDpjLHVybDp0aGlzLnVybCxoZWFkZXJzOnRoaXMuaGVhZGVycyxzY2hlbWE6dGhpcy5zY2hlbWEsYm9keTphLGZldGNoOihsPXRoaXMuZmV0Y2gpIT09bnVsbCYmbCE9PXZvaWQgMD9sOmZldGNofSl9dXBzZXJ0KGEse29uQ29uZmxpY3Q6aSxpZ25vcmVEdXBsaWNhdGVzOm89ITEsY291bnQ6bCxkZWZhdWx0VG9OdWxsOmM9ITB9PXt9KXt2YXIgZDtjb25zdCB1PSJQT1NUIjtpZih0aGlzLmhlYWRlcnMuYXBwZW5kKCJQcmVmZXIiLGByZXNvbHV0aW9uPSR7bz8iaWdub3JlIjoibWVyZ2UifS1kdXBsaWNhdGVzYCksaSE9PXZvaWQgMCYmdGhpcy51cmwuc2VhcmNoUGFyYW1zLnNldCgib25fY29uZmxpY3QiLGkpLGwmJnRoaXMuaGVhZGVycy5hcHBlbmQoIlByZWZlciIsYGNvdW50PSR7bH1gKSxjfHx0aGlzLmhlYWRlcnMuYXBwZW5kKCJQcmVmZXIiLCJtaXNzaW5nPWRlZmF1bHQiKSxBcnJheS5pc0FycmF5KGEpKXtjb25zdCBBPWEucmVkdWNlKChmLGgpPT5mLmNvbmNhdChPYmplY3Qua2V5cyhoKSksW10pO2lmKEEubGVuZ3RoPjApe2NvbnN0IGY9Wy4uLm5ldyBTZXQoQSldLm1hcChoPT5gIiR7aH0iYCk7dGhpcy51cmwuc2VhcmNoUGFyYW1zLnNldCgiY29sdW1ucyIsZi5qb2luKCIsIikpfX1yZXR1cm4gbmV3IHQuZGVmYXVsdCh7bWV0aG9kOnUsdXJsOnRoaXMudXJsLGhlYWRlcnM6dGhpcy5oZWFkZXJzLHNjaGVtYTp0aGlzLnNjaGVtYSxib2R5OmEsZmV0Y2g6KGQ9dGhpcy5mZXRjaCkhPT1udWxsJiZkIT09dm9pZCAwP2Q6ZmV0Y2h9KX11cGRhdGUoYSx7Y291bnQ6aX09e30pe3ZhciBvO2NvbnN0IGw9IlBBVENIIjtyZXR1cm4gaSYmdGhpcy5oZWFkZXJzLmFwcGVuZCgiUHJlZmVyIixgY291bnQ9JHtpfWApLG5ldyB0LmRlZmF1bHQoe21ldGhvZDpsLHVybDp0aGlzLnVybCxoZWFkZXJzOnRoaXMuaGVhZGVycyxzY2hlbWE6dGhpcy5zY2hlbWEsYm9keTphLGZldGNoOihvPXRoaXMuZmV0Y2gpIT09bnVsbCYmbyE9PXZvaWQgMD9vOmZldGNofSl9ZGVsZXRlKHtjb3VudDphfT17fSl7dmFyIGk7Y29uc3Qgbz0iREVMRVRFIjtyZXR1cm4gYSYmdGhpcy5oZWFkZXJzLmFwcGVuZCgiUHJlZmVyIixgY291bnQ9JHthfWApLG5ldyB0LmRlZmF1bHQoe21ldGhvZDpvLHVybDp0aGlzLnVybCxoZWFkZXJzOnRoaXMuaGVhZGVycyxzY2hlbWE6dGhpcy5zY2hlbWEsZmV0Y2g6KGk9dGhpcy5mZXRjaCkhPT1udWxsJiZpIT09dm9pZCAwP2k6ZmV0Y2h9KX19cmV0dXJuIEtnLmRlZmF1bHQ9cixLZ312YXIgakY7ZnVuY3Rpb24gbW9lKCl7aWYoakYpcmV0dXJuIEhnO2pGPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KEhnLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBlPWVmLHQ9ZS5fX2ltcG9ydERlZmF1bHQoQkgoKSkscj1lLl9faW1wb3J0RGVmYXVsdChoRSgpKTtjbGFzcyBue2NvbnN0cnVjdG9yKGkse2hlYWRlcnM6bz17fSxzY2hlbWE6bCxmZXRjaDpjfT17fSl7dGhpcy51cmw9aSx0aGlzLmhlYWRlcnM9bmV3IEhlYWRlcnMobyksdGhpcy5zY2hlbWFOYW1lPWwsdGhpcy5mZXRjaD1jfWZyb20oaSl7Y29uc3Qgbz1uZXcgVVJMKGAke3RoaXMudXJsfS8ke2l9YCk7cmV0dXJuIG5ldyB0LmRlZmF1bHQobyx7aGVhZGVyczpuZXcgSGVhZGVycyh0aGlzLmhlYWRlcnMpLHNjaGVtYTp0aGlzLnNjaGVtYU5hbWUsZmV0Y2g6dGhpcy5mZXRjaH0pfXNjaGVtYShpKXtyZXR1cm4gbmV3IG4odGhpcy51cmwse2hlYWRlcnM6dGhpcy5oZWFkZXJzLHNjaGVtYTppLGZldGNoOnRoaXMuZmV0Y2h9KX1ycGMoaSxvPXt9LHtoZWFkOmw9ITEsZ2V0OmM9ITEsY291bnQ6ZH09e30pe3ZhciB1O2xldCBBO2NvbnN0IGY9bmV3IFVSTChgJHt0aGlzLnVybH0vcnBjLyR7aX1gKTtsZXQgaDtsfHxjPyhBPWw/IkhFQUQiOiJHRVQiLE9iamVjdC5lbnRyaWVzKG8pLmZpbHRlcigoW20seF0pPT54IT09dm9pZCAwKS5tYXAoKFttLHhdKT0+W20sQXJyYXkuaXNBcnJheSh4KT9geyR7eC5qb2luKCIsIil9fWA6YCR7eH1gXSkuZm9yRWFjaCgoW20seF0pPT57Zi5zZWFyY2hQYXJhbXMuYXBwZW5kKG0seCl9KSk6KEE9IlBPU1QiLGg9byk7Y29uc3QgcD1uZXcgSGVhZGVycyh0aGlzLmhlYWRlcnMpO3JldHVybiBkJiZwLnNldCgiUHJlZmVyIixgY291bnQ9JHtkfWApLG5ldyByLmRlZmF1bHQoe21ldGhvZDpBLHVybDpmLGhlYWRlcnM6cCxzY2hlbWE6dGhpcy5zY2hlbWFOYW1lLGJvZHk6aCxmZXRjaDoodT10aGlzLmZldGNoKSE9PW51bGwmJnUhPT12b2lkIDA/dTpmZXRjaH0pfX1yZXR1cm4gSGcuZGVmYXVsdD1uLEhnfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShIbiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFNIPUhuLlBvc3RncmVzdEVycm9yPU1IPUhuLlBvc3RncmVzdEJ1aWxkZXI9VUg9SG4uUG9zdGdyZXN0VHJhbnNmb3JtQnVpbGRlcj1PSD1Ibi5Qb3N0Z3Jlc3RGaWx0ZXJCdWlsZGVyPVBIPUhuLlBvc3RncmVzdFF1ZXJ5QnVpbGRlcj1rSD1Ibi5Qb3N0Z3Jlc3RDbGllbnQ9dm9pZCAwO2NvbnN0IHRmPWVmLEVIPXRmLl9faW1wb3J0RGVmYXVsdChtb2UoKSk7dmFyIGtIPUhuLlBvc3RncmVzdENsaWVudD1FSC5kZWZhdWx0O2NvbnN0IFRIPXRmLl9faW1wb3J0RGVmYXVsdChCSCgpKTt2YXIgUEg9SG4uUG9zdGdyZXN0UXVlcnlCdWlsZGVyPVRILmRlZmF1bHQ7Y29uc3QgRkg9dGYuX19pbXBvcnREZWZhdWx0KGhFKCkpO3ZhciBPSD1Ibi5Qb3N0Z3Jlc3RGaWx0ZXJCdWlsZGVyPUZILmRlZmF1bHQ7Y29uc3QgSUg9dGYuX19pbXBvcnREZWZhdWx0KF9IKCkpO3ZhciBVSD1Ibi5Qb3N0Z3Jlc3RUcmFuc2Zvcm1CdWlsZGVyPUlILmRlZmF1bHQ7Y29uc3QgREg9dGYuX19pbXBvcnREZWZhdWx0KENIKCkpO3ZhciBNSD1Ibi5Qb3N0Z3Jlc3RCdWlsZGVyPURILmRlZmF1bHQ7Y29uc3QgUkg9dGYuX19pbXBvcnREZWZhdWx0KE5IKCkpO1NIPUhuLlBvc3RncmVzdEVycm9yPVJILmRlZmF1bHQ7dmFyIFFIPUhuLmRlZmF1bHQ9e1Bvc3RncmVzdENsaWVudDpFSC5kZWZhdWx0LFBvc3RncmVzdFF1ZXJ5QnVpbGRlcjpUSC5kZWZhdWx0LFBvc3RncmVzdEZpbHRlckJ1aWxkZXI6RkguZGVmYXVsdCxQb3N0Z3Jlc3RUcmFuc2Zvcm1CdWlsZGVyOklILmRlZmF1bHQsUG9zdGdyZXN0QnVpbGRlcjpESC5kZWZhdWx0LFBvc3RncmVzdEVycm9yOlJILmRlZmF1bHR9O2NvbnN0IHBvZT1NUSh7X19wcm90b19fOm51bGwsZ2V0IFBvc3RncmVzdEJ1aWxkZXIoKXtyZXR1cm4gTUh9LGdldCBQb3N0Z3Jlc3RDbGllbnQoKXtyZXR1cm4ga0h9LGdldCBQb3N0Z3Jlc3RFcnJvcigpe3JldHVybiBTSH0sZ2V0IFBvc3RncmVzdEZpbHRlckJ1aWxkZXIoKXtyZXR1cm4gT0h9LGdldCBQb3N0Z3Jlc3RRdWVyeUJ1aWxkZXIoKXtyZXR1cm4gUEh9LGdldCBQb3N0Z3Jlc3RUcmFuc2Zvcm1CdWlsZGVyKCl7cmV0dXJuIFVIfSxkZWZhdWx0OlFIfSxbSG5dKSx7UG9zdGdyZXN0Q2xpZW50OmdvZSxQb3N0Z3Jlc3RRdWVyeUJ1aWxkZXI6VUdlLFBvc3RncmVzdEZpbHRlckJ1aWxkZXI6REdlLFBvc3RncmVzdFRyYW5zZm9ybUJ1aWxkZXI6TUdlLFBvc3RncmVzdEJ1aWxkZXI6UkdlLFBvc3RncmVzdEVycm9yOlFHZX09UUh8fHBvZTtjbGFzcyB4b2V7c3RhdGljIGRldGVjdEVudmlyb25tZW50KCl7dmFyIHQ7aWYodHlwZW9mIFdlYlNvY2tldDwidSIpcmV0dXJue3R5cGU6Im5hdGl2ZSIsY29uc3RydWN0b3I6V2ViU29ja2V0fTtpZih0eXBlb2YgZ2xvYmFsVGhpczwidSImJnR5cGVvZiBnbG9iYWxUaGlzLldlYlNvY2tldDwidSIpcmV0dXJue3R5cGU6Im5hdGl2ZSIsY29uc3RydWN0b3I6Z2xvYmFsVGhpcy5XZWJTb2NrZXR9O2lmKHR5cGVvZiBnbG9iYWw8InUiJiZ0eXBlb2YgZ2xvYmFsLldlYlNvY2tldDwidSIpcmV0dXJue3R5cGU6Im5hdGl2ZSIsY29uc3RydWN0b3I6Z2xvYmFsLldlYlNvY2tldH07aWYodHlwZW9mIGdsb2JhbFRoaXM8InUiJiZ0eXBlb2YgZ2xvYmFsVGhpcy5XZWJTb2NrZXRQYWlyPCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMuV2ViU29ja2V0PiJ1IilyZXR1cm57dHlwZToiY2xvdWRmbGFyZSIsZXJyb3I6IkNsb3VkZmxhcmUgV29ya2VycyBkZXRlY3RlZC4gV2ViU29ja2V0IGNsaWVudHMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gQ2xvdWRmbGFyZSBXb3JrZXJzLiIsd29ya2Fyb3VuZDoiVXNlIENsb3VkZmxhcmUgV29ya2VycyBXZWJTb2NrZXQgQVBJIGZvciBzZXJ2ZXItc2lkZSBXZWJTb2NrZXQgaGFuZGxpbmcsIG9yIGRlcGxveSB0byBhIGRpZmZlcmVudCBydW50aW1lLiJ9O2lmKHR5cGVvZiBnbG9iYWxUaGlzPCJ1IiYmZ2xvYmFsVGhpcy5FZGdlUnVudGltZXx8dHlwZW9mIG5hdmlnYXRvcjwidSImJighKCh0PW5hdmlnYXRvci51c2VyQWdlbnQpPT09bnVsbHx8dD09PXZvaWQgMCkmJnQuaW5jbHVkZXMoIlZlcmNlbC1FZGdlIikpKXJldHVybnt0eXBlOiJ1bnN1cHBvcnRlZCIsZXJyb3I6IkVkZ2UgcnVudGltZSBkZXRlY3RlZCAoVmVyY2VsIEVkZ2UvTmV0bGlmeSBFZGdlKS4gV2ViU29ja2V0cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBlZGdlIGZ1bmN0aW9ucy4iLHdvcmthcm91bmQ6IlVzZSBzZXJ2ZXJsZXNzIGZ1bmN0aW9ucyBvciBhIGRpZmZlcmVudCBkZXBsb3ltZW50IHRhcmdldCBmb3IgV2ViU29ja2V0IGZ1bmN0aW9uYWxpdHkuIn07aWYodHlwZW9mIHByb2Nlc3M8InUiKXtjb25zdCByPXByb2Nlc3MudmVyc2lvbnM7aWYociYmci5ub2RlKXtjb25zdCBuPXIubm9kZSxhPXBhcnNlSW50KG4ucmVwbGFjZSgvXnYvLCIiKS5zcGxpdCgiLiIpWzBdKTtyZXR1cm4gYT49MjI/dHlwZW9mIGdsb2JhbFRoaXMuV2ViU29ja2V0PCJ1Ij97dHlwZToibmF0aXZlIixjb25zdHJ1Y3RvcjpnbG9iYWxUaGlzLldlYlNvY2tldH06e3R5cGU6InVuc3VwcG9ydGVkIixlcnJvcjpgTm9kZS5qcyAke2F9IGRldGVjdGVkIGJ1dCBuYXRpdmUgV2ViU29ja2V0IG5vdCBmb3VuZC5gLHdvcmthcm91bmQ6IlByb3ZpZGUgYSBXZWJTb2NrZXQgaW1wbGVtZW50YXRpb24gdmlhIHRoZSB0cmFuc3BvcnQgb3B0aW9uLiJ9Ont0eXBlOiJ1bnN1cHBvcnRlZCIsZXJyb3I6YE5vZGUuanMgJHthfSBkZXRlY3RlZCB3aXRob3V0IG5hdGl2ZSBXZWJTb2NrZXQgc3VwcG9ydC5gLHdvcmthcm91bmQ6YEZvciBOb2RlLmpzIDwgMjIsIGluc3RhbGwgIndzIiBwYWNrYWdlIGFuZCBwcm92aWRlIGl0IHZpYSB0aGUgdHJhbnNwb3J0IG9wdGlvbjoKaW1wb3J0IHdzIGZyb20gIndzIgpuZXcgUmVhbHRpbWVDbGllbnQodXJsLCB7IHRyYW5zcG9ydDogd3MgfSlgfX19cmV0dXJue3R5cGU6InVuc3VwcG9ydGVkIixlcnJvcjoiVW5rbm93biBKYXZhU2NyaXB0IHJ1bnRpbWUgd2l0aG91dCBXZWJTb2NrZXQgc3VwcG9ydC4iLHdvcmthcm91bmQ6IkVuc3VyZSB5b3UncmUgcnVubmluZyBpbiBhIHN1cHBvcnRlZCBlbnZpcm9ubWVudCAoYnJvd3NlciwgTm9kZS5qcywgRGVubykgb3IgcHJvdmlkZSBhIGN1c3RvbSBXZWJTb2NrZXQgaW1wbGVtZW50YXRpb24uIn19c3RhdGljIGdldFdlYlNvY2tldENvbnN0cnVjdG9yKCl7Y29uc3QgdD10aGlzLmRldGVjdEVudmlyb25tZW50KCk7aWYodC5jb25zdHJ1Y3RvcilyZXR1cm4gdC5jb25zdHJ1Y3RvcjtsZXQgcj10LmVycm9yfHwiV2ViU29ja2V0IG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBlbnZpcm9ubWVudC4iO3Rocm93IHQud29ya2Fyb3VuZCYmKHIrPWAKClN1Z2dlc3RlZCBzb2x1dGlvbjogJHt0Lndvcmthcm91bmR9YCksbmV3IEVycm9yKHIpfXN0YXRpYyBjcmVhdGVXZWJTb2NrZXQodCxyKXtjb25zdCBuPXRoaXMuZ2V0V2ViU29ja2V0Q29uc3RydWN0b3IoKTtyZXR1cm4gbmV3IG4odCxyKX1zdGF0aWMgaXNXZWJTb2NrZXRTdXBwb3J0ZWQoKXt0cnl7Y29uc3QgdD10aGlzLmRldGVjdEVudmlyb25tZW50KCk7cmV0dXJuIHQudHlwZT09PSJuYXRpdmUifHx0LnR5cGU9PT0id3MifWNhdGNoe3JldHVybiExfX19Y29uc3QgeW9lPSIyLjc4LjAiLHZvZT1gcmVhbHRpbWUtanMvJHt5b2V9YCx3b2U9IjEuMC4wIixLQz0xZTQsYm9lPTFlMyxqb2U9MTAwO3ZhciBGaDsoZnVuY3Rpb24oZSl7ZVtlLmNvbm5lY3Rpbmc9MF09ImNvbm5lY3RpbmciLGVbZS5vcGVuPTFdPSJvcGVuIixlW2UuY2xvc2luZz0yXT0iY2xvc2luZyIsZVtlLmNsb3NlZD0zXT0iY2xvc2VkIn0pKEZofHwoRmg9e30pKTt2YXIgUXI7KGZ1bmN0aW9uKGUpe2UuY2xvc2VkPSJjbG9zZWQiLGUuZXJyb3JlZD0iZXJyb3JlZCIsZS5qb2luZWQ9ImpvaW5lZCIsZS5qb2luaW5nPSJqb2luaW5nIixlLmxlYXZpbmc9ImxlYXZpbmcifSkoUXJ8fChRcj17fSkpO3ZhciBrYTsoZnVuY3Rpb24oZSl7ZS5jbG9zZT0icGh4X2Nsb3NlIixlLmVycm9yPSJwaHhfZXJyb3IiLGUuam9pbj0icGh4X2pvaW4iLGUucmVwbHk9InBoeF9yZXBseSIsZS5sZWF2ZT0icGh4X2xlYXZlIixlLmFjY2Vzc190b2tlbj0iYWNjZXNzX3Rva2VuIn0pKGthfHwoa2E9e30pKTt2YXIgVkM7KGZ1bmN0aW9uKGUpe2Uud2Vic29ja2V0PSJ3ZWJzb2NrZXQifSkoVkN8fChWQz17fSkpO3ZhciB5YzsoZnVuY3Rpb24oZSl7ZS5Db25uZWN0aW5nPSJjb25uZWN0aW5nIixlLk9wZW49Im9wZW4iLGUuQ2xvc2luZz0iY2xvc2luZyIsZS5DbG9zZWQ9ImNsb3NlZCJ9KSh5Y3x8KHljPXt9KSk7Y2xhc3MgTm9le2NvbnN0cnVjdG9yKCl7dGhpcy5IRUFERVJfTEVOR1RIPTF9ZGVjb2RlKHQscil7cmV0dXJuIHQuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcj9yKHRoaXMuX2JpbmFyeURlY29kZSh0KSk6cih0eXBlb2YgdD09InN0cmluZyI/SlNPTi5wYXJzZSh0KTp7fSl9X2JpbmFyeURlY29kZSh0KXtjb25zdCByPW5ldyBEYXRhVmlldyh0KSxuPW5ldyBUZXh0RGVjb2RlcjtyZXR1cm4gdGhpcy5fZGVjb2RlQnJvYWRjYXN0KHQscixuKX1fZGVjb2RlQnJvYWRjYXN0KHQscixuKXtjb25zdCBhPXIuZ2V0VWludDgoMSksaT1yLmdldFVpbnQ4KDIpO2xldCBvPXRoaXMuSEVBREVSX0xFTkdUSCsyO2NvbnN0IGw9bi5kZWNvZGUodC5zbGljZShvLG8rYSkpO289bythO2NvbnN0IGM9bi5kZWNvZGUodC5zbGljZShvLG8raSkpO289bytpO2NvbnN0IGQ9SlNPTi5wYXJzZShuLmRlY29kZSh0LnNsaWNlKG8sdC5ieXRlTGVuZ3RoKSkpO3JldHVybntyZWY6bnVsbCx0b3BpYzpsLGV2ZW50OmMscGF5bG9hZDpkfX19Y2xhc3MgTEh7Y29uc3RydWN0b3IodCxyKXt0aGlzLmNhbGxiYWNrPXQsdGhpcy50aW1lckNhbGM9cix0aGlzLnRpbWVyPXZvaWQgMCx0aGlzLnRyaWVzPTAsdGhpcy5jYWxsYmFjaz10LHRoaXMudGltZXJDYWxjPXJ9cmVzZXQoKXt0aGlzLnRyaWVzPTAsY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwfXNjaGVkdWxlVGltZW91dCgpe2NsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnRyaWVzPXRoaXMudHJpZXMrMSx0aGlzLmNhbGxiYWNrKCl9LHRoaXMudGltZXJDYWxjKHRoaXMudHJpZXMrMSkpfX12YXIgS3Q7KGZ1bmN0aW9uKGUpe2UuYWJzdGltZT0iYWJzdGltZSIsZS5ib29sPSJib29sIixlLmRhdGU9ImRhdGUiLGUuZGF0ZXJhbmdlPSJkYXRlcmFuZ2UiLGUuZmxvYXQ0PSJmbG9hdDQiLGUuZmxvYXQ4PSJmbG9hdDgiLGUuaW50Mj0iaW50MiIsZS5pbnQ0PSJpbnQ0IixlLmludDRyYW5nZT0iaW50NHJhbmdlIixlLmludDg9ImludDgiLGUuaW50OHJhbmdlPSJpbnQ4cmFuZ2UiLGUuanNvbj0ianNvbiIsZS5qc29uYj0ianNvbmIiLGUubW9uZXk9Im1vbmV5IixlLm51bWVyaWM9Im51bWVyaWMiLGUub2lkPSJvaWQiLGUucmVsdGltZT0icmVsdGltZSIsZS50ZXh0PSJ0ZXh0IixlLnRpbWU9InRpbWUiLGUudGltZXN0YW1wPSJ0aW1lc3RhbXAiLGUudGltZXN0YW1wdHo9InRpbWVzdGFtcHR6IixlLnRpbWV0ej0idGltZXR6IixlLnRzcmFuZ2U9InRzcmFuZ2UiLGUudHN0enJhbmdlPSJ0c3R6cmFuZ2UifSkoS3R8fChLdD17fSkpO2NvbnN0IE5GPShlLHQscj17fSk9Pnt2YXIgbjtjb25zdCBhPShuPXIuc2tpcFR5cGVzKSE9PW51bGwmJm4hPT12b2lkIDA/bjpbXTtyZXR1cm4gdD9PYmplY3Qua2V5cyh0KS5yZWR1Y2UoKGksbyk9PihpW29dPUNvZShvLGUsdCxhKSxpKSx7fSk6e319LENvZT0oZSx0LHIsbik9Pntjb25zdCBhPXQuZmluZChsPT5sLm5hbWU9PT1lKSxpPWE9PW51bGw/dm9pZCAwOmEudHlwZSxvPXJbZV07cmV0dXJuIGkmJiFuLmluY2x1ZGVzKGkpPyRIKGksbyk6ekMobyl9LCRIPShlLHQpPT57aWYoZS5jaGFyQXQoMCk9PT0iXyIpe2NvbnN0IHI9ZS5zbGljZSgxLGUubGVuZ3RoKTtyZXR1cm4gRW9lKHQscil9c3dpdGNoKGUpe2Nhc2UgS3QuYm9vbDpyZXR1cm4gX29lKHQpO2Nhc2UgS3QuZmxvYXQ0OmNhc2UgS3QuZmxvYXQ4OmNhc2UgS3QuaW50MjpjYXNlIEt0LmludDQ6Y2FzZSBLdC5pbnQ4OmNhc2UgS3QubnVtZXJpYzpjYXNlIEt0Lm9pZDpyZXR1cm4gQm9lKHQpO2Nhc2UgS3QuanNvbjpjYXNlIEt0Lmpzb25iOnJldHVybiBTb2UodCk7Y2FzZSBLdC50aW1lc3RhbXA6cmV0dXJuIGtvZSh0KTtjYXNlIEt0LmFic3RpbWU6Y2FzZSBLdC5kYXRlOmNhc2UgS3QuZGF0ZXJhbmdlOmNhc2UgS3QuaW50NHJhbmdlOmNhc2UgS3QuaW50OHJhbmdlOmNhc2UgS3QubW9uZXk6Y2FzZSBLdC5yZWx0aW1lOmNhc2UgS3QudGV4dDpjYXNlIEt0LnRpbWU6Y2FzZSBLdC50aW1lc3RhbXB0ejpjYXNlIEt0LnRpbWV0ejpjYXNlIEt0LnRzcmFuZ2U6Y2FzZSBLdC50c3R6cmFuZ2U6cmV0dXJuIHpDKHQpO2RlZmF1bHQ6cmV0dXJuIHpDKHQpfX0sekM9ZT0+ZSxfb2U9ZT0+e3N3aXRjaChlKXtjYXNlInQiOnJldHVybiEwO2Nhc2UiZiI6cmV0dXJuITE7ZGVmYXVsdDpyZXR1cm4gZX19LEJvZT1lPT57aWYodHlwZW9mIGU9PSJzdHJpbmciKXtjb25zdCB0PXBhcnNlRmxvYXQoZSk7aWYoIU51bWJlci5pc05hTih0KSlyZXR1cm4gdH1yZXR1cm4gZX0sU29lPWU9PntpZih0eXBlb2YgZT09InN0cmluZyIpdHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmxvZyhgSlNPTiBwYXJzZSBlcnJvcjogJHt0fWApLGV9cmV0dXJuIGV9LEVvZT0oZSx0KT0+e2lmKHR5cGVvZiBlIT0ic3RyaW5nIilyZXR1cm4gZTtjb25zdCByPWUubGVuZ3RoLTEsbj1lW3JdO2lmKGVbMF09PT0ieyImJm49PT0ifSIpe2xldCBpO2NvbnN0IG89ZS5zbGljZSgxLHIpO3RyeXtpPUpTT04ucGFyc2UoIlsiK28rIl0iKX1jYXRjaHtpPW8/by5zcGxpdCgiLCIpOltdfXJldHVybiBpLm1hcChsPT4kSCh0LGwpKX1yZXR1cm4gZX0sa29lPWU9PnR5cGVvZiBlPT0ic3RyaW5nIj9lLnJlcGxhY2UoIiAiLCJUIik6ZSxISD1lPT57Y29uc3QgdD1uZXcgVVJMKGUpO3JldHVybiB0LnByb3RvY29sPXQucHJvdG9jb2wucmVwbGFjZSgvXndzL2ksImh0dHAiKSx0LnBhdGhuYW1lPXQucGF0aG5hbWUucmVwbGFjZSgvXC8rJC8sIiIpLnJlcGxhY2UoL1wvc29ja2V0XC93ZWJzb2NrZXQkL2ksIiIpLnJlcGxhY2UoL1wvc29ja2V0JC9pLCIiKS5yZXBsYWNlKC9cL3dlYnNvY2tldCQvaSwiIiksdC5wYXRobmFtZT09PSIifHx0LnBhdGhuYW1lPT09Ii8iP3QucGF0aG5hbWU9Ii9hcGkvYnJvYWRjYXN0Ijp0LnBhdGhuYW1lPXQucGF0aG5hbWUrIi9hcGkvYnJvYWRjYXN0Iix0LmhyZWZ9O2NsYXNzIFIxe2NvbnN0cnVjdG9yKHQscixuPXt9LGE9S0Mpe3RoaXMuY2hhbm5lbD10LHRoaXMuZXZlbnQ9cix0aGlzLnBheWxvYWQ9bix0aGlzLnRpbWVvdXQ9YSx0aGlzLnNlbnQ9ITEsdGhpcy50aW1lb3V0VGltZXI9dm9pZCAwLHRoaXMucmVmPSIiLHRoaXMucmVjZWl2ZWRSZXNwPW51bGwsdGhpcy5yZWNIb29rcz1bXSx0aGlzLnJlZkV2ZW50PW51bGx9cmVzZW5kKHQpe3RoaXMudGltZW91dD10LHRoaXMuX2NhbmNlbFJlZkV2ZW50KCksdGhpcy5yZWY9IiIsdGhpcy5yZWZFdmVudD1udWxsLHRoaXMucmVjZWl2ZWRSZXNwPW51bGwsdGhpcy5zZW50PSExLHRoaXMuc2VuZCgpfXNlbmQoKXt0aGlzLl9oYXNSZWNlaXZlZCgidGltZW91dCIpfHwodGhpcy5zdGFydFRpbWVvdXQoKSx0aGlzLnNlbnQ9ITAsdGhpcy5jaGFubmVsLnNvY2tldC5wdXNoKHt0b3BpYzp0aGlzLmNoYW5uZWwudG9waWMsZXZlbnQ6dGhpcy5ldmVudCxwYXlsb2FkOnRoaXMucGF5bG9hZCxyZWY6dGhpcy5yZWYsam9pbl9yZWY6dGhpcy5jaGFubmVsLl9qb2luUmVmKCl9KSl9dXBkYXRlUGF5bG9hZCh0KXt0aGlzLnBheWxvYWQ9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMucGF5bG9hZCksdCl9cmVjZWl2ZSh0LHIpe3ZhciBuO3JldHVybiB0aGlzLl9oYXNSZWNlaXZlZCh0KSYmcigobj10aGlzLnJlY2VpdmVkUmVzcCk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLnJlc3BvbnNlKSx0aGlzLnJlY0hvb2tzLnB1c2goe3N0YXR1czp0LGNhbGxiYWNrOnJ9KSx0aGlzfXN0YXJ0VGltZW91dCgpe2lmKHRoaXMudGltZW91dFRpbWVyKXJldHVybjt0aGlzLnJlZj10aGlzLmNoYW5uZWwuc29ja2V0Ll9tYWtlUmVmKCksdGhpcy5yZWZFdmVudD10aGlzLmNoYW5uZWwuX3JlcGx5RXZlbnROYW1lKHRoaXMucmVmKTtjb25zdCB0PXI9Pnt0aGlzLl9jYW5jZWxSZWZFdmVudCgpLHRoaXMuX2NhbmNlbFRpbWVvdXQoKSx0aGlzLnJlY2VpdmVkUmVzcD1yLHRoaXMuX21hdGNoUmVjZWl2ZShyKX07dGhpcy5jaGFubmVsLl9vbih0aGlzLnJlZkV2ZW50LHt9LHQpLHRoaXMudGltZW91dFRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnRyaWdnZXIoInRpbWVvdXQiLHt9KX0sdGhpcy50aW1lb3V0KX10cmlnZ2VyKHQscil7dGhpcy5yZWZFdmVudCYmdGhpcy5jaGFubmVsLl90cmlnZ2VyKHRoaXMucmVmRXZlbnQse3N0YXR1czp0LHJlc3BvbnNlOnJ9KX1kZXN0cm95KCl7dGhpcy5fY2FuY2VsUmVmRXZlbnQoKSx0aGlzLl9jYW5jZWxUaW1lb3V0KCl9X2NhbmNlbFJlZkV2ZW50KCl7dGhpcy5yZWZFdmVudCYmdGhpcy5jaGFubmVsLl9vZmYodGhpcy5yZWZFdmVudCx7fSl9X2NhbmNlbFRpbWVvdXQoKXtjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0VGltZXIpLHRoaXMudGltZW91dFRpbWVyPXZvaWQgMH1fbWF0Y2hSZWNlaXZlKHtzdGF0dXM6dCxyZXNwb25zZTpyfSl7dGhpcy5yZWNIb29rcy5maWx0ZXIobj0+bi5zdGF0dXM9PT10KS5mb3JFYWNoKG49Pm4uY2FsbGJhY2socikpfV9oYXNSZWNlaXZlZCh0KXtyZXR1cm4gdGhpcy5yZWNlaXZlZFJlc3AmJnRoaXMucmVjZWl2ZWRSZXNwLnN0YXR1cz09PXR9fXZhciBDRjsoZnVuY3Rpb24oZSl7ZS5TWU5DPSJzeW5jIixlLkpPSU49ImpvaW4iLGUuTEVBVkU9ImxlYXZlIn0pKENGfHwoQ0Y9e30pKTtjbGFzcyBPaHtjb25zdHJ1Y3Rvcih0LHIpe3RoaXMuY2hhbm5lbD10LHRoaXMuc3RhdGU9e30sdGhpcy5wZW5kaW5nRGlmZnM9W10sdGhpcy5qb2luUmVmPW51bGwsdGhpcy5lbmFibGVkPSExLHRoaXMuY2FsbGVyPXtvbkpvaW46KCk9Pnt9LG9uTGVhdmU6KCk9Pnt9LG9uU3luYzooKT0+e319O2NvbnN0IG49KHI9PW51bGw/dm9pZCAwOnIuZXZlbnRzKXx8e3N0YXRlOiJwcmVzZW5jZV9zdGF0ZSIsZGlmZjoicHJlc2VuY2VfZGlmZiJ9O3RoaXMuY2hhbm5lbC5fb24obi5zdGF0ZSx7fSxhPT57Y29uc3R7b25Kb2luOmksb25MZWF2ZTpvLG9uU3luYzpsfT10aGlzLmNhbGxlcjt0aGlzLmpvaW5SZWY9dGhpcy5jaGFubmVsLl9qb2luUmVmKCksdGhpcy5zdGF0ZT1PaC5zeW5jU3RhdGUodGhpcy5zdGF0ZSxhLGksbyksdGhpcy5wZW5kaW5nRGlmZnMuZm9yRWFjaChjPT57dGhpcy5zdGF0ZT1PaC5zeW5jRGlmZih0aGlzLnN0YXRlLGMsaSxvKX0pLHRoaXMucGVuZGluZ0RpZmZzPVtdLGwoKX0pLHRoaXMuY2hhbm5lbC5fb24obi5kaWZmLHt9LGE9Pntjb25zdHtvbkpvaW46aSxvbkxlYXZlOm8sb25TeW5jOmx9PXRoaXMuY2FsbGVyO3RoaXMuaW5QZW5kaW5nU3luY1N0YXRlKCk/dGhpcy5wZW5kaW5nRGlmZnMucHVzaChhKToodGhpcy5zdGF0ZT1PaC5zeW5jRGlmZih0aGlzLnN0YXRlLGEsaSxvKSxsKCkpfSksdGhpcy5vbkpvaW4oKGEsaSxvKT0+e3RoaXMuY2hhbm5lbC5fdHJpZ2dlcigicHJlc2VuY2UiLHtldmVudDoiam9pbiIsa2V5OmEsY3VycmVudFByZXNlbmNlczppLG5ld1ByZXNlbmNlczpvfSl9KSx0aGlzLm9uTGVhdmUoKGEsaSxvKT0+e3RoaXMuY2hhbm5lbC5fdHJpZ2dlcigicHJlc2VuY2UiLHtldmVudDoibGVhdmUiLGtleTphLGN1cnJlbnRQcmVzZW5jZXM6aSxsZWZ0UHJlc2VuY2VzOm99KX0pLHRoaXMub25TeW5jKCgpPT57dGhpcy5jaGFubmVsLl90cmlnZ2VyKCJwcmVzZW5jZSIse2V2ZW50OiJzeW5jIn0pfSl9c3RhdGljIHN5bmNTdGF0ZSh0LHIsbixhKXtjb25zdCBpPXRoaXMuY2xvbmVEZWVwKHQpLG89dGhpcy50cmFuc2Zvcm1TdGF0ZShyKSxsPXt9LGM9e307cmV0dXJuIHRoaXMubWFwKGksKGQsdSk9PntvW2RdfHwoY1tkXT11KX0pLHRoaXMubWFwKG8sKGQsdSk9Pntjb25zdCBBPWlbZF07aWYoQSl7Y29uc3QgZj11Lm1hcCh4PT54LnByZXNlbmNlX3JlZiksaD1BLm1hcCh4PT54LnByZXNlbmNlX3JlZikscD11LmZpbHRlcih4PT5oLmluZGV4T2YoeC5wcmVzZW5jZV9yZWYpPDApLG09QS5maWx0ZXIoeD0+Zi5pbmRleE9mKHgucHJlc2VuY2VfcmVmKTwwKTtwLmxlbmd0aD4wJiYobFtkXT1wKSxtLmxlbmd0aD4wJiYoY1tkXT1tKX1lbHNlIGxbZF09dX0pLHRoaXMuc3luY0RpZmYoaSx7am9pbnM6bCxsZWF2ZXM6Y30sbixhKX1zdGF0aWMgc3luY0RpZmYodCxyLG4sYSl7Y29uc3R7am9pbnM6aSxsZWF2ZXM6b309e2pvaW5zOnRoaXMudHJhbnNmb3JtU3RhdGUoci5qb2lucyksbGVhdmVzOnRoaXMudHJhbnNmb3JtU3RhdGUoci5sZWF2ZXMpfTtyZXR1cm4gbnx8KG49KCk9Pnt9KSxhfHwoYT0oKT0+e30pLHRoaXMubWFwKGksKGwsYyk9Pnt2YXIgZDtjb25zdCB1PShkPXRbbF0pIT09bnVsbCYmZCE9PXZvaWQgMD9kOltdO2lmKHRbbF09dGhpcy5jbG9uZURlZXAoYyksdS5sZW5ndGg+MCl7Y29uc3QgQT10W2xdLm1hcChoPT5oLnByZXNlbmNlX3JlZiksZj11LmZpbHRlcihoPT5BLmluZGV4T2YoaC5wcmVzZW5jZV9yZWYpPDApO3RbbF0udW5zaGlmdCguLi5mKX1uKGwsdSxjKX0pLHRoaXMubWFwKG8sKGwsYyk9PntsZXQgZD10W2xdO2lmKCFkKXJldHVybjtjb25zdCB1PWMubWFwKEE9PkEucHJlc2VuY2VfcmVmKTtkPWQuZmlsdGVyKEE9PnUuaW5kZXhPZihBLnByZXNlbmNlX3JlZik8MCksdFtsXT1kLGEobCxkLGMpLGQubGVuZ3RoPT09MCYmZGVsZXRlIHRbbF19KSx0fXN0YXRpYyBtYXAodCxyKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCkubWFwKG49PnIobix0W25dKSl9c3RhdGljIHRyYW5zZm9ybVN0YXRlKHQpe3JldHVybiB0PXRoaXMuY2xvbmVEZWVwKHQpLE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLnJlZHVjZSgocixuKT0+e2NvbnN0IGE9dFtuXTtyZXR1cm4ibWV0YXMiaW4gYT9yW25dPWEubWV0YXMubWFwKGk9PihpLnByZXNlbmNlX3JlZj1pLnBoeF9yZWYsZGVsZXRlIGkucGh4X3JlZixkZWxldGUgaS5waHhfcmVmX3ByZXYsaSkpOnJbbl09YSxyfSx7fSl9c3RhdGljIGNsb25lRGVlcCh0KXtyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0KSl9b25Kb2luKHQpe3RoaXMuY2FsbGVyLm9uSm9pbj10fW9uTGVhdmUodCl7dGhpcy5jYWxsZXIub25MZWF2ZT10fW9uU3luYyh0KXt0aGlzLmNhbGxlci5vblN5bmM9dH1pblBlbmRpbmdTeW5jU3RhdGUoKXtyZXR1cm4hdGhpcy5qb2luUmVmfHx0aGlzLmpvaW5SZWYhPT10aGlzLmNoYW5uZWwuX2pvaW5SZWYoKX19dmFyIF9GOyhmdW5jdGlvbihlKXtlLkFMTD0iKiIsZS5JTlNFUlQ9IklOU0VSVCIsZS5VUERBVEU9IlVQREFURSIsZS5ERUxFVEU9IkRFTEVURSJ9KShfRnx8KF9GPXt9KSk7dmFyIEloOyhmdW5jdGlvbihlKXtlLkJST0FEQ0FTVD0iYnJvYWRjYXN0IixlLlBSRVNFTkNFPSJwcmVzZW5jZSIsZS5QT1NUR1JFU19DSEFOR0VTPSJwb3N0Z3Jlc19jaGFuZ2VzIixlLlNZU1RFTT0ic3lzdGVtIn0pKElofHwoSWg9e30pKTt2YXIgemk7KGZ1bmN0aW9uKGUpe2UuU1VCU0NSSUJFRD0iU1VCU0NSSUJFRCIsZS5USU1FRF9PVVQ9IlRJTUVEX09VVCIsZS5DTE9TRUQ9IkNMT1NFRCIsZS5DSEFOTkVMX0VSUk9SPSJDSEFOTkVMX0VSUk9SIn0pKHppfHwoemk9e30pKTtjbGFzcyBtRXtjb25zdHJ1Y3Rvcih0LHI9e2NvbmZpZzp7fX0sbil7dmFyIGEsaTtpZih0aGlzLnRvcGljPXQsdGhpcy5wYXJhbXM9cix0aGlzLnNvY2tldD1uLHRoaXMuYmluZGluZ3M9e30sdGhpcy5zdGF0ZT1Rci5jbG9zZWQsdGhpcy5qb2luZWRPbmNlPSExLHRoaXMucHVzaEJ1ZmZlcj1bXSx0aGlzLnN1YlRvcGljPXQucmVwbGFjZSgvXnJlYWx0aW1lOi9pLCIiKSx0aGlzLnBhcmFtcy5jb25maWc9T2JqZWN0LmFzc2lnbih7YnJvYWRjYXN0OnthY2s6ITEsc2VsZjohMX0scHJlc2VuY2U6e2tleToiIixlbmFibGVkOiExfSxwcml2YXRlOiExfSxyLmNvbmZpZyksdGhpcy50aW1lb3V0PXRoaXMuc29ja2V0LnRpbWVvdXQsdGhpcy5qb2luUHVzaD1uZXcgUjEodGhpcyxrYS5qb2luLHRoaXMucGFyYW1zLHRoaXMudGltZW91dCksdGhpcy5yZWpvaW5UaW1lcj1uZXcgTEgoKCk9PnRoaXMuX3Jlam9pblVudGlsQ29ubmVjdGVkKCksdGhpcy5zb2NrZXQucmVjb25uZWN0QWZ0ZXJNcyksdGhpcy5qb2luUHVzaC5yZWNlaXZlKCJvayIsKCk9Pnt0aGlzLnN0YXRlPVFyLmpvaW5lZCx0aGlzLnJlam9pblRpbWVyLnJlc2V0KCksdGhpcy5wdXNoQnVmZmVyLmZvckVhY2gobz0+by5zZW5kKCkpLHRoaXMucHVzaEJ1ZmZlcj1bXX0pLHRoaXMuX29uQ2xvc2UoKCk9Pnt0aGlzLnJlam9pblRpbWVyLnJlc2V0KCksdGhpcy5zb2NrZXQubG9nKCJjaGFubmVsIixgY2xvc2UgJHt0aGlzLnRvcGljfSAke3RoaXMuX2pvaW5SZWYoKX1gKSx0aGlzLnN0YXRlPVFyLmNsb3NlZCx0aGlzLnNvY2tldC5fcmVtb3ZlKHRoaXMpfSksdGhpcy5fb25FcnJvcihvPT57dGhpcy5faXNMZWF2aW5nKCl8fHRoaXMuX2lzQ2xvc2VkKCl8fCh0aGlzLnNvY2tldC5sb2coImNoYW5uZWwiLGBlcnJvciAke3RoaXMudG9waWN9YCxvKSx0aGlzLnN0YXRlPVFyLmVycm9yZWQsdGhpcy5yZWpvaW5UaW1lci5zY2hlZHVsZVRpbWVvdXQoKSl9KSx0aGlzLmpvaW5QdXNoLnJlY2VpdmUoInRpbWVvdXQiLCgpPT57dGhpcy5faXNKb2luaW5nKCkmJih0aGlzLnNvY2tldC5sb2coImNoYW5uZWwiLGB0aW1lb3V0ICR7dGhpcy50b3BpY31gLHRoaXMuam9pblB1c2gudGltZW91dCksdGhpcy5zdGF0ZT1Rci5lcnJvcmVkLHRoaXMucmVqb2luVGltZXIuc2NoZWR1bGVUaW1lb3V0KCkpfSksdGhpcy5qb2luUHVzaC5yZWNlaXZlKCJlcnJvciIsbz0+e3RoaXMuX2lzTGVhdmluZygpfHx0aGlzLl9pc0Nsb3NlZCgpfHwodGhpcy5zb2NrZXQubG9nKCJjaGFubmVsIixgZXJyb3IgJHt0aGlzLnRvcGljfWAsbyksdGhpcy5zdGF0ZT1Rci5lcnJvcmVkLHRoaXMucmVqb2luVGltZXIuc2NoZWR1bGVUaW1lb3V0KCkpfSksdGhpcy5fb24oa2EucmVwbHkse30sKG8sbCk9Pnt0aGlzLl90cmlnZ2VyKHRoaXMuX3JlcGx5RXZlbnROYW1lKGwpLG8pfSksdGhpcy5wcmVzZW5jZT1uZXcgT2godGhpcyksdGhpcy5icm9hZGNhc3RFbmRwb2ludFVSTD1ISCh0aGlzLnNvY2tldC5lbmRQb2ludCksdGhpcy5wcml2YXRlPXRoaXMucGFyYW1zLmNvbmZpZy5wcml2YXRlfHwhMSwhdGhpcy5wcml2YXRlJiYoISgoaT0oYT10aGlzLnBhcmFtcy5jb25maWcpPT09bnVsbHx8YT09PXZvaWQgMD92b2lkIDA6YS5icm9hZGNhc3QpPT09bnVsbHx8aT09PXZvaWQgMCkmJmkucmVwbGF5KSl0aHJvd2B0cmllZCB0byB1c2UgcmVwbGF5IG9uIHB1YmxpYyBjaGFubmVsICcke3RoaXMudG9waWN9Jy4gSXQgbXVzdCBiZSBhIHByaXZhdGUgY2hhbm5lbC5gfXN1YnNjcmliZSh0LHI9dGhpcy50aW1lb3V0KXt2YXIgbixhLGk7aWYodGhpcy5zb2NrZXQuaXNDb25uZWN0ZWQoKXx8dGhpcy5zb2NrZXQuY29ubmVjdCgpLHRoaXMuc3RhdGU9PVFyLmNsb3NlZCl7Y29uc3R7Y29uZmlnOnticm9hZGNhc3Q6byxwcmVzZW5jZTpsLHByaXZhdGU6Y319PXRoaXMucGFyYW1zLGQ9KGE9KG49dGhpcy5iaW5kaW5ncy5wb3N0Z3Jlc19jaGFuZ2VzKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4ubWFwKGg9PmguZmlsdGVyKSkhPT1udWxsJiZhIT09dm9pZCAwP2E6W10sdT0hIXRoaXMuYmluZGluZ3NbSWguUFJFU0VOQ0VdJiZ0aGlzLmJpbmRpbmdzW0loLlBSRVNFTkNFXS5sZW5ndGg+MHx8KChpPXRoaXMucGFyYW1zLmNvbmZpZy5wcmVzZW5jZSk9PT1udWxsfHxpPT09dm9pZCAwP3ZvaWQgMDppLmVuYWJsZWQpPT09ITAsQT17fSxmPXticm9hZGNhc3Q6byxwcmVzZW5jZTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sbCkse2VuYWJsZWQ6dX0pLHBvc3RncmVzX2NoYW5nZXM6ZCxwcml2YXRlOmN9O3RoaXMuc29ja2V0LmFjY2Vzc1Rva2VuVmFsdWUmJihBLmFjY2Vzc190b2tlbj10aGlzLnNvY2tldC5hY2Nlc3NUb2tlblZhbHVlKSx0aGlzLl9vbkVycm9yKGg9PnQ9PW51bGw/dm9pZCAwOnQoemkuQ0hBTk5FTF9FUlJPUixoKSksdGhpcy5fb25DbG9zZSgoKT0+dD09bnVsbD92b2lkIDA6dCh6aS5DTE9TRUQpKSx0aGlzLnVwZGF0ZUpvaW5QYXlsb2FkKE9iamVjdC5hc3NpZ24oe2NvbmZpZzpmfSxBKSksdGhpcy5qb2luZWRPbmNlPSEwLHRoaXMuX3Jlam9pbihyKSx0aGlzLmpvaW5QdXNoLnJlY2VpdmUoIm9rIixhc3luYyh7cG9zdGdyZXNfY2hhbmdlczpofSk9Pnt2YXIgcDtpZih0aGlzLnNvY2tldC5zZXRBdXRoKCksaD09PXZvaWQgMCl7dD09bnVsbHx8dCh6aS5TVUJTQ1JJQkVEKTtyZXR1cm59ZWxzZXtjb25zdCBtPXRoaXMuYmluZGluZ3MucG9zdGdyZXNfY2hhbmdlcyx4PShwPW09PW51bGw/dm9pZCAwOm0ubGVuZ3RoKSE9PW51bGwmJnAhPT12b2lkIDA/cDowLHc9W107Zm9yKGxldCB5PTA7eTx4O3krKyl7Y29uc3Qgdj1tW3ldLHtmaWx0ZXI6e2V2ZW50OmIsc2NoZW1hOmosdGFibGU6TixmaWx0ZXI6Q319PXYsXz1oJiZoW3ldO2lmKF8mJl8uZXZlbnQ9PT1iJiZfLnNjaGVtYT09PWomJl8udGFibGU9PT1OJiZfLmZpbHRlcj09PUMpdy5wdXNoKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx2KSx7aWQ6Xy5pZH0pKTtlbHNle3RoaXMudW5zdWJzY3JpYmUoKSx0aGlzLnN0YXRlPVFyLmVycm9yZWQsdD09bnVsbHx8dCh6aS5DSEFOTkVMX0VSUk9SLG5ldyBFcnJvcigibWlzbWF0Y2ggYmV0d2VlbiBzZXJ2ZXIgYW5kIGNsaWVudCBiaW5kaW5ncyBmb3IgcG9zdGdyZXMgY2hhbmdlcyIpKTtyZXR1cm59fXRoaXMuYmluZGluZ3MucG9zdGdyZXNfY2hhbmdlcz13LHQmJnQoemkuU1VCU0NSSUJFRCk7cmV0dXJufX0pLnJlY2VpdmUoImVycm9yIixoPT57dGhpcy5zdGF0ZT1Rci5lcnJvcmVkLHQ9PW51bGx8fHQoemkuQ0hBTk5FTF9FUlJPUixuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoT2JqZWN0LnZhbHVlcyhoKS5qb2luKCIsICIpfHwiZXJyb3IiKSkpfSkucmVjZWl2ZSgidGltZW91dCIsKCk9Pnt0PT1udWxsfHx0KHppLlRJTUVEX09VVCl9KX1yZXR1cm4gdGhpc31wcmVzZW5jZVN0YXRlKCl7cmV0dXJuIHRoaXMucHJlc2VuY2Uuc3RhdGV9YXN5bmMgdHJhY2sodCxyPXt9KXtyZXR1cm4gYXdhaXQgdGhpcy5zZW5kKHt0eXBlOiJwcmVzZW5jZSIsZXZlbnQ6InRyYWNrIixwYXlsb2FkOnR9LHIudGltZW91dHx8dGhpcy50aW1lb3V0KX1hc3luYyB1bnRyYWNrKHQ9e30pe3JldHVybiBhd2FpdCB0aGlzLnNlbmQoe3R5cGU6InByZXNlbmNlIixldmVudDoidW50cmFjayJ9LHQpfW9uKHQscixuKXtyZXR1cm4gdGhpcy5zdGF0ZT09PVFyLmpvaW5lZCYmdD09PUloLlBSRVNFTkNFJiYodGhpcy5zb2NrZXQubG9nKCJjaGFubmVsIixgcmVzdWJzY3JpYmUgdG8gJHt0aGlzLnRvcGljfSBkdWUgdG8gY2hhbmdlIGluIHByZXNlbmNlIGNhbGxiYWNrcyBvbiBqb2luZWQgY2hhbm5lbGApLHRoaXMudW5zdWJzY3JpYmUoKS50aGVuKCgpPT50aGlzLnN1YnNjcmliZSgpKSksdGhpcy5fb24odCxyLG4pfWFzeW5jIGh0dHBTZW5kKHQscixuPXt9KXt2YXIgYTtjb25zdCBpPXRoaXMuc29ja2V0LmFjY2Vzc1Rva2VuVmFsdWU/YEJlYXJlciAke3RoaXMuc29ja2V0LmFjY2Vzc1Rva2VuVmFsdWV9YDoiIjtpZihyPT1udWxsKXJldHVybiBQcm9taXNlLnJlamVjdCgiUGF5bG9hZCBpcyByZXF1aXJlZCBmb3IgaHR0cFNlbmQoKSIpO2NvbnN0IG89e21ldGhvZDoiUE9TVCIsaGVhZGVyczp7QXV0aG9yaXphdGlvbjppLGFwaWtleTp0aGlzLnNvY2tldC5hcGlLZXk/dGhpcy5zb2NrZXQuYXBpS2V5OiIiLCJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7bWVzc2FnZXM6W3t0b3BpYzp0aGlzLnN1YlRvcGljLGV2ZW50OnQscGF5bG9hZDpyLHByaXZhdGU6dGhpcy5wcml2YXRlfV19KX0sbD1hd2FpdCB0aGlzLl9mZXRjaFdpdGhUaW1lb3V0KHRoaXMuYnJvYWRjYXN0RW5kcG9pbnRVUkwsbywoYT1uLnRpbWVvdXQpIT09bnVsbCYmYSE9PXZvaWQgMD9hOnRoaXMudGltZW91dCk7aWYobC5zdGF0dXM9PT0yMDIpcmV0dXJue3N1Y2Nlc3M6ITB9O2xldCBjPWwuc3RhdHVzVGV4dDt0cnl7Y29uc3QgZD1hd2FpdCBsLmpzb24oKTtjPWQuZXJyb3J8fGQubWVzc2FnZXx8Y31jYXRjaHt9cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihjKSl9YXN5bmMgc2VuZCh0LHI9e30pe3ZhciBuLGE7aWYoIXRoaXMuX2NhblB1c2goKSYmdC50eXBlPT09ImJyb2FkY2FzdCIpe2NvbnNvbGUud2FybigiUmVhbHRpbWUgc2VuZCgpIGlzIGF1dG9tYXRpY2FsbHkgZmFsbGluZyBiYWNrIHRvIFJFU1QgQVBJLiBUaGlzIGJlaGF2aW9yIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiB0aGUgZnV0dXJlLiBQbGVhc2UgdXNlIGh0dHBTZW5kKCkgZXhwbGljaXRseSBmb3IgUkVTVCBkZWxpdmVyeS4iKTtjb25zdHtldmVudDppLHBheWxvYWQ6b309dCxjPXttZXRob2Q6IlBPU1QiLGhlYWRlcnM6e0F1dGhvcml6YXRpb246dGhpcy5zb2NrZXQuYWNjZXNzVG9rZW5WYWx1ZT9gQmVhcmVyICR7dGhpcy5zb2NrZXQuYWNjZXNzVG9rZW5WYWx1ZX1gOiIiLGFwaWtleTp0aGlzLnNvY2tldC5hcGlLZXk/dGhpcy5zb2NrZXQuYXBpS2V5OiIiLCJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7bWVzc2FnZXM6W3t0b3BpYzp0aGlzLnN1YlRvcGljLGV2ZW50OmkscGF5bG9hZDpvLHByaXZhdGU6dGhpcy5wcml2YXRlfV19KX07dHJ5e2NvbnN0IGQ9YXdhaXQgdGhpcy5fZmV0Y2hXaXRoVGltZW91dCh0aGlzLmJyb2FkY2FzdEVuZHBvaW50VVJMLGMsKG49ci50aW1lb3V0KSE9PW51bGwmJm4hPT12b2lkIDA/bjp0aGlzLnRpbWVvdXQpO3JldHVybiBhd2FpdCgoYT1kLmJvZHkpPT09bnVsbHx8YT09PXZvaWQgMD92b2lkIDA6YS5jYW5jZWwoKSksZC5vaz8ib2siOiJlcnJvciJ9Y2F0Y2goZCl7cmV0dXJuIGQubmFtZT09PSJBYm9ydEVycm9yIj8idGltZWQgb3V0IjoiZXJyb3IifX1lbHNlIHJldHVybiBuZXcgUHJvbWlzZShpPT57dmFyIG8sbCxjO2NvbnN0IGQ9dGhpcy5fcHVzaCh0LnR5cGUsdCxyLnRpbWVvdXR8fHRoaXMudGltZW91dCk7dC50eXBlPT09ImJyb2FkY2FzdCImJiEoISgoYz0obD0obz10aGlzLnBhcmFtcyk9PT1udWxsfHxvPT09dm9pZCAwP3ZvaWQgMDpvLmNvbmZpZyk9PT1udWxsfHxsPT09dm9pZCAwP3ZvaWQgMDpsLmJyb2FkY2FzdCk9PT1udWxsfHxjPT09dm9pZCAwKSYmYy5hY2spJiZpKCJvayIpLGQucmVjZWl2ZSgib2siLCgpPT5pKCJvayIpKSxkLnJlY2VpdmUoImVycm9yIiwoKT0+aSgiZXJyb3IiKSksZC5yZWNlaXZlKCJ0aW1lb3V0IiwoKT0+aSgidGltZWQgb3V0IikpfSl9dXBkYXRlSm9pblBheWxvYWQodCl7dGhpcy5qb2luUHVzaC51cGRhdGVQYXlsb2FkKHQpfXVuc3Vic2NyaWJlKHQ9dGhpcy50aW1lb3V0KXt0aGlzLnN0YXRlPVFyLmxlYXZpbmc7Y29uc3Qgcj0oKT0+e3RoaXMuc29ja2V0LmxvZygiY2hhbm5lbCIsYGxlYXZlICR7dGhpcy50b3BpY31gKSx0aGlzLl90cmlnZ2VyKGthLmNsb3NlLCJsZWF2ZSIsdGhpcy5fam9pblJlZigpKX07dGhpcy5qb2luUHVzaC5kZXN0cm95KCk7bGV0IG49bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoYT0+e249bmV3IFIxKHRoaXMsa2EubGVhdmUse30sdCksbi5yZWNlaXZlKCJvayIsKCk9PntyKCksYSgib2siKX0pLnJlY2VpdmUoInRpbWVvdXQiLCgpPT57cigpLGEoInRpbWVkIG91dCIpfSkucmVjZWl2ZSgiZXJyb3IiLCgpPT57YSgiZXJyb3IiKX0pLG4uc2VuZCgpLHRoaXMuX2NhblB1c2goKXx8bi50cmlnZ2VyKCJvayIse30pfSkuZmluYWxseSgoKT0+e249PW51bGx8fG4uZGVzdHJveSgpfSl9dGVhcmRvd24oKXt0aGlzLnB1c2hCdWZmZXIuZm9yRWFjaCh0PT50LmRlc3Ryb3koKSksdGhpcy5wdXNoQnVmZmVyPVtdLHRoaXMucmVqb2luVGltZXIucmVzZXQoKSx0aGlzLmpvaW5QdXNoLmRlc3Ryb3koKSx0aGlzLnN0YXRlPVFyLmNsb3NlZCx0aGlzLmJpbmRpbmdzPXt9fWFzeW5jIF9mZXRjaFdpdGhUaW1lb3V0KHQscixuKXtjb25zdCBhPW5ldyBBYm9ydENvbnRyb2xsZXIsaT1zZXRUaW1lb3V0KCgpPT5hLmFib3J0KCksbiksbz1hd2FpdCB0aGlzLnNvY2tldC5mZXRjaCh0LE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxyKSx7c2lnbmFsOmEuc2lnbmFsfSkpO3JldHVybiBjbGVhclRpbWVvdXQoaSksb31fcHVzaCh0LHIsbj10aGlzLnRpbWVvdXQpe2lmKCF0aGlzLmpvaW5lZE9uY2UpdGhyb3dgdHJpZWQgdG8gcHVzaCAnJHt0fScgdG8gJyR7dGhpcy50b3BpY30nIGJlZm9yZSBqb2luaW5nLiBVc2UgY2hhbm5lbC5zdWJzY3JpYmUoKSBiZWZvcmUgcHVzaGluZyBldmVudHNgO2xldCBhPW5ldyBSMSh0aGlzLHQscixuKTtyZXR1cm4gdGhpcy5fY2FuUHVzaCgpP2Euc2VuZCgpOnRoaXMuX2FkZFRvUHVzaEJ1ZmZlcihhKSxhfV9hZGRUb1B1c2hCdWZmZXIodCl7aWYodC5zdGFydFRpbWVvdXQoKSx0aGlzLnB1c2hCdWZmZXIucHVzaCh0KSx0aGlzLnB1c2hCdWZmZXIubGVuZ3RoPmpvZSl7Y29uc3Qgcj10aGlzLnB1c2hCdWZmZXIuc2hpZnQoKTtyJiYoci5kZXN0cm95KCksdGhpcy5zb2NrZXQubG9nKCJjaGFubmVsIixgZGlzY2FyZGVkIHB1c2ggZHVlIHRvIGJ1ZmZlciBvdmVyZmxvdzogJHtyLmV2ZW50fWAsci5wYXlsb2FkKSl9fV9vbk1lc3NhZ2UodCxyLG4pe3JldHVybiByfV9pc01lbWJlcih0KXtyZXR1cm4gdGhpcy50b3BpYz09PXR9X2pvaW5SZWYoKXtyZXR1cm4gdGhpcy5qb2luUHVzaC5yZWZ9X3RyaWdnZXIodCxyLG4pe3ZhciBhLGk7Y29uc3Qgbz10LnRvTG9jYWxlTG93ZXJDYXNlKCkse2Nsb3NlOmwsZXJyb3I6YyxsZWF2ZTpkLGpvaW46dX09a2E7aWYobiYmW2wsYyxkLHVdLmluZGV4T2Yobyk+PTAmJm4hPT10aGlzLl9qb2luUmVmKCkpcmV0dXJuO2xldCBmPXRoaXMuX29uTWVzc2FnZShvLHIsbik7aWYociYmIWYpdGhyb3ciY2hhbm5lbCBvbk1lc3NhZ2UgY2FsbGJhY2tzIG11c3QgcmV0dXJuIHRoZSBwYXlsb2FkLCBtb2RpZmllZCBvciB1bm1vZGlmaWVkIjtbImluc2VydCIsInVwZGF0ZSIsImRlbGV0ZSJdLmluY2x1ZGVzKG8pPyhhPXRoaXMuYmluZGluZ3MucG9zdGdyZXNfY2hhbmdlcyk9PT1udWxsfHxhPT09dm9pZCAwfHxhLmZpbHRlcihoPT57dmFyIHAsbSx4O3JldHVybigocD1oLmZpbHRlcik9PT1udWxsfHxwPT09dm9pZCAwP3ZvaWQgMDpwLmV2ZW50KT09PSIqInx8KCh4PShtPWguZmlsdGVyKT09PW51bGx8fG09PT12b2lkIDA/dm9pZCAwOm0uZXZlbnQpPT09bnVsbHx8eD09PXZvaWQgMD92b2lkIDA6eC50b0xvY2FsZUxvd2VyQ2FzZSgpKT09PW99KS5tYXAoaD0+aC5jYWxsYmFjayhmLG4pKTooaT10aGlzLmJpbmRpbmdzW29dKT09PW51bGx8fGk9PT12b2lkIDB8fGkuZmlsdGVyKGg9Pnt2YXIgcCxtLHgsdyx5LHY7aWYoWyJicm9hZGNhc3QiLCJwcmVzZW5jZSIsInBvc3RncmVzX2NoYW5nZXMiXS5pbmNsdWRlcyhvKSlpZigiaWQiaW4gaCl7Y29uc3QgYj1oLmlkLGo9KHA9aC5maWx0ZXIpPT09bnVsbHx8cD09PXZvaWQgMD92b2lkIDA6cC5ldmVudDtyZXR1cm4gYiYmKChtPXIuaWRzKT09PW51bGx8fG09PT12b2lkIDA/dm9pZCAwOm0uaW5jbHVkZXMoYikpJiYoaj09PSIqInx8KGo9PW51bGw/dm9pZCAwOmoudG9Mb2NhbGVMb3dlckNhc2UoKSk9PT0oKHg9ci5kYXRhKT09PW51bGx8fHg9PT12b2lkIDA/dm9pZCAwOngudHlwZS50b0xvY2FsZUxvd2VyQ2FzZSgpKSl9ZWxzZXtjb25zdCBiPSh5PSh3PWg9PW51bGw/dm9pZCAwOmguZmlsdGVyKT09PW51bGx8fHc9PT12b2lkIDA/dm9pZCAwOncuZXZlbnQpPT09bnVsbHx8eT09PXZvaWQgMD92b2lkIDA6eS50b0xvY2FsZUxvd2VyQ2FzZSgpO3JldHVybiBiPT09IioifHxiPT09KCh2PXI9PW51bGw/dm9pZCAwOnIuZXZlbnQpPT09bnVsbHx8dj09PXZvaWQgMD92b2lkIDA6di50b0xvY2FsZUxvd2VyQ2FzZSgpKX1lbHNlIHJldHVybiBoLnR5cGUudG9Mb2NhbGVMb3dlckNhc2UoKT09PW99KS5tYXAoaD0+e2lmKHR5cGVvZiBmPT0ib2JqZWN0IiYmImlkcyJpbiBmKXtjb25zdCBwPWYuZGF0YSx7c2NoZW1hOm0sdGFibGU6eCxjb21taXRfdGltZXN0YW1wOncsdHlwZTp5LGVycm9yczp2fT1wO2Y9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHtzY2hlbWE6bSx0YWJsZTp4LGNvbW1pdF90aW1lc3RhbXA6dyxldmVudFR5cGU6eSxuZXc6e30sb2xkOnt9LGVycm9yczp2fSksdGhpcy5fZ2V0UGF5bG9hZFJlY29yZHMocCkpfWguY2FsbGJhY2soZixuKX0pfV9pc0Nsb3NlZCgpe3JldHVybiB0aGlzLnN0YXRlPT09UXIuY2xvc2VkfV9pc0pvaW5lZCgpe3JldHVybiB0aGlzLnN0YXRlPT09UXIuam9pbmVkfV9pc0pvaW5pbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PVFyLmpvaW5pbmd9X2lzTGVhdmluZygpe3JldHVybiB0aGlzLnN0YXRlPT09UXIubGVhdmluZ31fcmVwbHlFdmVudE5hbWUodCl7cmV0dXJuYGNoYW5fcmVwbHlfJHt0fWB9X29uKHQscixuKXtjb25zdCBhPXQudG9Mb2NhbGVMb3dlckNhc2UoKSxpPXt0eXBlOmEsZmlsdGVyOnIsY2FsbGJhY2s6bn07cmV0dXJuIHRoaXMuYmluZGluZ3NbYV0/dGhpcy5iaW5kaW5nc1thXS5wdXNoKGkpOnRoaXMuYmluZGluZ3NbYV09W2ldLHRoaXN9X29mZih0LHIpe2NvbnN0IG49dC50b0xvY2FsZUxvd2VyQ2FzZSgpO3JldHVybiB0aGlzLmJpbmRpbmdzW25dJiYodGhpcy5iaW5kaW5nc1tuXT10aGlzLmJpbmRpbmdzW25dLmZpbHRlcihhPT57dmFyIGk7cmV0dXJuISgoKGk9YS50eXBlKT09PW51bGx8fGk9PT12b2lkIDA/dm9pZCAwOmkudG9Mb2NhbGVMb3dlckNhc2UoKSk9PT1uJiZtRS5pc0VxdWFsKGEuZmlsdGVyLHIpKX0pKSx0aGlzfXN0YXRpYyBpc0VxdWFsKHQscil7aWYoT2JqZWN0LmtleXModCkubGVuZ3RoIT09T2JqZWN0LmtleXMocikubGVuZ3RoKXJldHVybiExO2Zvcihjb25zdCBuIGluIHQpaWYodFtuXSE9PXJbbl0pcmV0dXJuITE7cmV0dXJuITB9X3Jlam9pblVudGlsQ29ubmVjdGVkKCl7dGhpcy5yZWpvaW5UaW1lci5zY2hlZHVsZVRpbWVvdXQoKSx0aGlzLnNvY2tldC5pc0Nvbm5lY3RlZCgpJiZ0aGlzLl9yZWpvaW4oKX1fb25DbG9zZSh0KXt0aGlzLl9vbihrYS5jbG9zZSx7fSx0KX1fb25FcnJvcih0KXt0aGlzLl9vbihrYS5lcnJvcix7fSxyPT50KHIpKX1fY2FuUHVzaCgpe3JldHVybiB0aGlzLnNvY2tldC5pc0Nvbm5lY3RlZCgpJiZ0aGlzLl9pc0pvaW5lZCgpfV9yZWpvaW4odD10aGlzLnRpbWVvdXQpe3RoaXMuX2lzTGVhdmluZygpfHwodGhpcy5zb2NrZXQuX2xlYXZlT3BlblRvcGljKHRoaXMudG9waWMpLHRoaXMuc3RhdGU9UXIuam9pbmluZyx0aGlzLmpvaW5QdXNoLnJlc2VuZCh0KSl9X2dldFBheWxvYWRSZWNvcmRzKHQpe2NvbnN0IHI9e25ldzp7fSxvbGQ6e319O3JldHVybih0LnR5cGU9PT0iSU5TRVJUInx8dC50eXBlPT09IlVQREFURSIpJiYoci5uZXc9TkYodC5jb2x1bW5zLHQucmVjb3JkKSksKHQudHlwZT09PSJVUERBVEUifHx0LnR5cGU9PT0iREVMRVRFIikmJihyLm9sZD1ORih0LmNvbHVtbnMsdC5vbGRfcmVjb3JkKSkscn19Y29uc3QgUTE9KCk9Pnt9LHFnPXtIRUFSVEJFQVRfSU5URVJWQUw6MjVlMyxSRUNPTk5FQ1RfREVMQVk6MTAsSEVBUlRCRUFUX1RJTUVPVVRfRkFMTEJBQ0s6MTAwfSxUb2U9WzFlMywyZTMsNWUzLDFlNF0sUG9lPTFlNCxGb2U9YAogIGFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCAoZSkgPT4gewogICAgaWYgKGUuZGF0YS5ldmVudCA9PT0gInN0YXJ0IikgewogICAgICBzZXRJbnRlcnZhbCgoKSA9PiBwb3N0TWVzc2FnZSh7IGV2ZW50OiAia2VlcEFsaXZlIiB9KSwgZS5kYXRhLmludGVydmFsKTsKICAgIH0KICB9KTtgO2NsYXNzIE9vZXtjb25zdHJ1Y3Rvcih0LHIpe3ZhciBuO2lmKHRoaXMuYWNjZXNzVG9rZW5WYWx1ZT1udWxsLHRoaXMuYXBpS2V5PW51bGwsdGhpcy5jaGFubmVscz1uZXcgQXJyYXksdGhpcy5lbmRQb2ludD0iIix0aGlzLmh0dHBFbmRwb2ludD0iIix0aGlzLmhlYWRlcnM9e30sdGhpcy5wYXJhbXM9e30sdGhpcy50aW1lb3V0PUtDLHRoaXMudHJhbnNwb3J0PW51bGwsdGhpcy5oZWFydGJlYXRJbnRlcnZhbE1zPXFnLkhFQVJUQkVBVF9JTlRFUlZBTCx0aGlzLmhlYXJ0YmVhdFRpbWVyPXZvaWQgMCx0aGlzLnBlbmRpbmdIZWFydGJlYXRSZWY9bnVsbCx0aGlzLmhlYXJ0YmVhdENhbGxiYWNrPVExLHRoaXMucmVmPTAsdGhpcy5yZWNvbm5lY3RUaW1lcj1udWxsLHRoaXMubG9nZ2VyPVExLHRoaXMuY29ubj1udWxsLHRoaXMuc2VuZEJ1ZmZlcj1bXSx0aGlzLnNlcmlhbGl6ZXI9bmV3IE5vZSx0aGlzLnN0YXRlQ2hhbmdlQ2FsbGJhY2tzPXtvcGVuOltdLGNsb3NlOltdLGVycm9yOltdLG1lc3NhZ2U6W119LHRoaXMuYWNjZXNzVG9rZW49bnVsbCx0aGlzLl9jb25uZWN0aW9uU3RhdGU9ImRpc2Nvbm5lY3RlZCIsdGhpcy5fd2FzTWFudWFsRGlzY29ubmVjdD0hMSx0aGlzLl9hdXRoUHJvbWlzZT1udWxsLHRoaXMuX3Jlc29sdmVGZXRjaD1hPT57bGV0IGk7cmV0dXJuIGE/aT1hOnR5cGVvZiBmZXRjaD4idSI/aT0oLi4ubyk9PlpBKGFzeW5jKCk9Pntjb25zdHtkZWZhdWx0Omx9PWF3YWl0IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnlkKTtyZXR1cm57ZGVmYXVsdDpsfX0sdm9pZCAwKS50aGVuKCh7ZGVmYXVsdDpsfSk9PmwoLi4ubykpLmNhdGNoKGw9Pnt0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIEBzdXBhYmFzZS9ub2RlLWZldGNoOiAke2wubWVzc2FnZX0uIFRoaXMgaXMgcmVxdWlyZWQgZm9yIEhUVFAgcmVxdWVzdHMgaW4gTm9kZS5qcyBlbnZpcm9ubWVudHMgd2l0aG91dCBuYXRpdmUgZmV0Y2guYCl9KTppPWZldGNoLCguLi5vKT0+aSguLi5vKX0sISghKChuPXI9PW51bGw/dm9pZCAwOnIucGFyYW1zKT09PW51bGx8fG49PT12b2lkIDApJiZuLmFwaWtleSkpdGhyb3cgbmV3IEVycm9yKCJBUEkga2V5IGlzIHJlcXVpcmVkIHRvIGNvbm5lY3QgdG8gUmVhbHRpbWUiKTt0aGlzLmFwaUtleT1yLnBhcmFtcy5hcGlrZXksdGhpcy5lbmRQb2ludD1gJHt0fS8ke1ZDLndlYnNvY2tldH1gLHRoaXMuaHR0cEVuZHBvaW50PUhIKHQpLHRoaXMuX2luaXRpYWxpemVPcHRpb25zKHIpLHRoaXMuX3NldHVwUmVjb25uZWN0aW9uVGltZXIoKSx0aGlzLmZldGNoPXRoaXMuX3Jlc29sdmVGZXRjaChyPT1udWxsP3ZvaWQgMDpyLmZldGNoKX1jb25uZWN0KCl7aWYoISh0aGlzLmlzQ29ubmVjdGluZygpfHx0aGlzLmlzRGlzY29ubmVjdGluZygpfHx0aGlzLmNvbm4hPT1udWxsJiZ0aGlzLmlzQ29ubmVjdGVkKCkpKXtpZih0aGlzLl9zZXRDb25uZWN0aW9uU3RhdGUoImNvbm5lY3RpbmciKSx0aGlzLl9zZXRBdXRoU2FmZWx5KCJjb25uZWN0IiksdGhpcy50cmFuc3BvcnQpdGhpcy5jb25uPW5ldyB0aGlzLnRyYW5zcG9ydCh0aGlzLmVuZHBvaW50VVJMKCkpO2Vsc2UgdHJ5e3RoaXMuY29ubj14b2UuY3JlYXRlV2ViU29ja2V0KHRoaXMuZW5kcG9pbnRVUkwoKSl9Y2F0Y2godCl7dGhpcy5fc2V0Q29ubmVjdGlvblN0YXRlKCJkaXNjb25uZWN0ZWQiKTtjb25zdCByPXQubWVzc2FnZTt0aHJvdyByLmluY2x1ZGVzKCJOb2RlLmpzIik/bmV3IEVycm9yKGAke3J9CgpUbyB1c2UgUmVhbHRpbWUgaW4gTm9kZS5qcywgeW91IG5lZWQgdG8gcHJvdmlkZSBhIFdlYlNvY2tldCBpbXBsZW1lbnRhdGlvbjoKCk9wdGlvbiAxOiBVc2UgTm9kZS5qcyAyMisgd2hpY2ggaGFzIG5hdGl2ZSBXZWJTb2NrZXQgc3VwcG9ydApPcHRpb24gMjogSW5zdGFsbCBhbmQgcHJvdmlkZSB0aGUgIndzIiBwYWNrYWdlOgoKICBucG0gaW5zdGFsbCB3cwoKICBpbXBvcnQgd3MgZnJvbSAid3MiCiAgY29uc3QgY2xpZW50ID0gbmV3IFJlYWx0aW1lQ2xpZW50KHVybCwgewogICAgLi4ub3B0aW9ucywKICAgIHRyYW5zcG9ydDogd3MKICB9KWApOm5ldyBFcnJvcihgV2ViU29ja2V0IG5vdCBhdmFpbGFibGU6ICR7cn1gKX10aGlzLl9zZXR1cENvbm5lY3Rpb25IYW5kbGVycygpfX1lbmRwb2ludFVSTCgpe3JldHVybiB0aGlzLl9hcHBlbmRQYXJhbXModGhpcy5lbmRQb2ludCxPYmplY3QuYXNzaWduKHt9LHRoaXMucGFyYW1zLHt2c246d29lfSkpfWRpc2Nvbm5lY3QodCxyKXtpZighdGhpcy5pc0Rpc2Nvbm5lY3RpbmcoKSlpZih0aGlzLl9zZXRDb25uZWN0aW9uU3RhdGUoImRpc2Nvbm5lY3RpbmciLCEwKSx0aGlzLmNvbm4pe2NvbnN0IG49c2V0VGltZW91dCgoKT0+e3RoaXMuX3NldENvbm5lY3Rpb25TdGF0ZSgiZGlzY29ubmVjdGVkIil9LDEwMCk7dGhpcy5jb25uLm9uY2xvc2U9KCk9PntjbGVhclRpbWVvdXQobiksdGhpcy5fc2V0Q29ubmVjdGlvblN0YXRlKCJkaXNjb25uZWN0ZWQiKX0sdD90aGlzLmNvbm4uY2xvc2UodCxyPz8iIik6dGhpcy5jb25uLmNsb3NlKCksdGhpcy5fdGVhcmRvd25Db25uZWN0aW9uKCl9ZWxzZSB0aGlzLl9zZXRDb25uZWN0aW9uU3RhdGUoImRpc2Nvbm5lY3RlZCIpfWdldENoYW5uZWxzKCl7cmV0dXJuIHRoaXMuY2hhbm5lbHN9YXN5bmMgcmVtb3ZlQ2hhbm5lbCh0KXtjb25zdCByPWF3YWl0IHQudW5zdWJzY3JpYmUoKTtyZXR1cm4gdGhpcy5jaGFubmVscy5sZW5ndGg9PT0wJiZ0aGlzLmRpc2Nvbm5lY3QoKSxyfWFzeW5jIHJlbW92ZUFsbENoYW5uZWxzKCl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbCh0aGlzLmNoYW5uZWxzLm1hcChyPT5yLnVuc3Vic2NyaWJlKCkpKTtyZXR1cm4gdGhpcy5jaGFubmVscz1bXSx0aGlzLmRpc2Nvbm5lY3QoKSx0fWxvZyh0LHIsbil7dGhpcy5sb2dnZXIodCxyLG4pfWNvbm5lY3Rpb25TdGF0ZSgpe3N3aXRjaCh0aGlzLmNvbm4mJnRoaXMuY29ubi5yZWFkeVN0YXRlKXtjYXNlIEZoLmNvbm5lY3Rpbmc6cmV0dXJuIHljLkNvbm5lY3Rpbmc7Y2FzZSBGaC5vcGVuOnJldHVybiB5Yy5PcGVuO2Nhc2UgRmguY2xvc2luZzpyZXR1cm4geWMuQ2xvc2luZztkZWZhdWx0OnJldHVybiB5Yy5DbG9zZWR9fWlzQ29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuY29ubmVjdGlvblN0YXRlKCk9PT15Yy5PcGVufWlzQ29ubmVjdGluZygpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uU3RhdGU9PT0iY29ubmVjdGluZyJ9aXNEaXNjb25uZWN0aW5nKCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25TdGF0ZT09PSJkaXNjb25uZWN0aW5nIn1jaGFubmVsKHQscj17Y29uZmlnOnt9fSl7Y29uc3Qgbj1gcmVhbHRpbWU6JHt0fWAsYT10aGlzLmdldENoYW5uZWxzKCkuZmluZChpPT5pLnRvcGljPT09bik7aWYoYSlyZXR1cm4gYTt7Y29uc3QgaT1uZXcgbUUoYHJlYWx0aW1lOiR7dH1gLHIsdGhpcyk7cmV0dXJuIHRoaXMuY2hhbm5lbHMucHVzaChpKSxpfX1wdXNoKHQpe2NvbnN0e3RvcGljOnIsZXZlbnQ6bixwYXlsb2FkOmEscmVmOml9PXQsbz0oKT0+e3RoaXMuZW5jb2RlKHQsbD0+e3ZhciBjOyhjPXRoaXMuY29ubik9PT1udWxsfHxjPT09dm9pZCAwfHxjLnNlbmQobCl9KX07dGhpcy5sb2coInB1c2giLGAke3J9ICR7bn0gKCR7aX0pYCxhKSx0aGlzLmlzQ29ubmVjdGVkKCk/bygpOnRoaXMuc2VuZEJ1ZmZlci5wdXNoKG8pfWFzeW5jIHNldEF1dGgodD1udWxsKXt0aGlzLl9hdXRoUHJvbWlzZT10aGlzLl9wZXJmb3JtQXV0aCh0KTt0cnl7YXdhaXQgdGhpcy5fYXV0aFByb21pc2V9ZmluYWxseXt0aGlzLl9hdXRoUHJvbWlzZT1udWxsfX1hc3luYyBzZW5kSGVhcnRiZWF0KCl7dmFyIHQ7aWYoIXRoaXMuaXNDb25uZWN0ZWQoKSl7dHJ5e3RoaXMuaGVhcnRiZWF0Q2FsbGJhY2soImRpc2Nvbm5lY3RlZCIpfWNhdGNoKHIpe3RoaXMubG9nKCJlcnJvciIsImVycm9yIGluIGhlYXJ0YmVhdCBjYWxsYmFjayIscil9cmV0dXJufWlmKHRoaXMucGVuZGluZ0hlYXJ0YmVhdFJlZil7dGhpcy5wZW5kaW5nSGVhcnRiZWF0UmVmPW51bGwsdGhpcy5sb2coInRyYW5zcG9ydCIsImhlYXJ0YmVhdCB0aW1lb3V0LiBBdHRlbXB0aW5nIHRvIHJlLWVzdGFibGlzaCBjb25uZWN0aW9uIik7dHJ5e3RoaXMuaGVhcnRiZWF0Q2FsbGJhY2soInRpbWVvdXQiKX1jYXRjaChyKXt0aGlzLmxvZygiZXJyb3IiLCJlcnJvciBpbiBoZWFydGJlYXQgY2FsbGJhY2siLHIpfXRoaXMuX3dhc01hbnVhbERpc2Nvbm5lY3Q9ITEsKHQ9dGhpcy5jb25uKT09PW51bGx8fHQ9PT12b2lkIDB8fHQuY2xvc2UoYm9lLCJoZWFydGJlYXQgdGltZW91dCIpLHNldFRpbWVvdXQoKCk9Pnt2YXIgcjt0aGlzLmlzQ29ubmVjdGVkKCl8fChyPXRoaXMucmVjb25uZWN0VGltZXIpPT09bnVsbHx8cj09PXZvaWQgMHx8ci5zY2hlZHVsZVRpbWVvdXQoKX0scWcuSEVBUlRCRUFUX1RJTUVPVVRfRkFMTEJBQ0spO3JldHVybn10aGlzLnBlbmRpbmdIZWFydGJlYXRSZWY9dGhpcy5fbWFrZVJlZigpLHRoaXMucHVzaCh7dG9waWM6InBob2VuaXgiLGV2ZW50OiJoZWFydGJlYXQiLHBheWxvYWQ6e30scmVmOnRoaXMucGVuZGluZ0hlYXJ0YmVhdFJlZn0pO3RyeXt0aGlzLmhlYXJ0YmVhdENhbGxiYWNrKCJzZW50Iil9Y2F0Y2gocil7dGhpcy5sb2coImVycm9yIiwiZXJyb3IgaW4gaGVhcnRiZWF0IGNhbGxiYWNrIixyKX10aGlzLl9zZXRBdXRoU2FmZWx5KCJoZWFydGJlYXQiKX1vbkhlYXJ0YmVhdCh0KXt0aGlzLmhlYXJ0YmVhdENhbGxiYWNrPXR9Zmx1c2hTZW5kQnVmZmVyKCl7dGhpcy5pc0Nvbm5lY3RlZCgpJiZ0aGlzLnNlbmRCdWZmZXIubGVuZ3RoPjAmJih0aGlzLnNlbmRCdWZmZXIuZm9yRWFjaCh0PT50KCkpLHRoaXMuc2VuZEJ1ZmZlcj1bXSl9X21ha2VSZWYoKXtsZXQgdD10aGlzLnJlZisxO3JldHVybiB0PT09dGhpcy5yZWY/dGhpcy5yZWY9MDp0aGlzLnJlZj10LHRoaXMucmVmLnRvU3RyaW5nKCl9X2xlYXZlT3BlblRvcGljKHQpe2xldCByPXRoaXMuY2hhbm5lbHMuZmluZChuPT5uLnRvcGljPT09dCYmKG4uX2lzSm9pbmVkKCl8fG4uX2lzSm9pbmluZygpKSk7ciYmKHRoaXMubG9nKCJ0cmFuc3BvcnQiLGBsZWF2aW5nIGR1cGxpY2F0ZSB0b3BpYyAiJHt0fSJgKSxyLnVuc3Vic2NyaWJlKCkpfV9yZW1vdmUodCl7dGhpcy5jaGFubmVscz10aGlzLmNoYW5uZWxzLmZpbHRlcihyPT5yLnRvcGljIT09dC50b3BpYyl9X29uQ29ubk1lc3NhZ2UodCl7dGhpcy5kZWNvZGUodC5kYXRhLHI9PntpZihyLnRvcGljPT09InBob2VuaXgiJiZyLmV2ZW50PT09InBoeF9yZXBseSIpdHJ5e3RoaXMuaGVhcnRiZWF0Q2FsbGJhY2soci5wYXlsb2FkLnN0YXR1cz09PSJvayI/Im9rIjoiZXJyb3IiKX1jYXRjaChkKXt0aGlzLmxvZygiZXJyb3IiLCJlcnJvciBpbiBoZWFydGJlYXQgY2FsbGJhY2siLGQpfXIucmVmJiZyLnJlZj09PXRoaXMucGVuZGluZ0hlYXJ0YmVhdFJlZiYmKHRoaXMucGVuZGluZ0hlYXJ0YmVhdFJlZj1udWxsKTtjb25zdHt0b3BpYzpuLGV2ZW50OmEscGF5bG9hZDppLHJlZjpvfT1yLGw9bz9gKCR7b30pYDoiIixjPWkuc3RhdHVzfHwiIjt0aGlzLmxvZygicmVjZWl2ZSIsYCR7Y30gJHtufSAke2F9ICR7bH1gLnRyaW0oKSxpKSx0aGlzLmNoYW5uZWxzLmZpbHRlcihkPT5kLl9pc01lbWJlcihuKSkuZm9yRWFjaChkPT5kLl90cmlnZ2VyKGEsaSxvKSksdGhpcy5fdHJpZ2dlclN0YXRlQ2FsbGJhY2tzKCJtZXNzYWdlIixyKX0pfV9jbGVhclRpbWVyKHQpe3ZhciByO3Q9PT0iaGVhcnRiZWF0IiYmdGhpcy5oZWFydGJlYXRUaW1lcj8oY2xlYXJJbnRlcnZhbCh0aGlzLmhlYXJ0YmVhdFRpbWVyKSx0aGlzLmhlYXJ0YmVhdFRpbWVyPXZvaWQgMCk6dD09PSJyZWNvbm5lY3QiJiYoKHI9dGhpcy5yZWNvbm5lY3RUaW1lcik9PT1udWxsfHxyPT09dm9pZCAwfHxyLnJlc2V0KCkpfV9jbGVhckFsbFRpbWVycygpe3RoaXMuX2NsZWFyVGltZXIoImhlYXJ0YmVhdCIpLHRoaXMuX2NsZWFyVGltZXIoInJlY29ubmVjdCIpfV9zZXR1cENvbm5lY3Rpb25IYW5kbGVycygpe3RoaXMuY29ubiYmKCJiaW5hcnlUeXBlImluIHRoaXMuY29ubiYmKHRoaXMuY29ubi5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIpLHRoaXMuY29ubi5vbm9wZW49KCk9PnRoaXMuX29uQ29ubk9wZW4oKSx0aGlzLmNvbm4ub25lcnJvcj10PT50aGlzLl9vbkNvbm5FcnJvcih0KSx0aGlzLmNvbm4ub25tZXNzYWdlPXQ9PnRoaXMuX29uQ29ubk1lc3NhZ2UodCksdGhpcy5jb25uLm9uY2xvc2U9dD0+dGhpcy5fb25Db25uQ2xvc2UodCkpfV90ZWFyZG93bkNvbm5lY3Rpb24oKXt0aGlzLmNvbm4mJih0aGlzLmNvbm4ub25vcGVuPW51bGwsdGhpcy5jb25uLm9uZXJyb3I9bnVsbCx0aGlzLmNvbm4ub25tZXNzYWdlPW51bGwsdGhpcy5jb25uLm9uY2xvc2U9bnVsbCx0aGlzLmNvbm49bnVsbCksdGhpcy5fY2xlYXJBbGxUaW1lcnMoKSx0aGlzLmNoYW5uZWxzLmZvckVhY2godD0+dC50ZWFyZG93bigpKX1fb25Db25uT3Blbigpe3RoaXMuX3NldENvbm5lY3Rpb25TdGF0ZSgiY29ubmVjdGVkIiksdGhpcy5sb2coInRyYW5zcG9ydCIsYGNvbm5lY3RlZCB0byAke3RoaXMuZW5kcG9pbnRVUkwoKX1gKSx0aGlzLmZsdXNoU2VuZEJ1ZmZlcigpLHRoaXMuX2NsZWFyVGltZXIoInJlY29ubmVjdCIpLHRoaXMud29ya2VyP3RoaXMud29ya2VyUmVmfHx0aGlzLl9zdGFydFdvcmtlckhlYXJ0YmVhdCgpOnRoaXMuX3N0YXJ0SGVhcnRiZWF0KCksdGhpcy5fdHJpZ2dlclN0YXRlQ2FsbGJhY2tzKCJvcGVuIil9X3N0YXJ0SGVhcnRiZWF0KCl7dGhpcy5oZWFydGJlYXRUaW1lciYmY2xlYXJJbnRlcnZhbCh0aGlzLmhlYXJ0YmVhdFRpbWVyKSx0aGlzLmhlYXJ0YmVhdFRpbWVyPXNldEludGVydmFsKCgpPT50aGlzLnNlbmRIZWFydGJlYXQoKSx0aGlzLmhlYXJ0YmVhdEludGVydmFsTXMpfV9zdGFydFdvcmtlckhlYXJ0YmVhdCgpe3RoaXMud29ya2VyVXJsP3RoaXMubG9nKCJ3b3JrZXIiLGBzdGFydGluZyB3b3JrZXIgZm9yIGZyb20gJHt0aGlzLndvcmtlclVybH1gKTp0aGlzLmxvZygid29ya2VyIiwic3RhcnRpbmcgZGVmYXVsdCB3b3JrZXIiKTtjb25zdCB0PXRoaXMuX3dvcmtlck9iamVjdFVybCh0aGlzLndvcmtlclVybCk7dGhpcy53b3JrZXJSZWY9bmV3IFdvcmtlcih0KSx0aGlzLndvcmtlclJlZi5vbmVycm9yPXI9Pnt0aGlzLmxvZygid29ya2VyIiwid29ya2VyIGVycm9yIixyLm1lc3NhZ2UpLHRoaXMud29ya2VyUmVmLnRlcm1pbmF0ZSgpfSx0aGlzLndvcmtlclJlZi5vbm1lc3NhZ2U9cj0+e3IuZGF0YS5ldmVudD09PSJrZWVwQWxpdmUiJiZ0aGlzLnNlbmRIZWFydGJlYXQoKX0sdGhpcy53b3JrZXJSZWYucG9zdE1lc3NhZ2Uoe2V2ZW50OiJzdGFydCIsaW50ZXJ2YWw6dGhpcy5oZWFydGJlYXRJbnRlcnZhbE1zfSl9X29uQ29ubkNsb3NlKHQpe3ZhciByO3RoaXMuX3NldENvbm5lY3Rpb25TdGF0ZSgiZGlzY29ubmVjdGVkIiksdGhpcy5sb2coInRyYW5zcG9ydCIsImNsb3NlIix0KSx0aGlzLl90cmlnZ2VyQ2hhbkVycm9yKCksdGhpcy5fY2xlYXJUaW1lcigiaGVhcnRiZWF0IiksdGhpcy5fd2FzTWFudWFsRGlzY29ubmVjdHx8KHI9dGhpcy5yZWNvbm5lY3RUaW1lcik9PT1udWxsfHxyPT09dm9pZCAwfHxyLnNjaGVkdWxlVGltZW91dCgpLHRoaXMuX3RyaWdnZXJTdGF0ZUNhbGxiYWNrcygiY2xvc2UiLHQpfV9vbkNvbm5FcnJvcih0KXt0aGlzLl9zZXRDb25uZWN0aW9uU3RhdGUoImRpc2Nvbm5lY3RlZCIpLHRoaXMubG9nKCJ0cmFuc3BvcnQiLGAke3R9YCksdGhpcy5fdHJpZ2dlckNoYW5FcnJvcigpLHRoaXMuX3RyaWdnZXJTdGF0ZUNhbGxiYWNrcygiZXJyb3IiLHQpfV90cmlnZ2VyQ2hhbkVycm9yKCl7dGhpcy5jaGFubmVscy5mb3JFYWNoKHQ9PnQuX3RyaWdnZXIoa2EuZXJyb3IpKX1fYXBwZW5kUGFyYW1zKHQscil7aWYoT2JqZWN0LmtleXMocikubGVuZ3RoPT09MClyZXR1cm4gdDtjb25zdCBuPXQubWF0Y2goL1w/Lyk/IiYiOiI/IixhPW5ldyBVUkxTZWFyY2hQYXJhbXMocik7cmV0dXJuYCR7dH0ke259JHthfWB9X3dvcmtlck9iamVjdFVybCh0KXtsZXQgcjtpZih0KXI9dDtlbHNle2NvbnN0IG49bmV3IEJsb2IoW0ZvZV0se3R5cGU6ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQifSk7cj1VUkwuY3JlYXRlT2JqZWN0VVJMKG4pfXJldHVybiByfV9zZXRDb25uZWN0aW9uU3RhdGUodCxyPSExKXt0aGlzLl9jb25uZWN0aW9uU3RhdGU9dCx0PT09ImNvbm5lY3RpbmciP3RoaXMuX3dhc01hbnVhbERpc2Nvbm5lY3Q9ITE6dD09PSJkaXNjb25uZWN0aW5nIiYmKHRoaXMuX3dhc01hbnVhbERpc2Nvbm5lY3Q9cil9YXN5bmMgX3BlcmZvcm1BdXRoKHQ9bnVsbCl7bGV0IHI7dD9yPXQ6dGhpcy5hY2Nlc3NUb2tlbj9yPWF3YWl0IHRoaXMuYWNjZXNzVG9rZW4oKTpyPXRoaXMuYWNjZXNzVG9rZW5WYWx1ZSx0aGlzLmFjY2Vzc1Rva2VuVmFsdWUhPXImJih0aGlzLmFjY2Vzc1Rva2VuVmFsdWU9cix0aGlzLmNoYW5uZWxzLmZvckVhY2gobj0+e2NvbnN0IGE9e2FjY2Vzc190b2tlbjpyLHZlcnNpb246dm9lfTtyJiZuLnVwZGF0ZUpvaW5QYXlsb2FkKGEpLG4uam9pbmVkT25jZSYmbi5faXNKb2luZWQoKSYmbi5fcHVzaChrYS5hY2Nlc3NfdG9rZW4se2FjY2Vzc190b2tlbjpyfSl9KSl9YXN5bmMgX3dhaXRGb3JBdXRoSWZOZWVkZWQoKXt0aGlzLl9hdXRoUHJvbWlzZSYmYXdhaXQgdGhpcy5fYXV0aFByb21pc2V9X3NldEF1dGhTYWZlbHkodD0iZ2VuZXJhbCIpe3RoaXMuc2V0QXV0aCgpLmNhdGNoKHI9Pnt0aGlzLmxvZygiZXJyb3IiLGBlcnJvciBzZXR0aW5nIGF1dGggaW4gJHt0fWAscil9KX1fdHJpZ2dlclN0YXRlQ2FsbGJhY2tzKHQscil7dHJ5e3RoaXMuc3RhdGVDaGFuZ2VDYWxsYmFja3NbdF0uZm9yRWFjaChuPT57dHJ5e24ocil9Y2F0Y2goYSl7dGhpcy5sb2coImVycm9yIixgZXJyb3IgaW4gJHt0fSBjYWxsYmFja2AsYSl9fSl9Y2F0Y2gobil7dGhpcy5sb2coImVycm9yIixgZXJyb3IgdHJpZ2dlcmluZyAke3R9IGNhbGxiYWNrc2Asbil9fV9zZXR1cFJlY29ubmVjdGlvblRpbWVyKCl7dGhpcy5yZWNvbm5lY3RUaW1lcj1uZXcgTEgoYXN5bmMoKT0+e3NldFRpbWVvdXQoYXN5bmMoKT0+e2F3YWl0IHRoaXMuX3dhaXRGb3JBdXRoSWZOZWVkZWQoKSx0aGlzLmlzQ29ubmVjdGVkKCl8fHRoaXMuY29ubmVjdCgpfSxxZy5SRUNPTk5FQ1RfREVMQVkpfSx0aGlzLnJlY29ubmVjdEFmdGVyTXMpfV9pbml0aWFsaXplT3B0aW9ucyh0KXt2YXIgcixuLGEsaSxvLGwsYyxkLHU7aWYodGhpcy50cmFuc3BvcnQ9KHI9dD09bnVsbD92b2lkIDA6dC50cmFuc3BvcnQpIT09bnVsbCYmciE9PXZvaWQgMD9yOm51bGwsdGhpcy50aW1lb3V0PShuPXQ9PW51bGw/dm9pZCAwOnQudGltZW91dCkhPT1udWxsJiZuIT09dm9pZCAwP246S0MsdGhpcy5oZWFydGJlYXRJbnRlcnZhbE1zPShhPXQ9PW51bGw/dm9pZCAwOnQuaGVhcnRiZWF0SW50ZXJ2YWxNcykhPT1udWxsJiZhIT09dm9pZCAwP2E6cWcuSEVBUlRCRUFUX0lOVEVSVkFMLHRoaXMud29ya2VyPShpPXQ9PW51bGw/dm9pZCAwOnQud29ya2VyKSE9PW51bGwmJmkhPT12b2lkIDA/aTohMSx0aGlzLmFjY2Vzc1Rva2VuPShvPXQ9PW51bGw/dm9pZCAwOnQuYWNjZXNzVG9rZW4pIT09bnVsbCYmbyE9PXZvaWQgMD9vOm51bGwsdGhpcy5oZWFydGJlYXRDYWxsYmFjaz0obD10PT1udWxsP3ZvaWQgMDp0LmhlYXJ0YmVhdENhbGxiYWNrKSE9PW51bGwmJmwhPT12b2lkIDA/bDpRMSx0IT1udWxsJiZ0LnBhcmFtcyYmKHRoaXMucGFyYW1zPXQucGFyYW1zKSx0IT1udWxsJiZ0LmxvZ2dlciYmKHRoaXMubG9nZ2VyPXQubG9nZ2VyKSwodCE9bnVsbCYmdC5sb2dMZXZlbHx8dCE9bnVsbCYmdC5sb2dfbGV2ZWwpJiYodGhpcy5sb2dMZXZlbD10LmxvZ0xldmVsfHx0LmxvZ19sZXZlbCx0aGlzLnBhcmFtcz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdGhpcy5wYXJhbXMpLHtsb2dfbGV2ZWw6dGhpcy5sb2dMZXZlbH0pKSx0aGlzLnJlY29ubmVjdEFmdGVyTXM9KGM9dD09bnVsbD92b2lkIDA6dC5yZWNvbm5lY3RBZnRlck1zKSE9PW51bGwmJmMhPT12b2lkIDA/YzpBPT5Ub2VbQS0xXXx8UG9lLHRoaXMuZW5jb2RlPShkPXQ9PW51bGw/dm9pZCAwOnQuZW5jb2RlKSE9PW51bGwmJmQhPT12b2lkIDA/ZDooQSxmKT0+ZihKU09OLnN0cmluZ2lmeShBKSksdGhpcy5kZWNvZGU9KHU9dD09bnVsbD92b2lkIDA6dC5kZWNvZGUpIT09bnVsbCYmdSE9PXZvaWQgMD91OnRoaXMuc2VyaWFsaXplci5kZWNvZGUuYmluZCh0aGlzLnNlcmlhbGl6ZXIpLHRoaXMud29ya2VyKXtpZih0eXBlb2Ygd2luZG93PCJ1IiYmIXdpbmRvdy5Xb3JrZXIpdGhyb3cgbmV3IEVycm9yKCJXZWIgV29ya2VyIGlzIG5vdCBzdXBwb3J0ZWQiKTt0aGlzLndvcmtlclVybD10PT1udWxsP3ZvaWQgMDp0LndvcmtlclVybH19fWNsYXNzIHBFIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fX2lzU3RvcmFnZUVycm9yPSEwLHRoaXMubmFtZT0iU3RvcmFnZUVycm9yIn19ZnVuY3Rpb24gY3IoZSl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0IiYmZSE9PW51bGwmJiJfX2lzU3RvcmFnZUVycm9yImluIGV9Y2xhc3MgSW9lIGV4dGVuZHMgcEV7Y29uc3RydWN0b3IodCxyLG4pe3N1cGVyKHQpLHRoaXMubmFtZT0iU3RvcmFnZUFwaUVycm9yIix0aGlzLnN0YXR1cz1yLHRoaXMuc3RhdHVzQ29kZT1ufXRvSlNPTigpe3JldHVybntuYW1lOnRoaXMubmFtZSxtZXNzYWdlOnRoaXMubWVzc2FnZSxzdGF0dXM6dGhpcy5zdGF0dXMsc3RhdHVzQ29kZTp0aGlzLnN0YXR1c0NvZGV9fX1jbGFzcyBXQyBleHRlbmRzIHBFe2NvbnN0cnVjdG9yKHQscil7c3VwZXIodCksdGhpcy5uYW1lPSJTdG9yYWdlVW5rbm93bkVycm9yIix0aGlzLm9yaWdpbmFsRXJyb3I9cn19Y29uc3QgZ0U9ZT0+e2xldCB0O3JldHVybiBlP3Q9ZTp0eXBlb2YgZmV0Y2g+InUiP3Q9KC4uLnIpPT5aQShhc3luYygpPT57Y29uc3R7ZGVmYXVsdDpufT1hd2FpdCBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT55ZCk7cmV0dXJue2RlZmF1bHQ6bn19LHZvaWQgMCkudGhlbigoe2RlZmF1bHQ6bn0pPT5uKC4uLnIpKTp0PWZldGNoLCguLi5yKT0+dCguLi5yKX0sVW9lPSgpPT5NZSh2b2lkIDAsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtyZXR1cm4gdHlwZW9mIFJlc3BvbnNlPiJ1Ij8oeWllbGQgWkEoKCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnlkKSx2b2lkIDApKS5SZXNwb25zZTpSZXNwb25zZX0pLEdDPWU9PntpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLm1hcChyPT5HQyhyKSk7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiJ8fGUhPT1PYmplY3QoZSkpcmV0dXJuIGU7Y29uc3QgdD17fTtyZXR1cm4gT2JqZWN0LmVudHJpZXMoZSkuZm9yRWFjaCgoW3Isbl0pPT57Y29uc3QgYT1yLnJlcGxhY2UoLyhbLV9dW2Etel0pL2dpLGk9PmkudG9VcHBlckNhc2UoKS5yZXBsYWNlKC9bLV9dL2csIiIpKTt0W2FdPUdDKG4pfSksdH0sRG9lPWU9PntpZih0eXBlb2YgZSE9Im9iamVjdCJ8fGU9PT1udWxsKXJldHVybiExO2NvbnN0IHQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO3JldHVybih0PT09bnVsbHx8dD09PU9iamVjdC5wcm90b3R5cGV8fE9iamVjdC5nZXRQcm90b3R5cGVPZih0KT09PW51bGwpJiYhKFN5bWJvbC50b1N0cmluZ1RhZyBpbiBlKSYmIShTeW1ib2wuaXRlcmF0b3IgaW4gZSl9LEwxPWU9Pnt2YXIgdDtyZXR1cm4gZS5tc2d8fGUubWVzc2FnZXx8ZS5lcnJvcl9kZXNjcmlwdGlvbnx8KHR5cGVvZiBlLmVycm9yPT0ic3RyaW5nIj9lLmVycm9yOih0PWUuZXJyb3IpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5tZXNzYWdlKXx8SlNPTi5zdHJpbmdpZnkoZSl9LE1vZT0oZSx0LHIpPT5NZSh2b2lkIDAsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtjb25zdCBuPXlpZWxkIFVvZSgpO2UgaW5zdGFuY2VvZiBuJiYhKHIhPW51bGwmJnIubm9SZXNvbHZlSnNvbik/ZS5qc29uKCkudGhlbihhPT57Y29uc3QgaT1lLnN0YXR1c3x8NTAwLG89KGE9PW51bGw/dm9pZCAwOmEuc3RhdHVzQ29kZSl8fGkrIiI7dChuZXcgSW9lKEwxKGEpLGksbykpfSkuY2F0Y2goYT0+e3QobmV3IFdDKEwxKGEpLGEpKX0pOnQobmV3IFdDKEwxKGUpLGUpKX0pLFJvZT0oZSx0LHIsbik9Pntjb25zdCBhPXttZXRob2Q6ZSxoZWFkZXJzOih0PT1udWxsP3ZvaWQgMDp0LmhlYWRlcnMpfHx7fX07cmV0dXJuIGU9PT0iR0VUInx8IW4/YTooRG9lKG4pPyhhLmhlYWRlcnM9T2JqZWN0LmFzc2lnbih7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSx0PT1udWxsP3ZvaWQgMDp0LmhlYWRlcnMpLGEuYm9keT1KU09OLnN0cmluZ2lmeShuKSk6YS5ib2R5PW4sdCE9bnVsbCYmdC5kdXBsZXgmJihhLmR1cGxleD10LmR1cGxleCksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGEpLHIpKX07ZnVuY3Rpb24gTHAoZSx0LHIsbixhLGkpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7cmV0dXJuIG5ldyBQcm9taXNlKChvLGwpPT57ZShyLFJvZSh0LG4sYSxpKSkudGhlbihjPT57aWYoIWMub2spdGhyb3cgYztyZXR1cm4gbiE9bnVsbCYmbi5ub1Jlc29sdmVKc29uP2M6Yy5qc29uKCl9KS50aGVuKGM9Pm8oYykpLmNhdGNoKGM9Pk1vZShjLGwsbikpfSl9KX1mdW5jdGlvbiBqbShlLHQscixuKXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3JldHVybiBMcChlLCJHRVQiLHQscixuKX0pfWZ1bmN0aW9uIF9hKGUsdCxyLG4sYSl7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtyZXR1cm4gTHAoZSwiUE9TVCIsdCxuLGEscil9KX1mdW5jdGlvbiBxQyhlLHQscixuLGEpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7cmV0dXJuIExwKGUsIlBVVCIsdCxuLGEscil9KX1mdW5jdGlvbiBRb2UoZSx0LHIsbil7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtyZXR1cm4gTHAoZSwiSEVBRCIsdCxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse25vUmVzb2x2ZUpzb246ITB9KSxuKX0pfWZ1bmN0aW9uIHhFKGUsdCxyLG4sYSl7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtyZXR1cm4gTHAoZSwiREVMRVRFIix0LG4sYSxyKX0pfWNsYXNzIExvZXtjb25zdHJ1Y3Rvcih0LHIpe3RoaXMuZG93bmxvYWRGbj10LHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yPXJ9dGhlbih0LHIpe3JldHVybiB0aGlzLmV4ZWN1dGUoKS50aGVuKHQscil9ZXhlY3V0ZSgpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e3JldHVybntkYXRhOih5aWVsZCB0aGlzLmRvd25sb2FkRm4oKSkuYm9keSxlcnJvcjpudWxsfX1jYXRjaCh0KXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyB0O2lmKGNyKHQpKXJldHVybntkYXRhOm51bGwsZXJyb3I6dH07dGhyb3cgdH19KX19dmFyIEtIO2NsYXNzICRvZXtjb25zdHJ1Y3Rvcih0LHIpe3RoaXMuZG93bmxvYWRGbj10LHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yPXIsdGhpc1tLSF09IkJsb2JEb3dubG9hZEJ1aWxkZXIiLHRoaXMucHJvbWlzZT1udWxsfWFzU3RyZWFtKCl7cmV0dXJuIG5ldyBMb2UodGhpcy5kb3dubG9hZEZuLHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKX10aGVuKHQscil7cmV0dXJuIHRoaXMuZ2V0UHJvbWlzZSgpLnRoZW4odCxyKX1jYXRjaCh0KXtyZXR1cm4gdGhpcy5nZXRQcm9taXNlKCkuY2F0Y2godCl9ZmluYWxseSh0KXtyZXR1cm4gdGhpcy5nZXRQcm9taXNlKCkuZmluYWxseSh0KX1nZXRQcm9taXNlKCl7cmV0dXJuIHRoaXMucHJvbWlzZXx8KHRoaXMucHJvbWlzZT10aGlzLmV4ZWN1dGUoKSksdGhpcy5wcm9taXNlfWV4ZWN1dGUoKXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtyZXR1cm57ZGF0YTp5aWVsZCh5aWVsZCB0aGlzLmRvd25sb2FkRm4oKSkuYmxvYigpLGVycm9yOm51bGx9fWNhdGNoKHQpe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IHQ7aWYoY3IodCkpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjp0fTt0aHJvdyB0fX0pfX1LSD1TeW1ib2wudG9TdHJpbmdUYWc7Y29uc3QgSG9lPXtsaW1pdDoxMDAsb2Zmc2V0OjAsc29ydEJ5Ontjb2x1bW46Im5hbWUiLG9yZGVyOiJhc2MifX0sQkY9e2NhY2hlQ29udHJvbDoiMzYwMCIsY29udGVudFR5cGU6InRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCIsdXBzZXJ0OiExfTtjbGFzcyBLb2V7Y29uc3RydWN0b3IodCxyPXt9LG4sYSl7dGhpcy5zaG91bGRUaHJvd09uRXJyb3I9ITEsdGhpcy51cmw9dCx0aGlzLmhlYWRlcnM9cix0aGlzLmJ1Y2tldElkPW4sdGhpcy5mZXRjaD1nRShhKX10aHJvd09uRXJyb3IoKXtyZXR1cm4gdGhpcy5zaG91bGRUaHJvd09uRXJyb3I9ITAsdGhpc311cGxvYWRPclVwZGF0ZSh0LHIsbixhKXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtsZXQgaTtjb25zdCBvPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxCRiksYSk7bGV0IGw9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMuaGVhZGVycyksdD09PSJQT1NUIiYmeyJ4LXVwc2VydCI6U3RyaW5nKG8udXBzZXJ0KX0pO2NvbnN0IGM9by5tZXRhZGF0YTt0eXBlb2YgQmxvYjwidSImJm4gaW5zdGFuY2VvZiBCbG9iPyhpPW5ldyBGb3JtRGF0YSxpLmFwcGVuZCgiY2FjaGVDb250cm9sIixvLmNhY2hlQ29udHJvbCksYyYmaS5hcHBlbmQoIm1ldGFkYXRhIix0aGlzLmVuY29kZU1ldGFkYXRhKGMpKSxpLmFwcGVuZCgiIixuKSk6dHlwZW9mIEZvcm1EYXRhPCJ1IiYmbiBpbnN0YW5jZW9mIEZvcm1EYXRhPyhpPW4saS5hcHBlbmQoImNhY2hlQ29udHJvbCIsby5jYWNoZUNvbnRyb2wpLGMmJmkuYXBwZW5kKCJtZXRhZGF0YSIsdGhpcy5lbmNvZGVNZXRhZGF0YShjKSkpOihpPW4sbFsiY2FjaGUtY29udHJvbCJdPWBtYXgtYWdlPSR7by5jYWNoZUNvbnRyb2x9YCxsWyJjb250ZW50LXR5cGUiXT1vLmNvbnRlbnRUeXBlLGMmJihsWyJ4LW1ldGFkYXRhIl09dGhpcy50b0Jhc2U2NCh0aGlzLmVuY29kZU1ldGFkYXRhKGMpKSkpLGEhPW51bGwmJmEuaGVhZGVycyYmKGw9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGwpLGEuaGVhZGVycykpO2NvbnN0IGQ9dGhpcy5fcmVtb3ZlRW1wdHlGb2xkZXJzKHIpLHU9dGhpcy5fZ2V0RmluYWxQYXRoKGQpLEE9eWllbGQodD09IlBVVCI/cUM6X2EpKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L29iamVjdC8ke3V9YCxpLE9iamVjdC5hc3NpZ24oe2hlYWRlcnM6bH0sbyE9bnVsbCYmby5kdXBsZXg/e2R1cGxleDpvLmR1cGxleH06e30pKTtyZXR1cm57ZGF0YTp7cGF0aDpkLGlkOkEuSWQsZnVsbFBhdGg6QS5LZXl9LGVycm9yOm51bGx9fWNhdGNoKGkpe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IGk7aWYoY3IoaSkpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjppfTt0aHJvdyBpfX0pfXVwbG9hZCh0LHIsbil7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtyZXR1cm4gdGhpcy51cGxvYWRPclVwZGF0ZSgiUE9TVCIsdCxyLG4pfSl9dXBsb2FkVG9TaWduZWRVcmwodCxyLG4sYSl7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtjb25zdCBpPXRoaXMuX3JlbW92ZUVtcHR5Rm9sZGVycyh0KSxvPXRoaXMuX2dldEZpbmFsUGF0aChpKSxsPW5ldyBVUkwodGhpcy51cmwrYC9vYmplY3QvdXBsb2FkL3NpZ24vJHtvfWApO2wuc2VhcmNoUGFyYW1zLnNldCgidG9rZW4iLHIpO3RyeXtsZXQgYztjb25zdCBkPU9iamVjdC5hc3NpZ24oe3Vwc2VydDpCRi51cHNlcnR9LGEpLHU9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMuaGVhZGVycykseyJ4LXVwc2VydCI6U3RyaW5nKGQudXBzZXJ0KX0pO3R5cGVvZiBCbG9iPCJ1IiYmbiBpbnN0YW5jZW9mIEJsb2I/KGM9bmV3IEZvcm1EYXRhLGMuYXBwZW5kKCJjYWNoZUNvbnRyb2wiLGQuY2FjaGVDb250cm9sKSxjLmFwcGVuZCgiIixuKSk6dHlwZW9mIEZvcm1EYXRhPCJ1IiYmbiBpbnN0YW5jZW9mIEZvcm1EYXRhPyhjPW4sYy5hcHBlbmQoImNhY2hlQ29udHJvbCIsZC5jYWNoZUNvbnRyb2wpKTooYz1uLHVbImNhY2hlLWNvbnRyb2wiXT1gbWF4LWFnZT0ke2QuY2FjaGVDb250cm9sfWAsdVsiY29udGVudC10eXBlIl09ZC5jb250ZW50VHlwZSk7Y29uc3QgQT15aWVsZCBxQyh0aGlzLmZldGNoLGwudG9TdHJpbmcoKSxjLHtoZWFkZXJzOnV9KTtyZXR1cm57ZGF0YTp7cGF0aDppLGZ1bGxQYXRoOkEuS2V5fSxlcnJvcjpudWxsfX1jYXRjaChjKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyBjO2lmKGNyKGMpKXJldHVybntkYXRhOm51bGwsZXJyb3I6Y307dGhyb3cgY319KX1jcmVhdGVTaWduZWRVcGxvYWRVcmwodCxyKXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtsZXQgbj10aGlzLl9nZXRGaW5hbFBhdGgodCk7Y29uc3QgYT1PYmplY3QuYXNzaWduKHt9LHRoaXMuaGVhZGVycyk7ciE9bnVsbCYmci51cHNlcnQmJihhWyJ4LXVwc2VydCJdPSJ0cnVlIik7Y29uc3QgaT15aWVsZCBfYSh0aGlzLmZldGNoLGAke3RoaXMudXJsfS9vYmplY3QvdXBsb2FkL3NpZ24vJHtufWAse30se2hlYWRlcnM6YX0pLG89bmV3IFVSTCh0aGlzLnVybCtpLnVybCksbD1vLnNlYXJjaFBhcmFtcy5nZXQoInRva2VuIik7aWYoIWwpdGhyb3cgbmV3IHBFKCJObyB0b2tlbiByZXR1cm5lZCBieSBBUEkiKTtyZXR1cm57ZGF0YTp7c2lnbmVkVXJsOm8udG9TdHJpbmcoKSxwYXRoOnQsdG9rZW46bH0sZXJyb3I6bnVsbH19Y2F0Y2gobil7aWYodGhpcy5zaG91bGRUaHJvd09uRXJyb3IpdGhyb3cgbjtpZihjcihuKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOm59O3Rocm93IG59fSl9dXBkYXRlKHQscixuKXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3JldHVybiB0aGlzLnVwbG9hZE9yVXBkYXRlKCJQVVQiLHQscixuKX0pfW1vdmUodCxyLG4pe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e3JldHVybntkYXRhOnlpZWxkIF9hKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L29iamVjdC9tb3ZlYCx7YnVja2V0SWQ6dGhpcy5idWNrZXRJZCxzb3VyY2VLZXk6dCxkZXN0aW5hdGlvbktleTpyLGRlc3RpbmF0aW9uQnVja2V0Om49PW51bGw/dm9pZCAwOm4uZGVzdGluYXRpb25CdWNrZXR9LHtoZWFkZXJzOnRoaXMuaGVhZGVyc30pLGVycm9yOm51bGx9fWNhdGNoKGEpe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IGE7aWYoY3IoYSkpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjphfTt0aHJvdyBhfX0pfWNvcHkodCxyLG4pe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e3JldHVybntkYXRhOntwYXRoOih5aWVsZCBfYSh0aGlzLmZldGNoLGAke3RoaXMudXJsfS9vYmplY3QvY29weWAse2J1Y2tldElkOnRoaXMuYnVja2V0SWQsc291cmNlS2V5OnQsZGVzdGluYXRpb25LZXk6cixkZXN0aW5hdGlvbkJ1Y2tldDpuPT1udWxsP3ZvaWQgMDpuLmRlc3RpbmF0aW9uQnVja2V0fSx7aGVhZGVyczp0aGlzLmhlYWRlcnN9KSkuS2V5fSxlcnJvcjpudWxsfX1jYXRjaChhKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyBhO2lmKGNyKGEpKXJldHVybntkYXRhOm51bGwsZXJyb3I6YX07dGhyb3cgYX19KX1jcmVhdGVTaWduZWRVcmwodCxyLG4pe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e2xldCBhPXRoaXMuX2dldEZpbmFsUGF0aCh0KSxpPXlpZWxkIF9hKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L29iamVjdC9zaWduLyR7YX1gLE9iamVjdC5hc3NpZ24oe2V4cGlyZXNJbjpyfSxuIT1udWxsJiZuLnRyYW5zZm9ybT97dHJhbnNmb3JtOm4udHJhbnNmb3JtfTp7fSkse2hlYWRlcnM6dGhpcy5oZWFkZXJzfSk7Y29uc3Qgbz1uIT1udWxsJiZuLmRvd25sb2FkP2AmZG93bmxvYWQ9JHtuLmRvd25sb2FkPT09ITA/IiI6bi5kb3dubG9hZH1gOiIiO3JldHVybiBpPXtzaWduZWRVcmw6ZW5jb2RlVVJJKGAke3RoaXMudXJsfSR7aS5zaWduZWRVUkx9JHtvfWApfSx7ZGF0YTppLGVycm9yOm51bGx9fWNhdGNoKGEpe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IGE7aWYoY3IoYSkpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjphfTt0aHJvdyBhfX0pfWNyZWF0ZVNpZ25lZFVybHModCxyLG4pe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e2NvbnN0IGE9eWllbGQgX2EodGhpcy5mZXRjaCxgJHt0aGlzLnVybH0vb2JqZWN0L3NpZ24vJHt0aGlzLmJ1Y2tldElkfWAse2V4cGlyZXNJbjpyLHBhdGhzOnR9LHtoZWFkZXJzOnRoaXMuaGVhZGVyc30pLGk9biE9bnVsbCYmbi5kb3dubG9hZD9gJmRvd25sb2FkPSR7bi5kb3dubG9hZD09PSEwPyIiOm4uZG93bmxvYWR9YDoiIjtyZXR1cm57ZGF0YTphLm1hcChvPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sbykse3NpZ25lZFVybDpvLnNpZ25lZFVSTD9lbmNvZGVVUkkoYCR7dGhpcy51cmx9JHtvLnNpZ25lZFVSTH0ke2l9YCk6bnVsbH0pKSxlcnJvcjpudWxsfX1jYXRjaChhKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyBhO2lmKGNyKGEpKXJldHVybntkYXRhOm51bGwsZXJyb3I6YX07dGhyb3cgYX19KX1kb3dubG9hZCh0LHIpe2NvbnN0IGE9dHlwZW9mKHI9PW51bGw/dm9pZCAwOnIudHJhbnNmb3JtKTwidSI/InJlbmRlci9pbWFnZS9hdXRoZW50aWNhdGVkIjoib2JqZWN0IixpPXRoaXMudHJhbnNmb3JtT3B0c1RvUXVlcnlTdHJpbmcoKHI9PW51bGw/dm9pZCAwOnIudHJhbnNmb3JtKXx8e30pLG89aT9gPyR7aX1gOiIiLGw9dGhpcy5fZ2V0RmluYWxQYXRoKHQpLGM9KCk9PmptKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9LyR7YX0vJHtsfSR7b31gLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxub1Jlc29sdmVKc29uOiEwfSk7cmV0dXJuIG5ldyAkb2UoYyx0aGlzLnNob3VsZFRocm93T25FcnJvcil9aW5mbyh0KXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe2NvbnN0IHI9dGhpcy5fZ2V0RmluYWxQYXRoKHQpO3RyeXtjb25zdCBuPXlpZWxkIGptKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L29iamVjdC9pbmZvLyR7cn1gLHtoZWFkZXJzOnRoaXMuaGVhZGVyc30pO3JldHVybntkYXRhOkdDKG4pLGVycm9yOm51bGx9fWNhdGNoKG4pe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IG47aWYoY3IobikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpufTt0aHJvdyBufX0pfWV4aXN0cyh0KXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe2NvbnN0IHI9dGhpcy5fZ2V0RmluYWxQYXRoKHQpO3RyeXtyZXR1cm4geWllbGQgUW9lKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L29iamVjdC8ke3J9YCx7aGVhZGVyczp0aGlzLmhlYWRlcnN9KSx7ZGF0YTohMCxlcnJvcjpudWxsfX1jYXRjaChuKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyBuO2lmKGNyKG4pJiZuIGluc3RhbmNlb2YgV0Mpe2NvbnN0IGE9bi5vcmlnaW5hbEVycm9yO2lmKFs0MDAsNDA0XS5pbmNsdWRlcyhhPT1udWxsP3ZvaWQgMDphLnN0YXR1cykpcmV0dXJue2RhdGE6ITEsZXJyb3I6bn19dGhyb3cgbn19KX1nZXRQdWJsaWNVcmwodCxyKXtjb25zdCBuPXRoaXMuX2dldEZpbmFsUGF0aCh0KSxhPVtdLGk9ciE9bnVsbCYmci5kb3dubG9hZD9gZG93bmxvYWQ9JHtyLmRvd25sb2FkPT09ITA/IiI6ci5kb3dubG9hZH1gOiIiO2khPT0iIiYmYS5wdXNoKGkpO2NvbnN0IGw9dHlwZW9mKHI9PW51bGw/dm9pZCAwOnIudHJhbnNmb3JtKTwidSI/InJlbmRlci9pbWFnZSI6Im9iamVjdCIsYz10aGlzLnRyYW5zZm9ybU9wdHNUb1F1ZXJ5U3RyaW5nKChyPT1udWxsP3ZvaWQgMDpyLnRyYW5zZm9ybSl8fHt9KTtjIT09IiImJmEucHVzaChjKTtsZXQgZD1hLmpvaW4oIiYiKTtyZXR1cm4gZCE9PSIiJiYoZD1gPyR7ZH1gKSx7ZGF0YTp7cHVibGljVXJsOmVuY29kZVVSSShgJHt0aGlzLnVybH0vJHtsfS9wdWJsaWMvJHtufSR7ZH1gKX19fXJlbW92ZSh0KXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtyZXR1cm57ZGF0YTp5aWVsZCB4RSh0aGlzLmZldGNoLGAke3RoaXMudXJsfS9vYmplY3QvJHt0aGlzLmJ1Y2tldElkfWAse3ByZWZpeGVzOnR9LHtoZWFkZXJzOnRoaXMuaGVhZGVyc30pLGVycm9yOm51bGx9fWNhdGNoKHIpe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IHI7aWYoY3IocikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpyfTt0aHJvdyByfX0pfWxpc3QodCxyLG4pe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e2NvbnN0IGE9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sSG9lKSxyKSx7cHJlZml4OnR8fCIifSk7cmV0dXJue2RhdGE6eWllbGQgX2EodGhpcy5mZXRjaCxgJHt0aGlzLnVybH0vb2JqZWN0L2xpc3QvJHt0aGlzLmJ1Y2tldElkfWAsYSx7aGVhZGVyczp0aGlzLmhlYWRlcnN9LG4pLGVycm9yOm51bGx9fWNhdGNoKGEpe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IGE7aWYoY3IoYSkpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjphfTt0aHJvdyBhfX0pfWxpc3RWMih0LHIpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSx0KTtyZXR1cm57ZGF0YTp5aWVsZCBfYSh0aGlzLmZldGNoLGAke3RoaXMudXJsfS9vYmplY3QvbGlzdC12Mi8ke3RoaXMuYnVja2V0SWR9YCxuLHtoZWFkZXJzOnRoaXMuaGVhZGVyc30sciksZXJyb3I6bnVsbH19Y2F0Y2gobil7aWYodGhpcy5zaG91bGRUaHJvd09uRXJyb3IpdGhyb3cgbjtpZihjcihuKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOm59O3Rocm93IG59fSl9ZW5jb2RlTWV0YWRhdGEodCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpfXRvQmFzZTY0KHQpe3JldHVybiB0eXBlb2YgQnVmZmVyPCJ1Ij9CdWZmZXIuZnJvbSh0KS50b1N0cmluZygiYmFzZTY0Iik6YnRvYSh0KX1fZ2V0RmluYWxQYXRoKHQpe3JldHVybmAke3RoaXMuYnVja2V0SWR9LyR7dC5yZXBsYWNlKC9eXC8rLywiIil9YH1fcmVtb3ZlRW1wdHlGb2xkZXJzKHQpe3JldHVybiB0LnJlcGxhY2UoL15cL3xcLyQvZywiIikucmVwbGFjZSgvXC8rL2csIi8iKX10cmFuc2Zvcm1PcHRzVG9RdWVyeVN0cmluZyh0KXtjb25zdCByPVtdO3JldHVybiB0LndpZHRoJiZyLnB1c2goYHdpZHRoPSR7dC53aWR0aH1gKSx0LmhlaWdodCYmci5wdXNoKGBoZWlnaHQ9JHt0LmhlaWdodH1gKSx0LnJlc2l6ZSYmci5wdXNoKGByZXNpemU9JHt0LnJlc2l6ZX1gKSx0LmZvcm1hdCYmci5wdXNoKGBmb3JtYXQ9JHt0LmZvcm1hdH1gKSx0LnF1YWxpdHkmJnIucHVzaChgcXVhbGl0eT0ke3QucXVhbGl0eX1gKSxyLmpvaW4oIiYiKX19Y29uc3QgVkg9IjIuNzguMCIsekg9eyJYLUNsaWVudC1JbmZvIjpgc3RvcmFnZS1qcy8ke1ZIfWB9O2NsYXNzIFZvZXtjb25zdHJ1Y3Rvcih0LHI9e30sbixhKXt0aGlzLnNob3VsZFRocm93T25FcnJvcj0hMTtjb25zdCBpPW5ldyBVUkwodCk7YSE9bnVsbCYmYS51c2VOZXdIb3N0bmFtZSYmL3N1cGFiYXNlXC4oY298aW58cmVkKSQvLnRlc3QoaS5ob3N0bmFtZSkmJiFpLmhvc3RuYW1lLmluY2x1ZGVzKCJzdG9yYWdlLnN1cGFiYXNlLiIpJiYoaS5ob3N0bmFtZT1pLmhvc3RuYW1lLnJlcGxhY2UoInN1cGFiYXNlLiIsInN0b3JhZ2Uuc3VwYWJhc2UuIikpLHRoaXMudXJsPWkuaHJlZi5yZXBsYWNlKC9cLyQvLCIiKSx0aGlzLmhlYWRlcnM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHpIKSxyKSx0aGlzLmZldGNoPWdFKG4pfXRocm93T25FcnJvcigpe3JldHVybiB0aGlzLnNob3VsZFRocm93T25FcnJvcj0hMCx0aGlzfWxpc3RCdWNrZXRzKHQpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e2NvbnN0IHI9dGhpcy5saXN0QnVja2V0T3B0aW9uc1RvUXVlcnlTdHJpbmcodCk7cmV0dXJue2RhdGE6eWllbGQgam0odGhpcy5mZXRjaCxgJHt0aGlzLnVybH0vYnVja2V0JHtyfWAse2hlYWRlcnM6dGhpcy5oZWFkZXJzfSksZXJyb3I6bnVsbH19Y2F0Y2gocil7aWYodGhpcy5zaG91bGRUaHJvd09uRXJyb3IpdGhyb3cgcjtpZihjcihyKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOnJ9O3Rocm93IHJ9fSl9Z2V0QnVja2V0KHQpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e3JldHVybntkYXRhOnlpZWxkIGptKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L2J1Y2tldC8ke3R9YCx7aGVhZGVyczp0aGlzLmhlYWRlcnN9KSxlcnJvcjpudWxsfX1jYXRjaChyKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyByO2lmKGNyKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19KX1jcmVhdGVCdWNrZXQodCl7cmV0dXJuIE1lKHRoaXMsYXJndW1lbnRzLHZvaWQgMCxmdW5jdGlvbioocixuPXtwdWJsaWM6ITF9KXt0cnl7cmV0dXJue2RhdGE6eWllbGQgX2EodGhpcy5mZXRjaCxgJHt0aGlzLnVybH0vYnVja2V0YCx7aWQ6cixuYW1lOnIsdHlwZTpuLnR5cGUscHVibGljOm4ucHVibGljLGZpbGVfc2l6ZV9saW1pdDpuLmZpbGVTaXplTGltaXQsYWxsb3dlZF9taW1lX3R5cGVzOm4uYWxsb3dlZE1pbWVUeXBlc30se2hlYWRlcnM6dGhpcy5oZWFkZXJzfSksZXJyb3I6bnVsbH19Y2F0Y2goYSl7aWYodGhpcy5zaG91bGRUaHJvd09uRXJyb3IpdGhyb3cgYTtpZihjcihhKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOmF9O3Rocm93IGF9fSl9dXBkYXRlQnVja2V0KHQscil7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0cnl7cmV0dXJue2RhdGE6eWllbGQgcUModGhpcy5mZXRjaCxgJHt0aGlzLnVybH0vYnVja2V0LyR7dH1gLHtpZDp0LG5hbWU6dCxwdWJsaWM6ci5wdWJsaWMsZmlsZV9zaXplX2xpbWl0OnIuZmlsZVNpemVMaW1pdCxhbGxvd2VkX21pbWVfdHlwZXM6ci5hbGxvd2VkTWltZVR5cGVzfSx7aGVhZGVyczp0aGlzLmhlYWRlcnN9KSxlcnJvcjpudWxsfX1jYXRjaChuKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyBuO2lmKGNyKG4pKXJldHVybntkYXRhOm51bGwsZXJyb3I6bn07dGhyb3cgbn19KX1lbXB0eUJ1Y2tldCh0KXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtyZXR1cm57ZGF0YTp5aWVsZCBfYSh0aGlzLmZldGNoLGAke3RoaXMudXJsfS9idWNrZXQvJHt0fS9lbXB0eWAse30se2hlYWRlcnM6dGhpcy5oZWFkZXJzfSksZXJyb3I6bnVsbH19Y2F0Y2gocil7aWYodGhpcy5zaG91bGRUaHJvd09uRXJyb3IpdGhyb3cgcjtpZihjcihyKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOnJ9O3Rocm93IHJ9fSl9ZGVsZXRlQnVja2V0KHQpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e3JldHVybntkYXRhOnlpZWxkIHhFKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L2J1Y2tldC8ke3R9YCx7fSx7aGVhZGVyczp0aGlzLmhlYWRlcnN9KSxlcnJvcjpudWxsfX1jYXRjaChyKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyByO2lmKGNyKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19KX1saXN0QnVja2V0T3B0aW9uc1RvUXVlcnlTdHJpbmcodCl7Y29uc3Qgcj17fTtyZXR1cm4gdCYmKCJsaW1pdCJpbiB0JiYoci5saW1pdD1TdHJpbmcodC5saW1pdCkpLCJvZmZzZXQiaW4gdCYmKHIub2Zmc2V0PVN0cmluZyh0Lm9mZnNldCkpLHQuc2VhcmNoJiYoci5zZWFyY2g9dC5zZWFyY2gpLHQuc29ydENvbHVtbiYmKHIuc29ydENvbHVtbj10LnNvcnRDb2x1bW4pLHQuc29ydE9yZGVyJiYoci5zb3J0T3JkZXI9dC5zb3J0T3JkZXIpKSxPYmplY3Qua2V5cyhyKS5sZW5ndGg+MD8iPyIrbmV3IFVSTFNlYXJjaFBhcmFtcyhyKS50b1N0cmluZygpOiIifX1jbGFzcyB6b2V7Y29uc3RydWN0b3IodCxyPXt9LG4pe3RoaXMuc2hvdWxkVGhyb3dPbkVycm9yPSExLHRoaXMudXJsPXQucmVwbGFjZSgvXC8kLywiIiksdGhpcy5oZWFkZXJzPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx6SCksciksdGhpcy5mZXRjaD1nRShuKX10aHJvd09uRXJyb3IoKXtyZXR1cm4gdGhpcy5zaG91bGRUaHJvd09uRXJyb3I9ITAsdGhpc31jcmVhdGVCdWNrZXQodCl7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0cnl7cmV0dXJue2RhdGE6eWllbGQgX2EodGhpcy5mZXRjaCxgJHt0aGlzLnVybH0vYnVja2V0YCx7bmFtZTp0fSx7aGVhZGVyczp0aGlzLmhlYWRlcnN9KSxlcnJvcjpudWxsfX1jYXRjaChyKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyByO2lmKGNyKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19KX1saXN0QnVja2V0cyh0KXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtjb25zdCByPW5ldyBVUkxTZWFyY2hQYXJhbXM7KHQ9PW51bGw/dm9pZCAwOnQubGltaXQpIT09dm9pZCAwJiZyLnNldCgibGltaXQiLHQubGltaXQudG9TdHJpbmcoKSksKHQ9PW51bGw/dm9pZCAwOnQub2Zmc2V0KSE9PXZvaWQgMCYmci5zZXQoIm9mZnNldCIsdC5vZmZzZXQudG9TdHJpbmcoKSksdCE9bnVsbCYmdC5zb3J0Q29sdW1uJiZyLnNldCgic29ydENvbHVtbiIsdC5zb3J0Q29sdW1uKSx0IT1udWxsJiZ0LnNvcnRPcmRlciYmci5zZXQoInNvcnRPcmRlciIsdC5zb3J0T3JkZXIpLHQhPW51bGwmJnQuc2VhcmNoJiZyLnNldCgic2VhcmNoIix0LnNlYXJjaCk7Y29uc3Qgbj1yLnRvU3RyaW5nKCksYT1uP2Ake3RoaXMudXJsfS9idWNrZXQ/JHtufWA6YCR7dGhpcy51cmx9L2J1Y2tldGA7cmV0dXJue2RhdGE6eWllbGQgam0odGhpcy5mZXRjaCxhLHtoZWFkZXJzOnRoaXMuaGVhZGVyc30pLGVycm9yOm51bGx9fWNhdGNoKHIpe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IHI7aWYoY3IocikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpyfTt0aHJvdyByfX0pfWRlbGV0ZUJ1Y2tldCh0KXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtyZXR1cm57ZGF0YTp5aWVsZCB4RSh0aGlzLmZldGNoLGAke3RoaXMudXJsfS9idWNrZXQvJHt0fWAse30se2hlYWRlcnM6dGhpcy5oZWFkZXJzfSksZXJyb3I6bnVsbH19Y2F0Y2gocil7aWYodGhpcy5zaG91bGRUaHJvd09uRXJyb3IpdGhyb3cgcjtpZihjcihyKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOnJ9O3Rocm93IHJ9fSl9fWNvbnN0IHlFPXsiWC1DbGllbnQtSW5mbyI6YHN0b3JhZ2UtanMvJHtWSH1gLCJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Y2xhc3MgV0ggZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLl9faXNTdG9yYWdlVmVjdG9yc0Vycm9yPSEwLHRoaXMubmFtZT0iU3RvcmFnZVZlY3RvcnNFcnJvciJ9fWZ1bmN0aW9uIGdzKGUpe3JldHVybiB0eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsJiYiX19pc1N0b3JhZ2VWZWN0b3JzRXJyb3IiaW4gZX1jbGFzcyAkMSBleHRlbmRzIFdIe2NvbnN0cnVjdG9yKHQscixuKXtzdXBlcih0KSx0aGlzLm5hbWU9IlN0b3JhZ2VWZWN0b3JzQXBpRXJyb3IiLHRoaXMuc3RhdHVzPXIsdGhpcy5zdGF0dXNDb2RlPW59dG9KU09OKCl7cmV0dXJue25hbWU6dGhpcy5uYW1lLG1lc3NhZ2U6dGhpcy5tZXNzYWdlLHN0YXR1czp0aGlzLnN0YXR1cyxzdGF0dXNDb2RlOnRoaXMuc3RhdHVzQ29kZX19fWNsYXNzIFdvZSBleHRlbmRzIFdIe2NvbnN0cnVjdG9yKHQscil7c3VwZXIodCksdGhpcy5uYW1lPSJTdG9yYWdlVmVjdG9yc1Vua25vd25FcnJvciIsdGhpcy5vcmlnaW5hbEVycm9yPXJ9fXZhciBTRjsoZnVuY3Rpb24oZSl7ZS5JbnRlcm5hbEVycm9yPSJJbnRlcm5hbEVycm9yIixlLlMzVmVjdG9yQ29uZmxpY3RFeGNlcHRpb249IlMzVmVjdG9yQ29uZmxpY3RFeGNlcHRpb24iLGUuUzNWZWN0b3JOb3RGb3VuZEV4Y2VwdGlvbj0iUzNWZWN0b3JOb3RGb3VuZEV4Y2VwdGlvbiIsZS5TM1ZlY3RvckJ1Y2tldE5vdEVtcHR5PSJTM1ZlY3RvckJ1Y2tldE5vdEVtcHR5IixlLlMzVmVjdG9yTWF4QnVja2V0c0V4Y2VlZGVkPSJTM1ZlY3Rvck1heEJ1Y2tldHNFeGNlZWRlZCIsZS5TM1ZlY3Rvck1heEluZGV4ZXNFeGNlZWRlZD0iUzNWZWN0b3JNYXhJbmRleGVzRXhjZWVkZWQifSkoU0Z8fChTRj17fSkpO2NvbnN0IHZFPWU9PntsZXQgdDtyZXR1cm4gZT90PWU6dHlwZW9mIGZldGNoPiJ1Ij90PSguLi5yKT0+WkEoYXN5bmMoKT0+e2NvbnN0e2RlZmF1bHQ6bn09YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+eWQpO3JldHVybntkZWZhdWx0Om59fSx2b2lkIDApLnRoZW4oKHtkZWZhdWx0Om59KT0+biguLi5yKSk6dD1mZXRjaCwoLi4ucik9PnQoLi4ucil9LEdvZT1lPT57aWYodHlwZW9mIGUhPSJvYmplY3QifHxlPT09bnVsbClyZXR1cm4hMTtjb25zdCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4odD09PW51bGx8fHQ9PT1PYmplY3QucHJvdG90eXBlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1udWxsKSYmIShTeW1ib2wudG9TdHJpbmdUYWcgaW4gZSkmJiEoU3ltYm9sLml0ZXJhdG9yIGluIGUpfSxFRj1lPT5lLm1zZ3x8ZS5tZXNzYWdlfHxlLmVycm9yX2Rlc2NyaXB0aW9ufHxlLmVycm9yfHxKU09OLnN0cmluZ2lmeShlKSxxb2U9KGUsdCxyKT0+TWUodm9pZCAwLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7aWYoZSYmdHlwZW9mIGU9PSJvYmplY3QiJiYic3RhdHVzImluIGUmJiJvayJpbiBlJiZ0eXBlb2YgZS5zdGF0dXM9PSJudW1iZXIiJiYhKHIhPW51bGwmJnIubm9SZXNvbHZlSnNvbikpe2NvbnN0IGE9ZS5zdGF0dXN8fDUwMCxpPWU7aWYodHlwZW9mIGkuanNvbj09ImZ1bmN0aW9uIilpLmpzb24oKS50aGVuKG89Pntjb25zdCBsPShvPT1udWxsP3ZvaWQgMDpvLnN0YXR1c0NvZGUpfHwobz09bnVsbD92b2lkIDA6by5jb2RlKXx8YSsiIjt0KG5ldyAkMShFRihvKSxhLGwpKX0pLmNhdGNoKCgpPT57Y29uc3Qgbz1hKyIiLGw9aS5zdGF0dXNUZXh0fHxgSFRUUCAke2F9IGVycm9yYDt0KG5ldyAkMShsLGEsbykpfSk7ZWxzZXtjb25zdCBvPWErIiIsbD1pLnN0YXR1c1RleHR8fGBIVFRQICR7YX0gZXJyb3JgO3QobmV3ICQxKGwsYSxvKSl9fWVsc2UgdChuZXcgV29lKEVGKGUpLGUpKX0pLFlvZT0oZSx0LHIsbik9Pntjb25zdCBhPXttZXRob2Q6ZSxoZWFkZXJzOih0PT1udWxsP3ZvaWQgMDp0LmhlYWRlcnMpfHx7fX07cmV0dXJuIG4/KEdvZShuKT8oYS5oZWFkZXJzPU9iamVjdC5hc3NpZ24oeyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sdD09bnVsbD92b2lkIDA6dC5oZWFkZXJzKSxhLmJvZHk9SlNPTi5zdHJpbmdpZnkobikpOmEuYm9keT1uLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxhKSxyKSk6YX07ZnVuY3Rpb24gWG9lKGUsdCxyLG4sYSxpKXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3JldHVybiBuZXcgUHJvbWlzZSgobyxsKT0+e2UocixZb2UodCxuLGEsaSkpLnRoZW4oYz0+e2lmKCFjLm9rKXRocm93IGM7aWYobiE9bnVsbCYmbi5ub1Jlc29sdmVKc29uKXJldHVybiBjO2NvbnN0IGQ9Yy5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIik7cmV0dXJuIWR8fCFkLmluY2x1ZGVzKCJhcHBsaWNhdGlvbi9qc29uIik/e306Yy5qc29uKCl9KS50aGVuKGM9Pm8oYykpLmNhdGNoKGM9PnFvZShjLGwsbikpfSl9KX1mdW5jdGlvbiB4cyhlLHQscixuLGEpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7cmV0dXJuIFhvZShlLCJQT1NUIix0LG4sYSxyKX0pfWNsYXNzIEpvZXtjb25zdHJ1Y3Rvcih0LHI9e30sbil7dGhpcy5zaG91bGRUaHJvd09uRXJyb3I9ITEsdGhpcy51cmw9dC5yZXBsYWNlKC9cLyQvLCIiKSx0aGlzLmhlYWRlcnM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHlFKSxyKSx0aGlzLmZldGNoPXZFKG4pfXRocm93T25FcnJvcigpe3JldHVybiB0aGlzLnNob3VsZFRocm93T25FcnJvcj0hMCx0aGlzfWNyZWF0ZUluZGV4KHQpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e3JldHVybntkYXRhOih5aWVsZCB4cyh0aGlzLmZldGNoLGAke3RoaXMudXJsfS9DcmVhdGVJbmRleGAsdCx7aGVhZGVyczp0aGlzLmhlYWRlcnN9KSl8fHt9LGVycm9yOm51bGx9fWNhdGNoKHIpe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IHI7aWYoZ3MocikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpyfTt0aHJvdyByfX0pfWdldEluZGV4KHQscil7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0cnl7cmV0dXJue2RhdGE6eWllbGQgeHModGhpcy5mZXRjaCxgJHt0aGlzLnVybH0vR2V0SW5kZXhgLHt2ZWN0b3JCdWNrZXROYW1lOnQsaW5kZXhOYW1lOnJ9LHtoZWFkZXJzOnRoaXMuaGVhZGVyc30pLGVycm9yOm51bGx9fWNhdGNoKG4pe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IG47aWYoZ3MobikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpufTt0aHJvdyBufX0pfWxpc3RJbmRleGVzKHQpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e3JldHVybntkYXRhOnlpZWxkIHhzKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L0xpc3RJbmRleGVzYCx0LHtoZWFkZXJzOnRoaXMuaGVhZGVyc30pLGVycm9yOm51bGx9fWNhdGNoKHIpe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IHI7aWYoZ3MocikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpyfTt0aHJvdyByfX0pfWRlbGV0ZUluZGV4KHQscil7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0cnl7cmV0dXJue2RhdGE6KHlpZWxkIHhzKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L0RlbGV0ZUluZGV4YCx7dmVjdG9yQnVja2V0TmFtZTp0LGluZGV4TmFtZTpyfSx7aGVhZGVyczp0aGlzLmhlYWRlcnN9KSl8fHt9LGVycm9yOm51bGx9fWNhdGNoKG4pe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IG47aWYoZ3MobikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpufTt0aHJvdyBufX0pfX1jbGFzcyBab2V7Y29uc3RydWN0b3IodCxyPXt9LG4pe3RoaXMuc2hvdWxkVGhyb3dPbkVycm9yPSExLHRoaXMudXJsPXQucmVwbGFjZSgvXC8kLywiIiksdGhpcy5oZWFkZXJzPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx5RSksciksdGhpcy5mZXRjaD12RShuKX10aHJvd09uRXJyb3IoKXtyZXR1cm4gdGhpcy5zaG91bGRUaHJvd09uRXJyb3I9ITAsdGhpc31wdXRWZWN0b3JzKHQpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e2lmKHQudmVjdG9ycy5sZW5ndGg8MXx8dC52ZWN0b3JzLmxlbmd0aD41MDApdGhyb3cgbmV3IEVycm9yKCJWZWN0b3IgYmF0Y2ggc2l6ZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNTAwIGl0ZW1zIik7cmV0dXJue2RhdGE6KHlpZWxkIHhzKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L1B1dFZlY3RvcnNgLHQse2hlYWRlcnM6dGhpcy5oZWFkZXJzfSkpfHx7fSxlcnJvcjpudWxsfX1jYXRjaChyKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyByO2lmKGdzKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19KX1nZXRWZWN0b3JzKHQpe3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dHJ5e3JldHVybntkYXRhOnlpZWxkIHhzKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L0dldFZlY3RvcnNgLHQse2hlYWRlcnM6dGhpcy5oZWFkZXJzfSksZXJyb3I6bnVsbH19Y2F0Y2gocil7aWYodGhpcy5zaG91bGRUaHJvd09uRXJyb3IpdGhyb3cgcjtpZihncyhyKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOnJ9O3Rocm93IHJ9fSl9bGlzdFZlY3RvcnModCl7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0cnl7aWYodC5zZWdtZW50Q291bnQhPT12b2lkIDApe2lmKHQuc2VnbWVudENvdW50PDF8fHQuc2VnbWVudENvdW50PjE2KXRocm93IG5ldyBFcnJvcigic2VnbWVudENvdW50IG11c3QgYmUgYmV0d2VlbiAxIGFuZCAxNiIpO2lmKHQuc2VnbWVudEluZGV4IT09dm9pZCAwJiYodC5zZWdtZW50SW5kZXg8MHx8dC5zZWdtZW50SW5kZXg+PXQuc2VnbWVudENvdW50KSl0aHJvdyBuZXcgRXJyb3IoYHNlZ21lbnRJbmRleCBtdXN0IGJlIGJldHdlZW4gMCBhbmQgJHt0LnNlZ21lbnRDb3VudC0xfWApfXJldHVybntkYXRhOnlpZWxkIHhzKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L0xpc3RWZWN0b3JzYCx0LHtoZWFkZXJzOnRoaXMuaGVhZGVyc30pLGVycm9yOm51bGx9fWNhdGNoKHIpe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IHI7aWYoZ3MocikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpyfTt0aHJvdyByfX0pfXF1ZXJ5VmVjdG9ycyh0KXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtyZXR1cm57ZGF0YTp5aWVsZCB4cyh0aGlzLmZldGNoLGAke3RoaXMudXJsfS9RdWVyeVZlY3RvcnNgLHQse2hlYWRlcnM6dGhpcy5oZWFkZXJzfSksZXJyb3I6bnVsbH19Y2F0Y2gocil7aWYodGhpcy5zaG91bGRUaHJvd09uRXJyb3IpdGhyb3cgcjtpZihncyhyKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOnJ9O3Rocm93IHJ9fSl9ZGVsZXRlVmVjdG9ycyh0KXtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RyeXtpZih0LmtleXMubGVuZ3RoPDF8fHQua2V5cy5sZW5ndGg+NTAwKXRocm93IG5ldyBFcnJvcigiS2V5cyBiYXRjaCBzaXplIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA1MDAgaXRlbXMiKTtyZXR1cm57ZGF0YTooeWllbGQgeHModGhpcy5mZXRjaCxgJHt0aGlzLnVybH0vRGVsZXRlVmVjdG9yc2AsdCx7aGVhZGVyczp0aGlzLmhlYWRlcnN9KSl8fHt9LGVycm9yOm51bGx9fWNhdGNoKHIpe2lmKHRoaXMuc2hvdWxkVGhyb3dPbkVycm9yKXRocm93IHI7aWYoZ3MocikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpyfTt0aHJvdyByfX0pfX1jbGFzcyBlbGV7Y29uc3RydWN0b3IodCxyPXt9LG4pe3RoaXMuc2hvdWxkVGhyb3dPbkVycm9yPSExLHRoaXMudXJsPXQucmVwbGFjZSgvXC8kLywiIiksdGhpcy5oZWFkZXJzPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx5RSksciksdGhpcy5mZXRjaD12RShuKX10aHJvd09uRXJyb3IoKXtyZXR1cm4gdGhpcy5zaG91bGRUaHJvd09uRXJyb3I9ITAsdGhpc31jcmVhdGVCdWNrZXQodCl7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0cnl7cmV0dXJue2RhdGE6KHlpZWxkIHhzKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L0NyZWF0ZVZlY3RvckJ1Y2tldGAse3ZlY3RvckJ1Y2tldE5hbWU6dH0se2hlYWRlcnM6dGhpcy5oZWFkZXJzfSkpfHx7fSxlcnJvcjpudWxsfX1jYXRjaChyKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyByO2lmKGdzKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19KX1nZXRCdWNrZXQodCl7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0cnl7cmV0dXJue2RhdGE6eWllbGQgeHModGhpcy5mZXRjaCxgJHt0aGlzLnVybH0vR2V0VmVjdG9yQnVja2V0YCx7dmVjdG9yQnVja2V0TmFtZTp0fSx7aGVhZGVyczp0aGlzLmhlYWRlcnN9KSxlcnJvcjpudWxsfX1jYXRjaChyKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyByO2lmKGdzKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19KX1saXN0QnVja2V0cygpe3JldHVybiBNZSh0aGlzLGFyZ3VtZW50cyx2b2lkIDAsZnVuY3Rpb24qKHQ9e30pe3RyeXtyZXR1cm57ZGF0YTp5aWVsZCB4cyh0aGlzLmZldGNoLGAke3RoaXMudXJsfS9MaXN0VmVjdG9yQnVja2V0c2AsdCx7aGVhZGVyczp0aGlzLmhlYWRlcnN9KSxlcnJvcjpudWxsfX1jYXRjaChyKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyByO2lmKGdzKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19KX1kZWxldGVCdWNrZXQodCl7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0cnl7cmV0dXJue2RhdGE6KHlpZWxkIHhzKHRoaXMuZmV0Y2gsYCR7dGhpcy51cmx9L0RlbGV0ZVZlY3RvckJ1Y2tldGAse3ZlY3RvckJ1Y2tldE5hbWU6dH0se2hlYWRlcnM6dGhpcy5oZWFkZXJzfSkpfHx7fSxlcnJvcjpudWxsfX1jYXRjaChyKXtpZih0aGlzLnNob3VsZFRocm93T25FcnJvcil0aHJvdyByO2lmKGdzKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19KX19Y2xhc3MgdGxlIGV4dGVuZHMgZWxle2NvbnN0cnVjdG9yKHQscj17fSl7c3VwZXIodCxyLmhlYWRlcnN8fHt9LHIuZmV0Y2gpfWZyb20odCl7cmV0dXJuIG5ldyBybGUodGhpcy51cmwsdGhpcy5oZWFkZXJzLHQsdGhpcy5mZXRjaCl9fWNsYXNzIHJsZSBleHRlbmRzIEpvZXtjb25zdHJ1Y3Rvcih0LHIsbixhKXtzdXBlcih0LHIsYSksdGhpcy52ZWN0b3JCdWNrZXROYW1lPW59Y3JlYXRlSW5kZXgodCl7Y29uc3Qgcj1PYmplY3QuY3JlYXRlKG51bGwse2NyZWF0ZUluZGV4OntnZXQ6KCk9PnN1cGVyLmNyZWF0ZUluZGV4fX0pO3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7cmV0dXJuIHIuY3JlYXRlSW5kZXguY2FsbCh0aGlzLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7dmVjdG9yQnVja2V0TmFtZTp0aGlzLnZlY3RvckJ1Y2tldE5hbWV9KSl9KX1saXN0SW5kZXhlcygpe2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZShudWxsLHtsaXN0SW5kZXhlczp7Z2V0OigpPT5zdXBlci5saXN0SW5kZXhlc319KTtyZXR1cm4gTWUodGhpcyxhcmd1bWVudHMsdm9pZCAwLGZ1bmN0aW9uKihyPXt9KXtyZXR1cm4gdC5saXN0SW5kZXhlcy5jYWxsKHRoaXMsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHIpLHt2ZWN0b3JCdWNrZXROYW1lOnRoaXMudmVjdG9yQnVja2V0TmFtZX0pKX0pfWdldEluZGV4KHQpe2NvbnN0IHI9T2JqZWN0LmNyZWF0ZShudWxsLHtnZXRJbmRleDp7Z2V0OigpPT5zdXBlci5nZXRJbmRleH19KTtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3JldHVybiByLmdldEluZGV4LmNhbGwodGhpcyx0aGlzLnZlY3RvckJ1Y2tldE5hbWUsdCl9KX1kZWxldGVJbmRleCh0KXtjb25zdCByPU9iamVjdC5jcmVhdGUobnVsbCx7ZGVsZXRlSW5kZXg6e2dldDooKT0+c3VwZXIuZGVsZXRlSW5kZXh9fSk7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtyZXR1cm4gci5kZWxldGVJbmRleC5jYWxsKHRoaXMsdGhpcy52ZWN0b3JCdWNrZXROYW1lLHQpfSl9aW5kZXgodCl7cmV0dXJuIG5ldyBubGUodGhpcy51cmwsdGhpcy5oZWFkZXJzLHRoaXMudmVjdG9yQnVja2V0TmFtZSx0LHRoaXMuZmV0Y2gpfX1jbGFzcyBubGUgZXh0ZW5kcyBab2V7Y29uc3RydWN0b3IodCxyLG4sYSxpKXtzdXBlcih0LHIsaSksdGhpcy52ZWN0b3JCdWNrZXROYW1lPW4sdGhpcy5pbmRleE5hbWU9YX1wdXRWZWN0b3JzKHQpe2NvbnN0IHI9T2JqZWN0LmNyZWF0ZShudWxsLHtwdXRWZWN0b3JzOntnZXQ6KCk9PnN1cGVyLnB1dFZlY3RvcnN9fSk7cmV0dXJuIE1lKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtyZXR1cm4gci5wdXRWZWN0b3JzLmNhbGwodGhpcyxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3ZlY3RvckJ1Y2tldE5hbWU6dGhpcy52ZWN0b3JCdWNrZXROYW1lLGluZGV4TmFtZTp0aGlzLmluZGV4TmFtZX0pKX0pfWdldFZlY3RvcnModCl7Y29uc3Qgcj1PYmplY3QuY3JlYXRlKG51bGwse2dldFZlY3RvcnM6e2dldDooKT0+c3VwZXIuZ2V0VmVjdG9yc319KTtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3JldHVybiByLmdldFZlY3RvcnMuY2FsbCh0aGlzLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7dmVjdG9yQnVja2V0TmFtZTp0aGlzLnZlY3RvckJ1Y2tldE5hbWUsaW5kZXhOYW1lOnRoaXMuaW5kZXhOYW1lfSkpfSl9bGlzdFZlY3RvcnMoKXtjb25zdCB0PU9iamVjdC5jcmVhdGUobnVsbCx7bGlzdFZlY3RvcnM6e2dldDooKT0+c3VwZXIubGlzdFZlY3RvcnN9fSk7cmV0dXJuIE1lKHRoaXMsYXJndW1lbnRzLHZvaWQgMCxmdW5jdGlvbioocj17fSl7cmV0dXJuIHQubGlzdFZlY3RvcnMuY2FsbCh0aGlzLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxyKSx7dmVjdG9yQnVja2V0TmFtZTp0aGlzLnZlY3RvckJ1Y2tldE5hbWUsaW5kZXhOYW1lOnRoaXMuaW5kZXhOYW1lfSkpfSl9cXVlcnlWZWN0b3JzKHQpe2NvbnN0IHI9T2JqZWN0LmNyZWF0ZShudWxsLHtxdWVyeVZlY3RvcnM6e2dldDooKT0+c3VwZXIucXVlcnlWZWN0b3JzfX0pO3JldHVybiBNZSh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7cmV0dXJuIHIucXVlcnlWZWN0b3JzLmNhbGwodGhpcyxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3ZlY3RvckJ1Y2tldE5hbWU6dGhpcy52ZWN0b3JCdWNrZXROYW1lLGluZGV4TmFtZTp0aGlzLmluZGV4TmFtZX0pKX0pfWRlbGV0ZVZlY3RvcnModCl7Y29uc3Qgcj1PYmplY3QuY3JlYXRlKG51bGwse2RlbGV0ZVZlY3RvcnM6e2dldDooKT0+c3VwZXIuZGVsZXRlVmVjdG9yc319KTtyZXR1cm4gTWUodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3JldHVybiByLmRlbGV0ZVZlY3RvcnMuY2FsbCh0aGlzLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7dmVjdG9yQnVja2V0TmFtZTp0aGlzLnZlY3RvckJ1Y2tldE5hbWUsaW5kZXhOYW1lOnRoaXMuaW5kZXhOYW1lfSkpfSl9fWNsYXNzIHNsZSBleHRlbmRzIFZvZXtjb25zdHJ1Y3Rvcih0LHI9e30sbixhKXtzdXBlcih0LHIsbixhKX1mcm9tKHQpe3JldHVybiBuZXcgS29lKHRoaXMudXJsLHRoaXMuaGVhZGVycyx0LHRoaXMuZmV0Y2gpfWdldCB2ZWN0b3JzKCl7cmV0dXJuIG5ldyB0bGUodGhpcy51cmwrIi92ZWN0b3IiLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxmZXRjaDp0aGlzLmZldGNofSl9Z2V0IGFuYWx5dGljcygpe3JldHVybiBuZXcgem9lKHRoaXMudXJsKyIvaWNlYmVyZyIsdGhpcy5oZWFkZXJzLHRoaXMuZmV0Y2gpfX1jb25zdCBhbGU9IjIuNzguMCI7bGV0IGFoPSIiO3R5cGVvZiBEZW5vPCJ1Ij9haD0iZGVubyI6dHlwZW9mIGRvY3VtZW50PCJ1Ij9haD0id2ViIjp0eXBlb2YgbmF2aWdhdG9yPCJ1IiYmbmF2aWdhdG9yLnByb2R1Y3Q9PT0iUmVhY3ROYXRpdmUiP2FoPSJyZWFjdC1uYXRpdmUiOmFoPSJub2RlIjtjb25zdCBpbGU9eyJYLUNsaWVudC1JbmZvIjpgc3VwYWJhc2UtanMtJHthaH0vJHthbGV9YH0sb2xlPXtoZWFkZXJzOmlsZX0sbGxlPXtzY2hlbWE6InB1YmxpYyJ9LGNsZT17YXV0b1JlZnJlc2hUb2tlbjohMCxwZXJzaXN0U2Vzc2lvbjohMCxkZXRlY3RTZXNzaW9uSW5Vcmw6ITAsZmxvd1R5cGU6ImltcGxpY2l0In0sZGxlPXt9LHVsZT1lPT57bGV0IHQ7cmV0dXJuIGU/dD1lOnR5cGVvZiBmZXRjaD4idSI/dD1iSDp0PWZldGNoLCguLi5yKT0+dCguLi5yKX0sQWxlPSgpPT50eXBlb2YgSGVhZGVycz4idSI/akg6SGVhZGVycyxmbGU9KGUsdCxyKT0+e2NvbnN0IG49dWxlKHIpLGE9QWxlKCk7cmV0dXJuIGFzeW5jKGksbyk9Pnt2YXIgbDtjb25zdCBjPShsPWF3YWl0IHQoKSkhPT1udWxsJiZsIT09dm9pZCAwP2w6ZTtsZXQgZD1uZXcgYShvPT1udWxsP3ZvaWQgMDpvLmhlYWRlcnMpO3JldHVybiBkLmhhcygiYXBpa2V5Iil8fGQuc2V0KCJhcGlrZXkiLGUpLGQuaGFzKCJBdXRob3JpemF0aW9uIil8fGQuc2V0KCJBdXRob3JpemF0aW9uIixgQmVhcmVyICR7Y31gKSxuKGksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG8pLHtoZWFkZXJzOmR9KSl9fTtmdW5jdGlvbiBobGUoZSl7cmV0dXJuIGUuZW5kc1dpdGgoIi8iKT9lOmUrIi8ifWZ1bmN0aW9uIG1sZShlLHQpe3ZhciByLG47Y29uc3R7ZGI6YSxhdXRoOmkscmVhbHRpbWU6byxnbG9iYWw6bH09ZSx7ZGI6YyxhdXRoOmQscmVhbHRpbWU6dSxnbG9iYWw6QX09dCxmPXtkYjpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYyksYSksYXV0aDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZCksaSkscmVhbHRpbWU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHUpLG8pLHN0b3JhZ2U6e30sZ2xvYmFsOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LEEpLGwpLHtoZWFkZXJzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwocj1BPT1udWxsP3ZvaWQgMDpBLmhlYWRlcnMpIT09bnVsbCYmciE9PXZvaWQgMD9yOnt9KSwobj1sPT1udWxsP3ZvaWQgMDpsLmhlYWRlcnMpIT09bnVsbCYmbiE9PXZvaWQgMD9uOnt9KX0pLGFjY2Vzc1Rva2VuOmFzeW5jKCk9PiIifTtyZXR1cm4gZS5hY2Nlc3NUb2tlbj9mLmFjY2Vzc1Rva2VuPWUuYWNjZXNzVG9rZW46ZGVsZXRlIGYuYWNjZXNzVG9rZW4sZn1mdW5jdGlvbiBwbGUoZSl7Y29uc3QgdD1lPT1udWxsP3ZvaWQgMDplLnRyaW0oKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoInN1cGFiYXNlVXJsIGlzIHJlcXVpcmVkLiIpO2lmKCF0Lm1hdGNoKC9eaHR0cHM/OlwvXC8vaSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHN1cGFiYXNlVXJsOiBNdXN0IGJlIGEgdmFsaWQgSFRUUCBvciBIVFRQUyBVUkwuIik7dHJ5e3JldHVybiBuZXcgVVJMKGhsZSh0KSl9Y2F0Y2h7dGhyb3cgRXJyb3IoIkludmFsaWQgc3VwYWJhc2VVcmw6IFByb3ZpZGVkIFVSTCBpcyBtYWxmb3JtZWQuIil9fWNvbnN0IEdIPSIyLjc4LjAiLFdkPTMwKjFlMyxZQz0zLEgxPVlDKldkLGdsZT0iaHR0cDovL2xvY2FsaG9zdDo5OTk5Iix4bGU9InN1cGFiYXNlLmF1dGgudG9rZW4iLHlsZT17IlgtQ2xpZW50LUluZm8iOmBnb3RydWUtanMvJHtHSH1gfSxYQz0iWC1TdXBhYmFzZS1BcGktVmVyc2lvbiIscUg9eyIyMDI0LTAxLTAxIjp7dGltZXN0YW1wOkRhdGUucGFyc2UoIjIwMjQtMDEtMDFUMDA6MDA6MDAuMFoiKSxuYW1lOiIyMDI0LTAxLTAxIn19LHZsZT0vXihbYS16MC05Xy1dezR9KSooJHxbYS16MC05Xy1dezN9JHxbYS16MC05Xy1dezJ9JCkkL2ksd2xlPTEwKjYwKjFlMztjbGFzcyBObSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscixuKXtzdXBlcih0KSx0aGlzLl9faXNBdXRoRXJyb3I9ITAsdGhpcy5uYW1lPSJBdXRoRXJyb3IiLHRoaXMuc3RhdHVzPXIsdGhpcy5jb2RlPW59fWZ1bmN0aW9uIEhlKGUpe3JldHVybiB0eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsJiYiX19pc0F1dGhFcnJvciJpbiBlfWNsYXNzIGJsZSBleHRlbmRzIE5te2NvbnN0cnVjdG9yKHQscixuKXtzdXBlcih0LHIsbiksdGhpcy5uYW1lPSJBdXRoQXBpRXJyb3IiLHRoaXMuc3RhdHVzPXIsdGhpcy5jb2RlPW59fWZ1bmN0aW9uIGpsZShlKXtyZXR1cm4gSGUoZSkmJmUubmFtZT09PSJBdXRoQXBpRXJyb3IifWNsYXNzIHZjIGV4dGVuZHMgTm17Y29uc3RydWN0b3IodCxyKXtzdXBlcih0KSx0aGlzLm5hbWU9IkF1dGhVbmtub3duRXJyb3IiLHRoaXMub3JpZ2luYWxFcnJvcj1yfX1jbGFzcyBHbCBleHRlbmRzIE5te2NvbnN0cnVjdG9yKHQscixuLGEpe3N1cGVyKHQsbixhKSx0aGlzLm5hbWU9cix0aGlzLnN0YXR1cz1ufX1jbGFzcyB5YSBleHRlbmRzIEdse2NvbnN0cnVjdG9yKCl7c3VwZXIoIkF1dGggc2Vzc2lvbiBtaXNzaW5nISIsIkF1dGhTZXNzaW9uTWlzc2luZ0Vycm9yIiw0MDAsdm9pZCAwKX19ZnVuY3Rpb24gTmxlKGUpe3JldHVybiBIZShlKSYmZS5uYW1lPT09IkF1dGhTZXNzaW9uTWlzc2luZ0Vycm9yIn1jbGFzcyBTZCBleHRlbmRzIEdse2NvbnN0cnVjdG9yKCl7c3VwZXIoIkF1dGggc2Vzc2lvbiBvciB1c2VyIG1pc3NpbmciLCJBdXRoSW52YWxpZFRva2VuUmVzcG9uc2VFcnJvciIsNTAwLHZvaWQgMCl9fWNsYXNzIFlnIGV4dGVuZHMgR2x7Y29uc3RydWN0b3IodCl7c3VwZXIodCwiQXV0aEludmFsaWRDcmVkZW50aWFsc0Vycm9yIiw0MDAsdm9pZCAwKX19Y2xhc3MgWGcgZXh0ZW5kcyBHbHtjb25zdHJ1Y3Rvcih0LHI9bnVsbCl7c3VwZXIodCwiQXV0aEltcGxpY2l0R3JhbnRSZWRpcmVjdEVycm9yIiw1MDAsdm9pZCAwKSx0aGlzLmRldGFpbHM9bnVsbCx0aGlzLmRldGFpbHM9cn10b0pTT04oKXtyZXR1cm57bmFtZTp0aGlzLm5hbWUsbWVzc2FnZTp0aGlzLm1lc3NhZ2Usc3RhdHVzOnRoaXMuc3RhdHVzLGRldGFpbHM6dGhpcy5kZXRhaWxzfX19ZnVuY3Rpb24gQ2xlKGUpe3JldHVybiBIZShlKSYmZS5uYW1lPT09IkF1dGhJbXBsaWNpdEdyYW50UmVkaXJlY3RFcnJvciJ9Y2xhc3Mga0YgZXh0ZW5kcyBHbHtjb25zdHJ1Y3Rvcih0LHI9bnVsbCl7c3VwZXIodCwiQXV0aFBLQ0VHcmFudENvZGVFeGNoYW5nZUVycm9yIiw1MDAsdm9pZCAwKSx0aGlzLmRldGFpbHM9bnVsbCx0aGlzLmRldGFpbHM9cn10b0pTT04oKXtyZXR1cm57bmFtZTp0aGlzLm5hbWUsbWVzc2FnZTp0aGlzLm1lc3NhZ2Usc3RhdHVzOnRoaXMuc3RhdHVzLGRldGFpbHM6dGhpcy5kZXRhaWxzfX19Y2xhc3MgSkMgZXh0ZW5kcyBHbHtjb25zdHJ1Y3Rvcih0LHIpe3N1cGVyKHQsIkF1dGhSZXRyeWFibGVGZXRjaEVycm9yIixyLHZvaWQgMCl9fWZ1bmN0aW9uIEsxKGUpe3JldHVybiBIZShlKSYmZS5uYW1lPT09IkF1dGhSZXRyeWFibGVGZXRjaEVycm9yIn1jbGFzcyBURiBleHRlbmRzIEdse2NvbnN0cnVjdG9yKHQscixuKXtzdXBlcih0LCJBdXRoV2Vha1Bhc3N3b3JkRXJyb3IiLHIsIndlYWtfcGFzc3dvcmQiKSx0aGlzLnJlYXNvbnM9bn19Y2xhc3MgWkMgZXh0ZW5kcyBHbHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0LCJBdXRoSW52YWxpZEp3dEVycm9yIiw0MDAsImludmFsaWRfand0Iil9fWNvbnN0IHJ5PSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIi5zcGxpdCgiIiksUEY9YCAJClxyPWAuc3BsaXQoIiIpLF9sZT0oKCk9Pntjb25zdCBlPW5ldyBBcnJheSgxMjgpO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCs9MSllW3RdPS0xO2ZvcihsZXQgdD0wO3Q8UEYubGVuZ3RoO3QrPTEpZVtQRlt0XS5jaGFyQ29kZUF0KDApXT0tMjtmb3IobGV0IHQ9MDt0PHJ5Lmxlbmd0aDt0Kz0xKWVbcnlbdF0uY2hhckNvZGVBdCgwKV09dDtyZXR1cm4gZX0pKCk7ZnVuY3Rpb24gRkYoZSx0LHIpe2lmKGUhPT1udWxsKWZvcih0LnF1ZXVlPXQucXVldWU8PDh8ZSx0LnF1ZXVlZEJpdHMrPTg7dC5xdWV1ZWRCaXRzPj02Oyl7Y29uc3Qgbj10LnF1ZXVlPj50LnF1ZXVlZEJpdHMtNiY2MztyKHJ5W25dKSx0LnF1ZXVlZEJpdHMtPTZ9ZWxzZSBpZih0LnF1ZXVlZEJpdHM+MClmb3IodC5xdWV1ZT10LnF1ZXVlPDw2LXQucXVldWVkQml0cyx0LnF1ZXVlZEJpdHM9Njt0LnF1ZXVlZEJpdHM+PTY7KXtjb25zdCBuPXQucXVldWU+PnQucXVldWVkQml0cy02JjYzO3Iocnlbbl0pLHQucXVldWVkQml0cy09Nn19ZnVuY3Rpb24gWUgoZSx0LHIpe2NvbnN0IG49X2xlW2VdO2lmKG4+LTEpZm9yKHQucXVldWU9dC5xdWV1ZTw8NnxuLHQucXVldWVkQml0cys9Njt0LnF1ZXVlZEJpdHM+PTg7KXIodC5xdWV1ZT4+dC5xdWV1ZWRCaXRzLTgmMjU1KSx0LnF1ZXVlZEJpdHMtPTg7ZWxzZXtpZihuPT09LTIpcmV0dXJuO3Rocm93IG5ldyBFcnJvcihgSW52YWxpZCBCYXNlNjQtVVJMIGNoYXJhY3RlciAiJHtTdHJpbmcuZnJvbUNoYXJDb2RlKGUpfSJgKX19ZnVuY3Rpb24gT0YoZSl7Y29uc3QgdD1bXSxyPW89Pnt0LnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQobykpfSxuPXt1dGY4c2VxOjAsY29kZXBvaW50OjB9LGE9e3F1ZXVlOjAscXVldWVkQml0czowfSxpPW89PntFbGUobyxuLHIpfTtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rPTEpWUgoZS5jaGFyQ29kZUF0KG8pLGEsaSk7cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gQmxlKGUsdCl7aWYoZTw9MTI3KXt0KGUpO3JldHVybn1lbHNlIGlmKGU8PTIwNDcpe3QoMTkyfGU+PjYpLHQoMTI4fGUmNjMpO3JldHVybn1lbHNlIGlmKGU8PTY1NTM1KXt0KDIyNHxlPj4xMiksdCgxMjh8ZT4+NiY2MyksdCgxMjh8ZSY2Myk7cmV0dXJufWVsc2UgaWYoZTw9MTExNDExMSl7dCgyNDB8ZT4+MTgpLHQoMTI4fGU+PjEyJjYzKSx0KDEyOHxlPj42JjYzKSx0KDEyOHxlJjYzKTtyZXR1cm59dGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgVW5pY29kZSBjb2RlcG9pbnQ6ICR7ZS50b1N0cmluZygxNil9YCl9ZnVuY3Rpb24gU2xlKGUsdCl7Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKz0xKXtsZXQgbj1lLmNoYXJDb2RlQXQocik7aWYobj41NTI5NSYmbjw9NTYzMTkpe2NvbnN0IGE9KG4tNTUyOTYpKjEwMjQmNjU1MzU7bj0oZS5jaGFyQ29kZUF0KHIrMSktNTYzMjAmNjU1MzV8YSkrNjU1MzYscis9MX1CbGUobix0KX19ZnVuY3Rpb24gRWxlKGUsdCxyKXtpZih0LnV0ZjhzZXE9PT0wKXtpZihlPD0xMjcpe3IoZSk7cmV0dXJufWZvcihsZXQgbj0xO248NjtuKz0xKWlmKCEoZT4+Ny1uJjEpKXt0LnV0ZjhzZXE9bjticmVha31pZih0LnV0ZjhzZXE9PT0yKXQuY29kZXBvaW50PWUmMzE7ZWxzZSBpZih0LnV0ZjhzZXE9PT0zKXQuY29kZXBvaW50PWUmMTU7ZWxzZSBpZih0LnV0ZjhzZXE9PT00KXQuY29kZXBvaW50PWUmNztlbHNlIHRocm93IG5ldyBFcnJvcigiSW52YWxpZCBVVEYtOCBzZXF1ZW5jZSIpO3QudXRmOHNlcS09MX1lbHNlIGlmKHQudXRmOHNlcT4wKXtpZihlPD0xMjcpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFVURi04IHNlcXVlbmNlIik7dC5jb2RlcG9pbnQ9dC5jb2RlcG9pbnQ8PDZ8ZSY2Myx0LnV0ZjhzZXEtPTEsdC51dGY4c2VxPT09MCYmcih0LmNvZGVwb2ludCl9fWZ1bmN0aW9uIGt1KGUpe2NvbnN0IHQ9W10scj17cXVldWU6MCxxdWV1ZWRCaXRzOjB9LG49YT0+e3QucHVzaChhKX07Zm9yKGxldCBhPTA7YTxlLmxlbmd0aDthKz0xKVlIKGUuY2hhckNvZGVBdChhKSxyLG4pO3JldHVybiBuZXcgVWludDhBcnJheSh0KX1mdW5jdGlvbiBrbGUoZSl7Y29uc3QgdD1bXTtyZXR1cm4gU2xlKGUscj0+dC5wdXNoKHIpKSxuZXcgVWludDhBcnJheSh0KX1mdW5jdGlvbiBfYyhlKXtjb25zdCB0PVtdLHI9e3F1ZXVlOjAscXVldWVkQml0czowfSxuPWE9Pnt0LnB1c2goYSl9O3JldHVybiBlLmZvckVhY2goYT0+RkYoYSxyLG4pKSxGRihudWxsLHIsbiksdC5qb2luKCIiKX1mdW5jdGlvbiBUbGUoZSl7cmV0dXJuIE1hdGgucm91bmQoRGF0ZS5ub3coKS8xZTMpK2V9ZnVuY3Rpb24gUGxlKCl7cmV0dXJuInh4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCIucmVwbGFjZSgvW3h5XS9nLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9TWF0aC5yYW5kb20oKSoxNnwwO3JldHVybihlPT0ieCI/dDp0JjN8OCkudG9TdHJpbmcoMTYpfSl9Y29uc3QgTW49KCk9PnR5cGVvZiB3aW5kb3c8InUiJiZ0eXBlb2YgZG9jdW1lbnQ8InUiLGFjPXt0ZXN0ZWQ6ITEsd3JpdGFibGU6ITF9LFhIPSgpPT57aWYoIU1uKCkpcmV0dXJuITE7dHJ5e2lmKHR5cGVvZiBnbG9iYWxUaGlzLmxvY2FsU3RvcmFnZSE9Im9iamVjdCIpcmV0dXJuITF9Y2F0Y2h7cmV0dXJuITF9aWYoYWMudGVzdGVkKXJldHVybiBhYy53cml0YWJsZTtjb25zdCBlPWBsc3d0LSR7TWF0aC5yYW5kb20oKX0ke01hdGgucmFuZG9tKCl9YDt0cnl7Z2xvYmFsVGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLGUpLGdsb2JhbFRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZSksYWMudGVzdGVkPSEwLGFjLndyaXRhYmxlPSEwfWNhdGNoe2FjLnRlc3RlZD0hMCxhYy53cml0YWJsZT0hMX1yZXR1cm4gYWMud3JpdGFibGV9O2Z1bmN0aW9uIEZsZShlKXtjb25zdCB0PXt9LHI9bmV3IFVSTChlKTtpZihyLmhhc2gmJnIuaGFzaFswXT09PSIjIil0cnl7bmV3IFVSTFNlYXJjaFBhcmFtcyhyLmhhc2guc3Vic3RyaW5nKDEpKS5mb3JFYWNoKChhLGkpPT57dFtpXT1hfSl9Y2F0Y2h7fXJldHVybiByLnNlYXJjaFBhcmFtcy5mb3JFYWNoKChuLGEpPT57dFthXT1ufSksdH1jb25zdCBKSD1lPT57bGV0IHQ7cmV0dXJuIGU/dD1lOnR5cGVvZiBmZXRjaD4idSI/dD0oLi4ucik9PlpBKGFzeW5jKCk9Pntjb25zdHtkZWZhdWx0Om59PWF3YWl0IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnlkKTtyZXR1cm57ZGVmYXVsdDpufX0sdm9pZCAwKS50aGVuKCh7ZGVmYXVsdDpufSk9Pm4oLi4ucikpOnQ9ZmV0Y2gsKC4uLnIpPT50KC4uLnIpfSxPbGU9ZT0+dHlwZW9mIGU9PSJvYmplY3QiJiZlIT09bnVsbCYmInN0YXR1cyJpbiBlJiYib2siaW4gZSYmImpzb24iaW4gZSYmdHlwZW9mIGUuanNvbj09ImZ1bmN0aW9uIixHZD1hc3luYyhlLHQscik9Pnthd2FpdCBlLnNldEl0ZW0odCxKU09OLnN0cmluZ2lmeShyKSl9LGljPWFzeW5jKGUsdCk9Pntjb25zdCByPWF3YWl0IGUuZ2V0SXRlbSh0KTtpZighcilyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIEpTT04ucGFyc2Uocil9Y2F0Y2h7cmV0dXJuIHJ9fSxPbz1hc3luYyhlLHQpPT57YXdhaXQgZS5yZW1vdmVJdGVtKHQpfTtjbGFzcyBfd3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgX3cucHJvbWlzZUNvbnN0cnVjdG9yKCh0LHIpPT57dGhpcy5yZXNvbHZlPXQsdGhpcy5yZWplY3Q9cn0pfX1fdy5wcm9taXNlQ29uc3RydWN0b3I9UHJvbWlzZTtmdW5jdGlvbiBWMShlKXtjb25zdCB0PWUuc3BsaXQoIi4iKTtpZih0Lmxlbmd0aCE9PTMpdGhyb3cgbmV3IFpDKCJJbnZhbGlkIEpXVCBzdHJ1Y3R1cmUiKTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKylpZighdmxlLnRlc3QodFtuXSkpdGhyb3cgbmV3IFpDKCJKV1Qgbm90IGluIGJhc2U2NHVybCBmb3JtYXQiKTtyZXR1cm57aGVhZGVyOkpTT04ucGFyc2UoT0YodFswXSkpLHBheWxvYWQ6SlNPTi5wYXJzZShPRih0WzFdKSksc2lnbmF0dXJlOmt1KHRbMl0pLHJhdzp7aGVhZGVyOnRbMF0scGF5bG9hZDp0WzFdfX19YXN5bmMgZnVuY3Rpb24gSWxlKGUpe3JldHVybiBhd2FpdCBuZXcgUHJvbWlzZSh0PT57c2V0VGltZW91dCgoKT0+dChudWxsKSxlKX0pfWZ1bmN0aW9uIFVsZShlLHQpe3JldHVybiBuZXcgUHJvbWlzZSgobixhKT0+eyhhc3luYygpPT57Zm9yKGxldCBpPTA7aTwxLzA7aSsrKXRyeXtjb25zdCBvPWF3YWl0IGUoaSk7aWYoIXQoaSxudWxsLG8pKXtuKG8pO3JldHVybn19Y2F0Y2gobyl7aWYoIXQoaSxvKSl7YShvKTtyZXR1cm59fX0pKCl9KX1mdW5jdGlvbiBEbGUoZSl7cmV0dXJuKCIwIitlLnRvU3RyaW5nKDE2KSkuc3Vic3RyKC0yKX1mdW5jdGlvbiBNbGUoKXtjb25zdCB0PW5ldyBVaW50MzJBcnJheSg1Nik7aWYodHlwZW9mIGNyeXB0bz4idSIpe2NvbnN0IHI9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LS5ffiIsbj1yLmxlbmd0aDtsZXQgYT0iIjtmb3IobGV0IGk9MDtpPDU2O2krKylhKz1yLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqbikpO3JldHVybiBhfXJldHVybiBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHQpLEFycmF5LmZyb20odCxEbGUpLmpvaW4oIiIpfWFzeW5jIGZ1bmN0aW9uIFJsZShlKXtjb25zdCByPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShlKSxuPWF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixyKSxhPW5ldyBVaW50OEFycmF5KG4pO3JldHVybiBBcnJheS5mcm9tKGEpLm1hcChpPT5TdHJpbmcuZnJvbUNoYXJDb2RlKGkpKS5qb2luKCIiKX1hc3luYyBmdW5jdGlvbiBRbGUoZSl7aWYoISh0eXBlb2YgY3J5cHRvPCJ1IiYmdHlwZW9mIGNyeXB0by5zdWJ0bGU8InUiJiZ0eXBlb2YgVGV4dEVuY29kZXI8InUiKSlyZXR1cm4gY29uc29sZS53YXJuKCJXZWJDcnlwdG8gQVBJIGlzIG5vdCBzdXBwb3J0ZWQuIENvZGUgY2hhbGxlbmdlIG1ldGhvZCB3aWxsIGRlZmF1bHQgdG8gdXNlIHBsYWluIGluc3RlYWQgb2Ygc2hhMjU2LiIpLGU7Y29uc3Qgcj1hd2FpdCBSbGUoZSk7cmV0dXJuIGJ0b2EocikucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKS5yZXBsYWNlKC89KyQvLCIiKX1hc3luYyBmdW5jdGlvbiBFZChlLHQscj0hMSl7Y29uc3Qgbj1NbGUoKTtsZXQgYT1uO3ImJihhKz0iL1BBU1NXT1JEX1JFQ09WRVJZIiksYXdhaXQgR2QoZSxgJHt0fS1jb2RlLXZlcmlmaWVyYCxhKTtjb25zdCBpPWF3YWl0IFFsZShuKTtyZXR1cm5baSxuPT09aT8icGxhaW4iOiJzMjU2Il19Y29uc3QgTGxlPS9eMlswLTldezN9LSgwWzEtOV18MVswLTJdKS0oMFsxLTldfDFbMC05XXwyWzAtOV18M1swLTFdKSQvaTtmdW5jdGlvbiAkbGUoZSl7Y29uc3QgdD1lLmhlYWRlcnMuZ2V0KFhDKTtpZighdHx8IXQubWF0Y2goTGxlKSlyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIG5ldyBEYXRlKGAke3R9VDAwOjAwOjAwLjBaYCl9Y2F0Y2h7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIEhsZShlKXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgZXhwIGNsYWltIik7Y29uc3QgdD1NYXRoLmZsb29yKERhdGUubm93KCkvMWUzKTtpZihlPD10KXRocm93IG5ldyBFcnJvcigiSldUIGhhcyBleHBpcmVkIil9ZnVuY3Rpb24gS2xlKGUpe3N3aXRjaChlKXtjYXNlIlJTMjU2IjpyZXR1cm57bmFtZToiUlNBU1NBLVBLQ1MxLXYxXzUiLGhhc2g6e25hbWU6IlNIQS0yNTYifX07Y2FzZSJFUzI1NiI6cmV0dXJue25hbWU6IkVDRFNBIixuYW1lZEN1cnZlOiJQLTI1NiIsaGFzaDp7bmFtZToiU0hBLTI1NiJ9fTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW52YWxpZCBhbGcgY2xhaW0iKX19Y29uc3QgVmxlPS9eWzAtOWEtZl17OH0tWzAtOWEtZl17NH0tWzAtOWEtZl17NH0tWzAtOWEtZl17NH0tWzAtOWEtZl17MTJ9JC87ZnVuY3Rpb24ga2QoZSl7aWYoIVZsZS50ZXN0KGUpKXRocm93IG5ldyBFcnJvcigiQHN1cGFiYXNlL2F1dGgtanM6IEV4cGVjdGVkIHBhcmFtZXRlciB0byBiZSBVVUlEIGJ1dCBpcyBub3QiKX1mdW5jdGlvbiB6MSgpe2NvbnN0IGU9e307cmV0dXJuIG5ldyBQcm94eShlLHtnZXQ6KHQscik9PntpZihyPT09Il9faXNVc2VyTm90QXZhaWxhYmxlUHJveHkiKXJldHVybiEwO2lmKHR5cGVvZiByPT0ic3ltYm9sIil7Y29uc3Qgbj1yLnRvU3RyaW5nKCk7aWYobj09PSJTeW1ib2woU3ltYm9sLnRvUHJpbWl0aXZlKSJ8fG49PT0iU3ltYm9sKFN5bWJvbC50b1N0cmluZ1RhZykifHxuPT09IlN5bWJvbCh1dGlsLmluc3BlY3QuY3VzdG9tKSIpcmV0dXJufXRocm93IG5ldyBFcnJvcihgQHN1cGFiYXNlL2F1dGgtanM6IGNsaWVudCB3YXMgY3JlYXRlZCB3aXRoIHVzZXJTdG9yYWdlIG9wdGlvbiBhbmQgdGhlcmUgd2FzIG5vIHVzZXIgc3RvcmVkIGluIHRoZSB1c2VyIHN0b3JhZ2UuIEFjY2Vzc2luZyB0aGUgIiR7cn0iIHByb3BlcnR5IG9mIHRoZSBzZXNzaW9uIG9iamVjdCBpcyBub3Qgc3VwcG9ydGVkLiBQbGVhc2UgdXNlIGdldFVzZXIoKSBpbnN0ZWFkLmApfSxzZXQ6KHQscik9Pnt0aHJvdyBuZXcgRXJyb3IoYEBzdXBhYmFzZS9hdXRoLWpzOiBjbGllbnQgd2FzIGNyZWF0ZWQgd2l0aCB1c2VyU3RvcmFnZSBvcHRpb24gYW5kIHRoZXJlIHdhcyBubyB1c2VyIHN0b3JlZCBpbiB0aGUgdXNlciBzdG9yYWdlLiBTZXR0aW5nIHRoZSAiJHtyfSIgcHJvcGVydHkgb2YgdGhlIHNlc3Npb24gb2JqZWN0IGlzIG5vdCBzdXBwb3J0ZWQuIFBsZWFzZSB1c2UgZ2V0VXNlcigpIHRvIGZldGNoIGEgdXNlciBvYmplY3QgeW91IGNhbiBtYW5pcHVsYXRlLmApfSxkZWxldGVQcm9wZXJ0eToodCxyKT0+e3Rocm93IG5ldyBFcnJvcihgQHN1cGFiYXNlL2F1dGgtanM6IGNsaWVudCB3YXMgY3JlYXRlZCB3aXRoIHVzZXJTdG9yYWdlIG9wdGlvbiBhbmQgdGhlcmUgd2FzIG5vIHVzZXIgc3RvcmVkIGluIHRoZSB1c2VyIHN0b3JhZ2UuIERlbGV0aW5nIHRoZSAiJHtyfSIgcHJvcGVydHkgb2YgdGhlIHNlc3Npb24gb2JqZWN0IGlzIG5vdCBzdXBwb3J0ZWQuIFBsZWFzZSB1c2UgZ2V0VXNlcigpIHRvIGZldGNoIGEgdXNlciBvYmplY3QgeW91IGNhbiBtYW5pcHVsYXRlLmApfX0pfWZ1bmN0aW9uIHpsZShlLHQpe3JldHVybiBuZXcgUHJveHkoZSx7Z2V0OihyLG4sYSk9PntpZihuPT09Il9faXNJbnNlY3VyZVVzZXJXYXJuaW5nUHJveHkiKXJldHVybiEwO2lmKHR5cGVvZiBuPT0ic3ltYm9sIil7Y29uc3QgaT1uLnRvU3RyaW5nKCk7aWYoaT09PSJTeW1ib2woU3ltYm9sLnRvUHJpbWl0aXZlKSJ8fGk9PT0iU3ltYm9sKFN5bWJvbC50b1N0cmluZ1RhZykifHxpPT09IlN5bWJvbCh1dGlsLmluc3BlY3QuY3VzdG9tKSJ8fGk9PT0iU3ltYm9sKG5vZGVqcy51dGlsLmluc3BlY3QuY3VzdG9tKSIpcmV0dXJuIFJlZmxlY3QuZ2V0KHIsbixhKX1yZXR1cm4hdC52YWx1ZSYmdHlwZW9mIG49PSJzdHJpbmciJiYoY29uc29sZS53YXJuKCJVc2luZyB0aGUgdXNlciBvYmplY3QgYXMgcmV0dXJuZWQgZnJvbSBzdXBhYmFzZS5hdXRoLmdldFNlc3Npb24oKSBvciBmcm9tIHNvbWUgc3VwYWJhc2UuYXV0aC5vbkF1dGhTdGF0ZUNoYW5nZSgpIGV2ZW50cyBjb3VsZCBiZSBpbnNlY3VyZSEgVGhpcyB2YWx1ZSBjb21lcyBkaXJlY3RseSBmcm9tIHRoZSBzdG9yYWdlIG1lZGl1bSAodXN1YWxseSBjb29raWVzIG9uIHRoZSBzZXJ2ZXIpIGFuZCBtYXkgbm90IGJlIGF1dGhlbnRpYy4gVXNlIHN1cGFiYXNlLmF1dGguZ2V0VXNlcigpIGluc3RlYWQgd2hpY2ggYXV0aGVudGljYXRlcyB0aGUgZGF0YSBieSBjb250YWN0aW5nIHRoZSBTdXBhYmFzZSBBdXRoIHNlcnZlci4iKSx0LnZhbHVlPSEwKSxSZWZsZWN0LmdldChyLG4sYSl9fSl9ZnVuY3Rpb24gSUYoZSl7cmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZSkpfWNvbnN0IGZjPWU9PmUubXNnfHxlLm1lc3NhZ2V8fGUuZXJyb3JfZGVzY3JpcHRpb258fGUuZXJyb3J8fEpTT04uc3RyaW5naWZ5KGUpLFdsZT1bNTAyLDUwMyw1MDRdO2FzeW5jIGZ1bmN0aW9uIFVGKGUpe3ZhciB0O2lmKCFPbGUoZSkpdGhyb3cgbmV3IEpDKGZjKGUpLDApO2lmKFdsZS5pbmNsdWRlcyhlLnN0YXR1cykpdGhyb3cgbmV3IEpDKGZjKGUpLGUuc3RhdHVzKTtsZXQgcjt0cnl7cj1hd2FpdCBlLmpzb24oKX1jYXRjaChpKXt0aHJvdyBuZXcgdmMoZmMoaSksaSl9bGV0IG47Y29uc3QgYT0kbGUoZSk7aWYoYSYmYS5nZXRUaW1lKCk+PXFIWyIyMDI0LTAxLTAxIl0udGltZXN0YW1wJiZ0eXBlb2Ygcj09Im9iamVjdCImJnImJnR5cGVvZiByLmNvZGU9PSJzdHJpbmciP249ci5jb2RlOnR5cGVvZiByPT0ib2JqZWN0IiYmciYmdHlwZW9mIHIuZXJyb3JfY29kZT09InN0cmluZyImJihuPXIuZXJyb3JfY29kZSksbil7aWYobj09PSJ3ZWFrX3Bhc3N3b3JkIil0aHJvdyBuZXcgVEYoZmMociksZS5zdGF0dXMsKCh0PXIud2Vha19wYXNzd29yZCk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LnJlYXNvbnMpfHxbXSk7aWYobj09PSJzZXNzaW9uX25vdF9mb3VuZCIpdGhyb3cgbmV3IHlhfWVsc2UgaWYodHlwZW9mIHI9PSJvYmplY3QiJiZyJiZ0eXBlb2Ygci53ZWFrX3Bhc3N3b3JkPT0ib2JqZWN0IiYmci53ZWFrX3Bhc3N3b3JkJiZBcnJheS5pc0FycmF5KHIud2Vha19wYXNzd29yZC5yZWFzb25zKSYmci53ZWFrX3Bhc3N3b3JkLnJlYXNvbnMubGVuZ3RoJiZyLndlYWtfcGFzc3dvcmQucmVhc29ucy5yZWR1Y2UoKGksbyk9PmkmJnR5cGVvZiBvPT0ic3RyaW5nIiwhMCkpdGhyb3cgbmV3IFRGKGZjKHIpLGUuc3RhdHVzLHIud2Vha19wYXNzd29yZC5yZWFzb25zKTt0aHJvdyBuZXcgYmxlKGZjKHIpLGUuc3RhdHVzfHw1MDAsbil9Y29uc3QgR2xlPShlLHQscixuKT0+e2NvbnN0IGE9e21ldGhvZDplLGhlYWRlcnM6KHQ9PW51bGw/dm9pZCAwOnQuaGVhZGVycyl8fHt9fTtyZXR1cm4gZT09PSJHRVQiP2E6KGEuaGVhZGVycz1PYmplY3QuYXNzaWduKHsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04In0sdD09bnVsbD92b2lkIDA6dC5oZWFkZXJzKSxhLmJvZHk9SlNPTi5zdHJpbmdpZnkobiksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGEpLHIpKX07YXN5bmMgZnVuY3Rpb24gcWUoZSx0LHIsbil7dmFyIGE7Y29uc3QgaT1PYmplY3QuYXNzaWduKHt9LG49PW51bGw/dm9pZCAwOm4uaGVhZGVycyk7aVtYQ118fChpW1hDXT1xSFsiMjAyNC0wMS0wMSJdLm5hbWUpLG4hPW51bGwmJm4uand0JiYoaS5BdXRob3JpemF0aW9uPWBCZWFyZXIgJHtuLmp3dH1gKTtjb25zdCBvPShhPW49PW51bGw/dm9pZCAwOm4ucXVlcnkpIT09bnVsbCYmYSE9PXZvaWQgMD9hOnt9O24hPW51bGwmJm4ucmVkaXJlY3RUbyYmKG8ucmVkaXJlY3RfdG89bi5yZWRpcmVjdFRvKTtjb25zdCBsPU9iamVjdC5rZXlzKG8pLmxlbmd0aD8iPyIrbmV3IFVSTFNlYXJjaFBhcmFtcyhvKS50b1N0cmluZygpOiIiLGM9YXdhaXQgcWxlKGUsdCxyK2wse2hlYWRlcnM6aSxub1Jlc29sdmVKc29uOm49PW51bGw/dm9pZCAwOm4ubm9SZXNvbHZlSnNvbn0se30sbj09bnVsbD92b2lkIDA6bi5ib2R5KTtyZXR1cm4gbiE9bnVsbCYmbi54Zm9ybT9uPT1udWxsP3ZvaWQgMDpuLnhmb3JtKGMpOntkYXRhOk9iamVjdC5hc3NpZ24oe30sYyksZXJyb3I6bnVsbH19YXN5bmMgZnVuY3Rpb24gcWxlKGUsdCxyLG4sYSxpKXtjb25zdCBvPUdsZSh0LG4sYSxpKTtsZXQgbDt0cnl7bD1hd2FpdCBlKHIsT2JqZWN0LmFzc2lnbih7fSxvKSl9Y2F0Y2goYyl7dGhyb3cgY29uc29sZS5lcnJvcihjKSxuZXcgSkMoZmMoYyksMCl9aWYobC5va3x8YXdhaXQgVUYobCksbiE9bnVsbCYmbi5ub1Jlc29sdmVKc29uKXJldHVybiBsO3RyeXtyZXR1cm4gYXdhaXQgbC5qc29uKCl9Y2F0Y2goYyl7YXdhaXQgVUYoYyl9fWZ1bmN0aW9uIHZhKGUpe3ZhciB0O2xldCByPW51bGw7SmxlKGUpJiYocj1PYmplY3QuYXNzaWduKHt9LGUpLGUuZXhwaXJlc19hdHx8KHIuZXhwaXJlc19hdD1UbGUoZS5leHBpcmVzX2luKSkpO2NvbnN0IG49KHQ9ZS51c2VyKSE9PW51bGwmJnQhPT12b2lkIDA/dDplO3JldHVybntkYXRhOntzZXNzaW9uOnIsdXNlcjpufSxlcnJvcjpudWxsfX1mdW5jdGlvbiBERihlKXtjb25zdCB0PXZhKGUpO3JldHVybiF0LmVycm9yJiZlLndlYWtfcGFzc3dvcmQmJnR5cGVvZiBlLndlYWtfcGFzc3dvcmQ9PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KGUud2Vha19wYXNzd29yZC5yZWFzb25zKSYmZS53ZWFrX3Bhc3N3b3JkLnJlYXNvbnMubGVuZ3RoJiZlLndlYWtfcGFzc3dvcmQubWVzc2FnZSYmdHlwZW9mIGUud2Vha19wYXNzd29yZC5tZXNzYWdlPT0ic3RyaW5nIiYmZS53ZWFrX3Bhc3N3b3JkLnJlYXNvbnMucmVkdWNlKChyLG4pPT5yJiZ0eXBlb2Ygbj09InN0cmluZyIsITApJiYodC5kYXRhLndlYWtfcGFzc3dvcmQ9ZS53ZWFrX3Bhc3N3b3JkKSx0fWZ1bmN0aW9uIHFvKGUpe3ZhciB0O3JldHVybntkYXRhOnt1c2VyOih0PWUudXNlcikhPT1udWxsJiZ0IT09dm9pZCAwP3Q6ZX0sZXJyb3I6bnVsbH19ZnVuY3Rpb24gWWxlKGUpe3JldHVybntkYXRhOmUsZXJyb3I6bnVsbH19ZnVuY3Rpb24gWGxlKGUpe2NvbnN0e2FjdGlvbl9saW5rOnQsZW1haWxfb3RwOnIsaGFzaGVkX3Rva2VuOm4scmVkaXJlY3RfdG86YSx2ZXJpZmljYXRpb25fdHlwZTppfT1lLG89V2woZSxbImFjdGlvbl9saW5rIiwiZW1haWxfb3RwIiwiaGFzaGVkX3Rva2VuIiwicmVkaXJlY3RfdG8iLCJ2ZXJpZmljYXRpb25fdHlwZSJdKSxsPXthY3Rpb25fbGluazp0LGVtYWlsX290cDpyLGhhc2hlZF90b2tlbjpuLHJlZGlyZWN0X3RvOmEsdmVyaWZpY2F0aW9uX3R5cGU6aX0sYz1PYmplY3QuYXNzaWduKHt9LG8pO3JldHVybntkYXRhOntwcm9wZXJ0aWVzOmwsdXNlcjpjfSxlcnJvcjpudWxsfX1mdW5jdGlvbiBNRihlKXtyZXR1cm4gZX1mdW5jdGlvbiBKbGUoZSl7cmV0dXJuIGUuYWNjZXNzX3Rva2VuJiZlLnJlZnJlc2hfdG9rZW4mJmUuZXhwaXJlc19pbn1jb25zdCBXMT1bImdsb2JhbCIsImxvY2FsIiwib3RoZXJzIl07Y2xhc3MgWmxle2NvbnN0cnVjdG9yKHt1cmw6dD0iIixoZWFkZXJzOnI9e30sZmV0Y2g6bn0pe3RoaXMudXJsPXQsdGhpcy5oZWFkZXJzPXIsdGhpcy5mZXRjaD1KSChuKSx0aGlzLm1mYT17bGlzdEZhY3RvcnM6dGhpcy5fbGlzdEZhY3RvcnMuYmluZCh0aGlzKSxkZWxldGVGYWN0b3I6dGhpcy5fZGVsZXRlRmFjdG9yLmJpbmQodGhpcyl9LHRoaXMub2F1dGg9e2xpc3RDbGllbnRzOnRoaXMuX2xpc3RPQXV0aENsaWVudHMuYmluZCh0aGlzKSxjcmVhdGVDbGllbnQ6dGhpcy5fY3JlYXRlT0F1dGhDbGllbnQuYmluZCh0aGlzKSxnZXRDbGllbnQ6dGhpcy5fZ2V0T0F1dGhDbGllbnQuYmluZCh0aGlzKSx1cGRhdGVDbGllbnQ6dGhpcy5fdXBkYXRlT0F1dGhDbGllbnQuYmluZCh0aGlzKSxkZWxldGVDbGllbnQ6dGhpcy5fZGVsZXRlT0F1dGhDbGllbnQuYmluZCh0aGlzKSxyZWdlbmVyYXRlQ2xpZW50U2VjcmV0OnRoaXMuX3JlZ2VuZXJhdGVPQXV0aENsaWVudFNlY3JldC5iaW5kKHRoaXMpfX1hc3luYyBzaWduT3V0KHQscj1XMVswXSl7aWYoVzEuaW5kZXhPZihyKTwwKXRocm93IG5ldyBFcnJvcihgQHN1cGFiYXNlL2F1dGgtanM6IFBhcmFtZXRlciBzY29wZSBtdXN0IGJlIG9uZSBvZiAke1cxLmpvaW4oIiwgIil9YCk7dHJ5e3JldHVybiBhd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vbG9nb3V0P3Njb3BlPSR7cn1gLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxqd3Q6dCxub1Jlc29sdmVKc29uOiEwfSkse2RhdGE6bnVsbCxlcnJvcjpudWxsfX1jYXRjaChuKXtpZihIZShuKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOm59O3Rocm93IG59fWFzeW5jIGludml0ZVVzZXJCeUVtYWlsKHQscj17fSl7dHJ5e3JldHVybiBhd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vaW52aXRlYCx7Ym9keTp7ZW1haWw6dCxkYXRhOnIuZGF0YX0saGVhZGVyczp0aGlzLmhlYWRlcnMscmVkaXJlY3RUbzpyLnJlZGlyZWN0VG8seGZvcm06cW99KX1jYXRjaChuKXtpZihIZShuKSlyZXR1cm57ZGF0YTp7dXNlcjpudWxsfSxlcnJvcjpufTt0aHJvdyBufX1hc3luYyBnZW5lcmF0ZUxpbmsodCl7dHJ5e2NvbnN0e29wdGlvbnM6cn09dCxuPVdsKHQsWyJvcHRpb25zIl0pLGE9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG4pLHIpO3JldHVybiJuZXdFbWFpbCJpbiBuJiYoYS5uZXdfZW1haWw9bj09bnVsbD92b2lkIDA6bi5uZXdFbWFpbCxkZWxldGUgYS5uZXdFbWFpbCksYXdhaXQgcWUodGhpcy5mZXRjaCwiUE9TVCIsYCR7dGhpcy51cmx9L2FkbWluL2dlbmVyYXRlX2xpbmtgLHtib2R5OmEsaGVhZGVyczp0aGlzLmhlYWRlcnMseGZvcm06WGxlLHJlZGlyZWN0VG86cj09bnVsbD92b2lkIDA6ci5yZWRpcmVjdFRvfSl9Y2F0Y2gocil7aWYoSGUocikpcmV0dXJue2RhdGE6e3Byb3BlcnRpZXM6bnVsbCx1c2VyOm51bGx9LGVycm9yOnJ9O3Rocm93IHJ9fWFzeW5jIGNyZWF0ZVVzZXIodCl7dHJ5e3JldHVybiBhd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vYWRtaW4vdXNlcnNgLHtib2R5OnQsaGVhZGVyczp0aGlzLmhlYWRlcnMseGZvcm06cW99KX1jYXRjaChyKXtpZihIZShyKSlyZXR1cm57ZGF0YTp7dXNlcjpudWxsfSxlcnJvcjpyfTt0aHJvdyByfX1hc3luYyBsaXN0VXNlcnModCl7dmFyIHIsbixhLGksbyxsLGM7dHJ5e2NvbnN0IGQ9e25leHRQYWdlOm51bGwsbGFzdFBhZ2U6MCx0b3RhbDowfSx1PWF3YWl0IHFlKHRoaXMuZmV0Y2gsIkdFVCIsYCR7dGhpcy51cmx9L2FkbWluL3VzZXJzYCx7aGVhZGVyczp0aGlzLmhlYWRlcnMsbm9SZXNvbHZlSnNvbjohMCxxdWVyeTp7cGFnZToobj0ocj10PT1udWxsP3ZvaWQgMDp0LnBhZ2UpPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci50b1N0cmluZygpKSE9PW51bGwmJm4hPT12b2lkIDA/bjoiIixwZXJfcGFnZTooaT0oYT10PT1udWxsP3ZvaWQgMDp0LnBlclBhZ2UpPT09bnVsbHx8YT09PXZvaWQgMD92b2lkIDA6YS50b1N0cmluZygpKSE9PW51bGwmJmkhPT12b2lkIDA/aToiIn0seGZvcm06TUZ9KTtpZih1LmVycm9yKXRocm93IHUuZXJyb3I7Y29uc3QgQT1hd2FpdCB1Lmpzb24oKSxmPShvPXUuaGVhZGVycy5nZXQoIngtdG90YWwtY291bnQiKSkhPT1udWxsJiZvIT09dm9pZCAwP286MCxoPShjPShsPXUuaGVhZGVycy5nZXQoImxpbmsiKSk9PT1udWxsfHxsPT09dm9pZCAwP3ZvaWQgMDpsLnNwbGl0KCIsIikpIT09bnVsbCYmYyE9PXZvaWQgMD9jOltdO3JldHVybiBoLmxlbmd0aD4wJiYoaC5mb3JFYWNoKHA9Pntjb25zdCBtPXBhcnNlSW50KHAuc3BsaXQoIjsiKVswXS5zcGxpdCgiPSIpWzFdLnN1YnN0cmluZygwLDEpKSx4PUpTT04ucGFyc2UocC5zcGxpdCgiOyIpWzFdLnNwbGl0KCI9IilbMV0pO2RbYCR7eH1QYWdlYF09bX0pLGQudG90YWw9cGFyc2VJbnQoZikpLHtkYXRhOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxBKSxkKSxlcnJvcjpudWxsfX1jYXRjaChkKXtpZihIZShkKSlyZXR1cm57ZGF0YTp7dXNlcnM6W119LGVycm9yOmR9O3Rocm93IGR9fWFzeW5jIGdldFVzZXJCeUlkKHQpe2tkKHQpO3RyeXtyZXR1cm4gYXdhaXQgcWUodGhpcy5mZXRjaCwiR0VUIixgJHt0aGlzLnVybH0vYWRtaW4vdXNlcnMvJHt0fWAse2hlYWRlcnM6dGhpcy5oZWFkZXJzLHhmb3JtOnFvfSl9Y2F0Y2gocil7aWYoSGUocikpcmV0dXJue2RhdGE6e3VzZXI6bnVsbH0sZXJyb3I6cn07dGhyb3cgcn19YXN5bmMgdXBkYXRlVXNlckJ5SWQodCxyKXtrZCh0KTt0cnl7cmV0dXJuIGF3YWl0IHFlKHRoaXMuZmV0Y2gsIlBVVCIsYCR7dGhpcy51cmx9L2FkbWluL3VzZXJzLyR7dH1gLHtib2R5OnIsaGVhZGVyczp0aGlzLmhlYWRlcnMseGZvcm06cW99KX1jYXRjaChuKXtpZihIZShuKSlyZXR1cm57ZGF0YTp7dXNlcjpudWxsfSxlcnJvcjpufTt0aHJvdyBufX1hc3luYyBkZWxldGVVc2VyKHQscj0hMSl7a2QodCk7dHJ5e3JldHVybiBhd2FpdCBxZSh0aGlzLmZldGNoLCJERUxFVEUiLGAke3RoaXMudXJsfS9hZG1pbi91c2Vycy8ke3R9YCx7aGVhZGVyczp0aGlzLmhlYWRlcnMsYm9keTp7c2hvdWxkX3NvZnRfZGVsZXRlOnJ9LHhmb3JtOnFvfSl9Y2F0Y2gobil7aWYoSGUobikpcmV0dXJue2RhdGE6e3VzZXI6bnVsbH0sZXJyb3I6bn07dGhyb3cgbn19YXN5bmMgX2xpc3RGYWN0b3JzKHQpe2tkKHQudXNlcklkKTt0cnl7Y29uc3R7ZGF0YTpyLGVycm9yOm59PWF3YWl0IHFlKHRoaXMuZmV0Y2gsIkdFVCIsYCR7dGhpcy51cmx9L2FkbWluL3VzZXJzLyR7dC51c2VySWR9L2ZhY3RvcnNgLHtoZWFkZXJzOnRoaXMuaGVhZGVycyx4Zm9ybTphPT4oe2RhdGE6e2ZhY3RvcnM6YX0sZXJyb3I6bnVsbH0pfSk7cmV0dXJue2RhdGE6cixlcnJvcjpufX1jYXRjaChyKXtpZihIZShyKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOnJ9O3Rocm93IHJ9fWFzeW5jIF9kZWxldGVGYWN0b3IodCl7a2QodC51c2VySWQpLGtkKHQuaWQpO3RyeXtyZXR1cm57ZGF0YTphd2FpdCBxZSh0aGlzLmZldGNoLCJERUxFVEUiLGAke3RoaXMudXJsfS9hZG1pbi91c2Vycy8ke3QudXNlcklkfS9mYWN0b3JzLyR7dC5pZH1gLHtoZWFkZXJzOnRoaXMuaGVhZGVyc30pLGVycm9yOm51bGx9fWNhdGNoKHIpe2lmKEhlKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19YXN5bmMgX2xpc3RPQXV0aENsaWVudHModCl7dmFyIHIsbixhLGksbyxsLGM7dHJ5e2NvbnN0IGQ9e25leHRQYWdlOm51bGwsbGFzdFBhZ2U6MCx0b3RhbDowfSx1PWF3YWl0IHFlKHRoaXMuZmV0Y2gsIkdFVCIsYCR7dGhpcy51cmx9L2FkbWluL29hdXRoL2NsaWVudHNgLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxub1Jlc29sdmVKc29uOiEwLHF1ZXJ5OntwYWdlOihuPShyPXQ9PW51bGw/dm9pZCAwOnQucGFnZSk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLnRvU3RyaW5nKCkpIT09bnVsbCYmbiE9PXZvaWQgMD9uOiIiLHBlcl9wYWdlOihpPShhPXQ9PW51bGw/dm9pZCAwOnQucGVyUGFnZSk9PT1udWxsfHxhPT09dm9pZCAwP3ZvaWQgMDphLnRvU3RyaW5nKCkpIT09bnVsbCYmaSE9PXZvaWQgMD9pOiIifSx4Zm9ybTpNRn0pO2lmKHUuZXJyb3IpdGhyb3cgdS5lcnJvcjtjb25zdCBBPWF3YWl0IHUuanNvbigpLGY9KG89dS5oZWFkZXJzLmdldCgieC10b3RhbC1jb3VudCIpKSE9PW51bGwmJm8hPT12b2lkIDA/bzowLGg9KGM9KGw9dS5oZWFkZXJzLmdldCgibGluayIpKT09PW51bGx8fGw9PT12b2lkIDA/dm9pZCAwOmwuc3BsaXQoIiwiKSkhPT1udWxsJiZjIT09dm9pZCAwP2M6W107cmV0dXJuIGgubGVuZ3RoPjAmJihoLmZvckVhY2gocD0+e2NvbnN0IG09cGFyc2VJbnQocC5zcGxpdCgiOyIpWzBdLnNwbGl0KCI9IilbMV0uc3Vic3RyaW5nKDAsMSkpLHg9SlNPTi5wYXJzZShwLnNwbGl0KCI7IilbMV0uc3BsaXQoIj0iKVsxXSk7ZFtgJHt4fVBhZ2VgXT1tfSksZC50b3RhbD1wYXJzZUludChmKSkse2RhdGE6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LEEpLGQpLGVycm9yOm51bGx9fWNhdGNoKGQpe2lmKEhlKGQpKXJldHVybntkYXRhOntjbGllbnRzOltdfSxlcnJvcjpkfTt0aHJvdyBkfX1hc3luYyBfY3JlYXRlT0F1dGhDbGllbnQodCl7dHJ5e3JldHVybiBhd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vYWRtaW4vb2F1dGgvY2xpZW50c2Ase2JvZHk6dCxoZWFkZXJzOnRoaXMuaGVhZGVycyx4Zm9ybTpyPT4oe2RhdGE6cixlcnJvcjpudWxsfSl9KX1jYXRjaChyKXtpZihIZShyKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOnJ9O3Rocm93IHJ9fWFzeW5jIF9nZXRPQXV0aENsaWVudCh0KXt0cnl7cmV0dXJuIGF3YWl0IHFlKHRoaXMuZmV0Y2gsIkdFVCIsYCR7dGhpcy51cmx9L2FkbWluL29hdXRoL2NsaWVudHMvJHt0fWAse2hlYWRlcnM6dGhpcy5oZWFkZXJzLHhmb3JtOnI9Pih7ZGF0YTpyLGVycm9yOm51bGx9KX0pfWNhdGNoKHIpe2lmKEhlKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19YXN5bmMgX3VwZGF0ZU9BdXRoQ2xpZW50KHQscil7dHJ5e3JldHVybiBhd2FpdCBxZSh0aGlzLmZldGNoLCJQVVQiLGAke3RoaXMudXJsfS9hZG1pbi9vYXV0aC9jbGllbnRzLyR7dH1gLHtib2R5OnIsaGVhZGVyczp0aGlzLmhlYWRlcnMseGZvcm06bj0+KHtkYXRhOm4sZXJyb3I6bnVsbH0pfSl9Y2F0Y2gobil7aWYoSGUobikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpufTt0aHJvdyBufX1hc3luYyBfZGVsZXRlT0F1dGhDbGllbnQodCl7dHJ5e3JldHVybiBhd2FpdCBxZSh0aGlzLmZldGNoLCJERUxFVEUiLGAke3RoaXMudXJsfS9hZG1pbi9vYXV0aC9jbGllbnRzLyR7dH1gLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxub1Jlc29sdmVKc29uOiEwfSkse2RhdGE6bnVsbCxlcnJvcjpudWxsfX1jYXRjaChyKXtpZihIZShyKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOnJ9O3Rocm93IHJ9fWFzeW5jIF9yZWdlbmVyYXRlT0F1dGhDbGllbnRTZWNyZXQodCl7dHJ5e3JldHVybiBhd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vYWRtaW4vb2F1dGgvY2xpZW50cy8ke3R9L3JlZ2VuZXJhdGVfc2VjcmV0YCx7aGVhZGVyczp0aGlzLmhlYWRlcnMseGZvcm06cj0+KHtkYXRhOnIsZXJyb3I6bnVsbH0pfSl9Y2F0Y2gocil7aWYoSGUocikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpyfTt0aHJvdyByfX19ZnVuY3Rpb24gUkYoZT17fSl7cmV0dXJue2dldEl0ZW06dD0+ZVt0XXx8bnVsbCxzZXRJdGVtOih0LHIpPT57ZVt0XT1yfSxyZW1vdmVJdGVtOnQ9PntkZWxldGUgZVt0XX19fWNvbnN0IFRkPXtkZWJ1ZzohIShnbG9iYWxUaGlzJiZYSCgpJiZnbG9iYWxUaGlzLmxvY2FsU3RvcmFnZSYmZ2xvYmFsVGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgic3VwYWJhc2UuZ290cnVlLWpzLmxvY2tzLmRlYnVnIik9PT0idHJ1ZSIpfTtjbGFzcyBaSCBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMuaXNBY3F1aXJlVGltZW91dD0hMH19Y2xhc3MgZWNlIGV4dGVuZHMgWkh7fWFzeW5jIGZ1bmN0aW9uIHRjZShlLHQscil7VGQuZGVidWcmJmNvbnNvbGUubG9nKCJAc3VwYWJhc2UvZ290cnVlLWpzOiBuYXZpZ2F0b3JMb2NrOiBhY3F1aXJlIGxvY2siLGUsdCk7Y29uc3Qgbj1uZXcgZ2xvYmFsVGhpcy5BYm9ydENvbnRyb2xsZXI7cmV0dXJuIHQ+MCYmc2V0VGltZW91dCgoKT0+e24uYWJvcnQoKSxUZC5kZWJ1ZyYmY29uc29sZS5sb2coIkBzdXBhYmFzZS9nb3RydWUtanM6IG5hdmlnYXRvckxvY2sgYWNxdWlyZSB0aW1lZCBvdXQiLGUpfSx0KSxhd2FpdCBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5nbG9iYWxUaGlzLm5hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGUsdD09PTA/e21vZGU6ImV4Y2x1c2l2ZSIsaWZBdmFpbGFibGU6ITB9Onttb2RlOiJleGNsdXNpdmUiLHNpZ25hbDpuLnNpZ25hbH0sYXN5bmMgYT0+e2lmKGEpe1RkLmRlYnVnJiZjb25zb2xlLmxvZygiQHN1cGFiYXNlL2dvdHJ1ZS1qczogbmF2aWdhdG9yTG9jazogYWNxdWlyZWQiLGUsYS5uYW1lKTt0cnl7cmV0dXJuIGF3YWl0IHIoKX1maW5hbGx5e1RkLmRlYnVnJiZjb25zb2xlLmxvZygiQHN1cGFiYXNlL2dvdHJ1ZS1qczogbmF2aWdhdG9yTG9jazogcmVsZWFzZWQiLGUsYS5uYW1lKX19ZWxzZXtpZih0PT09MCl0aHJvdyBUZC5kZWJ1ZyYmY29uc29sZS5sb2coIkBzdXBhYmFzZS9nb3RydWUtanM6IG5hdmlnYXRvckxvY2s6IG5vdCBpbW1lZGlhdGVseSBhdmFpbGFibGUiLGUpLG5ldyBlY2UoYEFjcXVpcmluZyBhbiBleGNsdXNpdmUgTmF2aWdhdG9yIExvY2tNYW5hZ2VyIGxvY2sgIiR7ZX0iIGltbWVkaWF0ZWx5IGZhaWxlZGApO2lmKFRkLmRlYnVnKXRyeXtjb25zdCBpPWF3YWl0IGdsb2JhbFRoaXMubmF2aWdhdG9yLmxvY2tzLnF1ZXJ5KCk7Y29uc29sZS5sb2coIkBzdXBhYmFzZS9nb3RydWUtanM6IE5hdmlnYXRvciBMb2NrTWFuYWdlciBzdGF0ZSIsSlNPTi5zdHJpbmdpZnkoaSxudWxsLCIgICIpKX1jYXRjaChpKXtjb25zb2xlLndhcm4oIkBzdXBhYmFzZS9nb3RydWUtanM6IEVycm9yIHdoZW4gcXVlcnlpbmcgTmF2aWdhdG9yIExvY2tNYW5hZ2VyIHN0YXRlIixpKX1yZXR1cm4gY29uc29sZS53YXJuKCJAc3VwYWJhc2UvZ290cnVlLWpzOiBOYXZpZ2F0b3IgTG9ja01hbmFnZXIgcmV0dXJuZWQgYSBudWxsIGxvY2sgd2hlbiB1c2luZyAjcmVxdWVzdCB3aXRob3V0IGlmQXZhaWxhYmxlIHNldCB0byB0cnVlLCBpdCBhcHBlYXJzIHRoaXMgYnJvd3NlciBpcyBub3QgZm9sbG93aW5nIHRoZSBMb2NrTWFuYWdlciBzcGVjIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9Mb2NrTWFuYWdlci9yZXF1ZXN0IiksYXdhaXQgcigpfX0pKX1mdW5jdGlvbiByY2UoKXtpZih0eXBlb2YgZ2xvYmFsVGhpcyE9Im9iamVjdCIpdHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCJfX21hZ2ljX18iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sY29uZmlndXJhYmxlOiEwfSksX19tYWdpY19fLmdsb2JhbFRoaXM9X19tYWdpY19fLGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLl9fbWFnaWNfX31jYXRjaHt0eXBlb2Ygc2VsZjwidSImJihzZWxmLmdsb2JhbFRoaXM9c2VsZil9fWZ1bmN0aW9uIGU4KGUpe2lmKCEvXjB4W2EtZkEtRjAtOV17NDB9JC8udGVzdChlKSl0aHJvdyBuZXcgRXJyb3IoYEBzdXBhYmFzZS9hdXRoLWpzOiBBZGRyZXNzICIke2V9IiBpcyBpbnZhbGlkLmApO3JldHVybiBlLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gbmNlKGUpe3JldHVybiBwYXJzZUludChlLDE2KX1mdW5jdGlvbiBzY2UoZSl7Y29uc3QgdD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoZSk7cmV0dXJuIjB4IitBcnJheS5mcm9tKHQsbj0+bi50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKS5qb2luKCIiKX1mdW5jdGlvbiBhY2UoZSl7dmFyIHQ7Y29uc3R7Y2hhaW5JZDpyLGRvbWFpbjpuLGV4cGlyYXRpb25UaW1lOmEsaXNzdWVkQXQ6aT1uZXcgRGF0ZSxub25jZTpvLG5vdEJlZm9yZTpsLHJlcXVlc3RJZDpjLHJlc291cmNlczpkLHNjaGVtZTp1LHVyaTpBLHZlcnNpb246Zn09ZTt7aWYoIU51bWJlci5pc0ludGVnZXIocikpdGhyb3cgbmV3IEVycm9yKGBAc3VwYWJhc2UvYXV0aC1qczogSW52YWxpZCBTSVdFIG1lc3NhZ2UgZmllbGQgImNoYWluSWQiLiBDaGFpbiBJRCBtdXN0IGJlIGEgRUlQLTE1NSBjaGFpbiBJRC4gUHJvdmlkZWQgdmFsdWU6ICR7cn1gKTtpZighbil0aHJvdyBuZXcgRXJyb3IoJ0BzdXBhYmFzZS9hdXRoLWpzOiBJbnZhbGlkIFNJV0UgbWVzc2FnZSBmaWVsZCAiZG9tYWluIi4gRG9tYWluIG11c3QgYmUgcHJvdmlkZWQuJyk7aWYobyYmby5sZW5ndGg8OCl0aHJvdyBuZXcgRXJyb3IoYEBzdXBhYmFzZS9hdXRoLWpzOiBJbnZhbGlkIFNJV0UgbWVzc2FnZSBmaWVsZCAibm9uY2UiLiBOb25jZSBtdXN0IGJlIGF0IGxlYXN0IDggY2hhcmFjdGVycy4gUHJvdmlkZWQgdmFsdWU6ICR7b31gKTtpZighQSl0aHJvdyBuZXcgRXJyb3IoJ0BzdXBhYmFzZS9hdXRoLWpzOiBJbnZhbGlkIFNJV0UgbWVzc2FnZSBmaWVsZCAidXJpIi4gVVJJIG11c3QgYmUgcHJvdmlkZWQuJyk7aWYoZiE9PSIxIil0aHJvdyBuZXcgRXJyb3IoYEBzdXBhYmFzZS9hdXRoLWpzOiBJbnZhbGlkIFNJV0UgbWVzc2FnZSBmaWVsZCAidmVyc2lvbiIuIFZlcnNpb24gbXVzdCBiZSAnMScuIFByb3ZpZGVkIHZhbHVlOiAke2Z9YCk7aWYoISgodD1lLnN0YXRlbWVudCk9PT1udWxsfHx0PT09dm9pZCAwKSYmdC5pbmNsdWRlcyhgCmApKXRocm93IG5ldyBFcnJvcihgQHN1cGFiYXNlL2F1dGgtanM6IEludmFsaWQgU0lXRSBtZXNzYWdlIGZpZWxkICJzdGF0ZW1lbnQiLiBTdGF0ZW1lbnQgbXVzdCBub3QgaW5jbHVkZSAnXFxuJy4gUHJvdmlkZWQgdmFsdWU6ICR7ZS5zdGF0ZW1lbnR9YCl9Y29uc3QgaD1lOChlLmFkZHJlc3MpLHA9dT9gJHt1fTovLyR7bn1gOm4sbT1lLnN0YXRlbWVudD9gJHtlLnN0YXRlbWVudH0KYDoiIix4PWAke3B9IHdhbnRzIHlvdSB0byBzaWduIGluIHdpdGggeW91ciBFdGhlcmV1bSBhY2NvdW50Ogoke2h9Cgoke219YDtsZXQgdz1gVVJJOiAke0F9ClZlcnNpb246ICR7Zn0KQ2hhaW4gSUQ6ICR7cn0ke28/YApOb25jZTogJHtvfWA6IiJ9Cklzc3VlZCBBdDogJHtpLnRvSVNPU3RyaW5nKCl9YDtpZihhJiYodys9YApFeHBpcmF0aW9uIFRpbWU6ICR7YS50b0lTT1N0cmluZygpfWApLGwmJih3Kz1gCk5vdCBCZWZvcmU6ICR7bC50b0lTT1N0cmluZygpfWApLGMmJih3Kz1gClJlcXVlc3QgSUQ6ICR7Y31gKSxkKXtsZXQgeT1gClJlc291cmNlczpgO2Zvcihjb25zdCB2IG9mIGQpe2lmKCF2fHx0eXBlb2YgdiE9InN0cmluZyIpdGhyb3cgbmV3IEVycm9yKGBAc3VwYWJhc2UvYXV0aC1qczogSW52YWxpZCBTSVdFIG1lc3NhZ2UgZmllbGQgInJlc291cmNlcyIuIEV2ZXJ5IHJlc291cmNlIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcuIFByb3ZpZGVkIHZhbHVlOiAke3Z9YCk7eSs9YAotICR7dn1gfXcrPXl9cmV0dXJuYCR7eH0KJHt3fWB9Y2xhc3MgRXIgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih7bWVzc2FnZTp0LGNvZGU6cixjYXVzZTpuLG5hbWU6YX0pe3ZhciBpO3N1cGVyKHQse2NhdXNlOm59KSx0aGlzLl9faXNXZWJBdXRobkVycm9yPSEwLHRoaXMubmFtZT0oaT1hPz8obiBpbnN0YW5jZW9mIEVycm9yP24ubmFtZTp2b2lkIDApKSE9PW51bGwmJmkhPT12b2lkIDA/aToiVW5rbm93biBFcnJvciIsdGhpcy5jb2RlPXJ9fWNsYXNzIG55IGV4dGVuZHMgRXJ7Y29uc3RydWN0b3IodCxyKXtzdXBlcih7Y29kZToiRVJST1JfUEFTU1RIUk9VR0hfU0VFX0NBVVNFX1BST1BFUlRZIixjYXVzZTpyLG1lc3NhZ2U6dH0pLHRoaXMubmFtZT0iV2ViQXV0aG5Vbmtub3duRXJyb3IiLHRoaXMub3JpZ2luYWxFcnJvcj1yfX1mdW5jdGlvbiBpY2Uoe2Vycm9yOmUsb3B0aW9uczp0fSl7dmFyIHIsbixhO2NvbnN0e3B1YmxpY0tleTppfT10O2lmKCFpKXRocm93IEVycm9yKCJvcHRpb25zIHdhcyBtaXNzaW5nIHJlcXVpcmVkIHB1YmxpY0tleSBwcm9wZXJ0eSIpO2lmKGUubmFtZT09PSJBYm9ydEVycm9yIil7aWYodC5zaWduYWwgaW5zdGFuY2VvZiBBYm9ydFNpZ25hbClyZXR1cm4gbmV3IEVyKHttZXNzYWdlOiJSZWdpc3RyYXRpb24gY2VyZW1vbnkgd2FzIHNlbnQgYW4gYWJvcnQgc2lnbmFsIixjb2RlOiJFUlJPUl9DRVJFTU9OWV9BQk9SVEVEIixjYXVzZTplfSl9ZWxzZSBpZihlLm5hbWU9PT0iQ29uc3RyYWludEVycm9yIil7aWYoKChyPWkuYXV0aGVudGljYXRvclNlbGVjdGlvbik9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLnJlcXVpcmVSZXNpZGVudEtleSk9PT0hMClyZXR1cm4gbmV3IEVyKHttZXNzYWdlOiJEaXNjb3ZlcmFibGUgY3JlZGVudGlhbHMgd2VyZSByZXF1aXJlZCBidXQgbm8gYXZhaWxhYmxlIGF1dGhlbnRpY2F0b3Igc3VwcG9ydGVkIGl0Iixjb2RlOiJFUlJPUl9BVVRIRU5USUNBVE9SX01JU1NJTkdfRElTQ09WRVJBQkxFX0NSRURFTlRJQUxfU1VQUE9SVCIsY2F1c2U6ZX0pO2lmKHQubWVkaWF0aW9uPT09ImNvbmRpdGlvbmFsIiYmKChuPWkuYXV0aGVudGljYXRvclNlbGVjdGlvbik9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLnVzZXJWZXJpZmljYXRpb24pPT09InJlcXVpcmVkIilyZXR1cm4gbmV3IEVyKHttZXNzYWdlOiJVc2VyIHZlcmlmaWNhdGlvbiB3YXMgcmVxdWlyZWQgZHVyaW5nIGF1dG9tYXRpYyByZWdpc3RyYXRpb24gYnV0IGl0IGNvdWxkIG5vdCBiZSBwZXJmb3JtZWQiLGNvZGU6IkVSUk9SX0FVVE9fUkVHSVNURVJfVVNFUl9WRVJJRklDQVRJT05fRkFJTFVSRSIsY2F1c2U6ZX0pO2lmKCgoYT1pLmF1dGhlbnRpY2F0b3JTZWxlY3Rpb24pPT09bnVsbHx8YT09PXZvaWQgMD92b2lkIDA6YS51c2VyVmVyaWZpY2F0aW9uKT09PSJyZXF1aXJlZCIpcmV0dXJuIG5ldyBFcih7bWVzc2FnZToiVXNlciB2ZXJpZmljYXRpb24gd2FzIHJlcXVpcmVkIGJ1dCBubyBhdmFpbGFibGUgYXV0aGVudGljYXRvciBzdXBwb3J0ZWQgaXQiLGNvZGU6IkVSUk9SX0FVVEhFTlRJQ0FUT1JfTUlTU0lOR19VU0VSX1ZFUklGSUNBVElPTl9TVVBQT1JUIixjYXVzZTplfSl9ZWxzZXtpZihlLm5hbWU9PT0iSW52YWxpZFN0YXRlRXJyb3IiKXJldHVybiBuZXcgRXIoe21lc3NhZ2U6IlRoZSBhdXRoZW50aWNhdG9yIHdhcyBwcmV2aW91c2x5IHJlZ2lzdGVyZWQiLGNvZGU6IkVSUk9SX0FVVEhFTlRJQ0FUT1JfUFJFVklPVVNMWV9SRUdJU1RFUkVEIixjYXVzZTplfSk7aWYoZS5uYW1lPT09Ik5vdEFsbG93ZWRFcnJvciIpcmV0dXJuIG5ldyBFcih7bWVzc2FnZTplLm1lc3NhZ2UsY29kZToiRVJST1JfUEFTU1RIUk9VR0hfU0VFX0NBVVNFX1BST1BFUlRZIixjYXVzZTplfSk7aWYoZS5uYW1lPT09Ik5vdFN1cHBvcnRlZEVycm9yIilyZXR1cm4gaS5wdWJLZXlDcmVkUGFyYW1zLmZpbHRlcihsPT5sLnR5cGU9PT0icHVibGljLWtleSIpLmxlbmd0aD09PTA/bmV3IEVyKHttZXNzYWdlOidObyBlbnRyeSBpbiBwdWJLZXlDcmVkUGFyYW1zIHdhcyBvZiB0eXBlICJwdWJsaWMta2V5IicsY29kZToiRVJST1JfTUFMRk9STUVEX1BVQktFWUNSRURQQVJBTVMiLGNhdXNlOmV9KTpuZXcgRXIoe21lc3NhZ2U6Ik5vIGF2YWlsYWJsZSBhdXRoZW50aWNhdG9yIHN1cHBvcnRlZCBhbnkgb2YgdGhlIHNwZWNpZmllZCBwdWJLZXlDcmVkUGFyYW1zIGFsZ29yaXRobXMiLGNvZGU6IkVSUk9SX0FVVEhFTlRJQ0FUT1JfTk9fU1VQUE9SVEVEX1BVQktFWUNSRURQQVJBTVNfQUxHIixjYXVzZTplfSk7aWYoZS5uYW1lPT09IlNlY3VyaXR5RXJyb3IiKXtjb25zdCBvPXdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTtpZih0OChvKSl7aWYoaS5ycC5pZCE9PW8pcmV0dXJuIG5ldyBFcih7bWVzc2FnZTpgVGhlIFJQIElEICIke2kucnAuaWR9IiBpcyBpbnZhbGlkIGZvciB0aGlzIGRvbWFpbmAsY29kZToiRVJST1JfSU5WQUxJRF9SUF9JRCIsY2F1c2U6ZX0pfWVsc2UgcmV0dXJuIG5ldyBFcih7bWVzc2FnZTpgJHt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9IGlzIGFuIGludmFsaWQgZG9tYWluYCxjb2RlOiJFUlJPUl9JTlZBTElEX0RPTUFJTiIsY2F1c2U6ZX0pfWVsc2UgaWYoZS5uYW1lPT09IlR5cGVFcnJvciIpe2lmKGkudXNlci5pZC5ieXRlTGVuZ3RoPDF8fGkudXNlci5pZC5ieXRlTGVuZ3RoPjY0KXJldHVybiBuZXcgRXIoe21lc3NhZ2U6IlVzZXIgSUQgd2FzIG5vdCBiZXR3ZWVuIDEgYW5kIDY0IGNoYXJhY3RlcnMiLGNvZGU6IkVSUk9SX0lOVkFMSURfVVNFUl9JRF9MRU5HVEgiLGNhdXNlOmV9KX1lbHNlIGlmKGUubmFtZT09PSJVbmtub3duRXJyb3IiKXJldHVybiBuZXcgRXIoe21lc3NhZ2U6IlRoZSBhdXRoZW50aWNhdG9yIHdhcyB1bmFibGUgdG8gcHJvY2VzcyB0aGUgc3BlY2lmaWVkIG9wdGlvbnMsIG9yIGNvdWxkIG5vdCBjcmVhdGUgYSBuZXcgY3JlZGVudGlhbCIsY29kZToiRVJST1JfQVVUSEVOVElDQVRPUl9HRU5FUkFMX0VSUk9SIixjYXVzZTplfSl9cmV0dXJuIG5ldyBFcih7bWVzc2FnZToiYSBOb24tV2ViYXV0aG4gcmVsYXRlZCBlcnJvciBoYXMgb2NjdXJyZWQiLGNvZGU6IkVSUk9SX1BBU1NUSFJPVUdIX1NFRV9DQVVTRV9QUk9QRVJUWSIsY2F1c2U6ZX0pfWZ1bmN0aW9uIG9jZSh7ZXJyb3I6ZSxvcHRpb25zOnR9KXtjb25zdHtwdWJsaWNLZXk6cn09dDtpZighcil0aHJvdyBFcnJvcigib3B0aW9ucyB3YXMgbWlzc2luZyByZXF1aXJlZCBwdWJsaWNLZXkgcHJvcGVydHkiKTtpZihlLm5hbWU9PT0iQWJvcnRFcnJvciIpe2lmKHQuc2lnbmFsIGluc3RhbmNlb2YgQWJvcnRTaWduYWwpcmV0dXJuIG5ldyBFcih7bWVzc2FnZToiQXV0aGVudGljYXRpb24gY2VyZW1vbnkgd2FzIHNlbnQgYW4gYWJvcnQgc2lnbmFsIixjb2RlOiJFUlJPUl9DRVJFTU9OWV9BQk9SVEVEIixjYXVzZTplfSl9ZWxzZXtpZihlLm5hbWU9PT0iTm90QWxsb3dlZEVycm9yIilyZXR1cm4gbmV3IEVyKHttZXNzYWdlOmUubWVzc2FnZSxjb2RlOiJFUlJPUl9QQVNTVEhST1VHSF9TRUVfQ0FVU0VfUFJPUEVSVFkiLGNhdXNlOmV9KTtpZihlLm5hbWU9PT0iU2VjdXJpdHlFcnJvciIpe2NvbnN0IG49d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO2lmKHQ4KG4pKXtpZihyLnJwSWQhPT1uKXJldHVybiBuZXcgRXIoe21lc3NhZ2U6YFRoZSBSUCBJRCAiJHtyLnJwSWR9IiBpcyBpbnZhbGlkIGZvciB0aGlzIGRvbWFpbmAsY29kZToiRVJST1JfSU5WQUxJRF9SUF9JRCIsY2F1c2U6ZX0pfWVsc2UgcmV0dXJuIG5ldyBFcih7bWVzc2FnZTpgJHt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9IGlzIGFuIGludmFsaWQgZG9tYWluYCxjb2RlOiJFUlJPUl9JTlZBTElEX0RPTUFJTiIsY2F1c2U6ZX0pfWVsc2UgaWYoZS5uYW1lPT09IlVua25vd25FcnJvciIpcmV0dXJuIG5ldyBFcih7bWVzc2FnZToiVGhlIGF1dGhlbnRpY2F0b3Igd2FzIHVuYWJsZSB0byBwcm9jZXNzIHRoZSBzcGVjaWZpZWQgb3B0aW9ucywgb3IgY291bGQgbm90IGNyZWF0ZSBhIG5ldyBhc3NlcnRpb24gc2lnbmF0dXJlIixjb2RlOiJFUlJPUl9BVVRIRU5USUNBVE9SX0dFTkVSQUxfRVJST1IiLGNhdXNlOmV9KX1yZXR1cm4gbmV3IEVyKHttZXNzYWdlOiJhIE5vbi1XZWJhdXRobiByZWxhdGVkIGVycm9yIGhhcyBvY2N1cnJlZCIsY29kZToiRVJST1JfUEFTU1RIUk9VR0hfU0VFX0NBVVNFX1BST1BFUlRZIixjYXVzZTplfSl9Y2xhc3MgbGNle2NyZWF0ZU5ld0Fib3J0U2lnbmFsKCl7aWYodGhpcy5jb250cm9sbGVyKXtjb25zdCByPW5ldyBFcnJvcigiQ2FuY2VsbGluZyBleGlzdGluZyBXZWJBdXRobiBBUEkgY2FsbCBmb3IgbmV3IG9uZSIpO3IubmFtZT0iQWJvcnRFcnJvciIsdGhpcy5jb250cm9sbGVyLmFib3J0KHIpfWNvbnN0IHQ9bmV3IEFib3J0Q29udHJvbGxlcjtyZXR1cm4gdGhpcy5jb250cm9sbGVyPXQsdC5zaWduYWx9Y2FuY2VsQ2VyZW1vbnkoKXtpZih0aGlzLmNvbnRyb2xsZXIpe2NvbnN0IHQ9bmV3IEVycm9yKCJNYW51YWxseSBjYW5jZWxsaW5nIGV4aXN0aW5nIFdlYkF1dGhuIEFQSSBjYWxsIik7dC5uYW1lPSJBYm9ydEVycm9yIix0aGlzLmNvbnRyb2xsZXIuYWJvcnQodCksdGhpcy5jb250cm9sbGVyPXZvaWQgMH19fWNvbnN0IGNjZT1uZXcgbGNlO2Z1bmN0aW9uIGRjZShlKXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkNyZWRlbnRpYWwgY3JlYXRpb24gb3B0aW9ucyBhcmUgcmVxdWlyZWQiKTtpZih0eXBlb2YgUHVibGljS2V5Q3JlZGVudGlhbDwidSImJiJwYXJzZUNyZWF0aW9uT3B0aW9uc0Zyb21KU09OImluIFB1YmxpY0tleUNyZWRlbnRpYWwmJnR5cGVvZiBQdWJsaWNLZXlDcmVkZW50aWFsLnBhcnNlQ3JlYXRpb25PcHRpb25zRnJvbUpTT049PSJmdW5jdGlvbiIpcmV0dXJuIFB1YmxpY0tleUNyZWRlbnRpYWwucGFyc2VDcmVhdGlvbk9wdGlvbnNGcm9tSlNPTihlKTtjb25zdHtjaGFsbGVuZ2U6dCx1c2VyOnIsZXhjbHVkZUNyZWRlbnRpYWxzOm59PWUsYT1XbChlLFsiY2hhbGxlbmdlIiwidXNlciIsImV4Y2x1ZGVDcmVkZW50aWFscyJdKSxpPWt1KHQpLmJ1ZmZlcixvPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxyKSx7aWQ6a3Uoci5pZCkuYnVmZmVyfSksbD1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYSkse2NoYWxsZW5nZTppLHVzZXI6b30pO2lmKG4mJm4ubGVuZ3RoPjApe2wuZXhjbHVkZUNyZWRlbnRpYWxzPW5ldyBBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBjPTA7YzxuLmxlbmd0aDtjKyspe2NvbnN0IGQ9bltjXTtsLmV4Y2x1ZGVDcmVkZW50aWFsc1tjXT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZCkse2lkOmt1KGQuaWQpLmJ1ZmZlcix0eXBlOmQudHlwZXx8InB1YmxpYy1rZXkiLHRyYW5zcG9ydHM6ZC50cmFuc3BvcnRzfSl9fXJldHVybiBsfWZ1bmN0aW9uIHVjZShlKXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkNyZWRlbnRpYWwgcmVxdWVzdCBvcHRpb25zIGFyZSByZXF1aXJlZCIpO2lmKHR5cGVvZiBQdWJsaWNLZXlDcmVkZW50aWFsPCJ1IiYmInBhcnNlUmVxdWVzdE9wdGlvbnNGcm9tSlNPTiJpbiBQdWJsaWNLZXlDcmVkZW50aWFsJiZ0eXBlb2YgUHVibGljS2V5Q3JlZGVudGlhbC5wYXJzZVJlcXVlc3RPcHRpb25zRnJvbUpTT049PSJmdW5jdGlvbiIpcmV0dXJuIFB1YmxpY0tleUNyZWRlbnRpYWwucGFyc2VSZXF1ZXN0T3B0aW9uc0Zyb21KU09OKGUpO2NvbnN0e2NoYWxsZW5nZTp0LGFsbG93Q3JlZGVudGlhbHM6cn09ZSxuPVdsKGUsWyJjaGFsbGVuZ2UiLCJhbGxvd0NyZWRlbnRpYWxzIl0pLGE9a3UodCkuYnVmZmVyLGk9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG4pLHtjaGFsbGVuZ2U6YX0pO2lmKHImJnIubGVuZ3RoPjApe2kuYWxsb3dDcmVkZW50aWFscz1uZXcgQXJyYXkoci5sZW5ndGgpO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7bysrKXtjb25zdCBsPXJbb107aS5hbGxvd0NyZWRlbnRpYWxzW29dPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxsKSx7aWQ6a3UobC5pZCkuYnVmZmVyLHR5cGU6bC50eXBlfHwicHVibGljLWtleSIsdHJhbnNwb3J0czpsLnRyYW5zcG9ydHN9KX19cmV0dXJuIGl9ZnVuY3Rpb24gQWNlKGUpe3ZhciB0O2lmKCJ0b0pTT04iaW4gZSYmdHlwZW9mIGUudG9KU09OPT0iZnVuY3Rpb24iKXJldHVybiBlLnRvSlNPTigpO2NvbnN0IHI9ZTtyZXR1cm57aWQ6ZS5pZCxyYXdJZDplLmlkLHJlc3BvbnNlOnthdHRlc3RhdGlvbk9iamVjdDpfYyhuZXcgVWludDhBcnJheShlLnJlc3BvbnNlLmF0dGVzdGF0aW9uT2JqZWN0KSksY2xpZW50RGF0YUpTT046X2MobmV3IFVpbnQ4QXJyYXkoZS5yZXNwb25zZS5jbGllbnREYXRhSlNPTikpfSx0eXBlOiJwdWJsaWMta2V5IixjbGllbnRFeHRlbnNpb25SZXN1bHRzOmUuZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpLGF1dGhlbnRpY2F0b3JBdHRhY2htZW50Oih0PXIuYXV0aGVudGljYXRvckF0dGFjaG1lbnQpIT09bnVsbCYmdCE9PXZvaWQgMD90OnZvaWQgMH19ZnVuY3Rpb24gZmNlKGUpe3ZhciB0O2lmKCJ0b0pTT04iaW4gZSYmdHlwZW9mIGUudG9KU09OPT0iZnVuY3Rpb24iKXJldHVybiBlLnRvSlNPTigpO2NvbnN0IHI9ZSxuPWUuZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpLGE9ZS5yZXNwb25zZTtyZXR1cm57aWQ6ZS5pZCxyYXdJZDplLmlkLHJlc3BvbnNlOnthdXRoZW50aWNhdG9yRGF0YTpfYyhuZXcgVWludDhBcnJheShhLmF1dGhlbnRpY2F0b3JEYXRhKSksY2xpZW50RGF0YUpTT046X2MobmV3IFVpbnQ4QXJyYXkoYS5jbGllbnREYXRhSlNPTikpLHNpZ25hdHVyZTpfYyhuZXcgVWludDhBcnJheShhLnNpZ25hdHVyZSkpLHVzZXJIYW5kbGU6YS51c2VySGFuZGxlP19jKG5ldyBVaW50OEFycmF5KGEudXNlckhhbmRsZSkpOnZvaWQgMH0sdHlwZToicHVibGljLWtleSIsY2xpZW50RXh0ZW5zaW9uUmVzdWx0czpuLGF1dGhlbnRpY2F0b3JBdHRhY2htZW50Oih0PXIuYXV0aGVudGljYXRvckF0dGFjaG1lbnQpIT09bnVsbCYmdCE9PXZvaWQgMD90OnZvaWQgMH19ZnVuY3Rpb24gdDgoZSl7cmV0dXJuIGU9PT0ibG9jYWxob3N0Inx8L14oW2EtejAtOV0rKC1bYS16MC05XSspKlwuKStbYS16XXsyLH0kL2kudGVzdChlKX1mdW5jdGlvbiBRRigpe3ZhciBlLHQ7cmV0dXJuISEoTW4oKSYmIlB1YmxpY0tleUNyZWRlbnRpYWwiaW4gd2luZG93JiZ3aW5kb3cuUHVibGljS2V5Q3JlZGVudGlhbCYmImNyZWRlbnRpYWxzImluIG5hdmlnYXRvciYmdHlwZW9mKChlPW5hdmlnYXRvcj09bnVsbD92b2lkIDA6bmF2aWdhdG9yLmNyZWRlbnRpYWxzKT09PW51bGx8fGU9PT12b2lkIDA/dm9pZCAwOmUuY3JlYXRlKT09ImZ1bmN0aW9uIiYmdHlwZW9mKCh0PW5hdmlnYXRvcj09bnVsbD92b2lkIDA6bmF2aWdhdG9yLmNyZWRlbnRpYWxzKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQuZ2V0KT09ImZ1bmN0aW9uIil9YXN5bmMgZnVuY3Rpb24gaGNlKGUpe3RyeXtjb25zdCB0PWF3YWl0IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoZSk7cmV0dXJuIHQ/dCBpbnN0YW5jZW9mIFB1YmxpY0tleUNyZWRlbnRpYWw/e2RhdGE6dCxlcnJvcjpudWxsfTp7ZGF0YTpudWxsLGVycm9yOm5ldyBueSgiQnJvd3NlciByZXR1cm5lZCB1bmV4cGVjdGVkIGNyZWRlbnRpYWwgdHlwZSIsdCl9OntkYXRhOm51bGwsZXJyb3I6bmV3IG55KCJFbXB0eSBjcmVkZW50aWFsIHJlc3BvbnNlIix0KX19Y2F0Y2godCl7cmV0dXJue2RhdGE6bnVsbCxlcnJvcjppY2Uoe2Vycm9yOnQsb3B0aW9uczplfSl9fX1hc3luYyBmdW5jdGlvbiBtY2UoZSl7dHJ5e2NvbnN0IHQ9YXdhaXQgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChlKTtyZXR1cm4gdD90IGluc3RhbmNlb2YgUHVibGljS2V5Q3JlZGVudGlhbD97ZGF0YTp0LGVycm9yOm51bGx9OntkYXRhOm51bGwsZXJyb3I6bmV3IG55KCJCcm93c2VyIHJldHVybmVkIHVuZXhwZWN0ZWQgY3JlZGVudGlhbCB0eXBlIix0KX06e2RhdGE6bnVsbCxlcnJvcjpuZXcgbnkoIkVtcHR5IGNyZWRlbnRpYWwgcmVzcG9uc2UiLHQpfX1jYXRjaCh0KXtyZXR1cm57ZGF0YTpudWxsLGVycm9yOm9jZSh7ZXJyb3I6dCxvcHRpb25zOmV9KX19fWNvbnN0IHBjZT17aGludHM6WyJzZWN1cml0eS1rZXkiXSxhdXRoZW50aWNhdG9yU2VsZWN0aW9uOnthdXRoZW50aWNhdG9yQXR0YWNobWVudDoiY3Jvc3MtcGxhdGZvcm0iLHJlcXVpcmVSZXNpZGVudEtleTohMSx1c2VyVmVyaWZpY2F0aW9uOiJwcmVmZXJyZWQiLHJlc2lkZW50S2V5OiJkaXNjb3VyYWdlZCJ9LGF0dGVzdGF0aW9uOiJub25lIn0sZ2NlPXt1c2VyVmVyaWZpY2F0aW9uOiJwcmVmZXJyZWQiLGhpbnRzOlsic2VjdXJpdHkta2V5Il19O2Z1bmN0aW9uIHN5KC4uLmUpe2NvbnN0IHQ9YT0+YSE9PW51bGwmJnR5cGVvZiBhPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSkscj1hPT5hIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fEFycmF5QnVmZmVyLmlzVmlldyhhKSxuPXt9O2Zvcihjb25zdCBhIG9mIGUpaWYoYSlmb3IoY29uc3QgaSBpbiBhKXtjb25zdCBvPWFbaV07aWYobyE9PXZvaWQgMClpZihBcnJheS5pc0FycmF5KG8pKW5baV09bztlbHNlIGlmKHIobykpbltpXT1vO2Vsc2UgaWYodChvKSl7Y29uc3QgbD1uW2ldO3QobCk/bltpXT1zeShsLG8pOm5baV09c3kobyl9ZWxzZSBuW2ldPW99cmV0dXJuIG59ZnVuY3Rpb24geGNlKGUsdCl7cmV0dXJuIHN5KHBjZSxlLHR8fHt9KX1mdW5jdGlvbiB5Y2UoZSx0KXtyZXR1cm4gc3koZ2NlLGUsdHx8e30pfWNsYXNzIHZjZXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmNsaWVudD10LHRoaXMuZW5yb2xsPXRoaXMuX2Vucm9sbC5iaW5kKHRoaXMpLHRoaXMuY2hhbGxlbmdlPXRoaXMuX2NoYWxsZW5nZS5iaW5kKHRoaXMpLHRoaXMudmVyaWZ5PXRoaXMuX3ZlcmlmeS5iaW5kKHRoaXMpLHRoaXMuYXV0aGVudGljYXRlPXRoaXMuX2F1dGhlbnRpY2F0ZS5iaW5kKHRoaXMpLHRoaXMucmVnaXN0ZXI9dGhpcy5fcmVnaXN0ZXIuYmluZCh0aGlzKX1hc3luYyBfZW5yb2xsKHQpe3JldHVybiB0aGlzLmNsaWVudC5tZmEuZW5yb2xsKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZmFjdG9yVHlwZToid2ViYXV0aG4ifSkpfWFzeW5jIF9jaGFsbGVuZ2Uoe2ZhY3RvcklkOnQsd2ViYXV0aG46cixmcmllbmRseU5hbWU6bixzaWduYWw6YX0saSl7dHJ5e2NvbnN0e2RhdGE6byxlcnJvcjpsfT1hd2FpdCB0aGlzLmNsaWVudC5tZmEuY2hhbGxlbmdlKHtmYWN0b3JJZDp0LHdlYmF1dGhuOnJ9KTtpZighbylyZXR1cm57ZGF0YTpudWxsLGVycm9yOmx9O2NvbnN0IGM9YT8/Y2NlLmNyZWF0ZU5ld0Fib3J0U2lnbmFsKCk7aWYoby53ZWJhdXRobi50eXBlPT09ImNyZWF0ZSIpe2NvbnN0e3VzZXI6ZH09by53ZWJhdXRobi5jcmVkZW50aWFsX29wdGlvbnMucHVibGljS2V5O2QubmFtZXx8KGQubmFtZT1gJHtkLmlkfToke259YCksZC5kaXNwbGF5TmFtZXx8KGQuZGlzcGxheU5hbWU9ZC5uYW1lKX1zd2l0Y2goby53ZWJhdXRobi50eXBlKXtjYXNlImNyZWF0ZSI6e2NvbnN0IGQ9eGNlKG8ud2ViYXV0aG4uY3JlZGVudGlhbF9vcHRpb25zLnB1YmxpY0tleSxpPT1udWxsP3ZvaWQgMDppLmNyZWF0ZSkse2RhdGE6dSxlcnJvcjpBfT1hd2FpdCBoY2Uoe3B1YmxpY0tleTpkLHNpZ25hbDpjfSk7cmV0dXJuIHU/e2RhdGE6e2ZhY3RvcklkOnQsY2hhbGxlbmdlSWQ6by5pZCx3ZWJhdXRobjp7dHlwZTpvLndlYmF1dGhuLnR5cGUsY3JlZGVudGlhbF9yZXNwb25zZTp1fX0sZXJyb3I6bnVsbH06e2RhdGE6bnVsbCxlcnJvcjpBfX1jYXNlInJlcXVlc3QiOntjb25zdCBkPXljZShvLndlYmF1dGhuLmNyZWRlbnRpYWxfb3B0aW9ucy5wdWJsaWNLZXksaT09bnVsbD92b2lkIDA6aS5yZXF1ZXN0KSx7ZGF0YTp1LGVycm9yOkF9PWF3YWl0IG1jZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sby53ZWJhdXRobi5jcmVkZW50aWFsX29wdGlvbnMpLHtwdWJsaWNLZXk6ZCxzaWduYWw6Y30pKTtyZXR1cm4gdT97ZGF0YTp7ZmFjdG9ySWQ6dCxjaGFsbGVuZ2VJZDpvLmlkLHdlYmF1dGhuOnt0eXBlOm8ud2ViYXV0aG4udHlwZSxjcmVkZW50aWFsX3Jlc3BvbnNlOnV9fSxlcnJvcjpudWxsfTp7ZGF0YTpudWxsLGVycm9yOkF9fX19Y2F0Y2gobyl7cmV0dXJuIEhlKG8pP3tkYXRhOm51bGwsZXJyb3I6b306e2RhdGE6bnVsbCxlcnJvcjpuZXcgdmMoIlVuZXhwZWN0ZWQgZXJyb3IgaW4gY2hhbGxlbmdlIixvKX19fWFzeW5jIF92ZXJpZnkoe2NoYWxsZW5nZUlkOnQsZmFjdG9ySWQ6cix3ZWJhdXRobjpufSl7cmV0dXJuIHRoaXMuY2xpZW50Lm1mYS52ZXJpZnkoe2ZhY3RvcklkOnIsY2hhbGxlbmdlSWQ6dCx3ZWJhdXRobjpufSl9YXN5bmMgX2F1dGhlbnRpY2F0ZSh7ZmFjdG9ySWQ6dCx3ZWJhdXRobjp7cnBJZDpyPXR5cGVvZiB3aW5kb3c8InUiP3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTp2b2lkIDAscnBPcmlnaW5zOm49dHlwZW9mIHdpbmRvdzwidSI/W3dpbmRvdy5sb2NhdGlvbi5vcmlnaW5dOnZvaWQgMCxzaWduYWw6YX19LGkpe2lmKCFyKXJldHVybntkYXRhOm51bGwsZXJyb3I6bmV3IE5tKCJycElkIGlzIHJlcXVpcmVkIGZvciBXZWJBdXRobiBhdXRoZW50aWNhdGlvbiIpfTt0cnl7aWYoIVFGKCkpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpuZXcgdmMoIkJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBXZWJBdXRobiIsbnVsbCl9O2NvbnN0e2RhdGE6byxlcnJvcjpsfT1hd2FpdCB0aGlzLmNoYWxsZW5nZSh7ZmFjdG9ySWQ6dCx3ZWJhdXRobjp7cnBJZDpyLHJwT3JpZ2luczpufSxzaWduYWw6YX0se3JlcXVlc3Q6aX0pO2lmKCFvKXJldHVybntkYXRhOm51bGwsZXJyb3I6bH07Y29uc3R7d2ViYXV0aG46Y309bztyZXR1cm4gdGhpcy5fdmVyaWZ5KHtmYWN0b3JJZDp0LGNoYWxsZW5nZUlkOm8uY2hhbGxlbmdlSWQsd2ViYXV0aG46e3R5cGU6Yy50eXBlLHJwSWQ6cixycE9yaWdpbnM6bixjcmVkZW50aWFsX3Jlc3BvbnNlOmMuY3JlZGVudGlhbF9yZXNwb25zZX19KX1jYXRjaChvKXtyZXR1cm4gSGUobyk/e2RhdGE6bnVsbCxlcnJvcjpvfTp7ZGF0YTpudWxsLGVycm9yOm5ldyB2YygiVW5leHBlY3RlZCBlcnJvciBpbiBhdXRoZW50aWNhdGUiLG8pfX19YXN5bmMgX3JlZ2lzdGVyKHtmcmllbmRseU5hbWU6dCxycElkOnI9dHlwZW9mIHdpbmRvdzwidSI/d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lOnZvaWQgMCxycE9yaWdpbnM6bj10eXBlb2Ygd2luZG93PCJ1Ij9bd2luZG93LmxvY2F0aW9uLm9yaWdpbl06dm9pZCAwLHNpZ25hbDphfSxpKXtpZighcilyZXR1cm57ZGF0YTpudWxsLGVycm9yOm5ldyBObSgicnBJZCBpcyByZXF1aXJlZCBmb3IgV2ViQXV0aG4gcmVnaXN0cmF0aW9uIil9O3RyeXtpZighUUYoKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOm5ldyB2YygiQnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IFdlYkF1dGhuIixudWxsKX07Y29uc3R7ZGF0YTpvLGVycm9yOmx9PWF3YWl0IHRoaXMuX2Vucm9sbCh7ZnJpZW5kbHlOYW1lOnR9KTtpZighbylyZXR1cm4gYXdhaXQgdGhpcy5jbGllbnQubWZhLmxpc3RGYWN0b3JzKCkudGhlbih1PT57dmFyIEE7cmV0dXJuKEE9dS5kYXRhKT09PW51bGx8fEE9PT12b2lkIDA/dm9pZCAwOkEuYWxsLmZpbmQoZj0+Zi5mYWN0b3JfdHlwZT09PSJ3ZWJhdXRobiImJmYuZnJpZW5kbHlfbmFtZT09PXQmJmYuc3RhdHVzIT09InVudmVyaWZpZWQiKX0pLnRoZW4odT0+dT90aGlzLmNsaWVudC5tZmEudW5lbnJvbGwoe2ZhY3RvcklkOnU9PW51bGw/dm9pZCAwOnUuaWR9KTp2b2lkIDApLHtkYXRhOm51bGwsZXJyb3I6bH07Y29uc3R7ZGF0YTpjLGVycm9yOmR9PWF3YWl0IHRoaXMuX2NoYWxsZW5nZSh7ZmFjdG9ySWQ6by5pZCxmcmllbmRseU5hbWU6by5mcmllbmRseV9uYW1lLHdlYmF1dGhuOntycElkOnIscnBPcmlnaW5zOm59LHNpZ25hbDphfSx7Y3JlYXRlOml9KTtyZXR1cm4gYz90aGlzLl92ZXJpZnkoe2ZhY3RvcklkOm8uaWQsY2hhbGxlbmdlSWQ6Yy5jaGFsbGVuZ2VJZCx3ZWJhdXRobjp7cnBJZDpyLHJwT3JpZ2luczpuLHR5cGU6Yy53ZWJhdXRobi50eXBlLGNyZWRlbnRpYWxfcmVzcG9uc2U6Yy53ZWJhdXRobi5jcmVkZW50aWFsX3Jlc3BvbnNlfX0pOntkYXRhOm51bGwsZXJyb3I6ZH19Y2F0Y2gobyl7cmV0dXJuIEhlKG8pP3tkYXRhOm51bGwsZXJyb3I6b306e2RhdGE6bnVsbCxlcnJvcjpuZXcgdmMoIlVuZXhwZWN0ZWQgZXJyb3IgaW4gcmVnaXN0ZXIiLG8pfX19fXJjZSgpO2NvbnN0IHdjZT17dXJsOmdsZSxzdG9yYWdlS2V5OnhsZSxhdXRvUmVmcmVzaFRva2VuOiEwLHBlcnNpc3RTZXNzaW9uOiEwLGRldGVjdFNlc3Npb25JblVybDohMCxoZWFkZXJzOnlsZSxmbG93VHlwZToiaW1wbGljaXQiLGRlYnVnOiExLGhhc0N1c3RvbUF1dGhvcml6YXRpb25IZWFkZXI6ITF9O2FzeW5jIGZ1bmN0aW9uIExGKGUsdCxyKXtyZXR1cm4gYXdhaXQgcigpfWNvbnN0IFBkPXt9O2NsYXNzIENte2dldCBqd2tzKCl7dmFyIHQscjtyZXR1cm4ocj0odD1QZFt0aGlzLnN0b3JhZ2VLZXldKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQuandrcykhPT1udWxsJiZyIT09dm9pZCAwP3I6e2tleXM6W119fXNldCBqd2tzKHQpe1BkW3RoaXMuc3RvcmFnZUtleV09T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LFBkW3RoaXMuc3RvcmFnZUtleV0pLHtqd2tzOnR9KX1nZXQgandrc19jYWNoZWRfYXQoKXt2YXIgdCxyO3JldHVybihyPSh0PVBkW3RoaXMuc3RvcmFnZUtleV0pPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5jYWNoZWRBdCkhPT1udWxsJiZyIT09dm9pZCAwP3I6TnVtYmVyLk1JTl9TQUZFX0lOVEVHRVJ9c2V0IGp3a3NfY2FjaGVkX2F0KHQpe1BkW3RoaXMuc3RvcmFnZUtleV09T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LFBkW3RoaXMuc3RvcmFnZUtleV0pLHtjYWNoZWRBdDp0fSl9Y29uc3RydWN0b3IodCl7dmFyIHIsbjt0aGlzLnVzZXJTdG9yYWdlPW51bGwsdGhpcy5tZW1vcnlTdG9yYWdlPW51bGwsdGhpcy5zdGF0ZUNoYW5nZUVtaXR0ZXJzPW5ldyBNYXAsdGhpcy5hdXRvUmVmcmVzaFRpY2tlcj1udWxsLHRoaXMudmlzaWJpbGl0eUNoYW5nZWRDYWxsYmFjaz1udWxsLHRoaXMucmVmcmVzaGluZ0RlZmVycmVkPW51bGwsdGhpcy5pbml0aWFsaXplUHJvbWlzZT1udWxsLHRoaXMuZGV0ZWN0U2Vzc2lvbkluVXJsPSEwLHRoaXMuaGFzQ3VzdG9tQXV0aG9yaXphdGlvbkhlYWRlcj0hMSx0aGlzLnN1cHByZXNzR2V0U2Vzc2lvbldhcm5pbmc9ITEsdGhpcy5sb2NrQWNxdWlyZWQ9ITEsdGhpcy5wZW5kaW5nSW5Mb2NrPVtdLHRoaXMuYnJvYWRjYXN0Q2hhbm5lbD1udWxsLHRoaXMubG9nZ2VyPWNvbnNvbGUubG9nLHRoaXMuaW5zdGFuY2VJRD1DbS5uZXh0SW5zdGFuY2VJRCxDbS5uZXh0SW5zdGFuY2VJRCs9MSx0aGlzLmluc3RhbmNlSUQ+MCYmTW4oKSYmY29uc29sZS53YXJuKCJNdWx0aXBsZSBHb1RydWVDbGllbnQgaW5zdGFuY2VzIGRldGVjdGVkIGluIHRoZSBzYW1lIGJyb3dzZXIgY29udGV4dC4gSXQgaXMgbm90IGFuIGVycm9yLCBidXQgdGhpcyBzaG91bGQgYmUgYXZvaWRlZCBhcyBpdCBtYXkgcHJvZHVjZSB1bmRlZmluZWQgYmVoYXZpb3Igd2hlbiB1c2VkIGNvbmN1cnJlbnRseSB1bmRlciB0aGUgc2FtZSBzdG9yYWdlIGtleS4iKTtjb25zdCBhPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx3Y2UpLHQpO2lmKHRoaXMubG9nRGVidWdNZXNzYWdlcz0hIWEuZGVidWcsdHlwZW9mIGEuZGVidWc9PSJmdW5jdGlvbiImJih0aGlzLmxvZ2dlcj1hLmRlYnVnKSx0aGlzLnBlcnNpc3RTZXNzaW9uPWEucGVyc2lzdFNlc3Npb24sdGhpcy5zdG9yYWdlS2V5PWEuc3RvcmFnZUtleSx0aGlzLmF1dG9SZWZyZXNoVG9rZW49YS5hdXRvUmVmcmVzaFRva2VuLHRoaXMuYWRtaW49bmV3IFpsZSh7dXJsOmEudXJsLGhlYWRlcnM6YS5oZWFkZXJzLGZldGNoOmEuZmV0Y2h9KSx0aGlzLnVybD1hLnVybCx0aGlzLmhlYWRlcnM9YS5oZWFkZXJzLHRoaXMuZmV0Y2g9SkgoYS5mZXRjaCksdGhpcy5sb2NrPWEubG9ja3x8TEYsdGhpcy5kZXRlY3RTZXNzaW9uSW5Vcmw9YS5kZXRlY3RTZXNzaW9uSW5VcmwsdGhpcy5mbG93VHlwZT1hLmZsb3dUeXBlLHRoaXMuaGFzQ3VzdG9tQXV0aG9yaXphdGlvbkhlYWRlcj1hLmhhc0N1c3RvbUF1dGhvcml6YXRpb25IZWFkZXIsYS5sb2NrP3RoaXMubG9jaz1hLmxvY2s6TW4oKSYmKCEoKHI9Z2xvYmFsVGhpcz09bnVsbD92b2lkIDA6Z2xvYmFsVGhpcy5uYXZpZ2F0b3IpPT09bnVsbHx8cj09PXZvaWQgMCkmJnIubG9ja3MpP3RoaXMubG9jaz10Y2U6dGhpcy5sb2NrPUxGLHRoaXMuandrc3x8KHRoaXMuandrcz17a2V5czpbXX0sdGhpcy5qd2tzX2NhY2hlZF9hdD1OdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksdGhpcy5tZmE9e3ZlcmlmeTp0aGlzLl92ZXJpZnkuYmluZCh0aGlzKSxlbnJvbGw6dGhpcy5fZW5yb2xsLmJpbmQodGhpcyksdW5lbnJvbGw6dGhpcy5fdW5lbnJvbGwuYmluZCh0aGlzKSxjaGFsbGVuZ2U6dGhpcy5fY2hhbGxlbmdlLmJpbmQodGhpcyksbGlzdEZhY3RvcnM6dGhpcy5fbGlzdEZhY3RvcnMuYmluZCh0aGlzKSxjaGFsbGVuZ2VBbmRWZXJpZnk6dGhpcy5fY2hhbGxlbmdlQW5kVmVyaWZ5LmJpbmQodGhpcyksZ2V0QXV0aGVudGljYXRvckFzc3VyYW5jZUxldmVsOnRoaXMuX2dldEF1dGhlbnRpY2F0b3JBc3N1cmFuY2VMZXZlbC5iaW5kKHRoaXMpLHdlYmF1dGhuOm5ldyB2Y2UodGhpcyl9LHRoaXMub2F1dGg9e2dldEF1dGhvcml6YXRpb25EZXRhaWxzOnRoaXMuX2dldEF1dGhvcml6YXRpb25EZXRhaWxzLmJpbmQodGhpcyksYXBwcm92ZUF1dGhvcml6YXRpb246dGhpcy5fYXBwcm92ZUF1dGhvcml6YXRpb24uYmluZCh0aGlzKSxkZW55QXV0aG9yaXphdGlvbjp0aGlzLl9kZW55QXV0aG9yaXphdGlvbi5iaW5kKHRoaXMpfSx0aGlzLnBlcnNpc3RTZXNzaW9uPyhhLnN0b3JhZ2U/dGhpcy5zdG9yYWdlPWEuc3RvcmFnZTpYSCgpP3RoaXMuc3RvcmFnZT1nbG9iYWxUaGlzLmxvY2FsU3RvcmFnZToodGhpcy5tZW1vcnlTdG9yYWdlPXt9LHRoaXMuc3RvcmFnZT1SRih0aGlzLm1lbW9yeVN0b3JhZ2UpKSxhLnVzZXJTdG9yYWdlJiYodGhpcy51c2VyU3RvcmFnZT1hLnVzZXJTdG9yYWdlKSk6KHRoaXMubWVtb3J5U3RvcmFnZT17fSx0aGlzLnN0b3JhZ2U9UkYodGhpcy5tZW1vcnlTdG9yYWdlKSksTW4oKSYmZ2xvYmFsVGhpcy5Ccm9hZGNhc3RDaGFubmVsJiZ0aGlzLnBlcnNpc3RTZXNzaW9uJiZ0aGlzLnN0b3JhZ2VLZXkpe3RyeXt0aGlzLmJyb2FkY2FzdENoYW5uZWw9bmV3IGdsb2JhbFRoaXMuQnJvYWRjYXN0Q2hhbm5lbCh0aGlzLnN0b3JhZ2VLZXkpfWNhdGNoKGkpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgYSBuZXcgQnJvYWRjYXN0Q2hhbm5lbCwgbXVsdGktdGFiIHN0YXRlIGNoYW5nZXMgd2lsbCBub3QgYmUgYXZhaWxhYmxlIixpKX0obj10aGlzLmJyb2FkY2FzdENoYW5uZWwpPT09bnVsbHx8bj09PXZvaWQgMHx8bi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixhc3luYyBpPT57dGhpcy5fZGVidWcoInJlY2VpdmVkIGJyb2FkY2FzdCBub3RpZmljYXRpb24gZnJvbSBvdGhlciB0YWIgb3IgY2xpZW50IixpKSxhd2FpdCB0aGlzLl9ub3RpZnlBbGxTdWJzY3JpYmVycyhpLmRhdGEuZXZlbnQsaS5kYXRhLnNlc3Npb24sITEpfSl9dGhpcy5pbml0aWFsaXplKCl9X2RlYnVnKC4uLnQpe3JldHVybiB0aGlzLmxvZ0RlYnVnTWVzc2FnZXMmJnRoaXMubG9nZ2VyKGBHb1RydWVDbGllbnRAJHt0aGlzLmluc3RhbmNlSUR9ICgke0dIfSkgJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9YCwuLi50KSx0aGlzfWFzeW5jIGluaXRpYWxpemUoKXtyZXR1cm4gdGhpcy5pbml0aWFsaXplUHJvbWlzZT9hd2FpdCB0aGlzLmluaXRpYWxpemVQcm9taXNlOih0aGlzLmluaXRpYWxpemVQcm9taXNlPShhc3luYygpPT5hd2FpdCB0aGlzLl9hY3F1aXJlTG9jaygtMSxhc3luYygpPT5hd2FpdCB0aGlzLl9pbml0aWFsaXplKCkpKSgpLGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVByb21pc2UpfWFzeW5jIF9pbml0aWFsaXplKCl7dmFyIHQ7dHJ5e2NvbnN0IHI9RmxlKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtsZXQgbj0ibm9uZSI7aWYodGhpcy5faXNJbXBsaWNpdEdyYW50Q2FsbGJhY2socik/bj0iaW1wbGljaXQiOmF3YWl0IHRoaXMuX2lzUEtDRUNhbGxiYWNrKHIpJiYobj0icGtjZSIpLE1uKCkmJnRoaXMuZGV0ZWN0U2Vzc2lvbkluVXJsJiZuIT09Im5vbmUiKXtjb25zdHtkYXRhOmEsZXJyb3I6aX09YXdhaXQgdGhpcy5fZ2V0U2Vzc2lvbkZyb21VUkwocixuKTtpZihpKXtpZih0aGlzLl9kZWJ1ZygiI19pbml0aWFsaXplKCkiLCJlcnJvciBkZXRlY3Rpbmcgc2Vzc2lvbiBmcm9tIFVSTCIsaSksQ2xlKGkpKXtjb25zdCBjPSh0PWkuZGV0YWlscyk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LmNvZGU7aWYoYz09PSJpZGVudGl0eV9hbHJlYWR5X2V4aXN0cyJ8fGM9PT0iaWRlbnRpdHlfbm90X2ZvdW5kInx8Yz09PSJzaW5nbGVfaWRlbnRpdHlfbm90X2RlbGV0YWJsZSIpcmV0dXJue2Vycm9yOml9fXJldHVybiBhd2FpdCB0aGlzLl9yZW1vdmVTZXNzaW9uKCkse2Vycm9yOml9fWNvbnN0e3Nlc3Npb246byxyZWRpcmVjdFR5cGU6bH09YTtyZXR1cm4gdGhpcy5fZGVidWcoIiNfaW5pdGlhbGl6ZSgpIiwiZGV0ZWN0ZWQgc2Vzc2lvbiBpbiBVUkwiLG8sInJlZGlyZWN0IHR5cGUiLGwpLGF3YWl0IHRoaXMuX3NhdmVTZXNzaW9uKG8pLHNldFRpbWVvdXQoYXN5bmMoKT0+e2w9PT0icmVjb3ZlcnkiP2F3YWl0IHRoaXMuX25vdGlmeUFsbFN1YnNjcmliZXJzKCJQQVNTV09SRF9SRUNPVkVSWSIsbyk6YXdhaXQgdGhpcy5fbm90aWZ5QWxsU3Vic2NyaWJlcnMoIlNJR05FRF9JTiIsbyl9LDApLHtlcnJvcjpudWxsfX1yZXR1cm4gYXdhaXQgdGhpcy5fcmVjb3ZlckFuZFJlZnJlc2goKSx7ZXJyb3I6bnVsbH19Y2F0Y2gocil7cmV0dXJuIEhlKHIpP3tlcnJvcjpyfTp7ZXJyb3I6bmV3IHZjKCJVbmV4cGVjdGVkIGVycm9yIGR1cmluZyBpbml0aWFsaXphdGlvbiIscil9fWZpbmFsbHl7YXdhaXQgdGhpcy5faGFuZGxlVmlzaWJpbGl0eUNoYW5nZSgpLHRoaXMuX2RlYnVnKCIjX2luaXRpYWxpemUoKSIsImVuZCIpfX1hc3luYyBzaWduSW5Bbm9ueW1vdXNseSh0KXt2YXIgcixuLGE7dHJ5e2NvbnN0IGk9YXdhaXQgcWUodGhpcy5mZXRjaCwiUE9TVCIsYCR7dGhpcy51cmx9L3NpZ251cGAse2hlYWRlcnM6dGhpcy5oZWFkZXJzLGJvZHk6e2RhdGE6KG49KHI9dD09bnVsbD92b2lkIDA6dC5vcHRpb25zKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIuZGF0YSkhPT1udWxsJiZuIT09dm9pZCAwP246e30sZ290cnVlX21ldGFfc2VjdXJpdHk6e2NhcHRjaGFfdG9rZW46KGE9dD09bnVsbD92b2lkIDA6dC5vcHRpb25zKT09PW51bGx8fGE9PT12b2lkIDA/dm9pZCAwOmEuY2FwdGNoYVRva2VufX0seGZvcm06dmF9KSx7ZGF0YTpvLGVycm9yOmx9PWk7aWYobHx8IW8pcmV0dXJue2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGx9LGVycm9yOmx9O2NvbnN0IGM9by5zZXNzaW9uLGQ9by51c2VyO3JldHVybiBvLnNlc3Npb24mJihhd2FpdCB0aGlzLl9zYXZlU2Vzc2lvbihvLnNlc3Npb24pLGF3YWl0IHRoaXMuX25vdGlmeUFsbFN1YnNjcmliZXJzKCJTSUdORURfSU4iLGMpKSx7ZGF0YTp7dXNlcjpkLHNlc3Npb246Y30sZXJyb3I6bnVsbH19Y2F0Y2goaSl7aWYoSGUoaSkpcmV0dXJue2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGx9LGVycm9yOml9O3Rocm93IGl9fWFzeW5jIHNpZ25VcCh0KXt2YXIgcixuLGE7dHJ5e2xldCBpO2lmKCJlbWFpbCJpbiB0KXtjb25zdHtlbWFpbDp1LHBhc3N3b3JkOkEsb3B0aW9uczpmfT10O2xldCBoPW51bGwscD1udWxsO3RoaXMuZmxvd1R5cGU9PT0icGtjZSImJihbaCxwXT1hd2FpdCBFZCh0aGlzLnN0b3JhZ2UsdGhpcy5zdG9yYWdlS2V5KSksaT1hd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vc2lnbnVwYCx7aGVhZGVyczp0aGlzLmhlYWRlcnMscmVkaXJlY3RUbzpmPT1udWxsP3ZvaWQgMDpmLmVtYWlsUmVkaXJlY3RUbyxib2R5OntlbWFpbDp1LHBhc3N3b3JkOkEsZGF0YToocj1mPT1udWxsP3ZvaWQgMDpmLmRhdGEpIT09bnVsbCYmciE9PXZvaWQgMD9yOnt9LGdvdHJ1ZV9tZXRhX3NlY3VyaXR5OntjYXB0Y2hhX3Rva2VuOmY9PW51bGw/dm9pZCAwOmYuY2FwdGNoYVRva2VufSxjb2RlX2NoYWxsZW5nZTpoLGNvZGVfY2hhbGxlbmdlX21ldGhvZDpwfSx4Zm9ybTp2YX0pfWVsc2UgaWYoInBob25lImluIHQpe2NvbnN0e3Bob25lOnUscGFzc3dvcmQ6QSxvcHRpb25zOmZ9PXQ7aT1hd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vc2lnbnVwYCx7aGVhZGVyczp0aGlzLmhlYWRlcnMsYm9keTp7cGhvbmU6dSxwYXNzd29yZDpBLGRhdGE6KG49Zj09bnVsbD92b2lkIDA6Zi5kYXRhKSE9PW51bGwmJm4hPT12b2lkIDA/bjp7fSxjaGFubmVsOihhPWY9PW51bGw/dm9pZCAwOmYuY2hhbm5lbCkhPT1udWxsJiZhIT09dm9pZCAwP2E6InNtcyIsZ290cnVlX21ldGFfc2VjdXJpdHk6e2NhcHRjaGFfdG9rZW46Zj09bnVsbD92b2lkIDA6Zi5jYXB0Y2hhVG9rZW59fSx4Zm9ybTp2YX0pfWVsc2UgdGhyb3cgbmV3IFlnKCJZb3UgbXVzdCBwcm92aWRlIGVpdGhlciBhbiBlbWFpbCBvciBwaG9uZSBudW1iZXIgYW5kIGEgcGFzc3dvcmQiKTtjb25zdHtkYXRhOm8sZXJyb3I6bH09aTtpZihsfHwhbylyZXR1cm57ZGF0YTp7dXNlcjpudWxsLHNlc3Npb246bnVsbH0sZXJyb3I6bH07Y29uc3QgYz1vLnNlc3Npb24sZD1vLnVzZXI7cmV0dXJuIG8uc2Vzc2lvbiYmKGF3YWl0IHRoaXMuX3NhdmVTZXNzaW9uKG8uc2Vzc2lvbiksYXdhaXQgdGhpcy5fbm90aWZ5QWxsU3Vic2NyaWJlcnMoIlNJR05FRF9JTiIsYykpLHtkYXRhOnt1c2VyOmQsc2Vzc2lvbjpjfSxlcnJvcjpudWxsfX1jYXRjaChpKXtpZihIZShpKSlyZXR1cm57ZGF0YTp7dXNlcjpudWxsLHNlc3Npb246bnVsbH0sZXJyb3I6aX07dGhyb3cgaX19YXN5bmMgc2lnbkluV2l0aFBhc3N3b3JkKHQpe3RyeXtsZXQgcjtpZigiZW1haWwiaW4gdCl7Y29uc3R7ZW1haWw6aSxwYXNzd29yZDpvLG9wdGlvbnM6bH09dDtyPWF3YWl0IHFlKHRoaXMuZmV0Y2gsIlBPU1QiLGAke3RoaXMudXJsfS90b2tlbj9ncmFudF90eXBlPXBhc3N3b3JkYCx7aGVhZGVyczp0aGlzLmhlYWRlcnMsYm9keTp7ZW1haWw6aSxwYXNzd29yZDpvLGdvdHJ1ZV9tZXRhX3NlY3VyaXR5OntjYXB0Y2hhX3Rva2VuOmw9PW51bGw/dm9pZCAwOmwuY2FwdGNoYVRva2VufX0seGZvcm06REZ9KX1lbHNlIGlmKCJwaG9uZSJpbiB0KXtjb25zdHtwaG9uZTppLHBhc3N3b3JkOm8sb3B0aW9uczpsfT10O3I9YXdhaXQgcWUodGhpcy5mZXRjaCwiUE9TVCIsYCR7dGhpcy51cmx9L3Rva2VuP2dyYW50X3R5cGU9cGFzc3dvcmRgLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxib2R5OntwaG9uZTppLHBhc3N3b3JkOm8sZ290cnVlX21ldGFfc2VjdXJpdHk6e2NhcHRjaGFfdG9rZW46bD09bnVsbD92b2lkIDA6bC5jYXB0Y2hhVG9rZW59fSx4Zm9ybTpERn0pfWVsc2UgdGhyb3cgbmV3IFlnKCJZb3UgbXVzdCBwcm92aWRlIGVpdGhlciBhbiBlbWFpbCBvciBwaG9uZSBudW1iZXIgYW5kIGEgcGFzc3dvcmQiKTtjb25zdHtkYXRhOm4sZXJyb3I6YX09cjtyZXR1cm4gYT97ZGF0YTp7dXNlcjpudWxsLHNlc3Npb246bnVsbH0sZXJyb3I6YX06IW58fCFuLnNlc3Npb258fCFuLnVzZXI/e2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGx9LGVycm9yOm5ldyBTZH06KG4uc2Vzc2lvbiYmKGF3YWl0IHRoaXMuX3NhdmVTZXNzaW9uKG4uc2Vzc2lvbiksYXdhaXQgdGhpcy5fbm90aWZ5QWxsU3Vic2NyaWJlcnMoIlNJR05FRF9JTiIsbi5zZXNzaW9uKSkse2RhdGE6T2JqZWN0LmFzc2lnbih7dXNlcjpuLnVzZXIsc2Vzc2lvbjpuLnNlc3Npb259LG4ud2Vha19wYXNzd29yZD97d2Vha1Bhc3N3b3JkOm4ud2Vha19wYXNzd29yZH06bnVsbCksZXJyb3I6YX0pfWNhdGNoKHIpe2lmKEhlKHIpKXJldHVybntkYXRhOnt1c2VyOm51bGwsc2Vzc2lvbjpudWxsfSxlcnJvcjpyfTt0aHJvdyByfX1hc3luYyBzaWduSW5XaXRoT0F1dGgodCl7dmFyIHIsbixhLGk7cmV0dXJuIGF3YWl0IHRoaXMuX2hhbmRsZVByb3ZpZGVyU2lnbkluKHQucHJvdmlkZXIse3JlZGlyZWN0VG86KHI9dC5vcHRpb25zKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIucmVkaXJlY3RUbyxzY29wZXM6KG49dC5vcHRpb25zKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4uc2NvcGVzLHF1ZXJ5UGFyYW1zOihhPXQub3B0aW9ucyk9PT1udWxsfHxhPT09dm9pZCAwP3ZvaWQgMDphLnF1ZXJ5UGFyYW1zLHNraXBCcm93c2VyUmVkaXJlY3Q6KGk9dC5vcHRpb25zKT09PW51bGx8fGk9PT12b2lkIDA/dm9pZCAwOmkuc2tpcEJyb3dzZXJSZWRpcmVjdH0pfWFzeW5jIGV4Y2hhbmdlQ29kZUZvclNlc3Npb24odCl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVByb21pc2UsdGhpcy5fYWNxdWlyZUxvY2soLTEsYXN5bmMoKT0+dGhpcy5fZXhjaGFuZ2VDb2RlRm9yU2Vzc2lvbih0KSl9YXN5bmMgc2lnbkluV2l0aFdlYjModCl7Y29uc3R7Y2hhaW46cn09dDtzd2l0Y2gocil7Y2FzZSJldGhlcmV1bSI6cmV0dXJuIGF3YWl0IHRoaXMuc2lnbkluV2l0aEV0aGVyZXVtKHQpO2Nhc2Uic29sYW5hIjpyZXR1cm4gYXdhaXQgdGhpcy5zaWduSW5XaXRoU29sYW5hKHQpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBAc3VwYWJhc2UvYXV0aC1qczogVW5zdXBwb3J0ZWQgY2hhaW4gIiR7cn0iYCl9fWFzeW5jIHNpZ25JbldpdGhFdGhlcmV1bSh0KXt2YXIgcixuLGEsaSxvLGwsYyxkLHUsQSxmO2xldCBoLHA7aWYoIm1lc3NhZ2UiaW4gdCloPXQubWVzc2FnZSxwPXQuc2lnbmF0dXJlO2Vsc2V7Y29uc3R7Y2hhaW46bSx3YWxsZXQ6eCxzdGF0ZW1lbnQ6dyxvcHRpb25zOnl9PXQ7bGV0IHY7aWYoTW4oKSlpZih0eXBlb2YgeD09Im9iamVjdCIpdj14O2Vsc2V7Y29uc3QgQj13aW5kb3c7aWYoImV0aGVyZXVtImluIEImJnR5cGVvZiBCLmV0aGVyZXVtPT0ib2JqZWN0IiYmInJlcXVlc3QiaW4gQi5ldGhlcmV1bSYmdHlwZW9mIEIuZXRoZXJldW0ucmVxdWVzdD09ImZ1bmN0aW9uIil2PUIuZXRoZXJldW07ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkBzdXBhYmFzZS9hdXRoLWpzOiBObyBjb21wYXRpYmxlIEV0aGVyZXVtIHdhbGxldCBpbnRlcmZhY2Ugb24gdGhlIHdpbmRvdyBvYmplY3QgKHdpbmRvdy5ldGhlcmV1bSkgZGV0ZWN0ZWQuIE1ha2Ugc3VyZSB0aGUgdXNlciBhbHJlYWR5IGhhcyBhIHdhbGxldCBpbnN0YWxsZWQgYW5kIGNvbm5lY3RlZCBmb3IgdGhpcyBhcHAuIFByZWZlciBwYXNzaW5nIHRoZSB3YWxsZXQgaW50ZXJmYWNlIG9iamVjdCBkaXJlY3RseSB0byBzaWduSW5XaXRoV2ViMyh7IGNoYWluOiAnZXRoZXJldW0nLCB3YWxsZXQ6IHJlc29sdmVkVXNlcldhbGxldCB9KSBpbnN0ZWFkLiIpfWVsc2V7aWYodHlwZW9mIHghPSJvYmplY3QifHwhKHkhPW51bGwmJnkudXJsKSl0aHJvdyBuZXcgRXJyb3IoIkBzdXBhYmFzZS9hdXRoLWpzOiBCb3RoIHdhbGxldCBhbmQgdXJsIG11c3QgYmUgc3BlY2lmaWVkIGluIG5vbi1icm93c2VyIGVudmlyb25tZW50cy4iKTt2PXh9Y29uc3QgYj1uZXcgVVJMKChyPXk9PW51bGw/dm9pZCAwOnkudXJsKSE9PW51bGwmJnIhPT12b2lkIDA/cjp3aW5kb3cubG9jYXRpb24uaHJlZiksaj1hd2FpdCB2LnJlcXVlc3Qoe21ldGhvZDoiZXRoX3JlcXVlc3RBY2NvdW50cyJ9KS50aGVuKEI9PkIpLmNhdGNoKCgpPT57dGhyb3cgbmV3IEVycm9yKCJAc3VwYWJhc2UvYXV0aC1qczogV2FsbGV0IG1ldGhvZCBldGhfcmVxdWVzdEFjY291bnRzIGlzIG1pc3Npbmcgb3IgaW52YWxpZCIpfSk7aWYoIWp8fGoubGVuZ3RoPT09MCl0aHJvdyBuZXcgRXJyb3IoIkBzdXBhYmFzZS9hdXRoLWpzOiBObyBhY2NvdW50cyBhdmFpbGFibGUuIFBsZWFzZSBlbnN1cmUgdGhlIHdhbGxldCBpcyBjb25uZWN0ZWQuIik7Y29uc3QgTj1lOChqWzBdKTtsZXQgQz0obj15PT1udWxsP3ZvaWQgMDp5LnNpZ25JbldpdGhFdGhlcmV1bSk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLmNoYWluSWQ7aWYoIUMpe2NvbnN0IEI9YXdhaXQgdi5yZXF1ZXN0KHttZXRob2Q6ImV0aF9jaGFpbklkIn0pO0M9bmNlKEIpfWNvbnN0IF89e2RvbWFpbjpiLmhvc3QsYWRkcmVzczpOLHN0YXRlbWVudDp3LHVyaTpiLmhyZWYsdmVyc2lvbjoiMSIsY2hhaW5JZDpDLG5vbmNlOihhPXk9PW51bGw/dm9pZCAwOnkuc2lnbkluV2l0aEV0aGVyZXVtKT09PW51bGx8fGE9PT12b2lkIDA/dm9pZCAwOmEubm9uY2UsaXNzdWVkQXQ6KG89KGk9eT09bnVsbD92b2lkIDA6eS5zaWduSW5XaXRoRXRoZXJldW0pPT09bnVsbHx8aT09PXZvaWQgMD92b2lkIDA6aS5pc3N1ZWRBdCkhPT1udWxsJiZvIT09dm9pZCAwP286bmV3IERhdGUsZXhwaXJhdGlvblRpbWU6KGw9eT09bnVsbD92b2lkIDA6eS5zaWduSW5XaXRoRXRoZXJldW0pPT09bnVsbHx8bD09PXZvaWQgMD92b2lkIDA6bC5leHBpcmF0aW9uVGltZSxub3RCZWZvcmU6KGM9eT09bnVsbD92b2lkIDA6eS5zaWduSW5XaXRoRXRoZXJldW0pPT09bnVsbHx8Yz09PXZvaWQgMD92b2lkIDA6Yy5ub3RCZWZvcmUscmVxdWVzdElkOihkPXk9PW51bGw/dm9pZCAwOnkuc2lnbkluV2l0aEV0aGVyZXVtKT09PW51bGx8fGQ9PT12b2lkIDA/dm9pZCAwOmQucmVxdWVzdElkLHJlc291cmNlczoodT15PT1udWxsP3ZvaWQgMDp5LnNpZ25JbldpdGhFdGhlcmV1bSk9PT1udWxsfHx1PT09dm9pZCAwP3ZvaWQgMDp1LnJlc291cmNlc307aD1hY2UoXykscD1hd2FpdCB2LnJlcXVlc3Qoe21ldGhvZDoicGVyc29uYWxfc2lnbiIscGFyYW1zOltzY2UoaCksTl19KX10cnl7Y29uc3R7ZGF0YTptLGVycm9yOnh9PWF3YWl0IHFlKHRoaXMuZmV0Y2gsIlBPU1QiLGAke3RoaXMudXJsfS90b2tlbj9ncmFudF90eXBlPXdlYjNgLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxib2R5Ok9iamVjdC5hc3NpZ24oe2NoYWluOiJldGhlcmV1bSIsbWVzc2FnZTpoLHNpZ25hdHVyZTpwfSwhKChBPXQub3B0aW9ucyk9PT1udWxsfHxBPT09dm9pZCAwKSYmQS5jYXB0Y2hhVG9rZW4/e2dvdHJ1ZV9tZXRhX3NlY3VyaXR5OntjYXB0Y2hhX3Rva2VuOihmPXQub3B0aW9ucyk9PT1udWxsfHxmPT09dm9pZCAwP3ZvaWQgMDpmLmNhcHRjaGFUb2tlbn19Om51bGwpLHhmb3JtOnZhfSk7aWYoeCl0aHJvdyB4O3JldHVybiFtfHwhbS5zZXNzaW9ufHwhbS51c2VyP3tkYXRhOnt1c2VyOm51bGwsc2Vzc2lvbjpudWxsfSxlcnJvcjpuZXcgU2R9OihtLnNlc3Npb24mJihhd2FpdCB0aGlzLl9zYXZlU2Vzc2lvbihtLnNlc3Npb24pLGF3YWl0IHRoaXMuX25vdGlmeUFsbFN1YnNjcmliZXJzKCJTSUdORURfSU4iLG0uc2Vzc2lvbikpLHtkYXRhOk9iamVjdC5hc3NpZ24oe30sbSksZXJyb3I6eH0pfWNhdGNoKG0pe2lmKEhlKG0pKXJldHVybntkYXRhOnt1c2VyOm51bGwsc2Vzc2lvbjpudWxsfSxlcnJvcjptfTt0aHJvdyBtfX1hc3luYyBzaWduSW5XaXRoU29sYW5hKHQpe3ZhciByLG4sYSxpLG8sbCxjLGQsdSxBLGYsaDtsZXQgcCxtO2lmKCJtZXNzYWdlImluIHQpcD10Lm1lc3NhZ2UsbT10LnNpZ25hdHVyZTtlbHNle2NvbnN0e2NoYWluOngsd2FsbGV0Oncsc3RhdGVtZW50Onksb3B0aW9uczp2fT10O2xldCBiO2lmKE1uKCkpaWYodHlwZW9mIHc9PSJvYmplY3QiKWI9dztlbHNle2NvbnN0IE49d2luZG93O2lmKCJzb2xhbmEiaW4gTiYmdHlwZW9mIE4uc29sYW5hPT0ib2JqZWN0IiYmKCJzaWduSW4iaW4gTi5zb2xhbmEmJnR5cGVvZiBOLnNvbGFuYS5zaWduSW49PSJmdW5jdGlvbiJ8fCJzaWduTWVzc2FnZSJpbiBOLnNvbGFuYSYmdHlwZW9mIE4uc29sYW5hLnNpZ25NZXNzYWdlPT0iZnVuY3Rpb24iKSliPU4uc29sYW5hO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJAc3VwYWJhc2UvYXV0aC1qczogTm8gY29tcGF0aWJsZSBTb2xhbmEgd2FsbGV0IGludGVyZmFjZSBvbiB0aGUgd2luZG93IG9iamVjdCAod2luZG93LnNvbGFuYSkgZGV0ZWN0ZWQuIE1ha2Ugc3VyZSB0aGUgdXNlciBhbHJlYWR5IGhhcyBhIHdhbGxldCBpbnN0YWxsZWQgYW5kIGNvbm5lY3RlZCBmb3IgdGhpcyBhcHAuIFByZWZlciBwYXNzaW5nIHRoZSB3YWxsZXQgaW50ZXJmYWNlIG9iamVjdCBkaXJlY3RseSB0byBzaWduSW5XaXRoV2ViMyh7IGNoYWluOiAnc29sYW5hJywgd2FsbGV0OiByZXNvbHZlZFVzZXJXYWxsZXQgfSkgaW5zdGVhZC4iKX1lbHNle2lmKHR5cGVvZiB3IT0ib2JqZWN0Inx8ISh2IT1udWxsJiZ2LnVybCkpdGhyb3cgbmV3IEVycm9yKCJAc3VwYWJhc2UvYXV0aC1qczogQm90aCB3YWxsZXQgYW5kIHVybCBtdXN0IGJlIHNwZWNpZmllZCBpbiBub24tYnJvd3NlciBlbnZpcm9ubWVudHMuIik7Yj13fWNvbnN0IGo9bmV3IFVSTCgocj12PT1udWxsP3ZvaWQgMDp2LnVybCkhPT1udWxsJiZyIT09dm9pZCAwP3I6d2luZG93LmxvY2F0aW9uLmhyZWYpO2lmKCJzaWduSW4iaW4gYiYmYi5zaWduSW4pe2NvbnN0IE49YXdhaXQgYi5zaWduSW4oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe2lzc3VlZEF0Om5ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0sdj09bnVsbD92b2lkIDA6di5zaWduSW5XaXRoU29sYW5hKSx7dmVyc2lvbjoiMSIsZG9tYWluOmouaG9zdCx1cmk6ai5ocmVmfSkseT97c3RhdGVtZW50Onl9Om51bGwpKTtsZXQgQztpZihBcnJheS5pc0FycmF5KE4pJiZOWzBdJiZ0eXBlb2YgTlswXT09Im9iamVjdCIpQz1OWzBdO2Vsc2UgaWYoTiYmdHlwZW9mIE49PSJvYmplY3QiJiYic2lnbmVkTWVzc2FnZSJpbiBOJiYic2lnbmF0dXJlImluIE4pQz1OO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJAc3VwYWJhc2UvYXV0aC1qczogV2FsbGV0IG1ldGhvZCBzaWduSW4oKSByZXR1cm5lZCB1bnJlY29nbml6ZWQgdmFsdWUiKTtpZigic2lnbmVkTWVzc2FnZSJpbiBDJiYic2lnbmF0dXJlImluIEMmJih0eXBlb2YgQy5zaWduZWRNZXNzYWdlPT0ic3RyaW5nInx8Qy5zaWduZWRNZXNzYWdlIGluc3RhbmNlb2YgVWludDhBcnJheSkmJkMuc2lnbmF0dXJlIGluc3RhbmNlb2YgVWludDhBcnJheSlwPXR5cGVvZiBDLnNpZ25lZE1lc3NhZ2U9PSJzdHJpbmciP0Muc2lnbmVkTWVzc2FnZTpuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoQy5zaWduZWRNZXNzYWdlKSxtPUMuc2lnbmF0dXJlO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJAc3VwYWJhc2UvYXV0aC1qczogV2FsbGV0IG1ldGhvZCBzaWduSW4oKSBBUEkgcmV0dXJuZWQgb2JqZWN0IHdpdGhvdXQgc2lnbmVkTWVzc2FnZSBhbmQgc2lnbmF0dXJlIGZpZWxkcyIpfWVsc2V7aWYoISgic2lnbk1lc3NhZ2UiaW4gYil8fHR5cGVvZiBiLnNpZ25NZXNzYWdlIT0iZnVuY3Rpb24ifHwhKCJwdWJsaWNLZXkiaW4gYil8fHR5cGVvZiBiIT0ib2JqZWN0Inx8IWIucHVibGljS2V5fHwhKCJ0b0Jhc2U1OCJpbiBiLnB1YmxpY0tleSl8fHR5cGVvZiBiLnB1YmxpY0tleS50b0Jhc2U1OCE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoIkBzdXBhYmFzZS9hdXRoLWpzOiBXYWxsZXQgZG9lcyBub3QgaGF2ZSBhIGNvbXBhdGlibGUgc2lnbk1lc3NhZ2UoKSBhbmQgcHVibGljS2V5LnRvQmFzZTU4KCkgQVBJIik7cD1bYCR7ai5ob3N0fSB3YW50cyB5b3UgdG8gc2lnbiBpbiB3aXRoIHlvdXIgU29sYW5hIGFjY291bnQ6YCxiLnB1YmxpY0tleS50b0Jhc2U1OCgpLC4uLnk/WyIiLHksIiJdOlsiIl0sIlZlcnNpb246IDEiLGBVUkk6ICR7ai5ocmVmfWAsYElzc3VlZCBBdDogJHsoYT0obj12PT1udWxsP3ZvaWQgMDp2LnNpZ25JbldpdGhTb2xhbmEpPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5pc3N1ZWRBdCkhPT1udWxsJiZhIT09dm9pZCAwP2E6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfWAsLi4uISgoaT12PT1udWxsP3ZvaWQgMDp2LnNpZ25JbldpdGhTb2xhbmEpPT09bnVsbHx8aT09PXZvaWQgMCkmJmkubm90QmVmb3JlP1tgTm90IEJlZm9yZTogJHt2LnNpZ25JbldpdGhTb2xhbmEubm90QmVmb3JlfWBdOltdLC4uLiEoKG89dj09bnVsbD92b2lkIDA6di5zaWduSW5XaXRoU29sYW5hKT09PW51bGx8fG89PT12b2lkIDApJiZvLmV4cGlyYXRpb25UaW1lP1tgRXhwaXJhdGlvbiBUaW1lOiAke3Yuc2lnbkluV2l0aFNvbGFuYS5leHBpcmF0aW9uVGltZX1gXTpbXSwuLi4hKChsPXY9PW51bGw/dm9pZCAwOnYuc2lnbkluV2l0aFNvbGFuYSk9PT1udWxsfHxsPT09dm9pZCAwKSYmbC5jaGFpbklkP1tgQ2hhaW4gSUQ6ICR7di5zaWduSW5XaXRoU29sYW5hLmNoYWluSWR9YF06W10sLi4uISgoYz12PT1udWxsP3ZvaWQgMDp2LnNpZ25JbldpdGhTb2xhbmEpPT09bnVsbHx8Yz09PXZvaWQgMCkmJmMubm9uY2U/W2BOb25jZTogJHt2LnNpZ25JbldpdGhTb2xhbmEubm9uY2V9YF06W10sLi4uISgoZD12PT1udWxsP3ZvaWQgMDp2LnNpZ25JbldpdGhTb2xhbmEpPT09bnVsbHx8ZD09PXZvaWQgMCkmJmQucmVxdWVzdElkP1tgUmVxdWVzdCBJRDogJHt2LnNpZ25JbldpdGhTb2xhbmEucmVxdWVzdElkfWBdOltdLC4uLiEoKEE9KHU9dj09bnVsbD92b2lkIDA6di5zaWduSW5XaXRoU29sYW5hKT09PW51bGx8fHU9PT12b2lkIDA/dm9pZCAwOnUucmVzb3VyY2VzKT09PW51bGx8fEE9PT12b2lkIDApJiZBLmxlbmd0aD9bIlJlc291cmNlcyIsLi4udi5zaWduSW5XaXRoU29sYW5hLnJlc291cmNlcy5tYXAoQz0+YC0gJHtDfWApXTpbXV0uam9pbihgCmApO2NvbnN0IE49YXdhaXQgYi5zaWduTWVzc2FnZShuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUocCksInV0ZjgiKTtpZighTnx8IShOIGluc3RhbmNlb2YgVWludDhBcnJheSkpdGhyb3cgbmV3IEVycm9yKCJAc3VwYWJhc2UvYXV0aC1qczogV2FsbGV0IHNpZ25NZXNzYWdlKCkgQVBJIHJldHVybmVkIGFuIHJlY29nbml6ZWQgdmFsdWUiKTttPU59fXRyeXtjb25zdHtkYXRhOngsZXJyb3I6d309YXdhaXQgcWUodGhpcy5mZXRjaCwiUE9TVCIsYCR7dGhpcy51cmx9L3Rva2VuP2dyYW50X3R5cGU9d2ViM2Ase2hlYWRlcnM6dGhpcy5oZWFkZXJzLGJvZHk6T2JqZWN0LmFzc2lnbih7Y2hhaW46InNvbGFuYSIsbWVzc2FnZTpwLHNpZ25hdHVyZTpfYyhtKX0sISgoZj10Lm9wdGlvbnMpPT09bnVsbHx8Zj09PXZvaWQgMCkmJmYuY2FwdGNoYVRva2VuP3tnb3RydWVfbWV0YV9zZWN1cml0eTp7Y2FwdGNoYV90b2tlbjooaD10Lm9wdGlvbnMpPT09bnVsbHx8aD09PXZvaWQgMD92b2lkIDA6aC5jYXB0Y2hhVG9rZW59fTpudWxsKSx4Zm9ybTp2YX0pO2lmKHcpdGhyb3cgdztyZXR1cm4heHx8IXguc2Vzc2lvbnx8IXgudXNlcj97ZGF0YTp7dXNlcjpudWxsLHNlc3Npb246bnVsbH0sZXJyb3I6bmV3IFNkfTooeC5zZXNzaW9uJiYoYXdhaXQgdGhpcy5fc2F2ZVNlc3Npb24oeC5zZXNzaW9uKSxhd2FpdCB0aGlzLl9ub3RpZnlBbGxTdWJzY3JpYmVycygiU0lHTkVEX0lOIix4LnNlc3Npb24pKSx7ZGF0YTpPYmplY3QuYXNzaWduKHt9LHgpLGVycm9yOnd9KX1jYXRjaCh4KXtpZihIZSh4KSlyZXR1cm57ZGF0YTp7dXNlcjpudWxsLHNlc3Npb246bnVsbH0sZXJyb3I6eH07dGhyb3cgeH19YXN5bmMgX2V4Y2hhbmdlQ29kZUZvclNlc3Npb24odCl7Y29uc3Qgcj1hd2FpdCBpYyh0aGlzLnN0b3JhZ2UsYCR7dGhpcy5zdG9yYWdlS2V5fS1jb2RlLXZlcmlmaWVyYCksW24sYV09KHI/PyIiKS5zcGxpdCgiLyIpO3RyeXtjb25zdHtkYXRhOmksZXJyb3I6b309YXdhaXQgcWUodGhpcy5mZXRjaCwiUE9TVCIsYCR7dGhpcy51cmx9L3Rva2VuP2dyYW50X3R5cGU9cGtjZWAse2hlYWRlcnM6dGhpcy5oZWFkZXJzLGJvZHk6e2F1dGhfY29kZTp0LGNvZGVfdmVyaWZpZXI6bn0seGZvcm06dmF9KTtpZihhd2FpdCBPbyh0aGlzLnN0b3JhZ2UsYCR7dGhpcy5zdG9yYWdlS2V5fS1jb2RlLXZlcmlmaWVyYCksbyl0aHJvdyBvO3JldHVybiFpfHwhaS5zZXNzaW9ufHwhaS51c2VyP3tkYXRhOnt1c2VyOm51bGwsc2Vzc2lvbjpudWxsLHJlZGlyZWN0VHlwZTpudWxsfSxlcnJvcjpuZXcgU2R9OihpLnNlc3Npb24mJihhd2FpdCB0aGlzLl9zYXZlU2Vzc2lvbihpLnNlc3Npb24pLGF3YWl0IHRoaXMuX25vdGlmeUFsbFN1YnNjcmliZXJzKCJTSUdORURfSU4iLGkuc2Vzc2lvbikpLHtkYXRhOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxpKSx7cmVkaXJlY3RUeXBlOmE/P251bGx9KSxlcnJvcjpvfSl9Y2F0Y2goaSl7aWYoSGUoaSkpcmV0dXJue2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGwscmVkaXJlY3RUeXBlOm51bGx9LGVycm9yOml9O3Rocm93IGl9fWFzeW5jIHNpZ25JbldpdGhJZFRva2VuKHQpe3RyeXtjb25zdHtvcHRpb25zOnIscHJvdmlkZXI6bix0b2tlbjphLGFjY2Vzc190b2tlbjppLG5vbmNlOm99PXQsbD1hd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vdG9rZW4/Z3JhbnRfdHlwZT1pZF90b2tlbmAse2hlYWRlcnM6dGhpcy5oZWFkZXJzLGJvZHk6e3Byb3ZpZGVyOm4saWRfdG9rZW46YSxhY2Nlc3NfdG9rZW46aSxub25jZTpvLGdvdHJ1ZV9tZXRhX3NlY3VyaXR5OntjYXB0Y2hhX3Rva2VuOnI9PW51bGw/dm9pZCAwOnIuY2FwdGNoYVRva2VufX0seGZvcm06dmF9KSx7ZGF0YTpjLGVycm9yOmR9PWw7cmV0dXJuIGQ/e2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGx9LGVycm9yOmR9OiFjfHwhYy5zZXNzaW9ufHwhYy51c2VyP3tkYXRhOnt1c2VyOm51bGwsc2Vzc2lvbjpudWxsfSxlcnJvcjpuZXcgU2R9OihjLnNlc3Npb24mJihhd2FpdCB0aGlzLl9zYXZlU2Vzc2lvbihjLnNlc3Npb24pLGF3YWl0IHRoaXMuX25vdGlmeUFsbFN1YnNjcmliZXJzKCJTSUdORURfSU4iLGMuc2Vzc2lvbikpLHtkYXRhOmMsZXJyb3I6ZH0pfWNhdGNoKHIpe2lmKEhlKHIpKXJldHVybntkYXRhOnt1c2VyOm51bGwsc2Vzc2lvbjpudWxsfSxlcnJvcjpyfTt0aHJvdyByfX1hc3luYyBzaWduSW5XaXRoT3RwKHQpe3ZhciByLG4sYSxpLG87dHJ5e2lmKCJlbWFpbCJpbiB0KXtjb25zdHtlbWFpbDpsLG9wdGlvbnM6Y309dDtsZXQgZD1udWxsLHU9bnVsbDt0aGlzLmZsb3dUeXBlPT09InBrY2UiJiYoW2QsdV09YXdhaXQgRWQodGhpcy5zdG9yYWdlLHRoaXMuc3RvcmFnZUtleSkpO2NvbnN0e2Vycm9yOkF9PWF3YWl0IHFlKHRoaXMuZmV0Y2gsIlBPU1QiLGAke3RoaXMudXJsfS9vdHBgLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxib2R5OntlbWFpbDpsLGRhdGE6KHI9Yz09bnVsbD92b2lkIDA6Yy5kYXRhKSE9PW51bGwmJnIhPT12b2lkIDA/cjp7fSxjcmVhdGVfdXNlcjoobj1jPT1udWxsP3ZvaWQgMDpjLnNob3VsZENyZWF0ZVVzZXIpIT09bnVsbCYmbiE9PXZvaWQgMD9uOiEwLGdvdHJ1ZV9tZXRhX3NlY3VyaXR5OntjYXB0Y2hhX3Rva2VuOmM9PW51bGw/dm9pZCAwOmMuY2FwdGNoYVRva2VufSxjb2RlX2NoYWxsZW5nZTpkLGNvZGVfY2hhbGxlbmdlX21ldGhvZDp1fSxyZWRpcmVjdFRvOmM9PW51bGw/dm9pZCAwOmMuZW1haWxSZWRpcmVjdFRvfSk7cmV0dXJue2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGx9LGVycm9yOkF9fWlmKCJwaG9uZSJpbiB0KXtjb25zdHtwaG9uZTpsLG9wdGlvbnM6Y309dCx7ZGF0YTpkLGVycm9yOnV9PWF3YWl0IHFlKHRoaXMuZmV0Y2gsIlBPU1QiLGAke3RoaXMudXJsfS9vdHBgLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxib2R5OntwaG9uZTpsLGRhdGE6KGE9Yz09bnVsbD92b2lkIDA6Yy5kYXRhKSE9PW51bGwmJmEhPT12b2lkIDA/YTp7fSxjcmVhdGVfdXNlcjooaT1jPT1udWxsP3ZvaWQgMDpjLnNob3VsZENyZWF0ZVVzZXIpIT09bnVsbCYmaSE9PXZvaWQgMD9pOiEwLGdvdHJ1ZV9tZXRhX3NlY3VyaXR5OntjYXB0Y2hhX3Rva2VuOmM9PW51bGw/dm9pZCAwOmMuY2FwdGNoYVRva2VufSxjaGFubmVsOihvPWM9PW51bGw/dm9pZCAwOmMuY2hhbm5lbCkhPT1udWxsJiZvIT09dm9pZCAwP286InNtcyJ9fSk7cmV0dXJue2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGwsbWVzc2FnZUlkOmQ9PW51bGw/dm9pZCAwOmQubWVzc2FnZV9pZH0sZXJyb3I6dX19dGhyb3cgbmV3IFlnKCJZb3UgbXVzdCBwcm92aWRlIGVpdGhlciBhbiBlbWFpbCBvciBwaG9uZSBudW1iZXIuIil9Y2F0Y2gobCl7aWYoSGUobCkpcmV0dXJue2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGx9LGVycm9yOmx9O3Rocm93IGx9fWFzeW5jIHZlcmlmeU90cCh0KXt2YXIgcixuO3RyeXtsZXQgYSxpOyJvcHRpb25zImluIHQmJihhPShyPXQub3B0aW9ucyk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLnJlZGlyZWN0VG8saT0obj10Lm9wdGlvbnMpPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5jYXB0Y2hhVG9rZW4pO2NvbnN0e2RhdGE6byxlcnJvcjpsfT1hd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vdmVyaWZ5YCx7aGVhZGVyczp0aGlzLmhlYWRlcnMsYm9keTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2dvdHJ1ZV9tZXRhX3NlY3VyaXR5OntjYXB0Y2hhX3Rva2VuOml9fSkscmVkaXJlY3RUbzphLHhmb3JtOnZhfSk7aWYobCl0aHJvdyBsO2lmKCFvKXRocm93IG5ldyBFcnJvcigiQW4gZXJyb3Igb2NjdXJyZWQgb24gdG9rZW4gdmVyaWZpY2F0aW9uLiIpO2NvbnN0IGM9by5zZXNzaW9uLGQ9by51c2VyO3JldHVybiBjIT1udWxsJiZjLmFjY2Vzc190b2tlbiYmKGF3YWl0IHRoaXMuX3NhdmVTZXNzaW9uKGMpLGF3YWl0IHRoaXMuX25vdGlmeUFsbFN1YnNjcmliZXJzKHQudHlwZT09InJlY292ZXJ5Ij8iUEFTU1dPUkRfUkVDT1ZFUlkiOiJTSUdORURfSU4iLGMpKSx7ZGF0YTp7dXNlcjpkLHNlc3Npb246Y30sZXJyb3I6bnVsbH19Y2F0Y2goYSl7aWYoSGUoYSkpcmV0dXJue2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGx9LGVycm9yOmF9O3Rocm93IGF9fWFzeW5jIHNpZ25JbldpdGhTU08odCl7dmFyIHIsbixhO3RyeXtsZXQgaT1udWxsLG89bnVsbDtyZXR1cm4gdGhpcy5mbG93VHlwZT09PSJwa2NlIiYmKFtpLG9dPWF3YWl0IEVkKHRoaXMuc3RvcmFnZSx0aGlzLnN0b3JhZ2VLZXkpKSxhd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vc3NvYCx7Ym9keTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sInByb3ZpZGVySWQiaW4gdD97cHJvdmlkZXJfaWQ6dC5wcm92aWRlcklkfTpudWxsKSwiZG9tYWluImluIHQ/e2RvbWFpbjp0LmRvbWFpbn06bnVsbCkse3JlZGlyZWN0X3RvOihuPShyPXQub3B0aW9ucyk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLnJlZGlyZWN0VG8pIT09bnVsbCYmbiE9PXZvaWQgMD9uOnZvaWQgMH0pLCEoKGE9dD09bnVsbD92b2lkIDA6dC5vcHRpb25zKT09PW51bGx8fGE9PT12b2lkIDApJiZhLmNhcHRjaGFUb2tlbj97Z290cnVlX21ldGFfc2VjdXJpdHk6e2NhcHRjaGFfdG9rZW46dC5vcHRpb25zLmNhcHRjaGFUb2tlbn19Om51bGwpLHtza2lwX2h0dHBfcmVkaXJlY3Q6ITAsY29kZV9jaGFsbGVuZ2U6aSxjb2RlX2NoYWxsZW5nZV9tZXRob2Q6b30pLGhlYWRlcnM6dGhpcy5oZWFkZXJzLHhmb3JtOllsZX0pfWNhdGNoKGkpe2lmKEhlKGkpKXJldHVybntkYXRhOm51bGwsZXJyb3I6aX07dGhyb3cgaX19YXN5bmMgcmVhdXRoZW50aWNhdGUoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0aWFsaXplUHJvbWlzZSxhd2FpdCB0aGlzLl9hY3F1aXJlTG9jaygtMSxhc3luYygpPT5hd2FpdCB0aGlzLl9yZWF1dGhlbnRpY2F0ZSgpKX1hc3luYyBfcmVhdXRoZW50aWNhdGUoKXt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuX3VzZVNlc3Npb24oYXN5bmMgdD0+e2NvbnN0e2RhdGE6e3Nlc3Npb246cn0sZXJyb3I6bn09dDtpZihuKXRocm93IG47aWYoIXIpdGhyb3cgbmV3IHlhO2NvbnN0e2Vycm9yOmF9PWF3YWl0IHFlKHRoaXMuZmV0Y2gsIkdFVCIsYCR7dGhpcy51cmx9L3JlYXV0aGVudGljYXRlYCx7aGVhZGVyczp0aGlzLmhlYWRlcnMsand0OnIuYWNjZXNzX3Rva2VufSk7cmV0dXJue2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGx9LGVycm9yOmF9fSl9Y2F0Y2godCl7aWYoSGUodCkpcmV0dXJue2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGx9LGVycm9yOnR9O3Rocm93IHR9fWFzeW5jIHJlc2VuZCh0KXt0cnl7Y29uc3Qgcj1gJHt0aGlzLnVybH0vcmVzZW5kYDtpZigiZW1haWwiaW4gdCl7Y29uc3R7ZW1haWw6bix0eXBlOmEsb3B0aW9uczppfT10LHtlcnJvcjpvfT1hd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixyLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxib2R5OntlbWFpbDpuLHR5cGU6YSxnb3RydWVfbWV0YV9zZWN1cml0eTp7Y2FwdGNoYV90b2tlbjppPT1udWxsP3ZvaWQgMDppLmNhcHRjaGFUb2tlbn19LHJlZGlyZWN0VG86aT09bnVsbD92b2lkIDA6aS5lbWFpbFJlZGlyZWN0VG99KTtyZXR1cm57ZGF0YTp7dXNlcjpudWxsLHNlc3Npb246bnVsbH0sZXJyb3I6b319ZWxzZSBpZigicGhvbmUiaW4gdCl7Y29uc3R7cGhvbmU6bix0eXBlOmEsb3B0aW9uczppfT10LHtkYXRhOm8sZXJyb3I6bH09YXdhaXQgcWUodGhpcy5mZXRjaCwiUE9TVCIscix7aGVhZGVyczp0aGlzLmhlYWRlcnMsYm9keTp7cGhvbmU6bix0eXBlOmEsZ290cnVlX21ldGFfc2VjdXJpdHk6e2NhcHRjaGFfdG9rZW46aT09bnVsbD92b2lkIDA6aS5jYXB0Y2hhVG9rZW59fX0pO3JldHVybntkYXRhOnt1c2VyOm51bGwsc2Vzc2lvbjpudWxsLG1lc3NhZ2VJZDpvPT1udWxsP3ZvaWQgMDpvLm1lc3NhZ2VfaWR9LGVycm9yOmx9fXRocm93IG5ldyBZZygiWW91IG11c3QgcHJvdmlkZSBlaXRoZXIgYW4gZW1haWwgb3IgcGhvbmUgbnVtYmVyIGFuZCBhIHR5cGUiKX1jYXRjaChyKXtpZihIZShyKSlyZXR1cm57ZGF0YTp7dXNlcjpudWxsLHNlc3Npb246bnVsbH0sZXJyb3I6cn07dGhyb3cgcn19YXN5bmMgZ2V0U2Vzc2lvbigpe3JldHVybiBhd2FpdCB0aGlzLmluaXRpYWxpemVQcm9taXNlLGF3YWl0IHRoaXMuX2FjcXVpcmVMb2NrKC0xLGFzeW5jKCk9PnRoaXMuX3VzZVNlc3Npb24oYXN5bmMgcj0+cikpfWFzeW5jIF9hY3F1aXJlTG9jayh0LHIpe3RoaXMuX2RlYnVnKCIjX2FjcXVpcmVMb2NrIiwiYmVnaW4iLHQpO3RyeXtpZih0aGlzLmxvY2tBY3F1aXJlZCl7Y29uc3Qgbj10aGlzLnBlbmRpbmdJbkxvY2subGVuZ3RoP3RoaXMucGVuZGluZ0luTG9ja1t0aGlzLnBlbmRpbmdJbkxvY2subGVuZ3RoLTFdOlByb21pc2UucmVzb2x2ZSgpLGE9KGFzeW5jKCk9Pihhd2FpdCBuLGF3YWl0IHIoKSkpKCk7cmV0dXJuIHRoaXMucGVuZGluZ0luTG9jay5wdXNoKChhc3luYygpPT57dHJ5e2F3YWl0IGF9Y2F0Y2h7fX0pKCkpLGF9cmV0dXJuIGF3YWl0IHRoaXMubG9jayhgbG9jazoke3RoaXMuc3RvcmFnZUtleX1gLHQsYXN5bmMoKT0+e3RoaXMuX2RlYnVnKCIjX2FjcXVpcmVMb2NrIiwibG9jayBhY3F1aXJlZCBmb3Igc3RvcmFnZSBrZXkiLHRoaXMuc3RvcmFnZUtleSk7dHJ5e3RoaXMubG9ja0FjcXVpcmVkPSEwO2NvbnN0IG49cigpO2Zvcih0aGlzLnBlbmRpbmdJbkxvY2sucHVzaCgoYXN5bmMoKT0+e3RyeXthd2FpdCBufWNhdGNoe319KSgpKSxhd2FpdCBuO3RoaXMucGVuZGluZ0luTG9jay5sZW5ndGg7KXtjb25zdCBhPVsuLi50aGlzLnBlbmRpbmdJbkxvY2tdO2F3YWl0IFByb21pc2UuYWxsKGEpLHRoaXMucGVuZGluZ0luTG9jay5zcGxpY2UoMCxhLmxlbmd0aCl9cmV0dXJuIGF3YWl0IG59ZmluYWxseXt0aGlzLl9kZWJ1ZygiI19hY3F1aXJlTG9jayIsImxvY2sgcmVsZWFzZWQgZm9yIHN0b3JhZ2Uga2V5Iix0aGlzLnN0b3JhZ2VLZXkpLHRoaXMubG9ja0FjcXVpcmVkPSExfX0pfWZpbmFsbHl7dGhpcy5fZGVidWcoIiNfYWNxdWlyZUxvY2siLCJlbmQiKX19YXN5bmMgX3VzZVNlc3Npb24odCl7dGhpcy5fZGVidWcoIiNfdXNlU2Vzc2lvbiIsImJlZ2luIik7dHJ5e2NvbnN0IHI9YXdhaXQgdGhpcy5fX2xvYWRTZXNzaW9uKCk7cmV0dXJuIGF3YWl0IHQocil9ZmluYWxseXt0aGlzLl9kZWJ1ZygiI191c2VTZXNzaW9uIiwiZW5kIil9fWFzeW5jIF9fbG9hZFNlc3Npb24oKXt0aGlzLl9kZWJ1ZygiI19fbG9hZFNlc3Npb24oKSIsImJlZ2luIiksdGhpcy5sb2NrQWNxdWlyZWR8fHRoaXMuX2RlYnVnKCIjX19sb2FkU2Vzc2lvbigpIiwidXNlZCBvdXRzaWRlIG9mIGFuIGFjcXVpcmVkIGxvY2shIixuZXcgRXJyb3IoKS5zdGFjayk7dHJ5e2xldCB0PW51bGw7Y29uc3Qgcj1hd2FpdCBpYyh0aGlzLnN0b3JhZ2UsdGhpcy5zdG9yYWdlS2V5KTtpZih0aGlzLl9kZWJ1ZygiI2dldFNlc3Npb24oKSIsInNlc3Npb24gZnJvbSBzdG9yYWdlIixyKSxyIT09bnVsbCYmKHRoaXMuX2lzVmFsaWRTZXNzaW9uKHIpP3Q9cjoodGhpcy5fZGVidWcoIiNnZXRTZXNzaW9uKCkiLCJzZXNzaW9uIGZyb20gc3RvcmFnZSBpcyBub3QgdmFsaWQiKSxhd2FpdCB0aGlzLl9yZW1vdmVTZXNzaW9uKCkpKSwhdClyZXR1cm57ZGF0YTp7c2Vzc2lvbjpudWxsfSxlcnJvcjpudWxsfTtjb25zdCBuPXQuZXhwaXJlc19hdD90LmV4cGlyZXNfYXQqMWUzLURhdGUubm93KCk8SDE6ITE7aWYodGhpcy5fZGVidWcoIiNfX2xvYWRTZXNzaW9uKCkiLGBzZXNzaW9uIGhhcyR7bj8iIjoiIG5vdCJ9IGV4cGlyZWRgLCJleHBpcmVzX2F0Iix0LmV4cGlyZXNfYXQpLCFuKXtpZih0aGlzLnVzZXJTdG9yYWdlKXtjb25zdCBvPWF3YWl0IGljKHRoaXMudXNlclN0b3JhZ2UsdGhpcy5zdG9yYWdlS2V5KyItdXNlciIpO28hPW51bGwmJm8udXNlcj90LnVzZXI9by51c2VyOnQudXNlcj16MSgpfWlmKHRoaXMuc3RvcmFnZS5pc1NlcnZlciYmdC51c2VyJiYhdC51c2VyLl9faXNVc2VyTm90QXZhaWxhYmxlUHJveHkpe2NvbnN0IG89e3ZhbHVlOnRoaXMuc3VwcHJlc3NHZXRTZXNzaW9uV2FybmluZ307dC51c2VyPXpsZSh0LnVzZXIsbyksby52YWx1ZSYmKHRoaXMuc3VwcHJlc3NHZXRTZXNzaW9uV2FybmluZz0hMCl9cmV0dXJue2RhdGE6e3Nlc3Npb246dH0sZXJyb3I6bnVsbH19Y29uc3R7ZGF0YTphLGVycm9yOml9PWF3YWl0IHRoaXMuX2NhbGxSZWZyZXNoVG9rZW4odC5yZWZyZXNoX3Rva2VuKTtyZXR1cm4gaT97ZGF0YTp7c2Vzc2lvbjpudWxsfSxlcnJvcjppfTp7ZGF0YTp7c2Vzc2lvbjphfSxlcnJvcjpudWxsfX1maW5hbGx5e3RoaXMuX2RlYnVnKCIjX19sb2FkU2Vzc2lvbigpIiwiZW5kIil9fWFzeW5jIGdldFVzZXIodCl7cmV0dXJuIHQ/YXdhaXQgdGhpcy5fZ2V0VXNlcih0KTooYXdhaXQgdGhpcy5pbml0aWFsaXplUHJvbWlzZSxhd2FpdCB0aGlzLl9hY3F1aXJlTG9jaygtMSxhc3luYygpPT5hd2FpdCB0aGlzLl9nZXRVc2VyKCkpKX1hc3luYyBfZ2V0VXNlcih0KXt0cnl7cmV0dXJuIHQ/YXdhaXQgcWUodGhpcy5mZXRjaCwiR0VUIixgJHt0aGlzLnVybH0vdXNlcmAse2hlYWRlcnM6dGhpcy5oZWFkZXJzLGp3dDp0LHhmb3JtOnFvfSk6YXdhaXQgdGhpcy5fdXNlU2Vzc2lvbihhc3luYyByPT57dmFyIG4sYSxpO2NvbnN0e2RhdGE6byxlcnJvcjpsfT1yO2lmKGwpdGhyb3cgbDtyZXR1cm4hKCEoKG49by5zZXNzaW9uKT09PW51bGx8fG49PT12b2lkIDApJiZuLmFjY2Vzc190b2tlbikmJiF0aGlzLmhhc0N1c3RvbUF1dGhvcml6YXRpb25IZWFkZXI/e2RhdGE6e3VzZXI6bnVsbH0sZXJyb3I6bmV3IHlhfTphd2FpdCBxZSh0aGlzLmZldGNoLCJHRVQiLGAke3RoaXMudXJsfS91c2VyYCx7aGVhZGVyczp0aGlzLmhlYWRlcnMsand0OihpPShhPW8uc2Vzc2lvbik9PT1udWxsfHxhPT09dm9pZCAwP3ZvaWQgMDphLmFjY2Vzc190b2tlbikhPT1udWxsJiZpIT09dm9pZCAwP2k6dm9pZCAwLHhmb3JtOnFvfSl9KX1jYXRjaChyKXtpZihIZShyKSlyZXR1cm4gTmxlKHIpJiYoYXdhaXQgdGhpcy5fcmVtb3ZlU2Vzc2lvbigpLGF3YWl0IE9vKHRoaXMuc3RvcmFnZSxgJHt0aGlzLnN0b3JhZ2VLZXl9LWNvZGUtdmVyaWZpZXJgKSkse2RhdGE6e3VzZXI6bnVsbH0sZXJyb3I6cn07dGhyb3cgcn19YXN5bmMgdXBkYXRlVXNlcih0LHI9e30pe3JldHVybiBhd2FpdCB0aGlzLmluaXRpYWxpemVQcm9taXNlLGF3YWl0IHRoaXMuX2FjcXVpcmVMb2NrKC0xLGFzeW5jKCk9PmF3YWl0IHRoaXMuX3VwZGF0ZVVzZXIodCxyKSl9YXN5bmMgX3VwZGF0ZVVzZXIodCxyPXt9KXt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuX3VzZVNlc3Npb24oYXN5bmMgbj0+e2NvbnN0e2RhdGE6YSxlcnJvcjppfT1uO2lmKGkpdGhyb3cgaTtpZighYS5zZXNzaW9uKXRocm93IG5ldyB5YTtjb25zdCBvPWEuc2Vzc2lvbjtsZXQgbD1udWxsLGM9bnVsbDt0aGlzLmZsb3dUeXBlPT09InBrY2UiJiZ0LmVtYWlsIT1udWxsJiYoW2wsY109YXdhaXQgRWQodGhpcy5zdG9yYWdlLHRoaXMuc3RvcmFnZUtleSkpO2NvbnN0e2RhdGE6ZCxlcnJvcjp1fT1hd2FpdCBxZSh0aGlzLmZldGNoLCJQVVQiLGAke3RoaXMudXJsfS91c2VyYCx7aGVhZGVyczp0aGlzLmhlYWRlcnMscmVkaXJlY3RUbzpyPT1udWxsP3ZvaWQgMDpyLmVtYWlsUmVkaXJlY3RUbyxib2R5Ok9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7Y29kZV9jaGFsbGVuZ2U6bCxjb2RlX2NoYWxsZW5nZV9tZXRob2Q6Y30pLGp3dDpvLmFjY2Vzc190b2tlbix4Zm9ybTpxb30pO2lmKHUpdGhyb3cgdTtyZXR1cm4gby51c2VyPWQudXNlcixhd2FpdCB0aGlzLl9zYXZlU2Vzc2lvbihvKSxhd2FpdCB0aGlzLl9ub3RpZnlBbGxTdWJzY3JpYmVycygiVVNFUl9VUERBVEVEIixvKSx7ZGF0YTp7dXNlcjpvLnVzZXJ9LGVycm9yOm51bGx9fSl9Y2F0Y2gobil7aWYoSGUobikpcmV0dXJue2RhdGE6e3VzZXI6bnVsbH0sZXJyb3I6bn07dGhyb3cgbn19YXN5bmMgc2V0U2Vzc2lvbih0KXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0aWFsaXplUHJvbWlzZSxhd2FpdCB0aGlzLl9hY3F1aXJlTG9jaygtMSxhc3luYygpPT5hd2FpdCB0aGlzLl9zZXRTZXNzaW9uKHQpKX1hc3luYyBfc2V0U2Vzc2lvbih0KXt0cnl7aWYoIXQuYWNjZXNzX3Rva2VufHwhdC5yZWZyZXNoX3Rva2VuKXRocm93IG5ldyB5YTtjb25zdCByPURhdGUubm93KCkvMWUzO2xldCBuPXIsYT0hMCxpPW51bGw7Y29uc3R7cGF5bG9hZDpvfT1WMSh0LmFjY2Vzc190b2tlbik7aWYoby5leHAmJihuPW8uZXhwLGE9bjw9ciksYSl7Y29uc3R7ZGF0YTpsLGVycm9yOmN9PWF3YWl0IHRoaXMuX2NhbGxSZWZyZXNoVG9rZW4odC5yZWZyZXNoX3Rva2VuKTtpZihjKXJldHVybntkYXRhOnt1c2VyOm51bGwsc2Vzc2lvbjpudWxsfSxlcnJvcjpjfTtpZighbClyZXR1cm57ZGF0YTp7dXNlcjpudWxsLHNlc3Npb246bnVsbH0sZXJyb3I6bnVsbH07aT1sfWVsc2V7Y29uc3R7ZGF0YTpsLGVycm9yOmN9PWF3YWl0IHRoaXMuX2dldFVzZXIodC5hY2Nlc3NfdG9rZW4pO2lmKGMpdGhyb3cgYztpPXthY2Nlc3NfdG9rZW46dC5hY2Nlc3NfdG9rZW4scmVmcmVzaF90b2tlbjp0LnJlZnJlc2hfdG9rZW4sdXNlcjpsLnVzZXIsdG9rZW5fdHlwZToiYmVhcmVyIixleHBpcmVzX2luOm4tcixleHBpcmVzX2F0Om59LGF3YWl0IHRoaXMuX3NhdmVTZXNzaW9uKGkpLGF3YWl0IHRoaXMuX25vdGlmeUFsbFN1YnNjcmliZXJzKCJTSUdORURfSU4iLGkpfXJldHVybntkYXRhOnt1c2VyOmkudXNlcixzZXNzaW9uOml9LGVycm9yOm51bGx9fWNhdGNoKHIpe2lmKEhlKHIpKXJldHVybntkYXRhOntzZXNzaW9uOm51bGwsdXNlcjpudWxsfSxlcnJvcjpyfTt0aHJvdyByfX1hc3luYyByZWZyZXNoU2Vzc2lvbih0KXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0aWFsaXplUHJvbWlzZSxhd2FpdCB0aGlzLl9hY3F1aXJlTG9jaygtMSxhc3luYygpPT5hd2FpdCB0aGlzLl9yZWZyZXNoU2Vzc2lvbih0KSl9YXN5bmMgX3JlZnJlc2hTZXNzaW9uKHQpe3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5fdXNlU2Vzc2lvbihhc3luYyByPT57dmFyIG47aWYoIXQpe2NvbnN0e2RhdGE6byxlcnJvcjpsfT1yO2lmKGwpdGhyb3cgbDt0PShuPW8uc2Vzc2lvbikhPT1udWxsJiZuIT09dm9pZCAwP246dm9pZCAwfWlmKCEodCE9bnVsbCYmdC5yZWZyZXNoX3Rva2VuKSl0aHJvdyBuZXcgeWE7Y29uc3R7ZGF0YTphLGVycm9yOml9PWF3YWl0IHRoaXMuX2NhbGxSZWZyZXNoVG9rZW4odC5yZWZyZXNoX3Rva2VuKTtyZXR1cm4gaT97ZGF0YTp7dXNlcjpudWxsLHNlc3Npb246bnVsbH0sZXJyb3I6aX06YT97ZGF0YTp7dXNlcjphLnVzZXIsc2Vzc2lvbjphfSxlcnJvcjpudWxsfTp7ZGF0YTp7dXNlcjpudWxsLHNlc3Npb246bnVsbH0sZXJyb3I6bnVsbH19KX1jYXRjaChyKXtpZihIZShyKSlyZXR1cm57ZGF0YTp7dXNlcjpudWxsLHNlc3Npb246bnVsbH0sZXJyb3I6cn07dGhyb3cgcn19YXN5bmMgX2dldFNlc3Npb25Gcm9tVVJMKHQscil7dHJ5e2lmKCFNbigpKXRocm93IG5ldyBYZygiTm8gYnJvd3NlciBkZXRlY3RlZC4iKTtpZih0LmVycm9yfHx0LmVycm9yX2Rlc2NyaXB0aW9ufHx0LmVycm9yX2NvZGUpdGhyb3cgbmV3IFhnKHQuZXJyb3JfZGVzY3JpcHRpb258fCJFcnJvciBpbiBVUkwgd2l0aCB1bnNwZWNpZmllZCBlcnJvcl9kZXNjcmlwdGlvbiIse2Vycm9yOnQuZXJyb3J8fCJ1bnNwZWNpZmllZF9lcnJvciIsY29kZTp0LmVycm9yX2NvZGV8fCJ1bnNwZWNpZmllZF9jb2RlIn0pO3N3aXRjaChyKXtjYXNlImltcGxpY2l0IjppZih0aGlzLmZsb3dUeXBlPT09InBrY2UiKXRocm93IG5ldyBrRigiTm90IGEgdmFsaWQgUEtDRSBmbG93IHVybC4iKTticmVhaztjYXNlInBrY2UiOmlmKHRoaXMuZmxvd1R5cGU9PT0iaW1wbGljaXQiKXRocm93IG5ldyBYZygiTm90IGEgdmFsaWQgaW1wbGljaXQgZ3JhbnQgZmxvdyB1cmwuIik7YnJlYWs7ZGVmYXVsdDp9aWYocj09PSJwa2NlIil7aWYodGhpcy5fZGVidWcoIiNfaW5pdGlhbGl6ZSgpIiwiYmVnaW4iLCJpcyBQS0NFIGZsb3ciLCEwKSwhdC5jb2RlKXRocm93IG5ldyBrRigiTm8gY29kZSBkZXRlY3RlZC4iKTtjb25zdHtkYXRhOnksZXJyb3I6dn09YXdhaXQgdGhpcy5fZXhjaGFuZ2VDb2RlRm9yU2Vzc2lvbih0LmNvZGUpO2lmKHYpdGhyb3cgdjtjb25zdCBiPW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO3JldHVybiBiLnNlYXJjaFBhcmFtcy5kZWxldGUoImNvZGUiKSx3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUod2luZG93Lmhpc3Rvcnkuc3RhdGUsIiIsYi50b1N0cmluZygpKSx7ZGF0YTp7c2Vzc2lvbjp5LnNlc3Npb24scmVkaXJlY3RUeXBlOm51bGx9LGVycm9yOm51bGx9fWNvbnN0e3Byb3ZpZGVyX3Rva2VuOm4scHJvdmlkZXJfcmVmcmVzaF90b2tlbjphLGFjY2Vzc190b2tlbjppLHJlZnJlc2hfdG9rZW46byxleHBpcmVzX2luOmwsZXhwaXJlc19hdDpjLHRva2VuX3R5cGU6ZH09dDtpZighaXx8IWx8fCFvfHwhZCl0aHJvdyBuZXcgWGcoIk5vIHNlc3Npb24gZGVmaW5lZCBpbiBVUkwiKTtjb25zdCB1PU1hdGgucm91bmQoRGF0ZS5ub3coKS8xZTMpLEE9cGFyc2VJbnQobCk7bGV0IGY9dStBO2MmJihmPXBhcnNlSW50KGMpKTtjb25zdCBoPWYtdTtoKjFlMzw9V2QmJmNvbnNvbGUud2FybihgQHN1cGFiYXNlL2dvdHJ1ZS1qczogU2Vzc2lvbiBhcyByZXRyaWV2ZWQgZnJvbSBVUkwgZXhwaXJlcyBpbiAke2h9cywgc2hvdWxkIGhhdmUgYmVlbiBjbG9zZXIgdG8gJHtBfXNgKTtjb25zdCBwPWYtQTt1LXA+PTEyMD9jb25zb2xlLndhcm4oIkBzdXBhYmFzZS9nb3RydWUtanM6IFNlc3Npb24gYXMgcmV0cmlldmVkIGZyb20gVVJMIHdhcyBpc3N1ZWQgb3ZlciAxMjBzIGFnbywgVVJMIGNvdWxkIGJlIHN0YWxlIixwLGYsdSk6dS1wPDAmJmNvbnNvbGUud2FybigiQHN1cGFiYXNlL2dvdHJ1ZS1qczogU2Vzc2lvbiBhcyByZXRyaWV2ZWQgZnJvbSBVUkwgd2FzIGlzc3VlZCBpbiB0aGUgZnV0dXJlPyBDaGVjayB0aGUgZGV2aWNlIGNsb2NrIGZvciBza2V3IixwLGYsdSk7Y29uc3R7ZGF0YTptLGVycm9yOnh9PWF3YWl0IHRoaXMuX2dldFVzZXIoaSk7aWYoeCl0aHJvdyB4O2NvbnN0IHc9e3Byb3ZpZGVyX3Rva2VuOm4scHJvdmlkZXJfcmVmcmVzaF90b2tlbjphLGFjY2Vzc190b2tlbjppLGV4cGlyZXNfaW46QSxleHBpcmVzX2F0OmYscmVmcmVzaF90b2tlbjpvLHRva2VuX3R5cGU6ZCx1c2VyOm0udXNlcn07cmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5oYXNoPSIiLHRoaXMuX2RlYnVnKCIjX2dldFNlc3Npb25Gcm9tVVJMKCkiLCJjbGVhcmluZyB3aW5kb3cubG9jYXRpb24uaGFzaCIpLHtkYXRhOntzZXNzaW9uOncscmVkaXJlY3RUeXBlOnQudHlwZX0sZXJyb3I6bnVsbH19Y2F0Y2gobil7aWYoSGUobikpcmV0dXJue2RhdGE6e3Nlc3Npb246bnVsbCxyZWRpcmVjdFR5cGU6bnVsbH0sZXJyb3I6bn07dGhyb3cgbn19X2lzSW1wbGljaXRHcmFudENhbGxiYWNrKHQpe3JldHVybiEhKHQuYWNjZXNzX3Rva2VufHx0LmVycm9yX2Rlc2NyaXB0aW9uKX1hc3luYyBfaXNQS0NFQ2FsbGJhY2sodCl7Y29uc3Qgcj1hd2FpdCBpYyh0aGlzLnN0b3JhZ2UsYCR7dGhpcy5zdG9yYWdlS2V5fS1jb2RlLXZlcmlmaWVyYCk7cmV0dXJuISEodC5jb2RlJiZyKX1hc3luYyBzaWduT3V0KHQ9e3Njb3BlOiJnbG9iYWwifSl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVByb21pc2UsYXdhaXQgdGhpcy5fYWNxdWlyZUxvY2soLTEsYXN5bmMoKT0+YXdhaXQgdGhpcy5fc2lnbk91dCh0KSl9YXN5bmMgX3NpZ25PdXQoe3Njb3BlOnR9PXtzY29wZToiZ2xvYmFsIn0pe3JldHVybiBhd2FpdCB0aGlzLl91c2VTZXNzaW9uKGFzeW5jIHI9Pnt2YXIgbjtjb25zdHtkYXRhOmEsZXJyb3I6aX09cjtpZihpKXJldHVybntlcnJvcjppfTtjb25zdCBvPShuPWEuc2Vzc2lvbik9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLmFjY2Vzc190b2tlbjtpZihvKXtjb25zdHtlcnJvcjpsfT1hd2FpdCB0aGlzLmFkbWluLnNpZ25PdXQobyx0KTtpZihsJiYhKGpsZShsKSYmKGwuc3RhdHVzPT09NDA0fHxsLnN0YXR1cz09PTQwMXx8bC5zdGF0dXM9PT00MDMpKSlyZXR1cm57ZXJyb3I6bH19cmV0dXJuIHQhPT0ib3RoZXJzIiYmKGF3YWl0IHRoaXMuX3JlbW92ZVNlc3Npb24oKSxhd2FpdCBPbyh0aGlzLnN0b3JhZ2UsYCR7dGhpcy5zdG9yYWdlS2V5fS1jb2RlLXZlcmlmaWVyYCkpLHtlcnJvcjpudWxsfX0pfW9uQXV0aFN0YXRlQ2hhbmdlKHQpe2NvbnN0IHI9UGxlKCksbj17aWQ6cixjYWxsYmFjazp0LHVuc3Vic2NyaWJlOigpPT57dGhpcy5fZGVidWcoIiN1bnN1YnNjcmliZSgpIiwic3RhdGUgY2hhbmdlIGNhbGxiYWNrIHdpdGggaWQgcmVtb3ZlZCIsciksdGhpcy5zdGF0ZUNoYW5nZUVtaXR0ZXJzLmRlbGV0ZShyKX19O3JldHVybiB0aGlzLl9kZWJ1ZygiI29uQXV0aFN0YXRlQ2hhbmdlKCkiLCJyZWdpc3RlcmVkIGNhbGxiYWNrIHdpdGggaWQiLHIpLHRoaXMuc3RhdGVDaGFuZ2VFbWl0dGVycy5zZXQocixuKSwoYXN5bmMoKT0+KGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVByb21pc2UsYXdhaXQgdGhpcy5fYWNxdWlyZUxvY2soLTEsYXN5bmMoKT0+e3RoaXMuX2VtaXRJbml0aWFsU2Vzc2lvbihyKX0pKSkoKSx7ZGF0YTp7c3Vic2NyaXB0aW9uOm59fX1hc3luYyBfZW1pdEluaXRpYWxTZXNzaW9uKHQpe3JldHVybiBhd2FpdCB0aGlzLl91c2VTZXNzaW9uKGFzeW5jIHI9Pnt2YXIgbixhO3RyeXtjb25zdHtkYXRhOntzZXNzaW9uOml9LGVycm9yOm99PXI7aWYobyl0aHJvdyBvO2F3YWl0KChuPXRoaXMuc3RhdGVDaGFuZ2VFbWl0dGVycy5nZXQodCkpPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5jYWxsYmFjaygiSU5JVElBTF9TRVNTSU9OIixpKSksdGhpcy5fZGVidWcoIklOSVRJQUxfU0VTU0lPTiIsImNhbGxiYWNrIGlkIix0LCJzZXNzaW9uIixpKX1jYXRjaChpKXthd2FpdCgoYT10aGlzLnN0YXRlQ2hhbmdlRW1pdHRlcnMuZ2V0KHQpKT09PW51bGx8fGE9PT12b2lkIDA/dm9pZCAwOmEuY2FsbGJhY2soIklOSVRJQUxfU0VTU0lPTiIsbnVsbCkpLHRoaXMuX2RlYnVnKCJJTklUSUFMX1NFU1NJT04iLCJjYWxsYmFjayBpZCIsdCwiZXJyb3IiLGkpLGNvbnNvbGUuZXJyb3IoaSl9fSl9YXN5bmMgcmVzZXRQYXNzd29yZEZvckVtYWlsKHQscj17fSl7bGV0IG49bnVsbCxhPW51bGw7dGhpcy5mbG93VHlwZT09PSJwa2NlIiYmKFtuLGFdPWF3YWl0IEVkKHRoaXMuc3RvcmFnZSx0aGlzLnN0b3JhZ2VLZXksITApKTt0cnl7cmV0dXJuIGF3YWl0IHFlKHRoaXMuZmV0Y2gsIlBPU1QiLGAke3RoaXMudXJsfS9yZWNvdmVyYCx7Ym9keTp7ZW1haWw6dCxjb2RlX2NoYWxsZW5nZTpuLGNvZGVfY2hhbGxlbmdlX21ldGhvZDphLGdvdHJ1ZV9tZXRhX3NlY3VyaXR5OntjYXB0Y2hhX3Rva2VuOnIuY2FwdGNoYVRva2VufX0saGVhZGVyczp0aGlzLmhlYWRlcnMscmVkaXJlY3RUbzpyLnJlZGlyZWN0VG99KX1jYXRjaChpKXtpZihIZShpKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOml9O3Rocm93IGl9fWFzeW5jIGdldFVzZXJJZGVudGl0aWVzKCl7dmFyIHQ7dHJ5e2NvbnN0e2RhdGE6cixlcnJvcjpufT1hd2FpdCB0aGlzLmdldFVzZXIoKTtpZihuKXRocm93IG47cmV0dXJue2RhdGE6e2lkZW50aXRpZXM6KHQ9ci51c2VyLmlkZW50aXRpZXMpIT09bnVsbCYmdCE9PXZvaWQgMD90OltdfSxlcnJvcjpudWxsfX1jYXRjaChyKXtpZihIZShyKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOnJ9O3Rocm93IHJ9fWFzeW5jIGxpbmtJZGVudGl0eSh0KXtyZXR1cm4idG9rZW4iaW4gdD90aGlzLmxpbmtJZGVudGl0eUlkVG9rZW4odCk6dGhpcy5saW5rSWRlbnRpdHlPQXV0aCh0KX1hc3luYyBsaW5rSWRlbnRpdHlPQXV0aCh0KXt2YXIgcjt0cnl7Y29uc3R7ZGF0YTpuLGVycm9yOmF9PWF3YWl0IHRoaXMuX3VzZVNlc3Npb24oYXN5bmMgaT0+e3ZhciBvLGwsYyxkLHU7Y29uc3R7ZGF0YTpBLGVycm9yOmZ9PWk7aWYoZil0aHJvdyBmO2NvbnN0IGg9YXdhaXQgdGhpcy5fZ2V0VXJsRm9yUHJvdmlkZXIoYCR7dGhpcy51cmx9L3VzZXIvaWRlbnRpdGllcy9hdXRob3JpemVgLHQucHJvdmlkZXIse3JlZGlyZWN0VG86KG89dC5vcHRpb25zKT09PW51bGx8fG89PT12b2lkIDA/dm9pZCAwOm8ucmVkaXJlY3RUbyxzY29wZXM6KGw9dC5vcHRpb25zKT09PW51bGx8fGw9PT12b2lkIDA/dm9pZCAwOmwuc2NvcGVzLHF1ZXJ5UGFyYW1zOihjPXQub3B0aW9ucyk9PT1udWxsfHxjPT09dm9pZCAwP3ZvaWQgMDpjLnF1ZXJ5UGFyYW1zLHNraXBCcm93c2VyUmVkaXJlY3Q6ITB9KTtyZXR1cm4gYXdhaXQgcWUodGhpcy5mZXRjaCwiR0VUIixoLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxqd3Q6KHU9KGQ9QS5zZXNzaW9uKT09PW51bGx8fGQ9PT12b2lkIDA/dm9pZCAwOmQuYWNjZXNzX3Rva2VuKSE9PW51bGwmJnUhPT12b2lkIDA/dTp2b2lkIDB9KX0pO2lmKGEpdGhyb3cgYTtyZXR1cm4gTW4oKSYmISghKChyPXQub3B0aW9ucyk9PT1udWxsfHxyPT09dm9pZCAwKSYmci5za2lwQnJvd3NlclJlZGlyZWN0KSYmd2luZG93LmxvY2F0aW9uLmFzc2lnbihuPT1udWxsP3ZvaWQgMDpuLnVybCkse2RhdGE6e3Byb3ZpZGVyOnQucHJvdmlkZXIsdXJsOm49PW51bGw/dm9pZCAwOm4udXJsfSxlcnJvcjpudWxsfX1jYXRjaChuKXtpZihIZShuKSlyZXR1cm57ZGF0YTp7cHJvdmlkZXI6dC5wcm92aWRlcix1cmw6bnVsbH0sZXJyb3I6bn07dGhyb3cgbn19YXN5bmMgbGlua0lkZW50aXR5SWRUb2tlbih0KXtyZXR1cm4gYXdhaXQgdGhpcy5fdXNlU2Vzc2lvbihhc3luYyByPT57dmFyIG47dHJ5e2NvbnN0e2Vycm9yOmEsZGF0YTp7c2Vzc2lvbjppfX09cjtpZihhKXRocm93IGE7Y29uc3R7b3B0aW9uczpvLHByb3ZpZGVyOmwsdG9rZW46YyxhY2Nlc3NfdG9rZW46ZCxub25jZTp1fT10LEE9YXdhaXQgcWUodGhpcy5mZXRjaCwiUE9TVCIsYCR7dGhpcy51cmx9L3Rva2VuP2dyYW50X3R5cGU9aWRfdG9rZW5gLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxqd3Q6KG49aT09bnVsbD92b2lkIDA6aS5hY2Nlc3NfdG9rZW4pIT09bnVsbCYmbiE9PXZvaWQgMD9uOnZvaWQgMCxib2R5Ontwcm92aWRlcjpsLGlkX3Rva2VuOmMsYWNjZXNzX3Rva2VuOmQsbm9uY2U6dSxsaW5rX2lkZW50aXR5OiEwLGdvdHJ1ZV9tZXRhX3NlY3VyaXR5OntjYXB0Y2hhX3Rva2VuOm89PW51bGw/dm9pZCAwOm8uY2FwdGNoYVRva2VufX0seGZvcm06dmF9KSx7ZGF0YTpmLGVycm9yOmh9PUE7cmV0dXJuIGg/e2RhdGE6e3VzZXI6bnVsbCxzZXNzaW9uOm51bGx9LGVycm9yOmh9OiFmfHwhZi5zZXNzaW9ufHwhZi51c2VyP3tkYXRhOnt1c2VyOm51bGwsc2Vzc2lvbjpudWxsfSxlcnJvcjpuZXcgU2R9OihmLnNlc3Npb24mJihhd2FpdCB0aGlzLl9zYXZlU2Vzc2lvbihmLnNlc3Npb24pLGF3YWl0IHRoaXMuX25vdGlmeUFsbFN1YnNjcmliZXJzKCJVU0VSX1VQREFURUQiLGYuc2Vzc2lvbikpLHtkYXRhOmYsZXJyb3I6aH0pfWNhdGNoKGEpe2lmKEhlKGEpKXJldHVybntkYXRhOnt1c2VyOm51bGwsc2Vzc2lvbjpudWxsfSxlcnJvcjphfTt0aHJvdyBhfX0pfWFzeW5jIHVubGlua0lkZW50aXR5KHQpe3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5fdXNlU2Vzc2lvbihhc3luYyByPT57dmFyIG4sYTtjb25zdHtkYXRhOmksZXJyb3I6b309cjtpZihvKXRocm93IG87cmV0dXJuIGF3YWl0IHFlKHRoaXMuZmV0Y2gsIkRFTEVURSIsYCR7dGhpcy51cmx9L3VzZXIvaWRlbnRpdGllcy8ke3QuaWRlbnRpdHlfaWR9YCx7aGVhZGVyczp0aGlzLmhlYWRlcnMsand0OihhPShuPWkuc2Vzc2lvbik9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLmFjY2Vzc190b2tlbikhPT1udWxsJiZhIT09dm9pZCAwP2E6dm9pZCAwfSl9KX1jYXRjaChyKXtpZihIZShyKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOnJ9O3Rocm93IHJ9fWFzeW5jIF9yZWZyZXNoQWNjZXNzVG9rZW4odCl7Y29uc3Qgcj1gI19yZWZyZXNoQWNjZXNzVG9rZW4oJHt0LnN1YnN0cmluZygwLDUpfS4uLilgO3RoaXMuX2RlYnVnKHIsImJlZ2luIik7dHJ5e2NvbnN0IG49RGF0ZS5ub3coKTtyZXR1cm4gYXdhaXQgVWxlKGFzeW5jIGE9PihhPjAmJmF3YWl0IElsZSgyMDAqTWF0aC5wb3coMixhLTEpKSx0aGlzLl9kZWJ1ZyhyLCJyZWZyZXNoaW5nIGF0dGVtcHQiLGEpLGF3YWl0IHFlKHRoaXMuZmV0Y2gsIlBPU1QiLGAke3RoaXMudXJsfS90b2tlbj9ncmFudF90eXBlPXJlZnJlc2hfdG9rZW5gLHtib2R5OntyZWZyZXNoX3Rva2VuOnR9LGhlYWRlcnM6dGhpcy5oZWFkZXJzLHhmb3JtOnZhfSkpLChhLGkpPT57Y29uc3Qgbz0yMDAqTWF0aC5wb3coMixhKTtyZXR1cm4gaSYmSzEoaSkmJkRhdGUubm93KCkrby1uPFdkfSl9Y2F0Y2gobil7aWYodGhpcy5fZGVidWcociwiZXJyb3IiLG4pLEhlKG4pKXJldHVybntkYXRhOntzZXNzaW9uOm51bGwsdXNlcjpudWxsfSxlcnJvcjpufTt0aHJvdyBufWZpbmFsbHl7dGhpcy5fZGVidWcociwiZW5kIil9fV9pc1ZhbGlkU2Vzc2lvbih0KXtyZXR1cm4gdHlwZW9mIHQ9PSJvYmplY3QiJiZ0IT09bnVsbCYmImFjY2Vzc190b2tlbiJpbiB0JiYicmVmcmVzaF90b2tlbiJpbiB0JiYiZXhwaXJlc19hdCJpbiB0fWFzeW5jIF9oYW5kbGVQcm92aWRlclNpZ25Jbih0LHIpe2NvbnN0IG49YXdhaXQgdGhpcy5fZ2V0VXJsRm9yUHJvdmlkZXIoYCR7dGhpcy51cmx9L2F1dGhvcml6ZWAsdCx7cmVkaXJlY3RUbzpyLnJlZGlyZWN0VG8sc2NvcGVzOnIuc2NvcGVzLHF1ZXJ5UGFyYW1zOnIucXVlcnlQYXJhbXN9KTtyZXR1cm4gdGhpcy5fZGVidWcoIiNfaGFuZGxlUHJvdmlkZXJTaWduSW4oKSIsInByb3ZpZGVyIix0LCJvcHRpb25zIixyLCJ1cmwiLG4pLE1uKCkmJiFyLnNraXBCcm93c2VyUmVkaXJlY3QmJndpbmRvdy5sb2NhdGlvbi5hc3NpZ24obikse2RhdGE6e3Byb3ZpZGVyOnQsdXJsOm59LGVycm9yOm51bGx9fWFzeW5jIF9yZWNvdmVyQW5kUmVmcmVzaCgpe3ZhciB0LHI7Y29uc3Qgbj0iI19yZWNvdmVyQW5kUmVmcmVzaCgpIjt0aGlzLl9kZWJ1ZyhuLCJiZWdpbiIpO3RyeXtjb25zdCBhPWF3YWl0IGljKHRoaXMuc3RvcmFnZSx0aGlzLnN0b3JhZ2VLZXkpO2lmKGEmJnRoaXMudXNlclN0b3JhZ2Upe2xldCBvPWF3YWl0IGljKHRoaXMudXNlclN0b3JhZ2UsdGhpcy5zdG9yYWdlS2V5KyItdXNlciIpOyF0aGlzLnN0b3JhZ2UuaXNTZXJ2ZXImJk9iamVjdC5pcyh0aGlzLnN0b3JhZ2UsdGhpcy51c2VyU3RvcmFnZSkmJiFvJiYobz17dXNlcjphLnVzZXJ9LGF3YWl0IEdkKHRoaXMudXNlclN0b3JhZ2UsdGhpcy5zdG9yYWdlS2V5KyItdXNlciIsbykpLGEudXNlcj0odD1vPT1udWxsP3ZvaWQgMDpvLnVzZXIpIT09bnVsbCYmdCE9PXZvaWQgMD90OnoxKCl9ZWxzZSBpZihhJiYhYS51c2VyJiYhYS51c2VyKXtjb25zdCBvPWF3YWl0IGljKHRoaXMuc3RvcmFnZSx0aGlzLnN0b3JhZ2VLZXkrIi11c2VyIik7byYmKG8hPW51bGwmJm8udXNlcik/KGEudXNlcj1vLnVzZXIsYXdhaXQgT28odGhpcy5zdG9yYWdlLHRoaXMuc3RvcmFnZUtleSsiLXVzZXIiKSxhd2FpdCBHZCh0aGlzLnN0b3JhZ2UsdGhpcy5zdG9yYWdlS2V5LGEpKTphLnVzZXI9ejEoKX1pZih0aGlzLl9kZWJ1ZyhuLCJzZXNzaW9uIGZyb20gc3RvcmFnZSIsYSksIXRoaXMuX2lzVmFsaWRTZXNzaW9uKGEpKXt0aGlzLl9kZWJ1ZyhuLCJzZXNzaW9uIGlzIG5vdCB2YWxpZCIpLGEhPT1udWxsJiZhd2FpdCB0aGlzLl9yZW1vdmVTZXNzaW9uKCk7cmV0dXJufWNvbnN0IGk9KChyPWEuZXhwaXJlc19hdCkhPT1udWxsJiZyIT09dm9pZCAwP3I6MS8wKSoxZTMtRGF0ZS5ub3coKTxIMTtpZih0aGlzLl9kZWJ1ZyhuLGBzZXNzaW9uIGhhcyR7aT8iIjoiIG5vdCJ9IGV4cGlyZWQgd2l0aCBtYXJnaW4gb2YgJHtIMX1zYCksaSl7aWYodGhpcy5hdXRvUmVmcmVzaFRva2VuJiZhLnJlZnJlc2hfdG9rZW4pe2NvbnN0e2Vycm9yOm99PWF3YWl0IHRoaXMuX2NhbGxSZWZyZXNoVG9rZW4oYS5yZWZyZXNoX3Rva2VuKTtvJiYoY29uc29sZS5lcnJvcihvKSxLMShvKXx8KHRoaXMuX2RlYnVnKG4sInJlZnJlc2ggZmFpbGVkIHdpdGggYSBub24tcmV0cnlhYmxlIGVycm9yLCByZW1vdmluZyB0aGUgc2Vzc2lvbiIsbyksYXdhaXQgdGhpcy5fcmVtb3ZlU2Vzc2lvbigpKSl9fWVsc2UgaWYoYS51c2VyJiZhLnVzZXIuX19pc1VzZXJOb3RBdmFpbGFibGVQcm94eT09PSEwKXRyeXtjb25zdHtkYXRhOm8sZXJyb3I6bH09YXdhaXQgdGhpcy5fZ2V0VXNlcihhLmFjY2Vzc190b2tlbik7IWwmJihvIT1udWxsJiZvLnVzZXIpPyhhLnVzZXI9by51c2VyLGF3YWl0IHRoaXMuX3NhdmVTZXNzaW9uKGEpLGF3YWl0IHRoaXMuX25vdGlmeUFsbFN1YnNjcmliZXJzKCJTSUdORURfSU4iLGEpKTp0aGlzLl9kZWJ1ZyhuLCJjb3VsZCBub3QgZ2V0IHVzZXIgZGF0YSwgc2tpcHBpbmcgU0lHTkVEX0lOIG5vdGlmaWNhdGlvbiIpfWNhdGNoKG8pe2NvbnNvbGUuZXJyb3IoIkVycm9yIGdldHRpbmcgdXNlciBkYXRhOiIsbyksdGhpcy5fZGVidWcobiwiZXJyb3IgZ2V0dGluZyB1c2VyIGRhdGEsIHNraXBwaW5nIFNJR05FRF9JTiBub3RpZmljYXRpb24iLG8pfWVsc2UgYXdhaXQgdGhpcy5fbm90aWZ5QWxsU3Vic2NyaWJlcnMoIlNJR05FRF9JTiIsYSl9Y2F0Y2goYSl7dGhpcy5fZGVidWcobiwiZXJyb3IiLGEpLGNvbnNvbGUuZXJyb3IoYSk7cmV0dXJufWZpbmFsbHl7dGhpcy5fZGVidWcobiwiZW5kIil9fWFzeW5jIF9jYWxsUmVmcmVzaFRva2VuKHQpe3ZhciByLG47aWYoIXQpdGhyb3cgbmV3IHlhO2lmKHRoaXMucmVmcmVzaGluZ0RlZmVycmVkKXJldHVybiB0aGlzLnJlZnJlc2hpbmdEZWZlcnJlZC5wcm9taXNlO2NvbnN0IGE9YCNfY2FsbFJlZnJlc2hUb2tlbigke3Quc3Vic3RyaW5nKDAsNSl9Li4uKWA7dGhpcy5fZGVidWcoYSwiYmVnaW4iKTt0cnl7dGhpcy5yZWZyZXNoaW5nRGVmZXJyZWQ9bmV3IF93O2NvbnN0e2RhdGE6aSxlcnJvcjpvfT1hd2FpdCB0aGlzLl9yZWZyZXNoQWNjZXNzVG9rZW4odCk7aWYobyl0aHJvdyBvO2lmKCFpLnNlc3Npb24pdGhyb3cgbmV3IHlhO2F3YWl0IHRoaXMuX3NhdmVTZXNzaW9uKGkuc2Vzc2lvbiksYXdhaXQgdGhpcy5fbm90aWZ5QWxsU3Vic2NyaWJlcnMoIlRPS0VOX1JFRlJFU0hFRCIsaS5zZXNzaW9uKTtjb25zdCBsPXtkYXRhOmkuc2Vzc2lvbixlcnJvcjpudWxsfTtyZXR1cm4gdGhpcy5yZWZyZXNoaW5nRGVmZXJyZWQucmVzb2x2ZShsKSxsfWNhdGNoKGkpe2lmKHRoaXMuX2RlYnVnKGEsImVycm9yIixpKSxIZShpKSl7Y29uc3Qgbz17ZGF0YTpudWxsLGVycm9yOml9O3JldHVybiBLMShpKXx8YXdhaXQgdGhpcy5fcmVtb3ZlU2Vzc2lvbigpLChyPXRoaXMucmVmcmVzaGluZ0RlZmVycmVkKT09PW51bGx8fHI9PT12b2lkIDB8fHIucmVzb2x2ZShvKSxvfXRocm93KG49dGhpcy5yZWZyZXNoaW5nRGVmZXJyZWQpPT09bnVsbHx8bj09PXZvaWQgMHx8bi5yZWplY3QoaSksaX1maW5hbGx5e3RoaXMucmVmcmVzaGluZ0RlZmVycmVkPW51bGwsdGhpcy5fZGVidWcoYSwiZW5kIil9fWFzeW5jIF9ub3RpZnlBbGxTdWJzY3JpYmVycyh0LHIsbj0hMCl7Y29uc3QgYT1gI19ub3RpZnlBbGxTdWJzY3JpYmVycygke3R9KWA7dGhpcy5fZGVidWcoYSwiYmVnaW4iLHIsYGJyb2FkY2FzdCA9ICR7bn1gKTt0cnl7dGhpcy5icm9hZGNhc3RDaGFubmVsJiZuJiZ0aGlzLmJyb2FkY2FzdENoYW5uZWwucG9zdE1lc3NhZ2Uoe2V2ZW50OnQsc2Vzc2lvbjpyfSk7Y29uc3QgaT1bXSxvPUFycmF5LmZyb20odGhpcy5zdGF0ZUNoYW5nZUVtaXR0ZXJzLnZhbHVlcygpKS5tYXAoYXN5bmMgbD0+e3RyeXthd2FpdCBsLmNhbGxiYWNrKHQscil9Y2F0Y2goYyl7aS5wdXNoKGMpfX0pO2lmKGF3YWl0IFByb21pc2UuYWxsKG8pLGkubGVuZ3RoPjApe2ZvcihsZXQgbD0wO2w8aS5sZW5ndGg7bCs9MSljb25zb2xlLmVycm9yKGlbbF0pO3Rocm93IGlbMF19fWZpbmFsbHl7dGhpcy5fZGVidWcoYSwiZW5kIil9fWFzeW5jIF9zYXZlU2Vzc2lvbih0KXt0aGlzLl9kZWJ1ZygiI19zYXZlU2Vzc2lvbigpIix0KSx0aGlzLnN1cHByZXNzR2V0U2Vzc2lvbldhcm5pbmc9ITA7Y29uc3Qgcj1PYmplY3QuYXNzaWduKHt9LHQpLG49ci51c2VyJiZyLnVzZXIuX19pc1VzZXJOb3RBdmFpbGFibGVQcm94eT09PSEwO2lmKHRoaXMudXNlclN0b3JhZ2UpeyFuJiZyLnVzZXImJmF3YWl0IEdkKHRoaXMudXNlclN0b3JhZ2UsdGhpcy5zdG9yYWdlS2V5KyItdXNlciIse3VzZXI6ci51c2VyfSk7Y29uc3QgYT1PYmplY3QuYXNzaWduKHt9LHIpO2RlbGV0ZSBhLnVzZXI7Y29uc3QgaT1JRihhKTthd2FpdCBHZCh0aGlzLnN0b3JhZ2UsdGhpcy5zdG9yYWdlS2V5LGkpfWVsc2V7Y29uc3QgYT1JRihyKTthd2FpdCBHZCh0aGlzLnN0b3JhZ2UsdGhpcy5zdG9yYWdlS2V5LGEpfX1hc3luYyBfcmVtb3ZlU2Vzc2lvbigpe3RoaXMuX2RlYnVnKCIjX3JlbW92ZVNlc3Npb24oKSIpLGF3YWl0IE9vKHRoaXMuc3RvcmFnZSx0aGlzLnN0b3JhZ2VLZXkpLGF3YWl0IE9vKHRoaXMuc3RvcmFnZSx0aGlzLnN0b3JhZ2VLZXkrIi1jb2RlLXZlcmlmaWVyIiksYXdhaXQgT28odGhpcy5zdG9yYWdlLHRoaXMuc3RvcmFnZUtleSsiLXVzZXIiKSx0aGlzLnVzZXJTdG9yYWdlJiZhd2FpdCBPbyh0aGlzLnVzZXJTdG9yYWdlLHRoaXMuc3RvcmFnZUtleSsiLXVzZXIiKSxhd2FpdCB0aGlzLl9ub3RpZnlBbGxTdWJzY3JpYmVycygiU0lHTkVEX09VVCIsbnVsbCl9X3JlbW92ZVZpc2liaWxpdHlDaGFuZ2VkQ2FsbGJhY2soKXt0aGlzLl9kZWJ1ZygiI19yZW1vdmVWaXNpYmlsaXR5Q2hhbmdlZENhbGxiYWNrKCkiKTtjb25zdCB0PXRoaXMudmlzaWJpbGl0eUNoYW5nZWRDYWxsYmFjazt0aGlzLnZpc2liaWxpdHlDaGFuZ2VkQ2FsbGJhY2s9bnVsbDt0cnl7dCYmTW4oKSYmKHdpbmRvdyE9bnVsbCYmd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIpJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsdCl9Y2F0Y2gocil7Y29uc29sZS5lcnJvcigicmVtb3ZpbmcgdmlzaWJpbGl0eWNoYW5nZSBjYWxsYmFjayBmYWlsZWQiLHIpfX1hc3luYyBfc3RhcnRBdXRvUmVmcmVzaCgpe2F3YWl0IHRoaXMuX3N0b3BBdXRvUmVmcmVzaCgpLHRoaXMuX2RlYnVnKCIjX3N0YXJ0QXV0b1JlZnJlc2goKSIpO2NvbnN0IHQ9c2V0SW50ZXJ2YWwoKCk9PnRoaXMuX2F1dG9SZWZyZXNoVG9rZW5UaWNrKCksV2QpO3RoaXMuYXV0b1JlZnJlc2hUaWNrZXI9dCx0JiZ0eXBlb2YgdD09Im9iamVjdCImJnR5cGVvZiB0LnVucmVmPT0iZnVuY3Rpb24iP3QudW5yZWYoKTp0eXBlb2YgRGVubzwidSImJnR5cGVvZiBEZW5vLnVucmVmVGltZXI9PSJmdW5jdGlvbiImJkRlbm8udW5yZWZUaW1lcih0KSxzZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCB0aGlzLmluaXRpYWxpemVQcm9taXNlLGF3YWl0IHRoaXMuX2F1dG9SZWZyZXNoVG9rZW5UaWNrKCl9LDApfWFzeW5jIF9zdG9wQXV0b1JlZnJlc2goKXt0aGlzLl9kZWJ1ZygiI19zdG9wQXV0b1JlZnJlc2goKSIpO2NvbnN0IHQ9dGhpcy5hdXRvUmVmcmVzaFRpY2tlcjt0aGlzLmF1dG9SZWZyZXNoVGlja2VyPW51bGwsdCYmY2xlYXJJbnRlcnZhbCh0KX1hc3luYyBzdGFydEF1dG9SZWZyZXNoKCl7dGhpcy5fcmVtb3ZlVmlzaWJpbGl0eUNoYW5nZWRDYWxsYmFjaygpLGF3YWl0IHRoaXMuX3N0YXJ0QXV0b1JlZnJlc2goKX1hc3luYyBzdG9wQXV0b1JlZnJlc2goKXt0aGlzLl9yZW1vdmVWaXNpYmlsaXR5Q2hhbmdlZENhbGxiYWNrKCksYXdhaXQgdGhpcy5fc3RvcEF1dG9SZWZyZXNoKCl9YXN5bmMgX2F1dG9SZWZyZXNoVG9rZW5UaWNrKCl7dGhpcy5fZGVidWcoIiNfYXV0b1JlZnJlc2hUb2tlblRpY2soKSIsImJlZ2luIik7dHJ5e2F3YWl0IHRoaXMuX2FjcXVpcmVMb2NrKDAsYXN5bmMoKT0+e3RyeXtjb25zdCB0PURhdGUubm93KCk7dHJ5e3JldHVybiBhd2FpdCB0aGlzLl91c2VTZXNzaW9uKGFzeW5jIHI9Pntjb25zdHtkYXRhOntzZXNzaW9uOm59fT1yO2lmKCFufHwhbi5yZWZyZXNoX3Rva2VufHwhbi5leHBpcmVzX2F0KXt0aGlzLl9kZWJ1ZygiI19hdXRvUmVmcmVzaFRva2VuVGljaygpIiwibm8gc2Vzc2lvbiIpO3JldHVybn1jb25zdCBhPU1hdGguZmxvb3IoKG4uZXhwaXJlc19hdCoxZTMtdCkvV2QpO3RoaXMuX2RlYnVnKCIjX2F1dG9SZWZyZXNoVG9rZW5UaWNrKCkiLGBhY2Nlc3MgdG9rZW4gZXhwaXJlcyBpbiAke2F9IHRpY2tzLCBhIHRpY2sgbGFzdHMgJHtXZH1tcywgcmVmcmVzaCB0aHJlc2hvbGQgaXMgJHtZQ30gdGlja3NgKSxhPD1ZQyYmYXdhaXQgdGhpcy5fY2FsbFJlZnJlc2hUb2tlbihuLnJlZnJlc2hfdG9rZW4pfSl9Y2F0Y2gocil7Y29uc29sZS5lcnJvcigiQXV0byByZWZyZXNoIHRpY2sgZmFpbGVkIHdpdGggZXJyb3IuIFRoaXMgaXMgbGlrZWx5IGEgdHJhbnNpZW50IGVycm9yLiIscil9fWZpbmFsbHl7dGhpcy5fZGVidWcoIiNfYXV0b1JlZnJlc2hUb2tlblRpY2soKSIsImVuZCIpfX0pfWNhdGNoKHQpe2lmKHQuaXNBY3F1aXJlVGltZW91dHx8dCBpbnN0YW5jZW9mIFpIKXRoaXMuX2RlYnVnKCJhdXRvIHJlZnJlc2ggdG9rZW4gdGljayBsb2NrIG5vdCBhdmFpbGFibGUiKTtlbHNlIHRocm93IHR9fWFzeW5jIF9oYW5kbGVWaXNpYmlsaXR5Q2hhbmdlKCl7aWYodGhpcy5fZGVidWcoIiNfaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSgpIiksIU1uKCl8fCEod2luZG93IT1udWxsJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcikpcmV0dXJuIHRoaXMuYXV0b1JlZnJlc2hUb2tlbiYmdGhpcy5zdGFydEF1dG9SZWZyZXNoKCksITE7dHJ5e3RoaXMudmlzaWJpbGl0eUNoYW5nZWRDYWxsYmFjaz1hc3luYygpPT5hd2FpdCB0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2VkKCExKSx3aW5kb3c9PW51bGx8fHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLnZpc2liaWxpdHlDaGFuZ2VkQ2FsbGJhY2spLGF3YWl0IHRoaXMuX29uVmlzaWJpbGl0eUNoYW5nZWQoITApfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoIl9oYW5kbGVWaXNpYmlsaXR5Q2hhbmdlIix0KX19YXN5bmMgX29uVmlzaWJpbGl0eUNoYW5nZWQodCl7Y29uc3Qgcj1gI19vblZpc2liaWxpdHlDaGFuZ2VkKCR7dH0pYDt0aGlzLl9kZWJ1ZyhyLCJ2aXNpYmlsaXR5U3RhdGUiLGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSksZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09InZpc2libGUiPyh0aGlzLmF1dG9SZWZyZXNoVG9rZW4mJnRoaXMuX3N0YXJ0QXV0b1JlZnJlc2goKSx0fHwoYXdhaXQgdGhpcy5pbml0aWFsaXplUHJvbWlzZSxhd2FpdCB0aGlzLl9hY3F1aXJlTG9jaygtMSxhc3luYygpPT57aWYoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlIT09InZpc2libGUiKXt0aGlzLl9kZWJ1ZyhyLCJhY3F1aXJlZCB0aGUgbG9jayB0byByZWNvdmVyIHRoZSBzZXNzaW9uLCBidXQgdGhlIGJyb3dzZXIgdmlzaWJpbGl0eVN0YXRlIGlzIG5vIGxvbmdlciB2aXNpYmxlLCBhYm9ydGluZyIpO3JldHVybn1hd2FpdCB0aGlzLl9yZWNvdmVyQW5kUmVmcmVzaCgpfSkpKTpkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIiYmdGhpcy5hdXRvUmVmcmVzaFRva2VuJiZ0aGlzLl9zdG9wQXV0b1JlZnJlc2goKX1hc3luYyBfZ2V0VXJsRm9yUHJvdmlkZXIodCxyLG4pe2NvbnN0IGE9W2Bwcm92aWRlcj0ke2VuY29kZVVSSUNvbXBvbmVudChyKX1gXTtpZihuIT1udWxsJiZuLnJlZGlyZWN0VG8mJmEucHVzaChgcmVkaXJlY3RfdG89JHtlbmNvZGVVUklDb21wb25lbnQobi5yZWRpcmVjdFRvKX1gKSxuIT1udWxsJiZuLnNjb3BlcyYmYS5wdXNoKGBzY29wZXM9JHtlbmNvZGVVUklDb21wb25lbnQobi5zY29wZXMpfWApLHRoaXMuZmxvd1R5cGU9PT0icGtjZSIpe2NvbnN0W2ksb109YXdhaXQgRWQodGhpcy5zdG9yYWdlLHRoaXMuc3RvcmFnZUtleSksbD1uZXcgVVJMU2VhcmNoUGFyYW1zKHtjb2RlX2NoYWxsZW5nZTpgJHtlbmNvZGVVUklDb21wb25lbnQoaSl9YCxjb2RlX2NoYWxsZW5nZV9tZXRob2Q6YCR7ZW5jb2RlVVJJQ29tcG9uZW50KG8pfWB9KTthLnB1c2gobC50b1N0cmluZygpKX1pZihuIT1udWxsJiZuLnF1ZXJ5UGFyYW1zKXtjb25zdCBpPW5ldyBVUkxTZWFyY2hQYXJhbXMobi5xdWVyeVBhcmFtcyk7YS5wdXNoKGkudG9TdHJpbmcoKSl9cmV0dXJuIG4hPW51bGwmJm4uc2tpcEJyb3dzZXJSZWRpcmVjdCYmYS5wdXNoKGBza2lwX2h0dHBfcmVkaXJlY3Q9JHtuLnNraXBCcm93c2VyUmVkaXJlY3R9YCksYCR7dH0/JHthLmpvaW4oIiYiKX1gfWFzeW5jIF91bmVucm9sbCh0KXt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuX3VzZVNlc3Npb24oYXN5bmMgcj0+e3ZhciBuO2NvbnN0e2RhdGE6YSxlcnJvcjppfT1yO3JldHVybiBpP3tkYXRhOm51bGwsZXJyb3I6aX06YXdhaXQgcWUodGhpcy5mZXRjaCwiREVMRVRFIixgJHt0aGlzLnVybH0vZmFjdG9ycy8ke3QuZmFjdG9ySWR9YCx7aGVhZGVyczp0aGlzLmhlYWRlcnMsand0OihuPWE9PW51bGw/dm9pZCAwOmEuc2Vzc2lvbik9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLmFjY2Vzc190b2tlbn0pfSl9Y2F0Y2gocil7aWYoSGUocikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpyfTt0aHJvdyByfX1hc3luYyBfZW5yb2xsKHQpe3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5fdXNlU2Vzc2lvbihhc3luYyByPT57dmFyIG4sYTtjb25zdHtkYXRhOmksZXJyb3I6b309cjtpZihvKXJldHVybntkYXRhOm51bGwsZXJyb3I6b307Y29uc3QgbD1PYmplY3QuYXNzaWduKHtmcmllbmRseV9uYW1lOnQuZnJpZW5kbHlOYW1lLGZhY3Rvcl90eXBlOnQuZmFjdG9yVHlwZX0sdC5mYWN0b3JUeXBlPT09InBob25lIj97cGhvbmU6dC5waG9uZX06dC5mYWN0b3JUeXBlPT09InRvdHAiP3tpc3N1ZXI6dC5pc3N1ZXJ9Ont9KSx7ZGF0YTpjLGVycm9yOmR9PWF3YWl0IHFlKHRoaXMuZmV0Y2gsIlBPU1QiLGAke3RoaXMudXJsfS9mYWN0b3JzYCx7Ym9keTpsLGhlYWRlcnM6dGhpcy5oZWFkZXJzLGp3dDoobj1pPT1udWxsP3ZvaWQgMDppLnNlc3Npb24pPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5hY2Nlc3NfdG9rZW59KTtyZXR1cm4gZD97ZGF0YTpudWxsLGVycm9yOmR9Oih0LmZhY3RvclR5cGU9PT0idG90cCImJmMudHlwZT09PSJ0b3RwIiYmKCEoKGE9Yz09bnVsbD92b2lkIDA6Yy50b3RwKT09PW51bGx8fGE9PT12b2lkIDApJiZhLnFyX2NvZGUpJiYoYy50b3RwLnFyX2NvZGU9YGRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGYtOCwke2MudG90cC5xcl9jb2RlfWApLHtkYXRhOmMsZXJyb3I6bnVsbH0pfSl9Y2F0Y2gocil7aWYoSGUocikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpyfTt0aHJvdyByfX1hc3luYyBfdmVyaWZ5KHQpe3JldHVybiB0aGlzLl9hY3F1aXJlTG9jaygtMSxhc3luYygpPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLl91c2VTZXNzaW9uKGFzeW5jIHI9Pnt2YXIgbjtjb25zdHtkYXRhOmEsZXJyb3I6aX09cjtpZihpKXJldHVybntkYXRhOm51bGwsZXJyb3I6aX07Y29uc3Qgbz1PYmplY3QuYXNzaWduKHtjaGFsbGVuZ2VfaWQ6dC5jaGFsbGVuZ2VJZH0sIndlYmF1dGhuImluIHQ/e3dlYmF1dGhuOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LndlYmF1dGhuKSx7Y3JlZGVudGlhbF9yZXNwb25zZTp0LndlYmF1dGhuLnR5cGU9PT0iY3JlYXRlIj9BY2UodC53ZWJhdXRobi5jcmVkZW50aWFsX3Jlc3BvbnNlKTpmY2UodC53ZWJhdXRobi5jcmVkZW50aWFsX3Jlc3BvbnNlKX0pfTp7Y29kZTp0LmNvZGV9KSx7ZGF0YTpsLGVycm9yOmN9PWF3YWl0IHFlKHRoaXMuZmV0Y2gsIlBPU1QiLGAke3RoaXMudXJsfS9mYWN0b3JzLyR7dC5mYWN0b3JJZH0vdmVyaWZ5YCx7Ym9keTpvLGhlYWRlcnM6dGhpcy5oZWFkZXJzLGp3dDoobj1hPT1udWxsP3ZvaWQgMDphLnNlc3Npb24pPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5hY2Nlc3NfdG9rZW59KTtyZXR1cm4gYz97ZGF0YTpudWxsLGVycm9yOmN9Oihhd2FpdCB0aGlzLl9zYXZlU2Vzc2lvbihPYmplY3QuYXNzaWduKHtleHBpcmVzX2F0Ok1hdGgucm91bmQoRGF0ZS5ub3coKS8xZTMpK2wuZXhwaXJlc19pbn0sbCkpLGF3YWl0IHRoaXMuX25vdGlmeUFsbFN1YnNjcmliZXJzKCJNRkFfQ0hBTExFTkdFX1ZFUklGSUVEIixsKSx7ZGF0YTpsLGVycm9yOmN9KX0pfWNhdGNoKHIpe2lmKEhlKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19KX1hc3luYyBfY2hhbGxlbmdlKHQpe3JldHVybiB0aGlzLl9hY3F1aXJlTG9jaygtMSxhc3luYygpPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLl91c2VTZXNzaW9uKGFzeW5jIHI9Pnt2YXIgbjtjb25zdHtkYXRhOmEsZXJyb3I6aX09cjtpZihpKXJldHVybntkYXRhOm51bGwsZXJyb3I6aX07Y29uc3Qgbz1hd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vZmFjdG9ycy8ke3QuZmFjdG9ySWR9L2NoYWxsZW5nZWAse2JvZHk6dCxoZWFkZXJzOnRoaXMuaGVhZGVycyxqd3Q6KG49YT09bnVsbD92b2lkIDA6YS5zZXNzaW9uKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4uYWNjZXNzX3Rva2VufSk7aWYoby5lcnJvcilyZXR1cm4gbztjb25zdHtkYXRhOmx9PW87aWYobC50eXBlIT09IndlYmF1dGhuIilyZXR1cm57ZGF0YTpsLGVycm9yOm51bGx9O3N3aXRjaChsLndlYmF1dGhuLnR5cGUpe2Nhc2UiY3JlYXRlIjpyZXR1cm57ZGF0YTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sbCkse3dlYmF1dGhuOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxsLndlYmF1dGhuKSx7Y3JlZGVudGlhbF9vcHRpb25zOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxsLndlYmF1dGhuLmNyZWRlbnRpYWxfb3B0aW9ucykse3B1YmxpY0tleTpkY2UobC53ZWJhdXRobi5jcmVkZW50aWFsX29wdGlvbnMucHVibGljS2V5KX0pfSl9KSxlcnJvcjpudWxsfTtjYXNlInJlcXVlc3QiOnJldHVybntkYXRhOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxsKSx7d2ViYXV0aG46T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGwud2ViYXV0aG4pLHtjcmVkZW50aWFsX29wdGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGwud2ViYXV0aG4uY3JlZGVudGlhbF9vcHRpb25zKSx7cHVibGljS2V5OnVjZShsLndlYmF1dGhuLmNyZWRlbnRpYWxfb3B0aW9ucy5wdWJsaWNLZXkpfSl9KX0pLGVycm9yOm51bGx9fX0pfWNhdGNoKHIpe2lmKEhlKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19KX1hc3luYyBfY2hhbGxlbmdlQW5kVmVyaWZ5KHQpe2NvbnN0e2RhdGE6cixlcnJvcjpufT1hd2FpdCB0aGlzLl9jaGFsbGVuZ2Uoe2ZhY3RvcklkOnQuZmFjdG9ySWR9KTtyZXR1cm4gbj97ZGF0YTpudWxsLGVycm9yOm59OmF3YWl0IHRoaXMuX3ZlcmlmeSh7ZmFjdG9ySWQ6dC5mYWN0b3JJZCxjaGFsbGVuZ2VJZDpyLmlkLGNvZGU6dC5jb2RlfSl9YXN5bmMgX2xpc3RGYWN0b3JzKCl7dmFyIHQ7Y29uc3R7ZGF0YTp7dXNlcjpyfSxlcnJvcjpufT1hd2FpdCB0aGlzLmdldFVzZXIoKTtpZihuKXJldHVybntkYXRhOm51bGwsZXJyb3I6bn07Y29uc3QgYT17YWxsOltdLHBob25lOltdLHRvdHA6W10sd2ViYXV0aG46W119O2Zvcihjb25zdCBpIG9mKHQ9cj09bnVsbD92b2lkIDA6ci5mYWN0b3JzKSE9PW51bGwmJnQhPT12b2lkIDA/dDpbXSlhLmFsbC5wdXNoKGkpLGkuc3RhdHVzPT09InZlcmlmaWVkIiYmYVtpLmZhY3Rvcl90eXBlXS5wdXNoKGkpO3JldHVybntkYXRhOmEsZXJyb3I6bnVsbH19YXN5bmMgX2dldEF1dGhlbnRpY2F0b3JBc3N1cmFuY2VMZXZlbCgpe3ZhciB0LHI7Y29uc3R7ZGF0YTp7c2Vzc2lvbjpufSxlcnJvcjphfT1hd2FpdCB0aGlzLmdldFNlc3Npb24oKTtpZihhKXJldHVybntkYXRhOm51bGwsZXJyb3I6YX07aWYoIW4pcmV0dXJue2RhdGE6e2N1cnJlbnRMZXZlbDpudWxsLG5leHRMZXZlbDpudWxsLGN1cnJlbnRBdXRoZW50aWNhdGlvbk1ldGhvZHM6W119LGVycm9yOm51bGx9O2NvbnN0e3BheWxvYWQ6aX09VjEobi5hY2Nlc3NfdG9rZW4pO2xldCBvPW51bGw7aS5hYWwmJihvPWkuYWFsKTtsZXQgbD1vOygocj0odD1uLnVzZXIuZmFjdG9ycyk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LmZpbHRlcih1PT51LnN0YXR1cz09PSJ2ZXJpZmllZCIpKSE9PW51bGwmJnIhPT12b2lkIDA/cjpbXSkubGVuZ3RoPjAmJihsPSJhYWwyIik7Y29uc3QgZD1pLmFtcnx8W107cmV0dXJue2RhdGE6e2N1cnJlbnRMZXZlbDpvLG5leHRMZXZlbDpsLGN1cnJlbnRBdXRoZW50aWNhdGlvbk1ldGhvZHM6ZH0sZXJyb3I6bnVsbH19YXN5bmMgX2dldEF1dGhvcml6YXRpb25EZXRhaWxzKHQpe3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5fdXNlU2Vzc2lvbihhc3luYyByPT57Y29uc3R7ZGF0YTp7c2Vzc2lvbjpufSxlcnJvcjphfT1yO3JldHVybiBhP3tkYXRhOm51bGwsZXJyb3I6YX06bj9hd2FpdCBxZSh0aGlzLmZldGNoLCJHRVQiLGAke3RoaXMudXJsfS9vYXV0aC9hdXRob3JpemF0aW9ucy8ke3R9YCx7aGVhZGVyczp0aGlzLmhlYWRlcnMsand0Om4uYWNjZXNzX3Rva2VuLHhmb3JtOmk9Pih7ZGF0YTppLGVycm9yOm51bGx9KX0pOntkYXRhOm51bGwsZXJyb3I6bmV3IHlhfX0pfWNhdGNoKHIpe2lmKEhlKHIpKXJldHVybntkYXRhOm51bGwsZXJyb3I6cn07dGhyb3cgcn19YXN5bmMgX2FwcHJvdmVBdXRob3JpemF0aW9uKHQscil7dHJ5e3JldHVybiBhd2FpdCB0aGlzLl91c2VTZXNzaW9uKGFzeW5jIG49Pntjb25zdHtkYXRhOntzZXNzaW9uOmF9LGVycm9yOml9PW47aWYoaSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOml9O2lmKCFhKXJldHVybntkYXRhOm51bGwsZXJyb3I6bmV3IHlhfTtjb25zdCBvPWF3YWl0IHFlKHRoaXMuZmV0Y2gsIlBPU1QiLGAke3RoaXMudXJsfS9vYXV0aC9hdXRob3JpemF0aW9ucy8ke3R9L2NvbnNlbnRgLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxqd3Q6YS5hY2Nlc3NfdG9rZW4sYm9keTp7YWN0aW9uOiJhcHByb3ZlIn0seGZvcm06bD0+KHtkYXRhOmwsZXJyb3I6bnVsbH0pfSk7cmV0dXJuIG8uZGF0YSYmby5kYXRhLnJlZGlyZWN0X3VybCYmTW4oKSYmIShyIT1udWxsJiZyLnNraXBCcm93c2VyUmVkaXJlY3QpJiZ3aW5kb3cubG9jYXRpb24uYXNzaWduKG8uZGF0YS5yZWRpcmVjdF91cmwpLG99KX1jYXRjaChuKXtpZihIZShuKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOm59O3Rocm93IG59fWFzeW5jIF9kZW55QXV0aG9yaXphdGlvbih0LHIpe3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5fdXNlU2Vzc2lvbihhc3luYyBuPT57Y29uc3R7ZGF0YTp7c2Vzc2lvbjphfSxlcnJvcjppfT1uO2lmKGkpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjppfTtpZighYSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOm5ldyB5YX07Y29uc3Qgbz1hd2FpdCBxZSh0aGlzLmZldGNoLCJQT1NUIixgJHt0aGlzLnVybH0vb2F1dGgvYXV0aG9yaXphdGlvbnMvJHt0fS9jb25zZW50YCx7aGVhZGVyczp0aGlzLmhlYWRlcnMsand0OmEuYWNjZXNzX3Rva2VuLGJvZHk6e2FjdGlvbjoiZGVueSJ9LHhmb3JtOmw9Pih7ZGF0YTpsLGVycm9yOm51bGx9KX0pO3JldHVybiBvLmRhdGEmJm8uZGF0YS5yZWRpcmVjdF91cmwmJk1uKCkmJiEociE9bnVsbCYmci5za2lwQnJvd3NlclJlZGlyZWN0KSYmd2luZG93LmxvY2F0aW9uLmFzc2lnbihvLmRhdGEucmVkaXJlY3RfdXJsKSxvfSl9Y2F0Y2gobil7aWYoSGUobikpcmV0dXJue2RhdGE6bnVsbCxlcnJvcjpufTt0aHJvdyBufX1hc3luYyBmZXRjaEp3ayh0LHI9e2tleXM6W119KXtsZXQgbj1yLmtleXMuZmluZChsPT5sLmtpZD09PXQpO2lmKG4pcmV0dXJuIG47Y29uc3QgYT1EYXRlLm5vdygpO2lmKG49dGhpcy5qd2tzLmtleXMuZmluZChsPT5sLmtpZD09PXQpLG4mJnRoaXMuandrc19jYWNoZWRfYXQrd2xlPmEpcmV0dXJuIG47Y29uc3R7ZGF0YTppLGVycm9yOm99PWF3YWl0IHFlKHRoaXMuZmV0Y2gsIkdFVCIsYCR7dGhpcy51cmx9Ly53ZWxsLWtub3duL2p3a3MuanNvbmAse2hlYWRlcnM6dGhpcy5oZWFkZXJzfSk7aWYobyl0aHJvdyBvO3JldHVybiFpLmtleXN8fGkua2V5cy5sZW5ndGg9PT0wfHwodGhpcy5qd2tzPWksdGhpcy5qd2tzX2NhY2hlZF9hdD1hLG49aS5rZXlzLmZpbmQobD0+bC5raWQ9PT10KSwhbik/bnVsbDpufWFzeW5jIGdldENsYWltcyh0LHI9e30pe3RyeXtsZXQgbj10O2lmKCFuKXtjb25zdHtkYXRhOmgsZXJyb3I6cH09YXdhaXQgdGhpcy5nZXRTZXNzaW9uKCk7aWYocHx8IWguc2Vzc2lvbilyZXR1cm57ZGF0YTpudWxsLGVycm9yOnB9O249aC5zZXNzaW9uLmFjY2Vzc190b2tlbn1jb25zdHtoZWFkZXI6YSxwYXlsb2FkOmksc2lnbmF0dXJlOm8scmF3OntoZWFkZXI6bCxwYXlsb2FkOmN9fT1WMShuKTtyIT1udWxsJiZyLmFsbG93RXhwaXJlZHx8SGxlKGkuZXhwKTtjb25zdCBkPSFhLmFsZ3x8YS5hbGcuc3RhcnRzV2l0aCgiSFMiKXx8IWEua2lkfHwhKCJjcnlwdG8iaW4gZ2xvYmFsVGhpcyYmInN1YnRsZSJpbiBnbG9iYWxUaGlzLmNyeXB0byk/bnVsbDphd2FpdCB0aGlzLmZldGNoSndrKGEua2lkLHIhPW51bGwmJnIua2V5cz97a2V5czpyLmtleXN9OnI9PW51bGw/dm9pZCAwOnIuandrcyk7aWYoIWQpe2NvbnN0e2Vycm9yOmh9PWF3YWl0IHRoaXMuZ2V0VXNlcihuKTtpZihoKXRocm93IGg7cmV0dXJue2RhdGE6e2NsYWltczppLGhlYWRlcjphLHNpZ25hdHVyZTpvfSxlcnJvcjpudWxsfX1jb25zdCB1PUtsZShhLmFsZyksQT1hd2FpdCBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIixkLHUsITAsWyJ2ZXJpZnkiXSk7aWYoIWF3YWl0IGNyeXB0by5zdWJ0bGUudmVyaWZ5KHUsQSxvLGtsZShgJHtsfS4ke2N9YCkpKXRocm93IG5ldyBaQygiSW52YWxpZCBKV1Qgc2lnbmF0dXJlIik7cmV0dXJue2RhdGE6e2NsYWltczppLGhlYWRlcjphLHNpZ25hdHVyZTpvfSxlcnJvcjpudWxsfX1jYXRjaChuKXtpZihIZShuKSlyZXR1cm57ZGF0YTpudWxsLGVycm9yOm59O3Rocm93IG59fX1DbS5uZXh0SW5zdGFuY2VJRD0wO2NvbnN0IGJjZT1DbTtjbGFzcyBqY2UgZXh0ZW5kcyBiY2V7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9fWNsYXNzIE5jZXtjb25zdHJ1Y3Rvcih0LHIsbil7dmFyIGEsaSxvO3RoaXMuc3VwYWJhc2VVcmw9dCx0aGlzLnN1cGFiYXNlS2V5PXI7Y29uc3QgbD1wbGUodCk7aWYoIXIpdGhyb3cgbmV3IEVycm9yKCJzdXBhYmFzZUtleSBpcyByZXF1aXJlZC4iKTt0aGlzLnJlYWx0aW1lVXJsPW5ldyBVUkwoInJlYWx0aW1lL3YxIixsKSx0aGlzLnJlYWx0aW1lVXJsLnByb3RvY29sPXRoaXMucmVhbHRpbWVVcmwucHJvdG9jb2wucmVwbGFjZSgiaHR0cCIsIndzIiksdGhpcy5hdXRoVXJsPW5ldyBVUkwoImF1dGgvdjEiLGwpLHRoaXMuc3RvcmFnZVVybD1uZXcgVVJMKCJzdG9yYWdlL3YxIixsKSx0aGlzLmZ1bmN0aW9uc1VybD1uZXcgVVJMKCJmdW5jdGlvbnMvdjEiLGwpO2NvbnN0IGM9YHNiLSR7bC5ob3N0bmFtZS5zcGxpdCgiLiIpWzBdfS1hdXRoLXRva2VuYCxkPXtkYjpsbGUscmVhbHRpbWU6ZGxlLGF1dGg6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGNsZSkse3N0b3JhZ2VLZXk6Y30pLGdsb2JhbDpvbGV9LHU9bWxlKG4/P3t9LGQpO3RoaXMuc3RvcmFnZUtleT0oYT11LmF1dGguc3RvcmFnZUtleSkhPT1udWxsJiZhIT09dm9pZCAwP2E6IiIsdGhpcy5oZWFkZXJzPShpPXUuZ2xvYmFsLmhlYWRlcnMpIT09bnVsbCYmaSE9PXZvaWQgMD9pOnt9LHUuYWNjZXNzVG9rZW4/KHRoaXMuYWNjZXNzVG9rZW49dS5hY2Nlc3NUb2tlbix0aGlzLmF1dGg9bmV3IFByb3h5KHt9LHtnZXQ6KEEsZik9Pnt0aHJvdyBuZXcgRXJyb3IoYEBzdXBhYmFzZS9zdXBhYmFzZS1qczogU3VwYWJhc2UgQ2xpZW50IGlzIGNvbmZpZ3VyZWQgd2l0aCB0aGUgYWNjZXNzVG9rZW4gb3B0aW9uLCBhY2Nlc3Npbmcgc3VwYWJhc2UuYXV0aC4ke1N0cmluZyhmKX0gaXMgbm90IHBvc3NpYmxlYCl9fSkpOnRoaXMuYXV0aD10aGlzLl9pbml0U3VwYWJhc2VBdXRoQ2xpZW50KChvPXUuYXV0aCkhPT1udWxsJiZvIT09dm9pZCAwP286e30sdGhpcy5oZWFkZXJzLHUuZ2xvYmFsLmZldGNoKSx0aGlzLmZldGNoPWZsZShyLHRoaXMuX2dldEFjY2Vzc1Rva2VuLmJpbmQodGhpcyksdS5nbG9iYWwuZmV0Y2gpLHRoaXMucmVhbHRpbWU9dGhpcy5faW5pdFJlYWx0aW1lQ2xpZW50KE9iamVjdC5hc3NpZ24oe2hlYWRlcnM6dGhpcy5oZWFkZXJzLGFjY2Vzc1Rva2VuOnRoaXMuX2dldEFjY2Vzc1Rva2VuLmJpbmQodGhpcyl9LHUucmVhbHRpbWUpKSx0aGlzLnJlc3Q9bmV3IGdvZShuZXcgVVJMKCJyZXN0L3YxIixsKS5ocmVmLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxzY2hlbWE6dS5kYi5zY2hlbWEsZmV0Y2g6dGhpcy5mZXRjaH0pLHRoaXMuc3RvcmFnZT1uZXcgc2xlKHRoaXMuc3RvcmFnZVVybC5ocmVmLHRoaXMuaGVhZGVycyx0aGlzLmZldGNoLG49PW51bGw/dm9pZCAwOm4uc3RvcmFnZSksdS5hY2Nlc3NUb2tlbnx8dGhpcy5fbGlzdGVuRm9yQXV0aEV2ZW50cygpfWdldCBmdW5jdGlvbnMoKXtyZXR1cm4gbmV3IGNvZSh0aGlzLmZ1bmN0aW9uc1VybC5ocmVmLHtoZWFkZXJzOnRoaXMuaGVhZGVycyxjdXN0b21GZXRjaDp0aGlzLmZldGNofSl9ZnJvbSh0KXtyZXR1cm4gdGhpcy5yZXN0LmZyb20odCl9c2NoZW1hKHQpe3JldHVybiB0aGlzLnJlc3Quc2NoZW1hKHQpfXJwYyh0LHI9e30sbj17aGVhZDohMSxnZXQ6ITEsY291bnQ6dm9pZCAwfSl7cmV0dXJuIHRoaXMucmVzdC5ycGModCxyLG4pfWNoYW5uZWwodCxyPXtjb25maWc6e319KXtyZXR1cm4gdGhpcy5yZWFsdGltZS5jaGFubmVsKHQscil9Z2V0Q2hhbm5lbHMoKXtyZXR1cm4gdGhpcy5yZWFsdGltZS5nZXRDaGFubmVscygpfXJlbW92ZUNoYW5uZWwodCl7cmV0dXJuIHRoaXMucmVhbHRpbWUucmVtb3ZlQ2hhbm5lbCh0KX1yZW1vdmVBbGxDaGFubmVscygpe3JldHVybiB0aGlzLnJlYWx0aW1lLnJlbW92ZUFsbENoYW5uZWxzKCl9YXN5bmMgX2dldEFjY2Vzc1Rva2VuKCl7dmFyIHQscjtpZih0aGlzLmFjY2Vzc1Rva2VuKXJldHVybiBhd2FpdCB0aGlzLmFjY2Vzc1Rva2VuKCk7Y29uc3R7ZGF0YTpufT1hd2FpdCB0aGlzLmF1dGguZ2V0U2Vzc2lvbigpO3JldHVybihyPSh0PW4uc2Vzc2lvbik9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LmFjY2Vzc190b2tlbikhPT1udWxsJiZyIT09dm9pZCAwP3I6dGhpcy5zdXBhYmFzZUtleX1faW5pdFN1cGFiYXNlQXV0aENsaWVudCh7YXV0b1JlZnJlc2hUb2tlbjp0LHBlcnNpc3RTZXNzaW9uOnIsZGV0ZWN0U2Vzc2lvbkluVXJsOm4sc3RvcmFnZTphLHVzZXJTdG9yYWdlOmksc3RvcmFnZUtleTpvLGZsb3dUeXBlOmwsbG9jazpjLGRlYnVnOmR9LHUsQSl7Y29uc3QgZj17QXV0aG9yaXphdGlvbjpgQmVhcmVyICR7dGhpcy5zdXBhYmFzZUtleX1gLGFwaWtleTpgJHt0aGlzLnN1cGFiYXNlS2V5fWB9O3JldHVybiBuZXcgamNlKHt1cmw6dGhpcy5hdXRoVXJsLmhyZWYsaGVhZGVyczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZiksdSksc3RvcmFnZUtleTpvLGF1dG9SZWZyZXNoVG9rZW46dCxwZXJzaXN0U2Vzc2lvbjpyLGRldGVjdFNlc3Npb25JblVybDpuLHN0b3JhZ2U6YSx1c2VyU3RvcmFnZTppLGZsb3dUeXBlOmwsbG9jazpjLGRlYnVnOmQsZmV0Y2g6QSxoYXNDdXN0b21BdXRob3JpemF0aW9uSGVhZGVyOk9iamVjdC5rZXlzKHRoaXMuaGVhZGVycykuc29tZShoPT5oLnRvTG93ZXJDYXNlKCk9PT0iYXV0aG9yaXphdGlvbiIpfSl9X2luaXRSZWFsdGltZUNsaWVudCh0KXtyZXR1cm4gbmV3IE9vZSh0aGlzLnJlYWx0aW1lVXJsLmhyZWYsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwYXJhbXM6T2JqZWN0LmFzc2lnbih7YXBpa2V5OnRoaXMuc3VwYWJhc2VLZXl9LHQ9PW51bGw/dm9pZCAwOnQucGFyYW1zKX0pKX1fbGlzdGVuRm9yQXV0aEV2ZW50cygpe3JldHVybiB0aGlzLmF1dGgub25BdXRoU3RhdGVDaGFuZ2UoKHIsbik9Pnt0aGlzLl9oYW5kbGVUb2tlbkNoYW5nZWQociwiQ0xJRU5UIixuPT1udWxsP3ZvaWQgMDpuLmFjY2Vzc190b2tlbil9KX1faGFuZGxlVG9rZW5DaGFuZ2VkKHQscixuKXsodD09PSJUT0tFTl9SRUZSRVNIRUQifHx0PT09IlNJR05FRF9JTiIpJiZ0aGlzLmNoYW5nZWRBY2Nlc3NUb2tlbiE9PW4/KHRoaXMuY2hhbmdlZEFjY2Vzc1Rva2VuPW4sdGhpcy5yZWFsdGltZS5zZXRBdXRoKG4pKTp0PT09IlNJR05FRF9PVVQiJiYodGhpcy5yZWFsdGltZS5zZXRBdXRoKCkscj09IlNUT1JBR0UiJiZ0aGlzLmF1dGguc2lnbk91dCgpLHRoaXMuY2hhbmdlZEFjY2Vzc1Rva2VuPXZvaWQgMCl9fWNvbnN0IENjZT0oZSx0LHIpPT5uZXcgTmNlKGUsdCxyKTtmdW5jdGlvbiBfY2UoKXtpZih0eXBlb2Ygd2luZG93PCJ1Inx8dHlwZW9mIHByb2Nlc3M+InUiKXJldHVybiExO2NvbnN0IGU9cHJvY2Vzcy52ZXJzaW9uO2lmKGU9PW51bGwpcmV0dXJuITE7Y29uc3QgdD1lLm1hdGNoKC9edihcZCspXC4vKTtyZXR1cm4gdD9wYXJzZUludCh0WzFdLDEwKTw9MTg6ITF9X2NlKCkmJmNvbnNvbGUud2Fybigi4pqg77iPICBOb2RlLmpzIDE4IGFuZCBiZWxvdyBhcmUgZGVwcmVjYXRlZCBhbmQgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBAc3VwYWJhc2Uvc3VwYWJhc2UtanMuIFBsZWFzZSB1cGdyYWRlIHRvIE5vZGUuanMgMjAgb3IgbGF0ZXIuIEZvciBtb3JlIGluZm9ybWF0aW9uLCB2aXNpdDogaHR0cHM6Ly9naXRodWIuY29tL29yZ3Mvc3VwYWJhc2UvZGlzY3Vzc2lvbnMvMzcyMTciKTtjb25zdCBCY2U9Imh0dHBzOi8vdGtrZHhobnNtdGlob3V0YmxtZ2Muc3VwYWJhc2UuY28iLFNjZT0iZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnBjM01pT2lKemRYQmhZbUZ6WlNJc0luSmxaaUk2SW5ScmEyUjRhRzV6YlhScGFHOTFkR0pzYldkaklpd2ljbTlzWlNJNkltRnViMjRpTENKcFlYUWlPakUzTmpJeU56Z3dNVFFzSW1WNGNDSTZNakEzTnpnMU5EQXhOSDAubUFEdEZ3MHhqS2NQMlNMZTlocFE4N0FTZmJ3c2EwR011YjV4ZWdmSTNjYyIsTT1DY2UoQmNlLFNjZSx7YXV0aDp7c3RvcmFnZTpsb2NhbFN0b3JhZ2UscGVyc2lzdFNlc3Npb246ITAsYXV0b1JlZnJlc2hUb2tlbjohMH19KSx3RT1XQSgiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0yIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtc20gZm9udC1ib2xkIHRyYWNraW5nLXdpZGUgcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLW9mZnNldC0yIGRpc2FibGVkOnBvaW50ZXItZXZlbnRzLW5vbmUgZGlzYWJsZWQ6b3BhY2l0eS01MCBbJl9zdmddOnBvaW50ZXItZXZlbnRzLW5vbmUgWyZfc3ZnXTpzaXplLTQgWyZfc3ZnXTpzaHJpbmstMCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4iLHt2YXJpYW50czp7dmFyaWFudDp7ZGVmYXVsdDoicm91bmRlZC1bMnJlbV0gYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNTAwIHZpYS1ibHVlLTYwMCB0by1ibHVlLTcwMCB0ZXh0LXdoaXRlIHNoYWRvdy1bMF84cHhfMjRweF8tOHB4X3JnYmEoNTksMTMwLDI0NiwwLjUpXSBob3ZlcjpzaGFkb3ctWzBfMTZweF80MHB4Xy04cHhfcmdiYSg1OSwxMzAsMjQ2LDAuNyldIGhvdmVyOnRyYW5zbGF0ZS15LVstMnB4XSBob3ZlcjpicmlnaHRuZXNzLTExMCBhY3RpdmU6dHJhbnNsYXRlLXktMCBmb250LWJvbGQgYmVmb3JlOmFic29sdXRlIGJlZm9yZTppbnNldC0wIGJlZm9yZTpiZy1ncmFkaWVudC10by1yIGJlZm9yZTpmcm9tLXdoaXRlLzAgYmVmb3JlOnZpYS13aGl0ZS8yMCBiZWZvcmU6dG8td2hpdGUvMCBiZWZvcmU6dHJhbnNsYXRlLXgtWy0yMDAlXSBob3ZlcjpiZWZvcmU6dHJhbnNsYXRlLXgtWzIwMCVdIGJlZm9yZTp0cmFuc2l0aW9uLXRyYW5zZm9ybSBiZWZvcmU6ZHVyYXRpb24tNzAwIixkZXN0cnVjdGl2ZToicm91bmRlZC1bMnJlbV0gYmctZ3JhZGllbnQtdG8tciBmcm9tLXJlZC01MDAgdG8tcmVkLTYwMCB0ZXh0LXdoaXRlIHNoYWRvdy1bMF84cHhfMjRweF8tOHB4X3JnYmEoMjM5LDY4LDY4LDAuNSldIGhvdmVyOnNoYWRvdy1bMF8xNnB4XzQwcHhfLThweF9yZ2JhKDIzOSw2OCw2OCwwLjcpXSBob3Zlcjp0cmFuc2xhdGUteS1bLTJweF0gaG92ZXI6YnJpZ2h0bmVzcy0xMTAgYWN0aXZlOnRyYW5zbGF0ZS15LTAgZm9udC1ib2xkIixvdXRsaW5lOiJyb3VuZGVkLVsycmVtXSBib3JkZXItMiBib3JkZXItcHJpbWFyeS80MCBiZy1iYWNrZ3JvdW5kLzgwIGJhY2tkcm9wLWJsdXItbWQgc2hhZG93LXNtIGhvdmVyOmJnLXByaW1hcnkvNSBob3Zlcjpib3JkZXItcHJpbWFyeSBob3ZlcjpzaGFkb3ctbGcgaG92ZXI6dHJhbnNsYXRlLXktWy0xcHhdIGFjdGl2ZTp0cmFuc2xhdGUteS0wIGZvbnQtc2VtaWJvbGQiLHNlY29uZGFyeToicm91bmRlZC1bMnJlbV0gYmctZ3JhZGllbnQtdG8tciBmcm9tLXNsYXRlLTEwMCB0by1zbGF0ZS0yMDAgZGFyazpmcm9tLXNsYXRlLTcwMCBkYXJrOnRvLXNsYXRlLTgwMCB0ZXh0LWZvcmVncm91bmQgc2hhZG93LW1kIGhvdmVyOnNoYWRvdy14bCBob3Zlcjp0cmFuc2xhdGUteS1bLTJweF0gYWN0aXZlOnRyYW5zbGF0ZS15LTAgZm9udC1zZW1pYm9sZCIsZ2hvc3Q6InJvdW5kZWQtWzJyZW1dIGhvdmVyOmJnLWFjY2VudC8yMCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGhvdmVyOnRyYW5zbGF0ZS14LVsycHhdIGFjdGl2ZTp0cmFuc2xhdGUteC0wIGZvbnQtc2VtaWJvbGQiLGxpbms6InRleHQtcHJpbWFyeSB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lIGZvbnQtc2VtaWJvbGQgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGhvdmVyOnRyYW5zbGF0ZS14LVsycHhdIixzdWNjZXNzOiJyb3VuZGVkLVsycmVtXSBiZy1ncmFkaWVudC10by1yIGZyb20tZ3JlZW4tNTAwIHRvLWdyZWVuLTYwMCB0ZXh0LXdoaXRlIHNoYWRvdy1bMF84cHhfMjRweF8tOHB4X3JnYmEoMzQsMTk3LDk0LDAuNSldIGhvdmVyOnNoYWRvdy1bMF8xNnB4XzQwcHhfLThweF9yZ2JhKDM0LDE5Nyw5NCwwLjcpXSBob3Zlcjp0cmFuc2xhdGUteS1bLTJweF0gaG92ZXI6YnJpZ2h0bmVzcy0xMTAgYWN0aXZlOnRyYW5zbGF0ZS15LTAgZm9udC1ib2xkIn0sc2l6ZTp7ZGVmYXVsdDoiaC0xMiBweC04IHB5LTMiLHNtOiJoLTEwIHB4LTYgcHktMiIsbGc6ImgtMTQgcHgtMTAgcHktMy41IixpY29uOiJoLTEyIHctMTIifX0sZGVmYXVsdFZhcmlhbnRzOnt2YXJpYW50OiJkZWZhdWx0IixzaXplOiJkZWZhdWx0In19KSxWPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLHZhcmlhbnQ6dCxzaXplOnIsYXNDaGlsZDpuPSExLC4uLmF9LGkpPT57Y29uc3Qgbz1uP3h0ZToiYnV0dG9uIjtyZXR1cm4gcy5qc3gobyx7Y2xhc3NOYW1lOndlKHdFKHt2YXJpYW50OnQsc2l6ZTpyLGNsYXNzTmFtZTplfSkpLHJlZjppLC4uLmF9KX0pO1YuZGlzcGxheU5hbWU9IkJ1dHRvbiI7Y29uc3Qgcjg9InYxIixFY2U9ZT0+YGZmX3NpbV9hY2tfJHtyOH1fJHtlfWAsJEY9ZT0+YGZmX3NpbV9hY2tfc2Vzc2lvbl8ke3I4fV8ke2V9YDtmdW5jdGlvbiBrY2UoKXtjb25zdFtlLHRdPWcudXNlU3RhdGUobnVsbCksW3Isbl09Zy51c2VTdGF0ZSghMSksW2EsaV09Zy51c2VTdGF0ZSghMSksW28sbF09Zy51c2VTdGF0ZSghMSksW2MsZF09Zy51c2VTdGF0ZSghMSk7aWYoZy51c2VFZmZlY3QoKCk9Pntjb25zdCBoPWFzeW5jIG09PntpZighbSl7dChudWxsKSxuKCExKTtyZXR1cm59dChtKTtsZXQgeD0hMTt0cnl7eD1zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCRGKG0pKT09PSJ0cnVlIn1jYXRjaHt9aWYoeCl7bighMSk7cmV0dXJufW4oITApfTtNLmF1dGguZ2V0U2Vzc2lvbigpLnRoZW4oKHtkYXRhOm19KT0+e3ZhciB4LHc7cmV0dXJuIGgoKCh3PSh4PW0uc2Vzc2lvbik9PW51bGw/dm9pZCAwOngudXNlcik9PW51bGw/dm9pZCAwOncuaWQpPz9udWxsKX0pO2NvbnN0e2RhdGE6cH09TS5hdXRoLm9uQXV0aFN0YXRlQ2hhbmdlKChtLHgpPT57dmFyIHc7aCgoKHc9eD09bnVsbD92b2lkIDA6eC51c2VyKT09bnVsbD92b2lkIDA6dy5pZCk/P251bGwpfSk7cmV0dXJuKCk9PntwLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfX0sW10pLCFlfHwhcilyZXR1cm4gbnVsbDtjb25zdCB1PWEmJm8mJmMsQT1hc3luYygpPT57dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKEVjZShlKSwidHJ1ZSIpfWNhdGNoe310cnl7c2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgkRihlKSwidHJ1ZSIpfWNhdGNoe31hd2FpdCBNLmZyb20oInByb2ZpbGVzIikudXBkYXRlKHtzaW11bGF0aW9uX2Fja25vd2xlZGdlZF9hdDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9KS5lcSgiaWQiLGUpLG4oITEpfSxmPWFzeW5jKCk9Pnthd2FpdCBNLmF1dGguc2lnbk91dCgpLG4oITEpLHdpbmRvdy5sb2NhdGlvbi5ocmVmPSIvYXV0aCJ9O3JldHVybiBzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJmaXhlZCBpbnNldC0wIHotWzIwMF0gYmctYmxhY2svNzAgYmFja2Ryb3AtYmx1ci1zbSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTQgb3ZlcmZsb3cteS1hdXRvIixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYmctd2hpdGUgcm91bmRlZC0yeGwgc2hhZG93LTJ4bCBtYXgtdy0yeGwgdy1mdWxsIG15LTggbWF4LWgtWzkwdmhdIG92ZXJmbG93LXktYXV0byIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZy1hbWJlci01MCBib3JkZXItYiBib3JkZXItYW1iZXItMjAwIHAtNCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBzdGlja3kgdG9wLTAiLGNoaWxkcmVuOltzLmpzeChPcix7Y2xhc3NOYW1lOiJoLTUgdy01IHRleHQtYW1iZXItNzAwIGZsZXgtc2hyaW5rLTAifSkscy5qc3goImgyIix7Y2xhc3NOYW1lOiJ0ZXh0LWJhc2Ugc206dGV4dC1sZyBmb250LWJvbGQgdGV4dC1hbWJlci05MDAiLGNoaWxkcmVuOiJFZHVjYXRpb25hbCBTaW11bGF0aW9uIEFja25vd2xlZGdlbWVudCBSZXF1aXJlZCJ9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToicC01IHNtOnAtNiBzcGFjZS15LTQgdGV4dC1zbSB0ZXh0LWdyYXktODAwIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46W3MuanN4cygicCIse2NoaWxkcmVuOlsiQmVmb3JlIGNvbnRpbnVpbmcsIHBsZWFzZSBjb25maXJtIHlvdSB1bmRlcnN0YW5kIHRoZSBuYXR1cmUgb2YgdGhpcyBwbGF0Zm9ybS4gRmxvd2luZ0Z1bmRlZCBpcyBhbiAiLHMuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoiZWR1Y2F0aW9uYWwgdGVjaG5vbG9neSBwcm9kdWN0In0pLCIgdGhhdCBzaW11bGF0ZXMgdGhlIGV4cGVyaWVuY2Ugb2YgYSBwcm9wcmlldGFyeSB0cmFkaW5nIGV2YWx1YXRpb24uICIscy5qc3goInN0cm9uZyIse2NoaWxkcmVuOiJJdCBpcyBub3QgYSBmaW5hbmNpYWwgc2VydmljZS4ifSldfSkscy5qc3hzKCJ1bCIse2NsYXNzTmFtZToibGlzdC1kaXNjIHBsLTUgc3BhY2UteS0xLjUgdGV4dC1bMTNweF0gdGV4dC1ncmF5LTcwMCIsY2hpbGRyZW46W3MuanN4KCJsaSIse2NoaWxkcmVuOiJObyByZWFsIG1vbmV5IGlzIGV2ZXIgZGVwb3NpdGVkLCB0cmFkZWQsIGludmVzdGVkLCBjdXN0b2RpZWQsIHdpdGhkcmF3biwgb3IgbWFuYWdlZC4ifSkscy5qc3hzKCJsaSIse2NoaWxkcmVuOlsnQWxsIGFjY291bnRzLCBiYWxhbmNlcywgdHJhZGVzLCBwcm9maXRzLCAicGF5b3V0cywiIGxlYWRlcmJvYXJkcywgY2VydGlmaWNhdGVzLCBhbmQgcGVyZm9ybWFuY2UgZmlndXJlcyBhcmUgJyxzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46InNpbXVsYXRlZCBlZHVjYXRpb25hbCBtZXRyaWNzIHdpdGggbm8gbW9uZXRhcnkgdmFsdWUifSksIi4iXX0pLHMuanN4cygibGkiLHtjaGlsZHJlbjpbIkZsb3dpbmdGdW5kZWQgaXMgIixzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46Im5vdCJ9KSwiIGEgYnJva2VyLCBkZWFsZXIsIGV4Y2hhbmdlLCBjdXN0b2RpYW4sIG1vbmV5LXNlcnZpY2VzIGJ1c2luZXNzLCBpbnZlc3RtZW50IGFkdmlzZXIsIGNvbW1vZGl0eSB0cmFkaW5nIGFkdmlzb3IsIG9yIGZ1bmQgbWFuYWdlciwgYW5kIGlzIG5vdCByZWdpc3RlcmVkIHdpdGggYW55IGZpbmFuY2lhbCByZWd1bGF0b3IuIl19KSxzLmpzeCgibGkiLHtjaGlsZHJlbjoiTm90aGluZyBvbiB0aGlzIHBsYXRmb3JtIGNvbnN0aXR1dGVzIGludmVzdG1lbnQsIGxlZ2FsLCB0YXgsIG9yIGZpbmFuY2lhbCBhZHZpY2Ugb3IgYW4gb2ZmZXIgb3Igc29saWNpdGF0aW9uIHRvIGJ1eSBvciBzZWxsIGFueSBzZWN1cml0eSwgZGVyaXZhdGl2ZSwgY29tbW9kaXR5LCBjdXJyZW5jeSwgb3IgZGlnaXRhbCBhc3NldC4ifSkscy5qc3goImxpIix7Y2hpbGRyZW46IkFueSBvcHRpb25hbCBmZWVzIHJlcHJlc2VudCB0aGUgY29zdCBvZiBhY2Nlc3MgdG8gZWR1Y2F0aW9uYWwgc29mdHdhcmUgb25seSBhbmQgZ3JhbnQgbm8gY2xhaW0gdG8gZnVuZHMuIn0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMgcHQtMiBib3JkZXItdCBib3JkZXItZ3JheS0yMDAiLGNoaWxkcmVuOltzLmpzeHMoImxhYmVsIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0yIGN1cnNvci1wb2ludGVyIixjaGlsZHJlbjpbcy5qc3goImlucHV0Iix7dHlwZToiY2hlY2tib3giLGNoZWNrZWQ6YSxvbkNoYW5nZTpoPT5pKGgudGFyZ2V0LmNoZWNrZWQpLGNsYXNzTmFtZToibXQtMSBoLTQgdy00IGFjY2VudC1wcmltYXJ5IGZsZXgtc2hyaW5rLTAifSkscy5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxM3B4XSIsY2hpbGRyZW46WyJJIHVuZGVyc3RhbmQgRmxvd2luZ0Z1bmRlZCBpcyBhbiAiLHMuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoiZWR1Y2F0aW9uYWwgc2ltdWxhdGlvbiJ9KSwiIG9ubHkgYW5kIHRoYXQgbm8gcmVhbCBtb25leSBpcyBldmVyIGludm9sdmVkLiJdfSldfSkscy5qc3hzKCJsYWJlbCIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1zdGFydCBnYXAtMiBjdXJzb3ItcG9pbnRlciIsY2hpbGRyZW46W3MuanN4KCJpbnB1dCIse3R5cGU6ImNoZWNrYm94IixjaGVja2VkOm8sb25DaGFuZ2U6aD0+bChoLnRhcmdldC5jaGVja2VkKSxjbGFzc05hbWU6Im10LTEgaC00IHctNCBhY2NlbnQtcHJpbWFyeSBmbGV4LXNocmluay0wIn0pLHMuanN4cygic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTNweF0iLGNoaWxkcmVuOlsnSSB1bmRlcnN0YW5kIGFsbCBiYWxhbmNlcywgcHJvZml0cywgYW5kICJwYXlvdXRzIiBzaG93biBhcmUgJyxzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46InNpbXVsYXRlZCBtZXRyaWNzIHdpdGggbm8gbW9uZXRhcnkgdmFsdWUifSksIi4iXX0pXX0pLHMuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtc3RhcnQgZ2FwLTIgY3Vyc29yLXBvaW50ZXIiLGNoaWxkcmVuOltzLmpzeCgiaW5wdXQiLHt0eXBlOiJjaGVja2JveCIsY2hlY2tlZDpjLG9uQ2hhbmdlOmg9PmQoaC50YXJnZXQuY2hlY2tlZCksY2xhc3NOYW1lOiJtdC0xIGgtNCB3LTQgYWNjZW50LXByaW1hcnkgZmxleC1zaHJpbmstMCJ9KSxzLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEzcHhdIixjaGlsZHJlbjpbIkkgaGF2ZSByZWFkIGFuZCBhZ3JlZSB0byB0aGUiLCIgIixzLmpzeChvZSx7dG86Ii90ZXJtcyIsdGFyZ2V0OiJfYmxhbmsiLGNsYXNzTmFtZToidGV4dC1wcmltYXJ5IHVuZGVybGluZSBmb250LXNlbWlib2xkIixjaGlsZHJlbjoiVGVybXMgb2YgVXNlIn0pLCIsIiwiICIscy5qc3gob2Use3RvOiIvcHJpdmFjeSIsdGFyZ2V0OiJfYmxhbmsiLGNsYXNzTmFtZToidGV4dC1wcmltYXJ5IHVuZGVybGluZSBmb250LXNlbWlib2xkIixjaGlsZHJlbjoiUHJpdmFjeSBQb2xpY3kifSksIiwgYW5kIiwiICIscy5qc3gob2Use3RvOiIvcmlzay1kaXNjbG9zdXJlIix0YXJnZXQ6Il9ibGFuayIsY2xhc3NOYW1lOiJ0ZXh0LXByaW1hcnkgdW5kZXJsaW5lIGZvbnQtc2VtaWJvbGQiLGNoaWxkcmVuOiJSaXNrICYgU2ltdWxhdGlvbiBEaXNjbG9zdXJlIn0pLCIuIl19KV19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbC1yZXZlcnNlIHNtOmZsZXgtcm93IGdhcC0yIHNtOmp1c3RpZnktZW5kIHB0LTMgYm9yZGVyLXQgYm9yZGVyLWdyYXktMjAwIixjaGlsZHJlbjpbcy5qc3goVix7dmFyaWFudDoib3V0bGluZSIsb25DbGljazpmLGNsYXNzTmFtZToidy1mdWxsIHNtOnctYXV0byIsY2hpbGRyZW46IkRlY2xpbmUgJiBTaWduIE91dCJ9KSxzLmpzeChWLHtvbkNsaWNrOkEsZGlzYWJsZWQ6IXUsY2xhc3NOYW1lOiJ3LWZ1bGwgc206dy1hdXRvIixjaGlsZHJlbjoiSSBBY2tub3dsZWRnZSAmIENvbnRpbnVlIn0pXX0pXX0pXX0pfSl9Y29uc3QgZV89ImFubml2ZXJzYXJ5MlllYXJQcm9tb0VuZFRpbWUiLG44PTIyLFRjZT0oKT0+e2NvbnN0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oZV8pO2lmKGUpcmV0dXJuIHBhcnNlSW50KGUsMTApO2NvbnN0IHQ9RGF0ZS5ub3coKStuOCo2MCo2MCoxZTM7cmV0dXJuIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGVfLHQudG9TdHJpbmcoKSksdH0sUGNlPSgpPT57Y29uc3QgZT1EYXRlLm5vdygpK244KjYwKjYwKjFlMztyZXR1cm4gbG9jYWxTdG9yYWdlLnNldEl0ZW0oZV8sZS50b1N0cmluZygpKSxlfSxIRj0oKT0+e2xldCBlPVRjZSgpO2NvbnN0IHQ9RGF0ZS5ub3coKTtsZXQgcj1lLXQ7cjw9MCYmKGU9UGNlKCkscj1lLXQpO2NvbnN0IG49TWF0aC5mbG9vcihyLygxZTMqNjAqNjApKSxhPU1hdGguZmxvb3IociUoMWUzKjYwKjYwKS8oMWUzKjYwKSksaT1NYXRoLmZsb29yKHIlKDFlMyo2MCkvMWUzKTtyZXR1cm57aG91cnM6bixtaW51dGVzOmEsc2Vjb25kczppLGV4cGlyZWQ6ITF9fSxLRj1lPT5lLnN0YXJ0c1dpdGgoIi90cmFkZXIiKT8idHJhZGVyIjplLnN0YXJ0c1dpdGgoIi9hZG1pbiIpPyJhZG1pbiI6InB1YmxpYyI7ZnVuY3Rpb24gRmNlKCl7Y29uc3RbZSx0XT1nLnVzZVN0YXRlKCExKSxbcixuXT1nLnVzZVN0YXRlKEhGKCkpLGE9bHQoKSxpPVlhKCk7Zy51c2VFZmZlY3QoKCk9Pntjb25zdCBjPW5ldyBVUkxTZWFyY2hQYXJhbXMoaS5zZWFyY2gpO2lmKGkucGF0aG5hbWUuc3RhcnRzV2l0aCgiL2FkbWluIil8fGMuZ2V0KCJhZG1pbiIpPT09InRydWUifHxjLmdldCgibGl2ZVZpZXciKT09PSJ0cnVlIil7dCghMSk7cmV0dXJufWNvbnN0IHU9S0YoaS5wYXRobmFtZSksQT1zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJuZXdZZWFyUHJvbW9EaXNtaXNzZWQiKTtpZihBKXtjb25zdHthcmVhOmgsdGltZXN0YW1wOnB9PUpTT04ucGFyc2UoQSksbT0xMCo2MCoxZTM7aWYoRGF0ZS5ub3coKS1wPG0mJmg9PT11KXJldHVybn1jb25zdCBmPXNldFRpbWVvdXQoKCk9PnQoITApLDJlMyk7cmV0dXJuKCk9PmNsZWFyVGltZW91dChmKX0sW2kucGF0aG5hbWVdKSxnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IGM9c2V0SW50ZXJ2YWwoKCk9PntuKEhGKCkpfSwxZTMpO3JldHVybigpPT5jbGVhckludGVydmFsKGMpfSxbXSk7Y29uc3Qgbz0oKT0+e3QoITEpO2NvbnN0IGM9S0YoaS5wYXRobmFtZSk7c2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgibmV3WWVhclByb21vRGlzbWlzc2VkIixKU09OLnN0cmluZ2lmeSh7YXJlYTpjLHRpbWVzdGFtcDpEYXRlLm5vdygpfSkpfSxsPSgpPT57bygpLGEoIi90cmFkZXIvYnV5LWNoYWxsZW5nZSIpfTtyZXR1cm4gZT9zLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJmaXhlZCBpbnNldC0wIHotWzEwMF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC00IGJnLWJsYWNrLzYwIGJhY2tkcm9wLWJsdXItc20gYW5pbWF0ZS1mYWRlLWluIixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgdy1mdWxsIG1heC13LW1kIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tc2xhdGUtOTAwIHZpYS1hbWJlci05MDAvNDAgdG8tc2xhdGUtOTAwIHJvdW5kZWQtMnhsIHNoYWRvdy0yeGwgYm9yZGVyIGJvcmRlci1hbWJlci01MDAvMzAgb3ZlcmZsb3ctaGlkZGVuIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiaC0xLjUgYmctZ3JhZGllbnQtdG8tciBmcm9tLWFtYmVyLTUwMCB2aWEteWVsbG93LTQwMCB0by1hbWJlci01MDAifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTQgbGVmdC00IHRleHQtYW1iZXItNDAwIG9wYWNpdHktNjAgYW5pbWF0ZS1wdWxzZSIsY2hpbGRyZW46IvCfjokifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTggcmlnaHQtOCB0ZXh0LXllbGxvdy00MDAgb3BhY2l0eS02MCBhbmltYXRlLXB1bHNlIixzdHlsZTp7YW5pbWF0aW9uRGVsYXk6IjAuNXMifSxjaGlsZHJlbjoi8J+lsyJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBib3R0b20tMjAgbGVmdC04IHRleHQtYW1iZXItNDAwIG9wYWNpdHktNjAgYW5pbWF0ZS1wdWxzZSIsc3R5bGU6e2FuaW1hdGlvbkRlbGF5OiIxcyJ9LGNoaWxkcmVuOiLwn46CIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJwLTYgcmVsYXRpdmUiLGNoaWxkcmVuOltzLmpzeCgiYnV0dG9uIix7b25DbGljazpvLGNsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTQgcmlnaHQtNCB0ZXh0LXdoaXRlLzYwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOnMuanN4KFNpLHtjbGFzc05hbWU6ImgtNSB3LTUifSl9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC1jZW50ZXIiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGp1c3RpZnktY2VudGVyIG1iLTQiLGNoaWxkcmVuOnMuanN4KCJkaXYiLHtjbGFzc05hbWU6InctMTYgaC0xNiByb3VuZGVkLWZ1bGwgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1hbWJlci01MDAvMjAgdG8teWVsbG93LTUwMC8yMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBib3JkZXIgYm9yZGVyLWFtYmVyLTUwMC8zMCIsY2hpbGRyZW46cy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtM3hsIixjaGlsZHJlbjoi8J+OgiJ9KX0pfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToibWItMSIsY2hpbGRyZW46cy5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSB0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtYW1iZXItNDAwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlciIsY2hpbGRyZW46W3MuanN4KFdhLHtjbGFzc05hbWU6ImgtMy41IHctMy41In0pLCJGbGFzaCBPZmZlciIscy5qc3goV2Ese2NsYXNzTmFtZToiaC0zLjUgdy0zLjUifSldfSl9KSxzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTEiLGNoaWxkcmVuOiJGbGFzaCBPZmZlciAtIExpbWl0ZWQgVGltZSEg8J+OiSJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1sZyBmb250LXNlbWlib2xkIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1hbWJlci00MDAgdG8teWVsbG93LTQwMCBiZy1jbGlwLXRleHQgdGV4dC10cmFuc3BhcmVudCBtYi0yIixjaGlsZHJlbjoiQnV5IE9uZSwgR2V0IE9uZSBGcmVlIn0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzcwIG1iLTUgdGV4dC1zbSIsY2hpbGRyZW46IlRvIGNlbGVicmF0ZSBvdXIgRmxhc2ggT2ZmZXIsIHB1cmNoYXNlIGFueSBjaGFsbGVuZ2UgYW5kIHJlY2VpdmUgYSBzZWNvbmQgY2hhbGxlbmdlIG9mIGVxdWFsIG9yIGxlc3NlciB2YWx1ZSBjb21wbGV0ZWx5IGZyZWUhIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZy1ibGFjay80MCByb3VuZGVkLXhsIHAtNCBtYi01IGJvcmRlciBib3JkZXItd2hpdGUvMTAiLGNoaWxkcmVuOltzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LXdoaXRlLzYwIG1iLTMgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyIGZvbnQtbWVkaXVtIixjaGlsZHJlbjoiT2ZmZXIgZW5kcyBpbiJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBqdXN0aWZ5LWNlbnRlciBnYXAtMyIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZy1ncmFkaWVudC10by1iIGZyb20tYW1iZXItNTAwLzUwIHRvLWFtYmVyLTYwMC8zMCByb3VuZGVkLWxnIHB4LTQgcHktMiBtaW4tdy1bNjBweF0gYm9yZGVyIGJvcmRlci1hbWJlci01MDAvMzAiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZSIsY2hpbGRyZW46U3RyaW5nKHIuaG91cnMpLnBhZFN0YXJ0KDIsIjAiKX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEwcHhdIHVwcGVyY2FzZSB0ZXh0LXdoaXRlLzYwIGZvbnQtbWVkaXVtIixjaGlsZHJlbjoiSG91cnMifSldfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC13aGl0ZS80MCB0ZXh0LXhsIGZvbnQtbWVkaXVtIHNlbGYtY2VudGVyIixjaGlsZHJlbjoiOiJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYmctZ3JhZGllbnQtdG8tYiBmcm9tLWFtYmVyLTUwMC81MCB0by1hbWJlci02MDAvMzAgcm91bmRlZC1sZyBweC00IHB5LTIgbWluLXctWzYwcHhdIGJvcmRlciBib3JkZXItYW1iZXItNTAwLzMwIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtd2hpdGUiLGNoaWxkcmVuOlN0cmluZyhyLm1pbnV0ZXMpLnBhZFN0YXJ0KDIsIjAiKX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEwcHhdIHVwcGVyY2FzZSB0ZXh0LXdoaXRlLzYwIGZvbnQtbWVkaXVtIixjaGlsZHJlbjoiTWlucyJ9KV19KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzQwIHRleHQteGwgZm9udC1tZWRpdW0gc2VsZi1jZW50ZXIiLGNoaWxkcmVuOiI6In0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZy1ncmFkaWVudC10by1iIGZyb20tYW1iZXItNTAwLzUwIHRvLWFtYmVyLTYwMC8zMCByb3VuZGVkLWxnIHB4LTQgcHktMiBtaW4tdy1bNjBweF0gYm9yZGVyIGJvcmRlci1hbWJlci01MDAvMzAiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZSIsY2hpbGRyZW46U3RyaW5nKHIuc2Vjb25kcykucGFkU3RhcnQoMiwiMCIpfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC1bMTBweF0gdXBwZXJjYXNlIHRleHQtd2hpdGUvNjAgZm9udC1tZWRpdW0iLGNoaWxkcmVuOiJTZWNzIn0pXX0pXX0pXX0pLHMuanN4KFYse29uQ2xpY2s6bCxjbGFzc05hbWU6InctZnVsbCBweS02IHRleHQtYmFzZSBmb250LXNlbWlib2xkIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1hbWJlci01MDAgdmlhLXllbGxvdy01MDAgdG8tYW1iZXItNjAwIGhvdmVyOmZyb20tYW1iZXItNjAwIGhvdmVyOnZpYS15ZWxsb3ctNjAwIGhvdmVyOnRvLWFtYmVyLTcwMCB0ZXh0LXdoaXRlIGJvcmRlci0wIixzaXplOiJsZyIsY2hpbGRyZW46IvCfjokgQ2xhaW0gRmxhc2ggT2ZmZXIifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC13aGl0ZS81MCBtdC00IixjaGlsZHJlbjoiTGltaXRlZCB0aW1lIG9mZmVyLiBUZXJtcyBhbmQgY29uZGl0aW9ucyBhcHBseS4ifSldfSldfSldfSl9KTpudWxsfWNvbnN0IHM4PWcuY3JlYXRlQ29udGV4dCh7aXNEZW1vOiExLGRlbW9JZDpudWxsLGNoYWxsZW5nZXM6W10scGF5b3V0czpbXSxwcm9maWxlOm51bGwsdG90YWxQYXlvdXRzOjAsaGlkZUNyeXB0b0FsZXJ0OiExLHNob3dXaXRoZHJhd2FsTWV0aG9kU2VsZWN0b3I6ITF9KSxPY2U9e3Byb2ZpbGU6e2lkOiJkZW1vLXJlaWQtcG9ydGVyIixmdWxsX25hbWU6IlJlaWQgUG9ydGVyIixlbWFpbDoicmVpZC5wb3J0ZXJAZW1haWwuY29tIn0sY2hhbGxlbmdlczpbe2lkOiJkZW1vLTIwMGstbGl2ZSIsbmFtZToiMjAwSyBDaGFsbGVuZ2UiLGJhbGFuY2Vfc3RhcnQ6MmU1LGJhbGFuY2VfY3VycmVudDoyMDQ3NTYscHJvZml0X3RhcmdldDoxMCxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjM2NSxzdGF0dXM6ImZ1bmRlZCIscGhhc2U6MSxwYXlvdXRfZWxpZ2libGU6ITAsd2Vla2VuZF90cmFkaW5nOiEwLGF1dG9fbWFuYWdlbWVudDohMCxjcmVhdGVkX2F0OiIyMDI1LTExLTAxVDAwOjAwOjAwWiIsdXBkYXRlZF9hdDoiMjAyNi0wMS0xNFQwMDowMDowMFoiLHVzZXJfaWQ6ImRlbW8tcmVpZC1wb3J0ZXIiLHNlZWQ6MTIzNDU2fSx7aWQ6ImRlbW8tMTAway1saXZlIixuYW1lOiIxMDBLIENoYWxsZW5nZSIsYmFsYW5jZV9zdGFydDoxZTUsYmFsYW5jZV9jdXJyZW50OjEwNDM3OSxwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMCx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMTAtMTVUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAxLTAxVDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1yZWlkLXBvcnRlciIsc2VlZDoyMzQ1Njd9LHtpZDoiZGVtby0xbS1waGFzZTItYSIsbmFtZToiMU0gQ2hhbGxlbmdlIEEiLGJhbGFuY2Vfc3RhcnQ6MWU2LGJhbGFuY2VfY3VycmVudDoxMDI4NzM4LHByb2ZpdF90YXJnZXQ6NSxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjYwLHN0YXR1czoiY2hhbGxlbmdlIixwaGFzZToyLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjYtMDEtMTBUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAxLTI1VDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1yZWlkLXBvcnRlciIsc2VlZDozNDU2Nzh9LHtpZDoiZGVtby0xbS1waGFzZTItYiIsbmFtZToiMU0gQ2hhbGxlbmdlIEIiLGJhbGFuY2Vfc3RhcnQ6MWU2LGJhbGFuY2VfY3VycmVudDoxMDI5ODI5LHByb2ZpdF90YXJnZXQ6NSxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjYwLHN0YXR1czoiY2hhbGxlbmdlIixwaGFzZToyLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjYtMDEtMTJUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAxLTI1VDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1yZWlkLXBvcnRlciIsc2VlZDo0NTY3ODl9XSxwYXlvdXRzOlt7aWQ6ImRlbW8tcGF5b3V0LTEwMGsiLGNoYWxsZW5nZV9pZDoiZGVtby0xMDBrLWxpdmUiLGFtb3VudDo1NjAyLjgxLHN0YXR1czoiYXBwcm92ZWQiLGNyZWF0ZWRfYXQ6IjIwMjYtMDEtMDFUMDA6MDA6MDBaIixjcnlwdG9fYWRkcmVzczoiYmMxcXh5MmtnZHlnanJzcXR6cTJuMHlyZjI0OTNwODNra2ZqaHgwd2xoIix1c2VyX2lkOiJkZW1vLXJlaWQtcG9ydGVyIn0se2lkOiJkZW1vLXBheW91dC0yMDBrIixjaGFsbGVuZ2VfaWQ6ImRlbW8tMjAway1saXZlIixhbW91bnQ6MTEzMTcuNjQsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMS0xNFQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiJiYzFxeHkya2dkeWdqcnNxdHpxMm4weXJmMjQ5M3A4M2trZmpoeDB3bGgiLHVzZXJfaWQ6ImRlbW8tcmVpZC1wb3J0ZXIifV0sdG90YWxQYXlvdXRzOjE2OTIwLjQ1fSxJY2U9e3Byb2ZpbGU6e2lkOiJkZW1vLWpvaG5hdGhhbi1zdG9jayIsZnVsbF9uYW1lOiJKb2huYXRoYW4gU3RvY2siLGVtYWlsOiJqb2huYXRoYW44ODhzdG9ja0BnbWFpbC5jb20ifSxjaGFsbGVuZ2VzOlt7aWQ6ImRlbW8tanMtMTAway1saXZlIixuYW1lOiIxMDBLIENoYWxsZW5nZSIsYmFsYW5jZV9zdGFydDoxZTUsYmFsYW5jZV9jdXJyZW50OjEwMTE5MC44OCxwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMCx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMTAtMDFUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI1LTEyLTAxVDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1qb2huYXRoYW4tc3RvY2siLHNlZWQ6MTExMTExfSx7aWQ6ImRlbW8tanMtNDAway1saXZlIixuYW1lOiI0MDBLIENoYWxsZW5nZSIsYmFsYW5jZV9zdGFydDo0ZTUsYmFsYW5jZV9jdXJyZW50OjQwNTgyNy4xNyxwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMCx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMTEtMDFUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI1LTEyLTE1VDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1qb2huYXRoYW4tc3RvY2siLHNlZWQ6MjIyMjIyfSx7aWQ6ImRlbW8tanMtMW0tMSIsbmFtZToiMU0gQ2hhbGxlbmdlICMxIixiYWxhbmNlX3N0YXJ0OjFlNixiYWxhbmNlX2N1cnJlbnQ6MTAyMzkyNzcyZS0yLHByb2ZpdF90YXJnZXQ6MTAsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czozNjUsc3RhdHVzOiJmdW5kZWQiLHBoYXNlOjEscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNi0wMS0wMVQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDEtMTRUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLWpvaG5hdGhhbi1zdG9jayIsc2VlZDozMzMzMzMsZGF5c0Z1bmRlZDoxOX0se2lkOiJkZW1vLWpzLTFtLTIiLG5hbWU6IjFNIENoYWxsZW5nZSAjMiIsYmFsYW5jZV9zdGFydDoxZTYsYmFsYW5jZV9jdXJyZW50OjEwMzk3Njc5NGUtMixwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjYtMDEtMDJUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAxLTE0VDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1qb2huYXRoYW4tc3RvY2siLHNlZWQ6NDQ0NDQ0LGRheXNGdW5kZWQ6MTl9LHtpZDoiZGVtby1qcy0xbS0zIixuYW1lOiIxTSBDaGFsbGVuZ2UgIzMiLGJhbGFuY2Vfc3RhcnQ6MWU2LGJhbGFuY2VfY3VycmVudDoxMDEyODI2MDVlLTIscHJvZml0X3RhcmdldDoxMCxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjM2NSxzdGF0dXM6ImZ1bmRlZCIscGhhc2U6MSxwYXlvdXRfZWxpZ2libGU6ITEsd2Vla2VuZF90cmFkaW5nOiEwLGF1dG9fbWFuYWdlbWVudDohMCxjcmVhdGVkX2F0OiIyMDI2LTAxLTAzVDAwOjAwOjAwWiIsdXBkYXRlZF9hdDoiMjAyNi0wMS0xNFQwMDowMDowMFoiLHVzZXJfaWQ6ImRlbW8tam9obmF0aGFuLXN0b2NrIixzZWVkOjU1NTU1NSxkYXlzRnVuZGVkOjE5fSx7aWQ6ImRlbW8tanMtMW0tNCIsbmFtZToiMU0gQ2hhbGxlbmdlICM0IixiYWxhbmNlX3N0YXJ0OjFlNixiYWxhbmNlX2N1cnJlbnQ6MTAzMjI4NDA4ZS0yLHByb2ZpdF90YXJnZXQ6MTAsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czozNjUsc3RhdHVzOiJmdW5kZWQiLHBoYXNlOjEscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNi0wMS0wNFQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDEtMTRUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLWpvaG5hdGhhbi1zdG9jayIsc2VlZDo2NjY2NjYsZGF5c0Z1bmRlZDoxOX1dLHBheW91dHM6W3tpZDoiZGVtby1qcy1wYXlvdXQtMSIsY2hhbGxlbmdlX2lkOiJkZW1vLWpzLTEwMGstbGl2ZSIsYW1vdW50OjU2NDguOTEsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNS0xMi0xN1QwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tam9obmF0aGFuLXN0b2NrIixwYXltZW50X21ldGhvZDoiYWNoIn0se2lkOiJkZW1vLWpzLXBheW91dC0yIixjaGFsbGVuZ2VfaWQ6ImRlbW8tanMtNDAway1saXZlIixhbW91bnQ6Mjg1MzEuMSxzdGF0dXM6ImFwcHJvdmVkIixjcmVhdGVkX2F0OiIyMDI2LTAxLTAzVDAwOjAwOjAwWiIsY3J5cHRvX2FkZHJlc3M6IiIsdXNlcl9pZDoiZGVtby1qb2huYXRoYW4tc3RvY2siLHBheW1lbnRfbWV0aG9kOiJhY2gifSx7aWQ6ImRlbW8tanMtcGF5b3V0LTMiLGNoYWxsZW5nZV9pZDoiZGVtby1qcy0xMDBrLWxpdmUiLGFtb3VudDozMjY5LjA5LHN0YXR1czoiYXBwcm92ZWQiLGNyZWF0ZWRfYXQ6IjIwMjYtMDEtMTJUMDA6MDA6MDBaIixjcnlwdG9fYWRkcmVzczoiIix1c2VyX2lkOiJkZW1vLWpvaG5hdGhhbi1zdG9jayIscGF5bWVudF9tZXRob2Q6ImFjaCJ9LHtpZDoiZGVtby1qcy1wYXlvdXQtNCIsY2hhbGxlbmdlX2lkOiJkZW1vLWpzLTQwMGstbGl2ZSIsYW1vdW50OjE5OTI4LHN0YXR1czoiYXBwcm92ZWQiLGNyZWF0ZWRfYXQ6IjIwMjYtMDEtMjlUMDA6MDA6MDBaIixjcnlwdG9fYWRkcmVzczoiIix1c2VyX2lkOiJkZW1vLWpvaG5hdGhhbi1zdG9jayIscGF5bWVudF9tZXRob2Q6ImFjaCJ9XSx0b3RhbFBheW91dHM6NTczNzcuMX0sVWNlPXtwcm9maWxlOntpZDoiZGVtby1vd2VuLWNoZXN0ZXIiLGZ1bGxfbmFtZToiT3dlbiBDaGVzdGVyIixlbWFpbDoib3cuY2hlZWU4MkBnbWFpbC5jb20ifSxjaGFsbGVuZ2VzOlt7aWQ6ImRlbW8tb2MtNDAway0xIixuYW1lOiI0MDBLIENoYWxsZW5nZSAjMSIsYmFsYW5jZV9zdGFydDo0ZTUsYmFsYW5jZV9jdXJyZW50OjQwMTQzNy44Mixwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMTEtMDFUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAxLTIwVDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1vd2VuLWNoZXN0ZXIiLHNlZWQ6NzAwMDAxfSx7aWQ6ImRlbW8tb2MtNDAway0yIixuYW1lOiI0MDBLIENoYWxsZW5nZSAjMiIsYmFsYW5jZV9zdGFydDo0ZTUsYmFsYW5jZV9jdXJyZW50OjQxMjcyNixwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMTEtMTBUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAxLTI1VDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1vd2VuLWNoZXN0ZXIiLHNlZWQ6NzAwMDAyfSx7aWQ6ImRlbW8tb2MtMTAwayIsbmFtZToiMTAwSyBDaGFsbGVuZ2UiLGJhbGFuY2Vfc3RhcnQ6MWU1LGJhbGFuY2VfY3VycmVudDoxMDU2OTMuODMscHJvZml0X3RhcmdldDoxMCxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjM2NSxzdGF0dXM6ImZ1bmRlZCIscGhhc2U6MSxwYXlvdXRfZWxpZ2libGU6ITAsd2Vla2VuZF90cmFkaW5nOiEwLGF1dG9fbWFuYWdlbWVudDohMCxjcmVhdGVkX2F0OiIyMDI1LTA5LTE1VDAwOjAwOjAwWiIsdXBkYXRlZF9hdDoiMjAyNS0xMi0wMVQwMDowMDowMFoiLHVzZXJfaWQ6ImRlbW8tb3dlbi1jaGVzdGVyIixzZWVkOjcwMDAwM30se2lkOiJkZW1vLW9jLTIwMGsiLG5hbWU6IjIwMEsgQ2hhbGxlbmdlIixiYWxhbmNlX3N0YXJ0OjJlNSxiYWxhbmNlX2N1cnJlbnQ6MjEyNzM2LjkyLHByb2ZpdF90YXJnZXQ6MTAsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czozNjUsc3RhdHVzOiJmdW5kZWQiLHBoYXNlOjEscGF5b3V0X2VsaWdpYmxlOiEwLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNS0xMC0wMVQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjUtMTItMTBUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLW93ZW4tY2hlc3RlciIsc2VlZDo3MDAwMDR9LHtpZDoiZGVtby1vYy0xbS0xIixuYW1lOiIxTSBDaGFsbGVuZ2UgIzEiLGJhbGFuY2Vfc3RhcnQ6MWU2LGJhbGFuY2VfY3VycmVudDoxMDM0NzI4ODNlLTIscHJvZml0X3RhcmdldDo1LGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6NjAsc3RhdHVzOiJjaGFsbGVuZ2UiLHBoYXNlOjIscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNi0wMS0xMFQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDItMDVUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLW93ZW4tY2hlc3RlciIsc2VlZDo3MDAwMDV9LHtpZDoiZGVtby1vYy0xbS0yIixuYW1lOiIxTSBDaGFsbGVuZ2UgIzIiLGJhbGFuY2Vfc3RhcnQ6MWU2LGJhbGFuY2VfY3VycmVudDoxMDQ4NzI1ODNlLTIscHJvZml0X3RhcmdldDo1LGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6NjAsc3RhdHVzOiJjaGFsbGVuZ2UiLHBoYXNlOjIscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNi0wMS0xMlQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDItMDVUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLW93ZW4tY2hlc3RlciIsc2VlZDo3MDAwMDZ9XSxwYXlvdXRzOlt7aWQ6ImRlbW8tb2MtcGF5b3V0LTEiLGNoYWxsZW5nZV9pZDoiZGVtby1vYy0xMDBrIixhbW91bnQ6NjEwOS43NCxzdGF0dXM6ImFwcHJvdmVkIixjcmVhdGVkX2F0OiIyMDI1LTEyLTE0VDAwOjAwOjAwWiIsY3J5cHRvX2FkZHJlc3M6IiIsdXNlcl9pZDoiZGVtby1vd2VuLWNoZXN0ZXIiLHBheW1lbnRfbWV0aG9kOiJhY2gifSx7aWQ6ImRlbW8tb2MtcGF5b3V0LTIiLGNoYWxsZW5nZV9pZDoiZGVtby1vYy0yMDBrIixhbW91bnQ6MTMzODkuODUsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNS0xMi0yOVQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tb3dlbi1jaGVzdGVyIixwYXltZW50X21ldGhvZDoiYWNoIn0se2lkOiJkZW1vLW9jLXBheW91dC0zIixjaGFsbGVuZ2VfaWQ6ImRlbW8tb2MtMTAwayIsYW1vdW50OjY2MjkuMDEsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMS0xMFQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tb3dlbi1jaGVzdGVyIixwYXltZW50X21ldGhvZDoiYWNoIn0se2lkOiJkZW1vLW9jLXBheW91dC00IixjaGFsbGVuZ2VfaWQ6ImRlbW8tb2MtNDAway0xIixhbW91bnQ6MTYyNzguNDgsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMS0yMVQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tb3dlbi1jaGVzdGVyIixwYXltZW50X21ldGhvZDoiYWNoIn0se2lkOiJkZW1vLW9jLXBheW91dC01IixjaGFsbGVuZ2VfaWQ6ImRlbW8tb2MtNDAway0yIixhbW91bnQ6MjIyODcuOTgsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMi0wNVQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tb3dlbi1jaGVzdGVyIixwYXltZW50X21ldGhvZDoiYWNoIn1dLHRvdGFsUGF5b3V0czo2NDY5NS4wNn0sRGNlPXtwcm9maWxlOntpZDoiZGVtby1ncmVnLWR3ZWxsZXIiLGZ1bGxfbmFtZToiR3JlZyBEd2VsbGVyIixlbWFpbDoiZ3JlZy5kd2VsbGVyOTFAZ21haWwuY29tIn0sY2hhbGxlbmdlczpbe2lkOiJkZW1vLWdkLTEwMGstbGl2ZSIsbmFtZToiMTAwSyBDaGFsbGVuZ2UiLGJhbGFuY2Vfc3RhcnQ6MWU1LGJhbGFuY2VfY3VycmVudDoxMDE4MzYuMzkscHJvZml0X3RhcmdldDoxMCxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjM2NSxzdGF0dXM6ImZ1bmRlZCIscGhhc2U6MSxwYXlvdXRfZWxpZ2libGU6ITEsd2Vla2VuZF90cmFkaW5nOiEwLGF1dG9fbWFuYWdlbWVudDohMCxjcmVhdGVkX2F0OiIyMDI1LTA4LTE1VDAwOjAwOjAwWiIsdXBkYXRlZF9hdDoiMjAyNS0xMS0wMVQwMDowMDowMFoiLHVzZXJfaWQ6ImRlbW8tZ3JlZy1kd2VsbGVyIixzZWVkOjkwMDAwMX0se2lkOiJkZW1vLWdkLTQwMGstMSIsbmFtZToiNDAwSyBDaGFsbGVuZ2UgIzEiLGJhbGFuY2Vfc3RhcnQ6NGU1LGJhbGFuY2VfY3VycmVudDo0MTY5MjcuMzgscHJvZml0X3RhcmdldDoxMCxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjYwLHN0YXR1czoiY2hhbGxlbmdlIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjYtMDEtMTVUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAyLTE1VDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1ncmVnLWR3ZWxsZXIiLHNlZWQ6OTAwMDAyfSx7aWQ6ImRlbW8tZ2QtNDAway0yIixuYW1lOiI0MDBLIENoYWxsZW5nZSAjMiIsYmFsYW5jZV9zdGFydDo0ZTUsYmFsYW5jZV9jdXJyZW50OjQxOTgyMy4yMyxwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6NjAsc3RhdHVzOiJjaGFsbGVuZ2UiLHBoYXNlOjEscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNi0wMS0xOFQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDItMTVUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLWdyZWctZHdlbGxlciIsc2VlZDo5MDAwMDN9XSxwYXlvdXRzOlt7aWQ6ImRlbW8tZ2QtcGF5b3V0LTEiLGNoYWxsZW5nZV9pZDoiZGVtby1nZC0xMDBrLWxpdmUiLGFtb3VudDozMjAwLHN0YXR1czoiYXBwcm92ZWQiLGNyZWF0ZWRfYXQ6IjIwMjUtMTEtMjhUMDA6MDA6MDBaIixjcnlwdG9fYWRkcmVzczoiIix1c2VyX2lkOiJkZW1vLWdyZWctZHdlbGxlciIscGF5bWVudF9tZXRob2Q6ImFjaCJ9LHtpZDoiZGVtby1nZC1wYXlvdXQtMiIsY2hhbGxlbmdlX2lkOiJkZW1vLWdkLTEwMGstbGl2ZSIsYW1vdW50OjI4MDAsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNS0xMi0xOFQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tZ3JlZy1kd2VsbGVyIixwYXltZW50X21ldGhvZDoiYWNoIn0se2lkOiJkZW1vLWdkLXBheW91dC0zIixjaGFsbGVuZ2VfaWQ6ImRlbW8tZ2QtMTAway1saXZlIixhbW91bnQ6NDEwMCxzdGF0dXM6ImFwcHJvdmVkIixjcmVhdGVkX2F0OiIyMDI2LTAxLTEwVDAwOjAwOjAwWiIsY3J5cHRvX2FkZHJlc3M6IiIsdXNlcl9pZDoiZGVtby1ncmVnLWR3ZWxsZXIiLHBheW1lbnRfbWV0aG9kOiJhY2gifSx7aWQ6ImRlbW8tZ2QtcGF5b3V0LTQiLGNoYWxsZW5nZV9pZDoiZGVtby1nZC0xMDBrLWxpdmUiLGFtb3VudDozNjAwLHN0YXR1czoiYXBwcm92ZWQiLGNyZWF0ZWRfYXQ6IjIwMjYtMDItMDJUMDA6MDA6MDBaIixjcnlwdG9fYWRkcmVzczoiIix1c2VyX2lkOiJkZW1vLWdyZWctZHdlbGxlciIscGF5bWVudF9tZXRob2Q6ImFjaCJ9XSx0b3RhbFBheW91dHM6MTM3MDB9LE1jZT17cHJvZmlsZTp7aWQ6ImRlbW8tbWFkZWxpbmUtYmlzaG9wIixmdWxsX25hbWU6Ik1hZGVsaW5lIEJpc2hvcCIsZW1haWw6Im1iaXNob3A4NzdAb3V0bG9vay5jb20ifSxjaGFsbGVuZ2VzOlt7aWQ6ImRlbW8tbWItMTAway1saXZlIixuYW1lOiIxMDBLIENoYWxsZW5nZSIsYmFsYW5jZV9zdGFydDoxZTUsYmFsYW5jZV9jdXJyZW50OjEwNDMyMCxwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMCx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMDktMjBUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI1LTEyLTAxVDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1tYWRlbGluZS1iaXNob3AiLHNlZWQ6ODAwMDAxfSx7aWQ6ImRlbW8tbWItNDAway0xIixuYW1lOiI0MDBLIENoYWxsZW5nZSAjMSIsYmFsYW5jZV9zdGFydDo0ZTUsYmFsYW5jZV9jdXJyZW50OjQxNjQ4MCxwcm9maXRfdGFyZ2V0OjUsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czo2MCxzdGF0dXM6ImNoYWxsZW5nZSIscGhhc2U6MixwYXlvdXRfZWxpZ2libGU6ITEsd2Vla2VuZF90cmFkaW5nOiEwLGF1dG9fbWFuYWdlbWVudDohMCxjcmVhdGVkX2F0OiIyMDI2LTAxLTA1VDAwOjAwOjAwWiIsdXBkYXRlZF9hdDoiMjAyNi0wMi0xNFQwMDowMDowMFoiLHVzZXJfaWQ6ImRlbW8tbWFkZWxpbmUtYmlzaG9wIixzZWVkOjgwMDAwMn0se2lkOiJkZW1vLW1iLTQwMGstMiIsbmFtZToiNDAwSyBDaGFsbGVuZ2UgIzIiLGJhbGFuY2Vfc3RhcnQ6NGU1LGJhbGFuY2VfY3VycmVudDo0MTc0MDAscHJvZml0X3RhcmdldDo1LGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6NjAsc3RhdHVzOiJjaGFsbGVuZ2UiLHBoYXNlOjIscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNi0wMS0wOFQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDItMTRUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLW1hZGVsaW5lLWJpc2hvcCIsc2VlZDo4MDAwMDN9LHtpZDoiZGVtby1tYi00MDBrLTMiLG5hbWU6IjQwMEsgQ2hhbGxlbmdlICMzIixiYWxhbmNlX3N0YXJ0OjRlNSxiYWxhbmNlX2N1cnJlbnQ6NDE4MzIwLHByb2ZpdF90YXJnZXQ6NSxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjYwLHN0YXR1czoiY2hhbGxlbmdlIixwaGFzZToyLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjYtMDEtMTBUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAyLTE0VDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1tYWRlbGluZS1iaXNob3AiLHNlZWQ6ODAwMDA0fSx7aWQ6ImRlbW8tbWItNDAway00IixuYW1lOiI0MDBLIENoYWxsZW5nZSAjNCIsYmFsYW5jZV9zdGFydDo0ZTUsYmFsYW5jZV9jdXJyZW50OjQxOTQ0MCxwcm9maXRfdGFyZ2V0OjUsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czo2MCxzdGF0dXM6ImNoYWxsZW5nZSIscGhhc2U6MixwYXlvdXRfZWxpZ2libGU6ITEsd2Vla2VuZF90cmFkaW5nOiEwLGF1dG9fbWFuYWdlbWVudDohMCxjcmVhdGVkX2F0OiIyMDI2LTAxLTEyVDAwOjAwOjAwWiIsdXBkYXRlZF9hdDoiMjAyNi0wMi0xNFQwMDowMDowMFoiLHVzZXJfaWQ6ImRlbW8tbWFkZWxpbmUtYmlzaG9wIixzZWVkOjgwMDAwNX1dLHBheW91dHM6W3tpZDoiZGVtby1tYi1wYXlvdXQtMSIsY2hhbGxlbmdlX2lkOiJkZW1vLW1iLTEwMGstbGl2ZSIsYW1vdW50OjcyNjkuNTgsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMS0yMFQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiJtYSoqKioqKioqKioqKkBnbWFpbC5jb20iLHVzZXJfaWQ6ImRlbW8tbWFkZWxpbmUtYmlzaG9wIixwYXltZW50X21ldGhvZDoicGF5cGFsIn1dLHRvdGFsUGF5b3V0czo3MjY5LjU4fSxSY2U9e3Byb2ZpbGU6e2lkOiJkZW1vLWplc3MtZWxvIixmdWxsX25hbWU6Ikplc3MgRWxvIixlbWFpbDoiamVzcy5lbG8yMkBnbWFpbC5jb20ifSxjaGFsbGVuZ2VzOlt7aWQ6ImRlbW8tamUtMTAway1saXZlIixuYW1lOiIxMDBLIENoYWxsZW5nZSIsYmFsYW5jZV9zdGFydDoxZTUsYmFsYW5jZV9jdXJyZW50OjEwMTgzNi4zOSxwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMDgtMTVUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI1LTExLTAxVDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1qZXNzLWVsbyIsc2VlZDo5NTAwMDF9LHtpZDoiZGVtby1qZS00MDBrLTEiLG5hbWU6IjQwMEsgQ2hhbGxlbmdlICMxIixiYWxhbmNlX3N0YXJ0OjRlNSxiYWxhbmNlX2N1cnJlbnQ6NDE2OTI3LjM4LHByb2ZpdF90YXJnZXQ6MTAsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czo2MCxzdGF0dXM6ImNoYWxsZW5nZSIscGhhc2U6MSxwYXlvdXRfZWxpZ2libGU6ITEsd2Vla2VuZF90cmFkaW5nOiEwLGF1dG9fbWFuYWdlbWVudDohMCxjcmVhdGVkX2F0OiIyMDI2LTAxLTE1VDAwOjAwOjAwWiIsdXBkYXRlZF9hdDoiMjAyNi0wMi0xNVQwMDowMDowMFoiLHVzZXJfaWQ6ImRlbW8tamVzcy1lbG8iLHNlZWQ6OTUwMDAyfSx7aWQ6ImRlbW8tamUtNDAway0yIixuYW1lOiI0MDBLIENoYWxsZW5nZSAjMiIsYmFsYW5jZV9zdGFydDo0ZTUsYmFsYW5jZV9jdXJyZW50OjQxOTgyMy4yMyxwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6NjAsc3RhdHVzOiJjaGFsbGVuZ2UiLHBoYXNlOjEscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNi0wMS0xOFQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDItMTVUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLWplc3MtZWxvIixzZWVkOjk1MDAwM31dLHBheW91dHM6W3tpZDoiZGVtby1qZS1wYXlvdXQtMSIsY2hhbGxlbmdlX2lkOiJkZW1vLWplLTEwMGstbGl2ZSIsYW1vdW50OjM0MDAsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNS0xMS0yOFQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tamVzcy1lbG8iLHBheW1lbnRfbWV0aG9kOiJhY2gifSx7aWQ6ImRlbW8tamUtcGF5b3V0LTIiLGNoYWxsZW5nZV9pZDoiZGVtby1qZS0xMDBrLWxpdmUiLGFtb3VudDoyODAwLHN0YXR1czoiYXBwcm92ZWQiLGNyZWF0ZWRfYXQ6IjIwMjUtMTItMThUMDA6MDA6MDBaIixjcnlwdG9fYWRkcmVzczoiIix1c2VyX2lkOiJkZW1vLWplc3MtZWxvIixwYXltZW50X21ldGhvZDoiYWNoIn0se2lkOiJkZW1vLWplLXBheW91dC0zIixjaGFsbGVuZ2VfaWQ6ImRlbW8tamUtMTAway1saXZlIixhbW91bnQ6MzIwMCxzdGF0dXM6ImFwcHJvdmVkIixjcmVhdGVkX2F0OiIyMDI2LTAxLTEwVDAwOjAwOjAwWiIsY3J5cHRvX2FkZHJlc3M6IiIsdXNlcl9pZDoiZGVtby1qZXNzLWVsbyIscGF5bWVudF9tZXRob2Q6ImFjaCJ9LHtpZDoiZGVtby1qZS1wYXlvdXQtNCIsY2hhbGxlbmdlX2lkOiJkZW1vLWplLTEwMGstbGl2ZSIsYW1vdW50OjE2MDAsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMi0wMlQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tamVzcy1lbG8iLHBheW1lbnRfbWV0aG9kOiJhY2gifV0sdG90YWxQYXlvdXRzOjExZTN9LFFjZT17cHJvZmlsZTp7aWQ6ImRlbW8tYWRhbS1odXNzYWluIixmdWxsX25hbWU6IkFkYW0gSHVzc2FpbiIsZW1haWw6ImFkYW0uaHVzc2FpbkBlbWFpbC5jb20ifSxjaGFsbGVuZ2VzOlt7aWQ6ImRlbW8tYWgtMTAway1saXZlIixuYW1lOiIxMDBLIENoYWxsZW5nZSIsYmFsYW5jZV9zdGFydDoxZTUsYmFsYW5jZV9jdXJyZW50OjEwMDgzNS43OCxwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMCx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMDktMDFUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI1LTEyLTAxVDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1hZGFtLWh1c3NhaW4iLHNlZWQ6OTYwMDAxfSx7aWQ6ImRlbW8tYWgtNDAway1saXZlIixuYW1lOiI0MDBLIENoYWxsZW5nZSIsYmFsYW5jZV9zdGFydDo0ZTUsYmFsYW5jZV9jdXJyZW50OjQwMjQzOC4yMSxwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMCx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMTAtMDFUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI1LTEyLTE1VDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1hZGFtLWh1c3NhaW4iLHNlZWQ6OTYwMDAyfSx7aWQ6ImRlbW8tYWgtMW0tbGl2ZSIsbmFtZToiMU0gQ2hhbGxlbmdlIixiYWxhbmNlX3N0YXJ0OjFlNixiYWxhbmNlX2N1cnJlbnQ6MTAyOTYzNzQ1ZS0yLHByb2ZpdF90YXJnZXQ6MTAsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czozNjUsc3RhdHVzOiJmdW5kZWQiLHBoYXNlOjEscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNS0xMS0wMVQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDItMDFUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLWFkYW0taHVzc2FpbiIsc2VlZDo5NjAwMDMsZGF5c0Z1bmRlZDozM31dLHBheW91dHM6W3tpZDoiZGVtby1haC1wYXlvdXQtMSIsY2hhbGxlbmdlX2lkOiJkZW1vLWFoLTEwMGstbGl2ZSIsYW1vdW50OjYzMDcuOTksc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMS0wNVQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIweDRhMmIuLi45ZjNlIix1c2VyX2lkOiJkZW1vLWFkYW0taHVzc2FpbiIscGF5bWVudF9tZXRob2Q6ImNyeXB0byJ9LHtpZDoiZGVtby1haC1wYXlvdXQtMiIsY2hhbGxlbmdlX2lkOiJkZW1vLWFoLTQwMGstbGl2ZSIsYW1vdW50OjE5MTgyLjksc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMS0xMlQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tYWRhbS1odXNzYWluIixwYXltZW50X21ldGhvZDoiYWNoIn0se2lkOiJkZW1vLWFoLXBheW91dC0zIixjaGFsbGVuZ2VfaWQ6ImRlbW8tYWgtMTAway1saXZlIixhbW91bnQ6NDczNi44MyxzdGF0dXM6ImFwcHJvdmVkIixjcmVhdGVkX2F0OiIyMDI2LTAxLTE4VDAwOjAwOjAwWiIsY3J5cHRvX2FkZHJlc3M6IjB4NGEyYi4uLjlmM2UiLHVzZXJfaWQ6ImRlbW8tYWRhbS1odXNzYWluIixwYXltZW50X21ldGhvZDoiY3J5cHRvIn0se2lkOiJkZW1vLWFoLXBheW91dC00IixjaGFsbGVuZ2VfaWQ6ImRlbW8tYWgtNDAway1saXZlIixhbW91bnQ6MjE4MzYuNDQsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMS0yOVQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIweDRhMmIuLi45ZjNlIix1c2VyX2lkOiJkZW1vLWFkYW0taHVzc2FpbiIscGF5bWVudF9tZXRob2Q6ImNyeXB0byJ9LHtpZDoiZGVtby1haC1wYXlvdXQtNSIsY2hhbGxlbmdlX2lkOiJkZW1vLWFoLTEwMGstbGl2ZSIsYW1vdW50OjU4MzYuMjIsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMi0xOFQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIweDRhMmIuLi45ZjNlIix1c2VyX2lkOiJkZW1vLWFkYW0taHVzc2FpbiIscGF5bWVudF9tZXRob2Q6ImNyeXB0byJ9XSx0b3RhbFBheW91dHM6NTc5MDAuMzh9LExjZT17cHJvZmlsZTp7aWQ6ImRlbW8tZG9ubnktbCIsZnVsbF9uYW1lOiJEb25ueSBMIixlbWFpbDoiRG9ubnkyNjMyOEBnbWFpbC5jb20ifSxjaGFsbGVuZ2VzOlt7aWQ6ImRlbW8tZGwtMjAway1saXZlIixuYW1lOiIyMDBLIENoYWxsZW5nZSIsYmFsYW5jZV9zdGFydDoyZTUsYmFsYW5jZV9jdXJyZW50OjIwMjM0Mi4yNyxwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZTozLHBheW91dF9lbGlnaWJsZTohMCx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMDktMTVUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI1LTEyLTIwVDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1kb25ueS1sIixzZWVkOjgwMDAwMX0se2lkOiJkZW1vLWRsLTFtLWxpdmUiLG5hbWU6IjFNIENoYWxsZW5nZSIsYmFsYW5jZV9zdGFydDoxZTYsYmFsYW5jZV9jdXJyZW50OjEwMzgyNDUyMmUtMixwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6MzY1LHN0YXR1czoiZnVuZGVkIixwaGFzZTozLHBheW91dF9lbGlnaWJsZTohMCx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMDgtMjBUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI1LTExLTIwVDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1kb25ueS1sIixzZWVkOjgwMDAwMn0se2lkOiJkZW1vLWRsLTQwMGstcDEiLG5hbWU6IjQwMEsgQ2hhbGxlbmdlIixiYWxhbmNlX3N0YXJ0OjRlNSxiYWxhbmNlX2N1cnJlbnQ6NDMzMzYwLHByb2ZpdF90YXJnZXQ6MTAsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czo2MCxzdGF0dXM6ImNoYWxsZW5nZSIscGhhc2U6MSxwYXlvdXRfZWxpZ2libGU6ITEsd2Vla2VuZF90cmFkaW5nOiEwLGF1dG9fbWFuYWdlbWVudDohMCxjcmVhdGVkX2F0OiIyMDI2LTAxLTIwVDAwOjAwOjAwWiIsdXBkYXRlZF9hdDoiMjAyNi0wMy0wMVQwMDowMDowMFoiLHVzZXJfaWQ6ImRlbW8tZG9ubnktbCIsc2VlZDo4MDAwMDN9LHtpZDoiZGVtby1kbC0xbS1wMi1hIixuYW1lOiIxTSBDaGFsbGVuZ2UgSUkiLGJhbGFuY2Vfc3RhcnQ6MWU2LGJhbGFuY2VfY3VycmVudDoxMDMyMjAwLHByb2ZpdF90YXJnZXQ6NSxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjYwLHN0YXR1czoiY2hhbGxlbmdlIixwaGFzZToyLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjUtMTItMTBUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAyLTI4VDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1kb25ueS1sIixzZWVkOjgwMDAwNH0se2lkOiJkZW1vLWRsLTFtLXAyLWIiLG5hbWU6IjFNIENoYWxsZW5nZSBJSUkiLGJhbGFuY2Vfc3RhcnQ6MWU2LGJhbGFuY2VfY3VycmVudDoxMDEyNzAwLHByb2ZpdF90YXJnZXQ6NSxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjYwLHN0YXR1czoiY2hhbGxlbmdlIixwaGFzZToyLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjYtMDEtMDVUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAyLTI4VDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1kb25ueS1sIixzZWVkOjgwMDAwNX0se2lkOiJkZW1vLWRsLTFtLXAxLWEiLG5hbWU6IjFNIENoYWxsZW5nZSBJViIsYmFsYW5jZV9zdGFydDoxZTYsYmFsYW5jZV9jdXJyZW50OjFlNixwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6NjAsc3RhdHVzOiJjaGFsbGVuZ2UiLHBoYXNlOjEscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNi0wMi0yOFQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDMtMDJUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLWRvbm55LWwiLHNlZWQ6ODAwMDA3fSx7aWQ6ImRlbW8tZGwtMW0tcDEtYiIsbmFtZToiMU0gQ2hhbGxlbmdlIFYiLGJhbGFuY2Vfc3RhcnQ6MWU2LGJhbGFuY2VfY3VycmVudDoxZTYscHJvZml0X3RhcmdldDoxMCxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjYwLHN0YXR1czoiY2hhbGxlbmdlIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjYtMDMtMDFUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAzLTAyVDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1kb25ueS1sIixzZWVkOjgwMDAwOH0se2lkOiJkZW1vLWRsLTEwMGstbGl2ZSIsbmFtZToiMTAwSyBDaGFsbGVuZ2UiLGJhbGFuY2Vfc3RhcnQ6MWU1LGJhbGFuY2VfY3VycmVudDoxMDEyNDIuMjEscHJvZml0X3RhcmdldDoxMCxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjM2NSxzdGF0dXM6ImZ1bmRlZCIscGhhc2U6MyxwYXlvdXRfZWxpZ2libGU6ITEsd2Vla2VuZF90cmFkaW5nOiEwLGF1dG9fbWFuYWdlbWVudDohMCxjcmVhdGVkX2F0OiIyMDI1LTExLTAxVDAwOjAwOjAwWiIsdXBkYXRlZF9hdDoiMjAyNi0wMS0xNVQwMDowMDowMFoiLHVzZXJfaWQ6ImRlbW8tZG9ubnktbCIsc2VlZDo4MDAwMDYsZGF5c0Z1bmRlZDoxM31dLHBheW91dHM6W3tpZDoiZGVtby1kbC1wYXlvdXQtMSIsY2hhbGxlbmdlX2lkOiJkZW1vLWRsLTIwMGstbGl2ZSIsYW1vdW50OjYyODMuNDIsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMS0xOFQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tZG9ubnktbCIscGF5bWVudF9tZXRob2Q6ImFjaCJ9LHtpZDoiZGVtby1kbC1wYXlvdXQtMiIsY2hhbGxlbmdlX2lkOiJkZW1vLWRsLTFtLWxpdmUiLGFtb3VudDoyOTQyMS42MixzdGF0dXM6ImFwcHJvdmVkIixjcmVhdGVkX2F0OiIyMDI2LTAxLTI5VDAwOjAwOjAwWiIsY3J5cHRvX2FkZHJlc3M6IjB4N2QzZi4uLmE4MmMiLHVzZXJfaWQ6ImRlbW8tZG9ubnktbCIscGF5bWVudF9tZXRob2Q6ImNyeXB0byJ9LHtpZDoiZGVtby1kbC1wYXlvdXQtMyIsY2hhbGxlbmdlX2lkOiJkZW1vLWRsLTIwMGstbGl2ZSIsYW1vdW50OjgyMzIuNTIsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMi0wN1QwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tZG9ubnktbCIscGF5bWVudF9tZXRob2Q6InBheXBhbCJ9XSx0b3RhbFBheW91dHM6NDM5MzcuNTZ9LCRjZT17cHJvZmlsZTp7aWQ6ImRlbW8tcXVpbmxhbi1rZW50b24iLGZ1bGxfbmFtZToiUXVpbmxhbiBLZW50b24iLGVtYWlsOiJRdWlubGFuOTI5MjQ4NDc5QHlhaG9vLmNvbSJ9LGNoYWxsZW5nZXM6W3tpZDoiZGVtby1xay0xMDBrLWxpdmUiLG5hbWU6IjEwMEsgQ2hhbGxlbmdlIixiYWxhbmNlX3N0YXJ0OjFlNSxiYWxhbmNlX2N1cnJlbnQ6MTAyODQ3LjE5LHByb2ZpdF90YXJnZXQ6MTAsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czozNjUsc3RhdHVzOiJmdW5kZWQiLHBoYXNlOjIscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNS0xMC0xNVQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDEtMjBUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLXF1aW5sYW4ta2VudG9uIixzZWVkOjkwMDAwMSxkYXlzRnVuZGVkOjI5fSx7aWQ6ImRlbW8tcWstNDAway0xIixuYW1lOiI0MDBLIENoYWxsZW5nZSAjMSIsYmFsYW5jZV9zdGFydDo0ZTUsYmFsYW5jZV9jdXJyZW50OjQwOTg4MCxwcm9maXRfdGFyZ2V0OjEwLGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6NjAsc3RhdHVzOiJhY3RpdmUiLHBoYXNlOjEscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNi0wMi0xMFQwMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDMtMDhUMDA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLXF1aW5sYW4ta2VudG9uIixzZWVkOjkwMDAwMn0se2lkOiJkZW1vLXFrLTQwMGstMiIsbmFtZToiNDAwSyBDaGFsbGVuZ2UgIzIiLGJhbGFuY2Vfc3RhcnQ6NGU1LGJhbGFuY2VfY3VycmVudDo0MTA4NDAscHJvZml0X3RhcmdldDoxMCxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjYwLHN0YXR1czoiYWN0aXZlIixwaGFzZToxLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjYtMDItMTJUMDA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAzLTA4VDAwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1xdWlubGFuLWtlbnRvbiIsc2VlZDo5MDAwMDN9XSxwYXlvdXRzOltdLHRvdGFsUGF5b3V0czowfSxIY2U9e3Byb2ZpbGU6e2lkOiJkZW1vLW1pcmV5YS1hc2hseW4iLGZ1bGxfbmFtZToiTWlyZXlhIEFzaGx5biIsZW1haWw6Im1pcmV5YTExMkBob3RtYWlsLmNvbSJ9LGNoYWxsZW5nZXM6W3tpZDoiZGVtby1tYS0yMDBrIixuYW1lOiIyMDBLIENoYWxsZW5nZSIsYmFsYW5jZV9zdGFydDoyZTUsYmFsYW5jZV9jdXJyZW50OjIwNjI0My4zMixwcm9maXRfdGFyZ2V0OjUsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czozNjUsc3RhdHVzOiJmdW5kZWQiLHBoYXNlOjMscGF5b3V0X2VsaWdpYmxlOiEwLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNi0wMi0xOVQxMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDMtMTRUMTA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLW1pcmV5YS1hc2hseW4iLHNlZWQ6ODAwMDAxLGRheXNGdW5kZWQ6MTJ9LHtpZDoiZGVtby1tYS0xMDBrIixuYW1lOiIxMDBLIENoYWxsZW5nZSIsYmFsYW5jZV9zdGFydDoxZTUsYmFsYW5jZV9jdXJyZW50Ojg5MjQwLjE3LHByb2ZpdF90YXJnZXQ6MTAsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czozNjUsc3RhdHVzOiJmYWlsZWQiLHBoYXNlOjEscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNS0xMi0xN1QxMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDItMTBUMTA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLW1pcmV5YS1hc2hseW4iLHNlZWQ6ODAwMDAyfSx7aWQ6ImRlbW8tbWEtMW0tMSIsbmFtZToiMU0gQ2hhbGxlbmdlICMxIixiYWxhbmNlX3N0YXJ0OjFlNixiYWxhbmNlX2N1cnJlbnQ6MTAwNTIwMCxwcm9maXRfdGFyZ2V0OjUsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czo2MCxzdGF0dXM6ImNoYWxsZW5nZSIscGhhc2U6MixwYXlvdXRfZWxpZ2libGU6ITEsd2Vla2VuZF90cmFkaW5nOiEwLGF1dG9fbWFuYWdlbWVudDohMCxjcmVhdGVkX2F0OiIyMDI2LTAzLTAxVDEwOjAwOjAwWiIsdXBkYXRlZF9hdDoiMjAyNi0wMy0xNVQxMDowMDowMFoiLHVzZXJfaWQ6ImRlbW8tbWlyZXlhLWFzaGx5biIsc2VlZDo4MDAwMDN9LHtpZDoiZGVtby1tYS0xbS0yIixuYW1lOiIxTSBDaGFsbGVuZ2UgIzIiLGJhbGFuY2Vfc3RhcnQ6MWU2LGJhbGFuY2VfY3VycmVudDoxMDE4NzAwLHByb2ZpdF90YXJnZXQ6NSxkcmF3ZG93bl9saW1pdDoxMCxkdXJhdGlvbl9kYXlzOjYwLHN0YXR1czoiY2hhbGxlbmdlIixwaGFzZToyLHBheW91dF9lbGlnaWJsZTohMSx3ZWVrZW5kX3RyYWRpbmc6ITAsYXV0b19tYW5hZ2VtZW50OiEwLGNyZWF0ZWRfYXQ6IjIwMjYtMDMtMDJUMTA6MDA6MDBaIix1cGRhdGVkX2F0OiIyMDI2LTAzLTE1VDEwOjAwOjAwWiIsdXNlcl9pZDoiZGVtby1taXJleWEtYXNobHluIixzZWVkOjgwMDAwNH0se2lkOiJkZW1vLW1hLTFtLTMiLG5hbWU6IjFNIENoYWxsZW5nZSAjMyIsYmFsYW5jZV9zdGFydDoxZTYsYmFsYW5jZV9jdXJyZW50OjEwMzE1MDAscHJvZml0X3RhcmdldDo1LGRyYXdkb3duX2xpbWl0OjEwLGR1cmF0aW9uX2RheXM6NjAsc3RhdHVzOiJjaGFsbGVuZ2UiLHBoYXNlOjIscGF5b3V0X2VsaWdpYmxlOiExLHdlZWtlbmRfdHJhZGluZzohMCxhdXRvX21hbmFnZW1lbnQ6ITAsY3JlYXRlZF9hdDoiMjAyNi0wMy0wM1QxMDowMDowMFoiLHVwZGF0ZWRfYXQ6IjIwMjYtMDMtMTVUMTA6MDA6MDBaIix1c2VyX2lkOiJkZW1vLW1pcmV5YS1hc2hseW4iLHNlZWQ6ODAwMDA1fSx7aWQ6ImRlbW8tbWEtMW0tNCIsbmFtZToiMU0gQ2hhbGxlbmdlICM0IixiYWxhbmNlX3N0YXJ0OjFlNixiYWxhbmNlX2N1cnJlbnQ6MTA0MjQwMCxwcm9maXRfdGFyZ2V0OjUsZHJhd2Rvd25fbGltaXQ6MTAsZHVyYXRpb25fZGF5czo2MCxzdGF0dXM6ImNoYWxsZW5nZSIscGhhc2U6MixwYXlvdXRfZWxpZ2libGU6ITEsd2Vla2VuZF90cmFkaW5nOiEwLGF1dG9fbWFuYWdlbWVudDohMCxjcmVhdGVkX2F0OiIyMDI2LTAzLTA0VDEwOjAwOjAwWiIsdXBkYXRlZF9hdDoiMjAyNi0wMy0xNVQxMDowMDowMFoiLHVzZXJfaWQ6ImRlbW8tbWlyZXlhLWFzaGx5biIsc2VlZDo4MDAwMDZ9XSxwYXlvdXRzOlt7aWQ6ImRlbW8tbWEtcGF5b3V0LTEiLGNoYWxsZW5nZV9pZDoiZGVtby1tYS0yMDBrIixhbW91bnQ6MTE3MDQuODcsc3RhdHVzOiJhcHByb3ZlZCIsY3JlYXRlZF9hdDoiMjAyNi0wMi0yOFQwMDowMDowMFoiLGNyeXB0b19hZGRyZXNzOiIiLHVzZXJfaWQ6ImRlbW8tbWlyZXlhLWFzaGx5biIscGF5bWVudF9tZXRob2Q6ImNyeXB0byJ9LHtpZDoiZGVtby1tYS1wYXlvdXQtMiIsY2hhbGxlbmdlX2lkOiJkZW1vLW1hLTIwMGsiLGFtb3VudDo0Nzk1LjA4LHN0YXR1czoiYXBwcm92ZWQiLGNyZWF0ZWRfYXQ6IjIwMjYtMDMtMDVUMDA6MDA6MDBaIixjcnlwdG9fYWRkcmVzczoiIix1c2VyX2lkOiJkZW1vLW1pcmV5YS1hc2hseW4iLHBheW1lbnRfbWV0aG9kOiJjcnlwdG8ifV0sdG90YWxQYXlvdXRzOjE2NDk5Ljk1fSxLY2U9eyJyZWlkLXBvcnRlciI6e2hpZGVDcnlwdG9BbGVydDohMSxzaG93V2l0aGRyYXdhbE1ldGhvZFNlbGVjdG9yOiExfSwiam9obmF0aGFuLXN0b2NrIjp7aGlkZUNyeXB0b0FsZXJ0OiEwLHNob3dXaXRoZHJhd2FsTWV0aG9kU2VsZWN0b3I6ITB9LCJvd2VuLWNoZXN0ZXIiOntoaWRlQ3J5cHRvQWxlcnQ6ITAsc2hvd1dpdGhkcmF3YWxNZXRob2RTZWxlY3RvcjohMH0sIm1hZGVsaW5lLWJpc2hvcCI6e2hpZGVDcnlwdG9BbGVydDohMCxzaG93V2l0aGRyYXdhbE1ldGhvZFNlbGVjdG9yOiEwfSwiZ3JlZy1kd2VsbGVyIjp7aGlkZUNyeXB0b0FsZXJ0OiEwLHNob3dXaXRoZHJhd2FsTWV0aG9kU2VsZWN0b3I6ITB9LCJqZXNzLWVsbyI6e2hpZGVDcnlwdG9BbGVydDohMCxzaG93V2l0aGRyYXdhbE1ldGhvZFNlbGVjdG9yOiEwfSwiYWRhbS1odXNzYWluIjp7aGlkZUNyeXB0b0FsZXJ0OiEwLHNob3dXaXRoZHJhd2FsTWV0aG9kU2VsZWN0b3I6ITB9LCJkb25ueS1sIjp7aGlkZUNyeXB0b0FsZXJ0OiEwLHNob3dXaXRoZHJhd2FsTWV0aG9kU2VsZWN0b3I6ITB9LCJxdWlubGFuLWtlbnRvbiI6e2hpZGVDcnlwdG9BbGVydDohMCxzaG93V2l0aGRyYXdhbE1ldGhvZFNlbGVjdG9yOiEwfSwibWlyZXlhLWFzaGx5biI6e2hpZGVDcnlwdG9BbGVydDohMCxzaG93V2l0aGRyYXdhbE1ldGhvZFNlbGVjdG9yOiEwfX0sVmNlPXsicmVpZC1wb3J0ZXIiOk9jZSwiam9obmF0aGFuLXN0b2NrIjpJY2UsIm93ZW4tY2hlc3RlciI6VWNlLCJtYWRlbGluZS1iaXNob3AiOk1jZSwiZ3JlZy1kd2VsbGVyIjpEY2UsImplc3MtZWxvIjpSY2UsImFkYW0taHVzc2FpbiI6UWNlLCJkb25ueS1sIjpMY2UsInF1aW5sYW4ta2VudG9uIjokY2UsIm1pcmV5YS1hc2hseW4iOkhjZX07ZnVuY3Rpb24gemNlKHtjaGlsZHJlbjplLGRlbW9JZDp0fSl7Y29uc3Qgcj10P1ZjZVt0XTpudWxsLG49dD9LY2VbdF06bnVsbCxhPXtpc0RlbW86ISFyLGRlbW9JZDp0LGNoYWxsZW5nZXM6KHI9PW51bGw/dm9pZCAwOnIuY2hhbGxlbmdlcyl8fFtdLHBheW91dHM6KHI9PW51bGw/dm9pZCAwOnIucGF5b3V0cyl8fFtdLHByb2ZpbGU6KHI9PW51bGw/dm9pZCAwOnIucHJvZmlsZSl8fG51bGwsdG90YWxQYXlvdXRzOihyPT1udWxsP3ZvaWQgMDpyLnRvdGFsUGF5b3V0cyl8fDAsaGlkZUNyeXB0b0FsZXJ0OihuPT1udWxsP3ZvaWQgMDpuLmhpZGVDcnlwdG9BbGVydCl8fCExLHNob3dXaXRoZHJhd2FsTWV0aG9kU2VsZWN0b3I6KG49PW51bGw/dm9pZCAwOm4uc2hvd1dpdGhkcmF3YWxNZXRob2RTZWxlY3Rvcil8fCExfTtyZXR1cm4gcy5qc3goczguUHJvdmlkZXIse3ZhbHVlOmEsY2hpbGRyZW46ZX0pfWZ1bmN0aW9uIGtpKCl7cmV0dXJuIGcudXNlQ29udGV4dChzOCl9ZnVuY3Rpb24gWm4oe2NoaWxkcmVuOmV9KXtjb25zdHtkZW1vSWQ6dH09am8oKTtyZXR1cm4gcy5qc3goemNlLHtkZW1vSWQ6dHx8bnVsbCxjaGlsZHJlbjplfSl9Y29uc3QgdWU9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KCJkaXYiLHtyZWY6cixjbGFzc05hbWU6d2UoInJvdW5kZWQtMnhsIGJvcmRlciBib3JkZXItcHJpbWFyeS8xNSBiZy1ncmFkaWVudC10by1iciBmcm9tLWNhcmQvOTggdG8tc2Vjb25kYXJ5Lzk4IHRleHQtY2FyZC1mb3JlZ3JvdW5kIGNhcmQtc2hhZG93IGJhY2tkcm9wLWJsdXItbWQgcmVsYXRpdmUgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGhvdmVyOmNhcmQtc2hhZG93LWhvdmVyIixlKSwuLi50fSkpO3VlLmRpc3BsYXlOYW1lPSJDYXJkIjtjb25zdCBZZT1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3goImRpdiIse3JlZjpyLGNsYXNzTmFtZTp3ZSgiZmxleCBmbGV4LWNvbCBzcGFjZS15LTEuNSBwLTYiLGUpLC4uLnR9KSk7WWUuZGlzcGxheU5hbWU9IkNhcmRIZWFkZXIiO2NvbnN0IFhlPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeCgiaDMiLHtyZWY6cixjbGFzc05hbWU6d2UoInRleHQtMnhsIGZvbnQtYm9sZCBsZWFkaW5nLW5vbmUgdHJhY2tpbmctdGlnaHQiLGUpLC4uLnR9KSk7WGUuZGlzcGxheU5hbWU9IkNhcmRUaXRsZSI7Y29uc3Qgc249Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KCJwIix7cmVmOnIsY2xhc3NOYW1lOndlKCJ0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCIsZSksLi4udH0pKTtzbi5kaXNwbGF5TmFtZT0iQ2FyZERlc2NyaXB0aW9uIjtjb25zdCBDZT1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3goImRpdiIse3JlZjpyLGNsYXNzTmFtZTp3ZSgicC02IHB0LTAiLGUpLC4uLnR9KSk7Q2UuZGlzcGxheU5hbWU9IkNhcmRDb250ZW50Ijtjb25zdCBXY2U9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KCJkaXYiLHtyZWY6cixjbGFzc05hbWU6d2UoImZsZXggaXRlbXMtY2VudGVyIHAtNiBwdC0wIixlKSwuLi50fSkpO1djZS5kaXNwbGF5TmFtZT0iQ2FyZEZvb3RlciI7Y29uc3QgRzE9W3tzaXplOiIkMjVrIixwcmljZTozMjksdXJsOiJodHRwczovL3dob3AuY29tL2NoZWNrb3V0L3BsYW5fYXcyR2lqMUxYTmJZdSJ9LHtzaXplOiIkNTBrIixwcmljZTozNDksdXJsOiJodHRwczovL3dob3AuY29tL2NoZWNrb3V0L3BsYW5fd0t4N21wbVprTFFxYiJ9LHtzaXplOiIkMTAwayIscHJpY2U6NTUwLHVybDoiaHR0cHM6Ly93aG9wLmNvbS9jaGVja291dC9wbGFuX2QzRThKcndWSXZ5WmgifSx7c2l6ZToiJDIwMGsiLHByaWNlOjEwNTAsdXJsOiJodHRwczovL3dob3AuY29tL2NoZWNrb3V0L3BsYW5fRXhGZ2ttTENXMTZkZCJ9LHtzaXplOiIkMzAwayIscHJpY2U6MTQ5OSx1cmw6Imh0dHBzOi8vd2hvcC5jb20vY2hlY2tvdXQvcGxhbl9TY1k5dHVvSHlJMTFsIn0se3NpemU6IiQ0MDBrIixwcmljZToxOTk3LHVybDoiaHR0cHM6Ly93aG9wLmNvbS9jaGVja291dC9wbGFuX2FTYUxpTjVjQ1hNNTAifSx7c2l6ZToiJDFNIixwcmljZTozODAwLG9yaWdpbmFsUHJpY2U6NTA1MCx1cmw6Imh0dHBzOi8vd2hvcC5jb20vY2hlY2tvdXQvcGxhbl9abHh3blFLTU9qSTh6IixsaW1pdGVkVGltZTohMH1dO2Z1bmN0aW9uIGE4KCl7Y29uc3RbZSx0XT1nLnVzZVN0YXRlKCIkMTAwayIpLHI9RzEuZmluZChuPT5uLnNpemU9PT1lKXx8RzFbMl07cmV0dXJuIHMuanN4KCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJweS04IHNtOnB5LTEwIGJnLWdyYWRpZW50LXRvLWIgZnJvbS1zZWNvbmRhcnkvMzAgdG8tc2Vjb25kYXJ5LzUwIixjaGlsZHJlbjpzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy00eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJvdW5kZWQtMnhsIHAtNiBzcGFjZS15LTYiLHN0eWxlOntiYWNrZ3JvdW5kQ29sb3I6InJnYigyNDQsIDI0NCwgMjQ0KSJ9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYmctd2hpdGUgcm91bmRlZC14bCBwLTYiLGNoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6InRleHQtYmFzZSBmb250LWJvbGQgbWItNCB0ZXh0LWZvcmVncm91bmQiLGNoaWxkcmVuOiJNb2RlbCJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGdhcC0zIixjaGlsZHJlbjpzLmpzeHMoImJ1dHRvbiIse2NsYXNzTmFtZToicmVsYXRpdmUgcHgtOCBweS0zIHJvdW5kZWQtZnVsbCB0ZXh0LXNtIGZvbnQtbWVkaXVtIGJnLXByaW1hcnkgdGV4dC13aGl0ZSBzaGFkb3ctbWQiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMHB4XSBmb250LXNlbWlib2xkIG1iLTAuNSIsY2hpbGRyZW46Ik1vc3QgUG9wdWxhciJ9KSxzLmpzeCgiZGl2Iix7Y2hpbGRyZW46IlR3byBTdGVwIn0pXX0pfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im10LTQgc3BhY2UteS0yIHRleHQtc20iLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiLGNoaWxkcmVuOltzLmpzeCgic3BhbiIse2NsYXNzTmFtZToiZm9udC1zZW1pYm9sZCB0ZXh0LXByaW1hcnkiLGNoaWxkcmVuOiJQaGFzZSAxOiJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiMTAlIFNpbXVsYXRlZCBQcm9maXQgVGFyZ2V0In0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46W3MuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJmb250LXNlbWlib2xkIHRleHQtcHJpbWFyeSIsY2hpbGRyZW46IlBoYXNlIDI6In0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiI1JSBTaW11bGF0ZWQgUHJvZml0IFRhcmdldCJ9KV19KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBtdC0yIixjaGlsZHJlbjoiUGFzcyBib3RoIHBoYXNlcyB0byB1bmxvY2sgeW91ciBQZXJmb3JtYW5jZSBBY2NvdW50IGFuZCBlYXJuIGNlcnRpZmljYXRlcyJ9KV19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZ3JpZCBtZDpncmlkLWNvbHMtMiBnYXAtNiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZy13aGl0ZSByb3VuZGVkLXhsIHAtNiIsY2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToidGV4dC1iYXNlIGZvbnQtYm9sZCBtYi00IHRleHQtZm9yZWdyb3VuZCIsY2hpbGRyZW46Ik1vZGVsIFR5cGUifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiZmxleCBnYXAtMyIsY2hpbGRyZW46cy5qc3goImJ1dHRvbiIse2NsYXNzTmFtZToicHgtMTAgcHktMyByb3VuZGVkLWZ1bGwgdGV4dC1zbSBmb250LXNlbWlib2xkIGJnLXByaW1hcnkgdGV4dC13aGl0ZSBzaGFkb3ctbWQiLGNoaWxkcmVuOiJQUk8ifSl9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYmctd2hpdGUgcm91bmRlZC14bCBwLTYiLGNoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6InRleHQtYmFzZSBmb250LWJvbGQgbWItNCB0ZXh0LWZvcmVncm91bmQiLGNoaWxkcmVuOiJQbGF0Zm9ybSJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBpdGVtcy1zdGFydCIsY2hpbGRyZW46W3MuanN4KCJidXR0b24iLHtjbGFzc05hbWU6InB4LTYgcHktMyByb3VuZGVkLWxnIHRleHQtc20gZm9udC1zZW1pYm9sZCBiZy1wcmltYXJ5IHRleHQtd2hpdGUgc2hhZG93LW1kIixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIiLGNoaWxkcmVuOltzLmpzeCgic3BhbiIse2NoaWxkcmVuOiJQcm9mZXNzaW9uYWwgUGxhdGZvcm0ifSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtYmFzZSIsY2hpbGRyZW46IvCfk4oifSldfSl9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LW11dGVkLWZvcmVncm91bmQgbXQtMS41IG1sLTEiLGNoaWxkcmVuOiJNb3N0IFBvcHVsYXIifSldfSldfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImJnLXdoaXRlIHJvdW5kZWQteGwgcC02IixjaGlsZHJlbjpbcy5qc3goImgzIix7Y2xhc3NOYW1lOiJ0ZXh0LWJhc2UgZm9udC1ib2xkIG1iLTQgdGV4dC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiQWNjb3VudCBTaXplIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTIgc206Z3JpZC1jb2xzLTQgbWQ6Z3JpZC1jb2xzLTcgZ2FwLTMiLGNoaWxkcmVuOkcxLm1hcChuPT5zLmpzeHMoImJ1dHRvbiIse29uQ2xpY2s6KCk9PnQobi5zaXplKSxjbGFzc05hbWU6YHJlbGF0aXZlIHB4LTQgcHktMy41IHJvdW5kZWQtbGcgdGV4dC1zbSBmb250LXNlbWlib2xkIHRyYW5zaXRpb24tYWxsICR7ZT09PW4uc2l6ZT8iYmctcHJpbWFyeSB0ZXh0LXdoaXRlIHNoYWRvdy1tZCI6bi5saW1pdGVkVGltZT8iYmctZ3JhZGllbnQtdG8tciBmcm9tLWFtYmVyLTUwMC8yMCB0by1vcmFuZ2UtNTAwLzIwIGJvcmRlci0yIGJvcmRlci1hbWJlci01MDAgdGV4dC1mb3JlZ3JvdW5kIGhvdmVyOmJvcmRlci1hbWJlci02MDAiOiJiZy1zZWNvbmRhcnkvMjAgYm9yZGVyIGJvcmRlci1ib3JkZXIgdGV4dC1mb3JlZ3JvdW5kIGhvdmVyOmJvcmRlci1wcmltYXJ5LzUwIn1gLGNoaWxkcmVuOltuLnNpemUsbi5zaXplPT09IiQyMDBrIiYmcy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFic29sdXRlIC10b3AtMSAtcmlnaHQtMSB0ZXh0LWJhc2UiLGNoaWxkcmVuOiLwn5SlIn0pLG4ubGltaXRlZFRpbWUmJnMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSAtdG9wLTIgbGVmdC0xLzIgLXRyYW5zbGF0ZS14LTEvMiB0ZXh0LVs5cHhdIGZvbnQtYm9sZCBweC0xLjUgcHktMC41IGJnLWFtYmVyLTUwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtZnVsbCB3aGl0ZXNwYWNlLW5vd3JhcCIsY2hpbGRyZW46IkxJTUlURUQifSldfSxuLnNpemUpKX0pXX0pLHMuanN4cyh1ZSx7Y2xhc3NOYW1lOiJib3JkZXItNCBib3JkZXItYW1iZXItNTAwIHAtNCBtZDpwLTYgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1zbGF0ZS05MDAgdmlhLWFtYmVyLTgwMC80MCB0by1zbGF0ZS05MDAgcm91bmRlZC14bCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4gc2hhZG93LWxnIHNoYWRvdy1hbWJlci01MDAvMzAiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCByaWdodC0wIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1hbWJlci01MDAgdmlhLXllbGxvdy01MDAgdG8tYW1iZXItNDAwIHRleHQtd2hpdGUgdGV4dC1bMTBweF0gc206dGV4dC14cyBmb250LWJsYWNrIHB4LTIgc206cHgtNCBweS0xIHNtOnB5LTEuNSByb3VuZGVkLWJsLWxnIixjaGlsZHJlbjoi8J+OiSBGTEFTSCBPRkZFUiDwn46CIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0xMiBsZWZ0LTMgdGV4dC1hbWJlci00MDAgb3BhY2l0eS00MCB0ZXh0LXNtIGhpZGRlbiBzbTpibG9jayIsY2hpbGRyZW46IvCfjokifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgYm90dG9tLTggcmlnaHQtNCB0ZXh0LXllbGxvdy00MDAgb3BhY2l0eS00MCB0ZXh0LXNtIGhpZGRlbiBzbTpibG9jayIsY2hpbGRyZW46IvCfjoIifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTQgcHQtNiBzbTpwdC00IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC00IixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidy0xNiBoLTE2IHNtOnctMjQgc206aC0yNCBtZDp3LTMyIG1kOmgtMzIgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1wcmltYXJ5LzIwIHRvLWN5YW4tNTAwLzIwIHJvdW5kZWQteGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZmxleC1zaHJpbmstMCBib3JkZXItMiBib3JkZXItcHJpbWFyeS81MCIsY2hpbGRyZW46cy5qc3gobm8se2NsYXNzTmFtZToidy04IGgtOCBzbTp3LTEyIHNtOmgtMTIgbWQ6dy0xNiBtZDpoLTE2IHRleHQtcHJpbWFyeSJ9KX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4LTEgbWluLXctMCB0ZXh0LWNlbnRlciBzbTp0ZXh0LWxlZnQiLGNoaWxkcmVuOltzLmpzeCgiaDQiLHtjbGFzc05hbWU6InRleHQtYmFzZSBzbTp0ZXh0LWxnIG1kOnRleHQteGwgZm9udC1ibGFjayB0ZXh0LXdoaXRlIG1iLTIiLGNoaWxkcmVuOiLwn46JIEZsYXNoIE9mZmVyIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtd3JhcCBpdGVtcy1iYXNlbGluZSBqdXN0aWZ5LWNlbnRlciBzbTpqdXN0aWZ5LXN0YXJ0IGdhcC0yIG1iLTMiLGNoaWxkcmVuOltzLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InRleHQtM3hsIHNtOnRleHQtMnhsIG1kOnRleHQtNHhsIGZvbnQtYmxhY2sgYmctZ3JhZGllbnQtdG8tciBmcm9tLXByaW1hcnkgdG8tY3lhbi00MDAgYmctY2xpcC10ZXh0IHRleHQtdHJhbnNwYXJlbnQiLGNoaWxkcmVuOlsiJCIsci5wcmljZS50b0xvY2FsZVN0cmluZygpXX0pLHIub3JpZ2luYWxQcmljZSYmcy5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWJhc2Ugc206dGV4dC1sZyBtZDp0ZXh0LXhsIHRleHQtd2hpdGUvNTAgbGluZS10aHJvdWdoIixjaGlsZHJlbjpbIiQiLHIub3JpZ2luYWxQcmljZS50b0xvY2FsZVN0cmluZygpXX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZy1ncmFkaWVudC10by1yIGZyb20tYW1iZXItNTAwIHZpYS15ZWxsb3ctNTAwIHRvLWFtYmVyLTYwMCB0ZXh0LXdoaXRlIHRleHQteHMgc206dGV4dC1zbSBmb250LWJsYWNrIHB4LTMgcHktMS41IHJvdW5kZWQtbGcgaW5saW5lLWJsb2NrIG1iLTMiLGNoaWxkcmVuOlsi8J+OiSBCVVkgMSBHRVQgMSBGUkVFIC0gR0VUIDJ4ICIsci5zaXplLCIhIl19KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LXdoaXRlLzYwIG1iLTEiLGNoaWxkcmVuOiJPbmUtdGltZSBldmFsdWF0aW9uIGZlZSJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1bMTBweF0gc206dGV4dC14cyB0ZXh0LWFtYmVyLTQwMCBmb250LWJvbGQiLGNoaWxkcmVuOiLwn46JIEZsYXNoIE9mZmVyIOKAlCBkb3VibGUgdGhlIGNoYWxsZW5nZXMhIn0pXX0pXX0pLHMuanN4KCJhIix7aHJlZjoiIyIsb25DbGljazpuPT5uLnByZXZlbnREZWZhdWx0KCksY2xhc3NOYW1lOiJ3LWZ1bGwiLGNoaWxkcmVuOnMuanN4KFYse3NpemU6ImxnIixjbGFzc05hbWU6InctZnVsbCBweC00IHNtOnB4LTEwIHB5LTQgdGV4dC14cyBzbTp0ZXh0LXNtIG1kOnRleHQtYmFzZSBmb250LWJsYWNrIHJvdW5kZWQtbGcgYmctZ3JhZGllbnQtdG8tciBmcm9tLWFtYmVyLTUwMCB2aWEteWVsbG93LTUwMCB0by1hbWJlci02MDAgaG92ZXI6ZnJvbS1hbWJlci02MDAgaG92ZXI6dmlhLXllbGxvdy02MDAgaG92ZXI6dG8tYW1iZXItNzAwIHNoYWRvdy1sZyBzaGFkb3ctYW1iZXItNTAwLzMwIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTIwMCBob3ZlcjpzY2FsZS1bMS4wMV0gdGV4dC13aGl0ZSBib3JkZXItMCIsY2hpbGRyZW46IvCfjokgQ0xBSU0gRkxBU0ggT0ZGRVIgLSBHRVQgRlJFRSBDSEFMTEVOR0Ug8J+OgiJ9KX0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBiZy1ncmFkaWVudC10by1iciBmcm9tLXByaW1hcnkvNSB2aWEtd2hpdGUgdG8tcHJpbWFyeS8xMCByb3VuZGVkLXhsIHAtNiBib3JkZXItMiBib3JkZXItcHJpbWFyeS8yMCBvdmVyZmxvdy1oaWRkZW4iLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCByaWdodC0wIHctMzIgaC0zMiBiZy1wcmltYXJ5LzUgcm91bmRlZC1mdWxsIGJsdXItM3hsIGFuaW1hdGUtcHVsc2UifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHctMjQgaC0yNCBiZy1wcmltYXJ5LzEwIHJvdW5kZWQtZnVsbCBibHVyLTJ4bCBhbmltYXRlLXB1bHNlIixzdHlsZTp7YW5pbWF0aW9uRGVsYXk6IjFzIn19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgbWItNiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSIsY2hpbGRyZW46W3MuanN4KG5uLHtjbGFzc05hbWU6ImgtOCB3LTggdGV4dC1wcmltYXJ5IGFuaW1hdGUtcHVsc2UifSkscy5qc3gobmQse2NsYXNzTmFtZToiaC00IHctNCB0ZXh0LXByaW1hcnkgYWJzb2x1dGUgdG9wLTEvMiBsZWZ0LTEvMiAtdHJhbnNsYXRlLXgtMS8yIC10cmFuc2xhdGUteS0xLzIifSldfSkscy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3hzKCJoMyIse2NsYXNzTmFtZToidGV4dC1sZyBmb250LWJvbGQgdGV4dC1mb3JlZ3JvdW5kIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIixjaGlsZHJlbjpbIlNlY3VyZSBQYXltZW50IixzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC14cyBmb250LW5vcm1hbCBweC0yIHB5LTEgYmctZ3JlZW4tMTAwIHRleHQtZ3JlZW4tNzAwIHJvdW5kZWQtZnVsbCIsY2hpbGRyZW46IlNTTCBFbmNyeXB0ZWQifSldfSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiMjU2LWJpdCBlbmNyeXB0aW9uIOKAoiBQQ0kgQ29tcGxpYW50In0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtdC00IHB0LTQgYm9yZGVyLXQgYm9yZGVyLXByaW1hcnkvMTAgZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC00IHRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIixjaGlsZHJlbjpbcy5qc3gob3Qse2NsYXNzTmFtZToiaC0zIHctMyB0ZXh0LWdyZWVuLTYwMCJ9KSxzLmpzeCgic3BhbiIse2NoaWxkcmVuOiJJbnN0YW50IFByb2Nlc3NpbmcifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIixjaGlsZHJlbjpbcy5qc3gob3Qse2NsYXNzTmFtZToiaC0zIHctMyB0ZXh0LWdyZWVuLTYwMCJ9KSxzLmpzeCgic3BhbiIse2NoaWxkcmVuOiJObyBIaWRkZW4gRmVlcyJ9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEiLGNoaWxkcmVuOltzLmpzeChvdCx7Y2xhc3NOYW1lOiJoLTMgdy0zIHRleHQtZ3JlZW4tNjAwIn0pLHMuanN4KCJzcGFuIix7Y2hpbGRyZW46IjEwMCUgU2VjdXJlIn0pXX0pXX0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZy13aGl0ZSByb3VuZGVkLXhsIHAtNCBtZDpwLTYgc3BhY2UteS0wIGRpdmlkZS15IGRpdmlkZS1ib3JkZXIiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTMgbWQ6cHktNCBnYXAtMiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBtaW4tdy0wIGZsZXgtMSIsY2hpbGRyZW46W3MuanN4KG90LHtjbGFzc05hbWU6ImgtNCB3LTQgbWQ6aC01IG1kOnctNSB0ZXh0LXByaW1hcnkgZmxleC1zaHJpbmstMCJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC14cyBtZDp0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCIsY2hpbGRyZW46Ik1heGltdW0gRGFpbHkgTG9zcyJ9KSxzLmpzeCgiYnV0dG9uIix7Y2xhc3NOYW1lOiJ0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIGZsZXgtc2hyaW5rLTAiLGNoaWxkcmVuOnMuanN4KHRuLHtjbGFzc05hbWU6ImgtMyB3LTMgbWQ6aC00IG1kOnctNCJ9KX0pXX0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIG1kOnRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1mb3JlZ3JvdW5kIGZsZXgtc2hyaW5rLTAiLGNoaWxkcmVuOiI1JSJ9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTMgbWQ6cHktNCBnYXAtMiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBtaW4tdy0wIGZsZXgtMSIsY2hpbGRyZW46W3MuanN4KG90LHtjbGFzc05hbWU6ImgtNCB3LTQgbWQ6aC01IG1kOnctNSB0ZXh0LXByaW1hcnkgZmxleC1zaHJpbmstMCJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC14cyBtZDp0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCIsY2hpbGRyZW46Ik1heGltdW0gTG9zcyJ9KSxzLmpzeCgiYnV0dG9uIix7Y2xhc3NOYW1lOiJ0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIGZsZXgtc2hyaW5rLTAiLGNoaWxkcmVuOnMuanN4KHRuLHtjbGFzc05hbWU6ImgtMyB3LTMgbWQ6aC00IG1kOnctNCJ9KX0pXX0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIG1kOnRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1mb3JlZ3JvdW5kIGZsZXgtc2hyaW5rLTAiLGNoaWxkcmVuOiIxMCUifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0zIG1kOnB5LTQgZ2FwLTIiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbWluLXctMCBmbGV4LTEiLGNoaWxkcmVuOltzLmpzeChvdCx7Y2xhc3NOYW1lOiJoLTQgdy00IG1kOmgtNSBtZDp3LTUgdGV4dC1wcmltYXJ5IGZsZXgtc2hyaW5rLTAifSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQteHMgbWQ6dGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWZvcmVncm91bmQiLGNoaWxkcmVuOiJTaW11bGF0ZWQgTGV2ZXJhZ2UifSkscy5qc3goImJ1dHRvbiIse2NsYXNzTmFtZToidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGhvdmVyOnRleHQtZm9yZWdyb3VuZCBmbGV4LXNocmluay0wIixjaGlsZHJlbjpzLmpzeCh0bix7Y2xhc3NOYW1lOiJoLTMgdy0zIG1kOmgtNCBtZDp3LTQifSl9KV19KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1zbSBtZDp0ZXh0LWJhc2UgZm9udC1ib2xkIHRleHQtZm9yZWdyb3VuZCBmbGV4LXNocmluay0wIixjaGlsZHJlbjoiMToyMDAifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS0zIG1kOnB5LTQgZ2FwLTIiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbWluLXctMCBmbGV4LTEiLGNoaWxkcmVuOltzLmpzeChvdCx7Y2xhc3NOYW1lOiJoLTQgdy00IG1kOmgtNSBtZDp3LTUgdGV4dC1wcmltYXJ5IGZsZXgtc2hyaW5rLTAifSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQteHMgbWQ6dGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWZvcmVncm91bmQiLGNoaWxkcmVuOiJSZXdhcmRzIn0pLHMuanN4KCJidXR0b24iLHtjbGFzc05hbWU6InRleHQtbXV0ZWQtZm9yZWdyb3VuZCBob3Zlcjp0ZXh0LWZvcmVncm91bmQgZmxleC1zaHJpbmstMCIsY2hpbGRyZW46cy5qc3godG4se2NsYXNzTmFtZToiaC0zIHctMyBtZDpoLTQgbWQ6dy00In0pfSldfSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQteHMgbWQ6dGV4dC1iYXNlIGZvbnQtYm9sZCB0ZXh0LWZvcmVncm91bmQgZmxleC1zaHJpbmstMCB0ZXh0LXJpZ2h0IixjaGlsZHJlbjoiUGF5b3V0IENlcnQgb24gRGVtYW5kIn0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMyBtZDpweS00IGdhcC0yIixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1pbi13LTAgZmxleC0xIixjaGlsZHJlbjpbcy5qc3gob3Qse2NsYXNzTmFtZToiaC00IHctNCBtZDpoLTUgbWQ6dy01IHRleHQtcHJpbWFyeSBmbGV4LXNocmluay0wIn0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIG1kOnRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiQ2VydGlmaWNhdGUgVmFsdWUgU2hhcmUifSkscy5qc3goImJ1dHRvbiIse2NsYXNzTmFtZToidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGhvdmVyOnRleHQtZm9yZWdyb3VuZCBmbGV4LXNocmluay0wIixjaGlsZHJlbjpzLmpzeCh0bix7Y2xhc3NOYW1lOiJoLTMgdy0zIG1kOmgtNCBtZDp3LTQifSl9KV19KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1zbSBtZDp0ZXh0LWJhc2UgZm9udC1ib2xkIHRleHQtZm9yZWdyb3VuZCBmbGV4LXNocmluay0wIixjaGlsZHJlbjoiVXAgdG8gMTAwJSJ9KV19KV19KV19KX0pfSl9Y29uc3QgVkY9W3tzaXplOiIyNUsiLHByaWNlOjMyOSxib2dvVG90YWw6IjUwSyIsYm9nb1ByaWNlOjE2NSxmdG1vOjI1MCx0aGU1ZXJzOjIzNSxteWZvcmV4OjIyNX0se3NpemU6IjUwSyIscHJpY2U6MzQ5LGJvZ29Ub3RhbDoiMTAwSyIsYm9nb1ByaWNlOjE3NSxmdG1vOjM0NSx0aGU1ZXJzOjI5NSxteWZvcmV4OjI5OX0se3NpemU6IjEwMEsiLHByaWNlOjU1MCxib2dvVG90YWw6IjIwMEsiLGJvZ29QcmljZToyNzUsZnRtbzo1NDAsdGhlNWVyczo0NzUsbXlmb3JleDo0OTl9LHtzaXplOiIyMDBLIixwcmljZToxMDUwLGJvZ29Ub3RhbDoiNDAwSyIsYm9nb1ByaWNlOjUyNSxmdG1vOjEwODAsdGhlNWVyczo4NzUsbXlmb3JleDo5NDl9LHtzaXplOiIzMDBLIixwcmljZToxNDk5LGJvZ29Ub3RhbDoiNjAwSyIsYm9nb1ByaWNlOjc1MCxmdG1vOjE2MjAsdGhlNWVyczoxMjc1LG15Zm9yZXg6MTM5OX0se3NpemU6IjQwMEsiLHByaWNlOjE5OTcsYm9nb1RvdGFsOiI4MDBLIixib2dvUHJpY2U6OTk5LGZ0bW86MjE2MCx0aGU1ZXJzOjE2NTAsbXlmb3JleDoxODQ5fSx7c2l6ZToiMU0iLHByaWNlOjM4MDAsYm9nb1RvdGFsOiIyTSIsYm9nb1ByaWNlOjE5MDAsZnRtbzo0MzIwLHRoZTVlcnM6MzUwMCxteWZvcmV4OjM5OTl9XTtmdW5jdGlvbiBHY2UoKXtjb25zdFtlLHRdPWcudXNlU3RhdGUoMikscj1WRltlXTtyZXR1cm4gcy5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJweS02IHNtOnB5LTEwIGJnLWdyYWRpZW50LXRvLWIgZnJvbS1zbGF0ZS05MDAgdG8tc2xhdGUtODAwIHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIG92ZXJmbG93LWhpZGRlbiIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC01IGxlZnQtMTAgdy00OCBoLTQ4IGJnLXByaW1hcnkvMTAgcm91bmRlZC1mdWxsIGJsdXItM3hsIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGJvdHRvbS01IHJpZ2h0LTEwIHctNjQgaC02NCBiZy1jeWFuLTUwMC81IHJvdW5kZWQtZnVsbCBibHVyLTN4bCJ9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWF4LXctNXhsIG14LWF1dG8gcHgtMyBzbTpweC02IGxnOnB4LTggcmVsYXRpdmUiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC1jZW50ZXIgbWItNCBzbTptYi02IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHNtOmdhcC0yIHB4LTIuNSBzbTpweC0zIHB5LTEuNSBiZy1ncmFkaWVudC10by1yIGZyb20tYW1iZXItNTAwLzIwIHRvLXllbGxvdy01MDAvMjAgcm91bmRlZC1mdWxsIG1iLTIgc206bWItMyBib3JkZXIgYm9yZGVyLWFtYmVyLTUwMC8zMCIsY2hpbGRyZW46W3MuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWJhc2Ugc206dGV4dC1sZyIsY2hpbGRyZW46IvCfjokifSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEwcHhdIHNtOnRleHQteHMgZm9udC1ib2xkIHRleHQtYW1iZXItNDAwIixjaGlsZHJlbjoiRkxBU0ggT0ZGRVIgwrcgTE9XRVNUIFBSSUNFUyBFVkVSIn0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWJhc2Ugc206dGV4dC1sZyIsY2hpbGRyZW46IvCfjoIifSldfSkscy5qc3hzKCJoMiIse2NsYXNzTmFtZToidGV4dC14bCBzbTp0ZXh0LTN4bCBtZDp0ZXh0LTR4bCBmb250LWJsYWNrIG1iLTEgc206bWItMiBsZWFkaW5nLXRpZ2h0IixjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtdHJhbnNwYXJlbnQgYmctY2xpcC10ZXh0IGJnLWdyYWRpZW50LXRvLXIgZnJvbS1hbWJlci00MDAgdmlhLXllbGxvdy00MDAgdG8tYW1iZXItNDAwIixjaGlsZHJlbjoiTE9XRVNUIFBSSUNFIn0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlIixjaGlsZHJlbjoiIFRyYWRpbmcgRXZhbHVhdGlvbiJ9KSxzLmpzeCgiYnIiLHtjbGFzc05hbWU6InNtOmhpZGRlbiJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC13aGl0ZSIsY2hpbGRyZW46IiBDaGFsbGVuZ2VzICJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC10cmFuc3BhcmVudCBiZy1jbGlwLXRleHQgYmctZ3JhZGllbnQtdG8tciBmcm9tLXllbGxvdy00MDAgdG8tYW1iZXItNTAwIixjaGlsZHJlbjoiRVZFUiJ9KV19KV19KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNlbnRlciBnYXAtMS41IHNtOmdhcC0yIG1iLTQgc206bWItNiIsY2hpbGRyZW46VkYubWFwKChuLGEpPT5zLmpzeHMoImJ1dHRvbiIse29uQ2xpY2s6KCk9PnQoYSksY2xhc3NOYW1lOmBweC0yLjUgc206cHgtMyBweS0xLjUgc206cHktMiByb3VuZGVkLWxnIGZvbnQtYm9sZCB0ZXh0LVsxMXB4XSBzbTp0ZXh0LXhzIHRyYW5zaXRpb24tYWxsICR7ZT09PWE/ImJnLWdyYWRpZW50LXRvLXIgZnJvbS1hbWJlci01MDAgdG8teWVsbG93LTUwMCB0ZXh0LXdoaXRlIHNjYWxlLTEwNSBzaGFkb3ctbGcgc2hhZG93LWFtYmVyLTUwMC8zMCI6ImJnLXNsYXRlLTcwMC81MCB0ZXh0LXNsYXRlLTMwMCBob3ZlcjpiZy1zbGF0ZS03MDAgYm9yZGVyIGJvcmRlci1zbGF0ZS02MDAifWAsY2hpbGRyZW46WyIkIixuLnNpemVdfSxuLnNpemUpKX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImJnLWdyYWRpZW50LXRvLWIgc206YmctZ3JhZGllbnQtdG8tciBmcm9tLWFtYmVyLTUwMC8xMCB2aWEtc2xhdGUtODAwIHRvLXllbGxvdy01MDAvMTAgcm91bmRlZC14bCBzbTpyb3VuZGVkLTJ4bCBwLTQgc206cC02IGJvcmRlciBib3JkZXItYW1iZXItNTAwLzMwIG1iLTQgc206bWItNiIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC0zIHNtOmdhcC00IG1kOmZsZXgtcm93IG1kOmp1c3RpZnktY2VudGVyIG1kOmdhcC04IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRleHQtY2VudGVyIHctZnVsbCBzbTp3LWF1dG8iLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC14cyBzbTp0ZXh0LXNtIHRleHQtc2xhdGUtNDAwIG1iLTEiLGNoaWxkcmVuOlsiQnV5IGEgJCIsci5zaXplLCIgQ2hhbGxlbmdlIl19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC0zeGwgc206dGV4dC00eGwgZm9udC1ibGFjayB0ZXh0LXdoaXRlIixjaGlsZHJlbjpbIiQiLHIucHJpY2VdfSldfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC14bCBzbTp0ZXh0LTJ4bCByb3RhdGUtOTAgc206cm90YXRlLTAiLGNoaWxkcmVuOiLinqHvuI8ifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRleHQtY2VudGVyIHctZnVsbCBzbTp3LWF1dG8gYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1hbWJlci01MDAvMjAgdG8teWVsbG93LTUwMC8yMCByb3VuZGVkLXhsIHAtMyBzbTpwLTQgYm9yZGVyIGJvcmRlci1hbWJlci01MDAvNDAiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHNtOnRleHQtc20gdGV4dC1hbWJlci00MDAgZm9udC1ib2xkIG1iLTEiLGNoaWxkcmVuOiJXaXRoIEJPR08gWW91IEdldCJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC0yeGwgc206dGV4dC0zeGwgbWQ6dGV4dC00eGwgZm9udC1ibGFjayB0ZXh0LXRyYW5zcGFyZW50IGJnLWNsaXAtdGV4dCBiZy1ncmFkaWVudC10by1yIGZyb20tYW1iZXItNDAwIHRvLXllbGxvdy00MDAiLGNoaWxkcmVuOlsiMsOXICQiLHIuc2l6ZV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC1iYXNlIHNtOnRleHQtbGcgdGV4dC1ncmVlbi00MDAgZm9udC1ib2xkIG10LTEiLGNoaWxkcmVuOlsiPSAkIixyLmJvZ29QcmljZSwiIHBlciAkIixyLnNpemUsIiEiXX0pXX0pXX0pfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImJnLXNsYXRlLTgwMC81MCByb3VuZGVkLXhsIHAtMyBzbTpwLTQgYm9yZGVyIGJvcmRlci1zbGF0ZS03MDAgbWItNCBzbTptYi02IixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC1jZW50ZXIgbWItMiBzbTptYi0zIixjaGlsZHJlbjpzLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InRleHQteHMgc206dGV4dC1zbSBmb250LWJvbGQgdGV4dC13aGl0ZSIsY2hpbGRyZW46WyJDb21wYXJlICQiLHIuc2l6ZSwiIEFjY291bnQgUHJpY2VzOiJdfSl9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZ3JpZCBncmlkLWNvbHMtMiBnYXAtMiBzbTpmbGV4IHNtOmZsZXgtd3JhcCBzbTpqdXN0aWZ5LWNlbnRlciBzbTpnYXAtMyIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InB4LTIuNSBweS0yIHNtOnB4LTMgc206cHktMiBiZy1yZWQtNTAwLzIwIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1yZWQtNTAwLzMwIHRleHQtY2VudGVyIixjaGlsZHJlbjpzLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHNtOnRleHQteHMgZm9udC1ib2xkIHRleHQtcmVkLTQwMCIsY2hpbGRyZW46WyJGVE1POiAkIixyLmZ0bW9dfSl9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJweC0yLjUgcHktMiBzbTpweC0zIHNtOnB5LTIgYmctcmVkLTUwMC8yMCByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItcmVkLTUwMC8zMCB0ZXh0LWNlbnRlciIsY2hpbGRyZW46cy5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSBzbTp0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LXJlZC00MDAiLGNoaWxkcmVuOlsiVGhlNWVyczogJCIsci50aGU1ZXJzXX0pfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToicHgtMi41IHB5LTIgc206cHgtMyBzbTpweS0yIGJnLXJlZC01MDAvMjAgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXJlZC01MDAvMzAgdGV4dC1jZW50ZXIiLGNoaWxkcmVuOnMuanN4cygic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gc206dGV4dC14cyBmb250LWJvbGQgdGV4dC1yZWQtNDAwIixjaGlsZHJlbjpbIk15Rm9yZXhGdW5kczogJCIsci5teWZvcmV4XX0pfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToicHgtMi41IHB5LTIgc206cHgtMyBzbTpweS0yIGJnLWFtYmVyLTUwMC8yMCByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItYW1iZXItNTAwLzQwIHRleHQtY2VudGVyIixjaGlsZHJlbjpzLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHNtOnRleHQteHMgZm9udC1ib2xkIHRleHQtYW1iZXItNDAwIixjaGlsZHJlbjpbIkZsb3dpbmdGdW5kZWQ6ICQiLHIuYm9nb1ByaWNlLCIg8J+OiSJdfSl9KV19KSxzLmpzeHMoInAiLHtjbGFzc05hbWU6InRleHQtY2VudGVyIHRleHQtWzExcHhdIHNtOnRleHQteHMgdGV4dC1zbGF0ZS00MDAgbXQtMiBzbTptdC0zIixjaGlsZHJlbjpbIvCfjokgVGhhbmtzIHRvIEJPR08sIHdlJ3JlICIscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtYW1iZXItNDAwIGZvbnQtYm9sZCIsY2hpbGRyZW46IjUwJSBjaGVhcGVyIn0pLCIgdGhhbiBhbnkgY29tcGV0aXRvciJdfSldfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC1jZW50ZXIiLGNoaWxkcmVuOnMuanN4KG9lLHt0bzoiL2F1dGgiLGNoaWxkcmVuOnMuanN4KFYse3NpemU6ImxnIixjbGFzc05hbWU6InctZnVsbCBzbTp3LWF1dG8gcm91bmRlZC1mdWxsIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1hbWJlci01MDAgdG8teWVsbG93LTUwMCBob3Zlcjpmcm9tLWFtYmVyLTYwMCBob3Zlcjp0by15ZWxsb3ctNjAwIHRleHQtd2hpdGUgcHgtNiBzbTpweC0xMCBweS01IHNtOnB5LTYgdGV4dC1zbSBzbTp0ZXh0LWJhc2UgZm9udC1ib2xkIHNoYWRvdy1sZyBzaGFkb3ctYW1iZXItNTAwLzMwIixjaGlsZHJlbjoi8J+OiSBHZXQgWW91ciBGbGFzaCBPZmZlciBEZWFsIE5vdyDwn46CIn0pfSl9KV19KV19KX1jb25zdCBxY2U9W3tpY29uOkswLHRpdGxlOiJTdHJ1Y3R1cmVkIFRyYWRpbmcgRWR1Y2F0aW9uIixkZXNjOiJMZWFybiBkaXNjaXBsaW5lLCByaXNrIG1hbmFnZW1lbnQsIGFuZCBjb25zaXN0ZW5jeSB0aHJvdWdoIHJlYWxpc3RpYyBzaW11bGF0ZWQgcGhhc2VzIOKAlCB3aXRob3V0IGV2ZXIgcmlza2luZyByZWFsIG1vbmV5LiJ9LHtpY29uOldyLHRpdGxlOiJTa2lsbCBDZXJ0aWZpY2F0ZXMiLGRlc2M6IkVhcm4gdmVyaWZpYWJsZSBtaWxlc3RvbmUgY2VydGlmaWNhdGVzIHRoYXQgZG9jdW1lbnQgdGhlIHNpbXVsYXRlZCBwZXJmb3JtYW5jZSBhbmQgdHJhZGluZyBkaXNjaXBsaW5lIHlvdSd2ZSBkZW1vbnN0cmF0ZWQuIn0se2ljb246ZnJlLHRpdGxlOiJUcmFpbiBQYXRpZW5jZSAmIFBzeWNob2xvZ3kiLGRlc2M6IlByYWN0aWNlIHRoZSBoYXJkZXN0IHBhcnQgb2YgdHJhZGluZyDigJQgZW1vdGlvbmFsIGNvbnRyb2wsIHBhdGllbmNlLCBhbmQgZm9sbG93aW5nIGEgcGxhbiDigJQgaW4gYSBzYWZlIGVudmlyb25tZW50IHRoYXQgbGV0cyB5b3UgZmFpbCBmb3J3YXJkLiJ9LHtpY29uOkIkLHRpdGxlOiJUZXN0IFN0cmF0ZWdpZXMgUmlzay1GcmVlIixkZXNjOiJWYWxpZGF0ZSB5b3VyIHJvdXRpbmVzLCBqb3VybmFsaW5nLCBhbmQgcmlzayBydWxlcyBpbiBhIHJlYWxpc3RpYyBzYW5kYm94IGJlZm9yZSB5b3UgZXZlciBjb25zaWRlciB0cmFkaW5nIHdpdGggcmVhbCBjYXBpdGFsLiJ9LHtpY29uOktsLHRpdGxlOiJaZXJvIEZpbmFuY2lhbCBSaXNrIixkZXNjOiJObyByZWFsIG1vbmV5IGlzIGV2ZXIgdHJhZGVkLCBjdXN0b2RpZWQsIG9yIGludmVzdGVkLiBZb3UgYnVpbGQgc2tpbGwgYW5kIGNvbmZpZGVuY2Ugd2l0aCBhYnNvbHV0ZWx5IG5vdGhpbmcgb24gdGhlIGxpbmUuIn0se2ljb246cm8sdGl0bGU6IlByb29mIG9mIFByb2dyZXNzIixkZXNjOiJUcmFjayBtZWFzdXJhYmxlIHNpbXVsYXRlZCBncm93dGgsIGVhcm4gYWNoaWV2ZW1lbnQgYmFkZ2VzLCBhbmQgYnVpbGQgYSBwb3J0Zm9saW8gb2YgZGVtb25zdHJhdGVkIGVkdWNhdGlvbmFsIG1pbGVzdG9uZXMuIn1dO2Z1bmN0aW9uIGJFKHt2YXJpYW50OmU9ImZ1bGwifSl7cmV0dXJuIGU9PT0iY29tcGFjdCI/cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJvdW5kZWQteGwgYm9yZGVyLTIgYm9yZGVyLXByaW1hcnkvMjAgYmctcHJpbWFyeS81IHAtNSBtYXgtdy1tZCB3LWZ1bGwiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbWItMiIsY2hpbGRyZW46W3MuanN4KEswLHtjbGFzc05hbWU6ImgtNCB3LTQgdGV4dC1wcmltYXJ5In0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSB0ZXh0LXByaW1hcnkiLGNoaWxkcmVuOiJXaHkgRmxvd2luZ0Z1bmRlZCBFeGlzdHMifSldfSkscy5qc3hzKCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjpbIkEgcmlzay1mcmVlLCBnYW1pZmllZCAiLHMuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoidHJhZGluZyBlZHVjYXRpb24gcGxhdGZvcm0ifSksIiB3aGVyZSB5b3UgdHJhaW4gcGF0aWVuY2UsIGRpc2NpcGxpbmUsIGFuZCBjb25zaXN0ZW5jeSDigJQgYW5kIGVhcm4gIixzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46InNraWxsIGNlcnRpZmljYXRlcyJ9KSwiIHRoYXQgcHJvdmUgdGhlIG1pbGVzdG9uZXMgeW91J3ZlIHJlYWNoZWQgaW4gb3VyIHNpbXVsYXRlZCBlbnZpcm9ubWVudC4gTm8gcmVhbCBtb25leS4gTm8gZmluYW5jaWFsIHJpc2suIFB1cmUgc2tpbGwgZGV2ZWxvcG1lbnQuIl19KV19KTpzLmpzeCgic2VjdGlvbiIse2NsYXNzTmFtZToicHktMTIgc206cHktMTYgbWQ6cHktMjAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXNlY29uZGFyeS8xMCB2aWEtd2hpdGUgdG8td2hpdGUiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciBtYi0xMCBzbTptYi0xNCBtYXgtdy0zeGwgbXgtYXV0byIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtNCBweS0xLjUgcm91bmRlZC1mdWxsIGJnLXByaW1hcnkvMTAgYm9yZGVyIGJvcmRlci1wcmltYXJ5LzIwIG1iLTQiLGNoaWxkcmVuOltzLmpzeChLMCx7Y2xhc3NOYW1lOiJoLTQgdy00IHRleHQtcHJpbWFyeSJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC14cyBmb250LWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGUgdGV4dC1wcmltYXJ5IixjaGlsZHJlbjoiV2h5IEZsb3dpbmdGdW5kZWQgRXhpc3RzIn0pXX0pLHMuanN4cygiaDIiLHtjbGFzc05hbWU6InRleHQtM3hsIHNtOnRleHQtNHhsIG1kOnRleHQtNXhsIGZvbnQtYm9sZCBtYi00IixjaGlsZHJlbjpbIlRyYWRpbmcgIixzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1wcmltYXJ5IixjaGlsZHJlbjoiRWR1Y2F0aW9uIn0pLCIsIFdpdGhvdXQgdGhlIEZpbmFuY2lhbCBSaXNrIl19KSxzLmpzeHMoInAiLHtjbGFzc05hbWU6InRleHQtYmFzZSBzbTp0ZXh0LWxnIHRleHQtZ3JheS02MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjpbIkZsb3dpbmdGdW5kZWQgaXMgYW4gIixzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46ImVkdWNhdGlvbmFsIHNpbXVsYXRpb24gcGxhdGZvcm0ifSksIiBidWlsdCBmb3Igb25lIHB1cnBvc2U6IHRvIGhlbHAgcGVvcGxlIGxlYXJuIGFuZCBwcm92ZSB0cmFkaW5nIHNraWxsIGluIGEgY29tcGxldGVseSBzYWZlIGVudmlyb25tZW50LiBObyByZWFsIG1vbmV5IGlzIGV2ZXIgdHJhZGVkLCBpbnZlc3RlZCwgb3IgY3VzdG9kaWVkIOKAlCBqdXN0IHN0cnVjdHVyZWQgcHJhY3RpY2UsIG1lYXN1cmFibGUgcHJvZ3Jlc3MsIGFuZCBjZXJ0aWZpY2F0ZXMgdGhhdCBkb2N1bWVudCB3aGF0IHlvdSd2ZSBhY2hpZXZlZC4iXX0pXX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTEgc206Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMgZ2FwLTUgc206Z2FwLTYiLGNoaWxkcmVuOnFjZS5tYXAodD0+cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Imdyb3VwIHAtNiByb3VuZGVkLTJ4bCBiZy13aGl0ZSBib3JkZXItMiBib3JkZXItZ3JheS0xMDAgaG92ZXI6Ym9yZGVyLXByaW1hcnkvMzAgaG92ZXI6c2hhZG93LWxnIHRyYW5zaXRpb24tYWxsIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidy0xMiBoLTEyIHJvdW5kZWQteGwgYmctcHJpbWFyeS8xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBtYi00IGdyb3VwLWhvdmVyOmJnLXByaW1hcnkvMjAgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOnMuanN4KHQuaWNvbix7Y2xhc3NOYW1lOiJoLTYgdy02IHRleHQtcHJpbWFyeSJ9KX0pLHMuanN4KCJoMyIse2NsYXNzTmFtZToidGV4dC1sZyBmb250LWJvbGQgdGV4dC1ncmF5LTkwMCBtYi0yIixjaGlsZHJlbjp0LnRpdGxlfSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1ncmF5LTYwMCBsZWFkaW5nLXJlbGF4ZWQiLGNoaWxkcmVuOnQuZGVzY30pXX0sdC50aXRsZSkpfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToibXQtMTAgbWF4LXctM3hsIG14LWF1dG8gcm91bmRlZC0yeGwgYm9yZGVyLTIgYm9yZGVyLWFtYmVyLTIwMCBiZy1hbWJlci01MCBwLTUgc206cC02IHRleHQtY2VudGVyIixjaGlsZHJlbjpzLmpzeHMoInAiLHtjbGFzc05hbWU6InRleHQtc20gc206dGV4dC1iYXNlIHRleHQtYW1iZXItOTAwIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46W3MuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoiVGhlIGJvdHRvbSBsaW5lOiJ9KSwiIEZsb3dpbmdGdW5kZWQgaXMgZm9yIHBlb3BsZSB3aG8gd2FudCB0byAiLHMuanN4KCJlbSIse2NoaWxkcmVuOiJnZXQgZ29vZCBhdCB0cmFkaW5nIn0pLCIgIiwi4oCUIG1lbnRhbGx5LCB0ZWNobmljYWxseSwgYW5kIGVtb3Rpb25hbGx5IOKAlCBhbmQgd2FsayBhd2F5IHdpdGggZG9jdW1lbnRlZCBwcm9vZiBvZiB0aGVpciBzaW11bGF0ZWQgcGVyZm9ybWFuY2UuIEl0J3MgYSAiLHMuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoic2FmZSBwbGFjZSB0byBmYWlsLCBsZWFybiwgaW1wcm92ZSwgYW5kIGZlZWwgY29uZmlkZW50In0pLCIgIiwiYmVmb3JlIHlvdSBldmVyIHRoaW5rIGFib3V0IHRvdWNoaW5nIHJlYWwgY2FwaXRhbCBlbHNld2hlcmUuIl19KX0pXX0pfSl9Y29uc3QgWWNlPSIvYXNzZXRzL2hlcm8tYmctRG8xVG13TEMuYXZpZiIsWGNlPSIvYXNzZXRzL2hlcm8tYmctbW9iaWxlLURuajVYVV82LndlYnAiLGpFPWcuY3JlYXRlQ29udGV4dCh7fSk7ZnVuY3Rpb24gTkUoZSl7Y29uc3QgdD1nLnVzZVJlZihudWxsKTtyZXR1cm4gdC5jdXJyZW50PT09bnVsbCYmKHQuY3VycmVudD1lKCkpLHQuY3VycmVudH1jb25zdCBpOD10eXBlb2Ygd2luZG93PCJ1IixvOD1pOD9nLnVzZUxheW91dEVmZmVjdDpnLnVzZUVmZmVjdCxCdz1nLmNyZWF0ZUNvbnRleHQobnVsbCk7ZnVuY3Rpb24gQ0UoZSx0KXtlLmluZGV4T2YodCk9PT0tMSYmZS5wdXNoKHQpfWZ1bmN0aW9uIF9FKGUsdCl7Y29uc3Qgcj1lLmluZGV4T2YodCk7cj4tMSYmZS5zcGxpY2UociwxKX1jb25zdCBqaT0oZSx0LHIpPT5yPnQ/dDpyPGU/ZTpyO2xldCBTdz0oKT0+e30sb0E9KCk9Pnt9O2NvbnN0IHBvPXt9LGw4PWU9Pi9eLT8oPzpcZCsoPzpcLlxkKyk/fFwuXGQrKSQvdS50ZXN0KGUpO2Z1bmN0aW9uIGM4KGUpe3JldHVybiB0eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsfWNvbnN0IGQ4PWU9Pi9eMFteLlxzXSskL3UudGVzdChlKTtmdW5jdGlvbiBCRShlKXtsZXQgdDtyZXR1cm4oKT0+KHQ9PT12b2lkIDAmJih0PWUoKSksdCl9Y29uc3QgdGE9ZT0+ZSxKY2U9KGUsdCk9PnI9PnQoZShyKSksJHA9KC4uLmUpPT5lLnJlZHVjZShKY2UpLF9tPShlLHQscik9Pntjb25zdCBuPXQtZTtyZXR1cm4gbj09PTA/MTooci1lKS9ufTtjbGFzcyBTRXtjb25zdHJ1Y3Rvcigpe3RoaXMuc3Vic2NyaXB0aW9ucz1bXX1hZGQodCl7cmV0dXJuIENFKHRoaXMuc3Vic2NyaXB0aW9ucyx0KSwoKT0+X0UodGhpcy5zdWJzY3JpcHRpb25zLHQpfW5vdGlmeSh0LHIsbil7Y29uc3QgYT10aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoO2lmKGEpaWYoYT09PTEpdGhpcy5zdWJzY3JpcHRpb25zWzBdKHQscixuKTtlbHNlIGZvcihsZXQgaT0wO2k8YTtpKyspe2NvbnN0IG89dGhpcy5zdWJzY3JpcHRpb25zW2ldO28mJm8odCxyLG4pfX1nZXRTaXplKCl7cmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9ucy5sZW5ndGh9Y2xlYXIoKXt0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoPTB9fWNvbnN0IHBpPWU9PmUqMWUzLEdzPWU9PmUvMWUzO2Z1bmN0aW9uIHU4KGUsdCl7cmV0dXJuIHQ/ZSooMWUzL3QpOjB9Y29uc3QgQTg9KGUsdCxyKT0+KCgoMS0zKnIrMyp0KSplKygzKnItNip0KSkqZSszKnQpKmUsWmNlPTFlLTcsZWRlPTEyO2Z1bmN0aW9uIHRkZShlLHQscixuLGEpe2xldCBpLG8sbD0wO2RvIG89dCsoci10KS8yLGk9QTgobyxuLGEpLWUsaT4wP3I9bzp0PW87d2hpbGUoTWF0aC5hYnMoaSk+WmNlJiYrK2w8ZWRlKTtyZXR1cm4gb31mdW5jdGlvbiBIcChlLHQscixuKXtpZihlPT09dCYmcj09PW4pcmV0dXJuIHRhO2NvbnN0IGE9aT0+dGRlKGksMCwxLGUscik7cmV0dXJuIGk9Pmk9PT0wfHxpPT09MT9pOkE4KGEoaSksdCxuKX1jb25zdCBmOD1lPT50PT50PD0uNT9lKDIqdCkvMjooMi1lKDIqKDEtdCkpKS8yLGg4PWU9PnQ9PjEtZSgxLXQpLG04PUhwKC4zMywxLjUzLC42OSwuOTkpLEVFPWg4KG04KSxwOD1mOChFRSksZzg9ZT0+KGUqPTIpPDE/LjUqRUUoZSk6LjUqKDItTWF0aC5wb3coMiwtMTAqKGUtMSkpKSxrRT1lPT4xLU1hdGguc2luKE1hdGguYWNvcyhlKSkseDg9aDgoa0UpLHk4PWY4KGtFKSxyZGU9SHAoLjQyLDAsMSwxKSxuZGU9SHAoMCwwLC41OCwxKSx2OD1IcCguNDIsMCwuNTgsMSksc2RlPWU9PkFycmF5LmlzQXJyYXkoZSkmJnR5cGVvZiBlWzBdIT0ibnVtYmVyIix3OD1lPT5BcnJheS5pc0FycmF5KGUpJiZ0eXBlb2YgZVswXT09Im51bWJlciIsekY9e2xpbmVhcjp0YSxlYXNlSW46cmRlLGVhc2VJbk91dDp2OCxlYXNlT3V0Om5kZSxjaXJjSW46a0UsY2lyY0luT3V0Onk4LGNpcmNPdXQ6eDgsYmFja0luOkVFLGJhY2tJbk91dDpwOCxiYWNrT3V0Om04LGFudGljaXBhdGU6Zzh9LGFkZT1lPT50eXBlb2YgZT09InN0cmluZyIsV0Y9ZT0+e2lmKHc4KGUpKXtvQShlLmxlbmd0aD09PTQsIkN1YmljIGJlemllciBhcnJheXMgbXVzdCBjb250YWluIGZvdXIgbnVtZXJpY2FsIHZhbHVlcy4iLCJjdWJpYy1iZXppZXItbGVuZ3RoIik7Y29uc3RbdCxyLG4sYV09ZTtyZXR1cm4gSHAodCxyLG4sYSl9ZWxzZSBpZihhZGUoZSkpcmV0dXJuIG9BKHpGW2VdIT09dm9pZCAwLGBJbnZhbGlkIGVhc2luZyB0eXBlICcke2V9J2AsImludmFsaWQtZWFzaW5nLXR5cGUiKSx6RltlXTtyZXR1cm4gZX0sSmc9WyJzZXR1cCIsInJlYWQiLCJyZXNvbHZlS2V5ZnJhbWVzIiwicHJlVXBkYXRlIiwidXBkYXRlIiwicHJlUmVuZGVyIiwicmVuZGVyIiwicG9zdFJlbmRlciJdLEdGPXt2YWx1ZTpudWxsLGFkZFByb2plY3Rpb25NZXRyaWNzOm51bGx9O2Z1bmN0aW9uIGlkZShlLHQpe2xldCByPW5ldyBTZXQsbj1uZXcgU2V0LGE9ITEsaT0hMTtjb25zdCBvPW5ldyBXZWFrU2V0O2xldCBsPXtkZWx0YTowLHRpbWVzdGFtcDowLGlzUHJvY2Vzc2luZzohMX0sYz0wO2Z1bmN0aW9uIGQoQSl7by5oYXMoQSkmJih1LnNjaGVkdWxlKEEpLGUoKSksYysrLEEobCl9Y29uc3QgdT17c2NoZWR1bGU6KEEsZj0hMSxoPSExKT0+e2NvbnN0IG09aCYmYT9yOm47cmV0dXJuIGYmJm8uYWRkKEEpLG0uaGFzKEEpfHxtLmFkZChBKSxBfSxjYW5jZWw6QT0+e24uZGVsZXRlKEEpLG8uZGVsZXRlKEEpfSxwcm9jZXNzOkE9PntpZihsPUEsYSl7aT0hMDtyZXR1cm59YT0hMCxbcixuXT1bbixyXSxyLmZvckVhY2goZCksdCYmR0YudmFsdWUmJkdGLnZhbHVlLmZyYW1lbG9vcFt0XS5wdXNoKGMpLGM9MCxyLmNsZWFyKCksYT0hMSxpJiYoaT0hMSx1LnByb2Nlc3MoQSkpfX07cmV0dXJuIHV9Y29uc3Qgb2RlPTQwO2Z1bmN0aW9uIGI4KGUsdCl7bGV0IHI9ITEsbj0hMDtjb25zdCBhPXtkZWx0YTowLHRpbWVzdGFtcDowLGlzUHJvY2Vzc2luZzohMX0saT0oKT0+cj0hMCxvPUpnLnJlZHVjZSgodixiKT0+KHZbYl09aWRlKGksdD9iOnZvaWQgMCksdikse30pLHtzZXR1cDpsLHJlYWQ6YyxyZXNvbHZlS2V5ZnJhbWVzOmQscHJlVXBkYXRlOnUsdXBkYXRlOkEscHJlUmVuZGVyOmYscmVuZGVyOmgscG9zdFJlbmRlcjpwfT1vLG09KCk9Pntjb25zdCB2PXBvLnVzZU1hbnVhbFRpbWluZz9hLnRpbWVzdGFtcDpwZXJmb3JtYW5jZS5ub3coKTtyPSExLHBvLnVzZU1hbnVhbFRpbWluZ3x8KGEuZGVsdGE9bj8xZTMvNjA6TWF0aC5tYXgoTWF0aC5taW4odi1hLnRpbWVzdGFtcCxvZGUpLDEpKSxhLnRpbWVzdGFtcD12LGEuaXNQcm9jZXNzaW5nPSEwLGwucHJvY2VzcyhhKSxjLnByb2Nlc3MoYSksZC5wcm9jZXNzKGEpLHUucHJvY2VzcyhhKSxBLnByb2Nlc3MoYSksZi5wcm9jZXNzKGEpLGgucHJvY2VzcyhhKSxwLnByb2Nlc3MoYSksYS5pc1Byb2Nlc3Npbmc9ITEsciYmdCYmKG49ITEsZShtKSl9LHg9KCk9PntyPSEwLG49ITAsYS5pc1Byb2Nlc3Npbmd8fGUobSl9O3JldHVybntzY2hlZHVsZTpKZy5yZWR1Y2UoKHYsYik9Pntjb25zdCBqPW9bYl07cmV0dXJuIHZbYl09KE4sQz0hMSxfPSExKT0+KHJ8fHgoKSxqLnNjaGVkdWxlKE4sQyxfKSksdn0se30pLGNhbmNlbDp2PT57Zm9yKGxldCBiPTA7YjxKZy5sZW5ndGg7YisrKW9bSmdbYl1dLmNhbmNlbCh2KX0sc3RhdGU6YSxzdGVwczpvfX1jb25zdHtzY2hlZHVsZTpucixjYW5jZWw6VWwsc3RhdGU6QW4sc3RlcHM6cTF9PWI4KHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU8InUiP3JlcXVlc3RBbmltYXRpb25GcmFtZTp0YSwhMCk7bGV0IGwwO2Z1bmN0aW9uIGxkZSgpe2wwPXZvaWQgMH1jb25zdCBLbj17bm93OigpPT4obDA9PT12b2lkIDAmJktuLnNldChBbi5pc1Byb2Nlc3Npbmd8fHBvLnVzZU1hbnVhbFRpbWluZz9Bbi50aW1lc3RhbXA6cGVyZm9ybWFuY2Uubm93KCkpLGwwKSxzZXQ6ZT0+e2wwPWUscXVldWVNaWNyb3Rhc2sobGRlKX19LGo4PWU9PnQ9PnR5cGVvZiB0PT0ic3RyaW5nIiYmdC5zdGFydHNXaXRoKGUpLE44PWo4KCItLSIpLGNkZT1qOCgidmFyKC0tIiksVEU9ZT0+Y2RlKGUpP2RkZS50ZXN0KGUuc3BsaXQoIi8qIilbMF0udHJpbSgpKTohMSxkZGU9L3ZhclwoLS0oPzpbXHctXStccyp8W1x3LV0rXHMqLCg/OlxzKlteKShcc118XHMqXCgoPzpbXikoXXxcKFteKShdKlwpKSpcKSkrXHMqKVwpJC9pdTtmdW5jdGlvbiBxRihlKXtyZXR1cm4gdHlwZW9mIGUhPSJzdHJpbmciPyExOmUuc3BsaXQoIi8qIilbMF0uaW5jbHVkZXMoInZhcigtLSIpfWNvbnN0IHJmPXt0ZXN0OmU9PnR5cGVvZiBlPT0ibnVtYmVyIixwYXJzZTpwYXJzZUZsb2F0LHRyYW5zZm9ybTplPT5lfSxCbT17Li4ucmYsdHJhbnNmb3JtOmU9PmppKDAsMSxlKX0sWmc9ey4uLnJmLGRlZmF1bHQ6MX0sVWg9ZT0+TWF0aC5yb3VuZChlKjFlNSkvMWU1LFBFPS8tPyg/OlxkKyg/OlwuXGQrKT98XC5cZCspL2d1O2Z1bmN0aW9uIHVkZShlKXtyZXR1cm4gZT09bnVsbH1jb25zdCBBZGU9L14oPzojW1xkYS1mXXszLDh9fCg/OnJnYnxoc2wpYT9cKCg/Oi0/W1xkLl0rJT9bLFxzXSspezJ9LT9bXGQuXSslP1xzKig/OlssL11ccyopPyg/OlxiXGQrKD86XC5cZCspP3xcLlxkKyk/JT9cKSkkL2l1LEZFPShlLHQpPT5yPT4hISh0eXBlb2Ygcj09InN0cmluZyImJkFkZS50ZXN0KHIpJiZyLnN0YXJ0c1dpdGgoZSl8fHQmJiF1ZGUocikmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLHQpKSxDOD0oZSx0LHIpPT5uPT57aWYodHlwZW9mIG4hPSJzdHJpbmciKXJldHVybiBuO2NvbnN0W2EsaSxvLGxdPW4ubWF0Y2goUEUpO3JldHVybntbZV06cGFyc2VGbG9hdChhKSxbdF06cGFyc2VGbG9hdChpKSxbcl06cGFyc2VGbG9hdChvKSxhbHBoYTpsIT09dm9pZCAwP3BhcnNlRmxvYXQobCk6MX19LGZkZT1lPT5qaSgwLDI1NSxlKSxZMT17Li4ucmYsdHJhbnNmb3JtOmU9Pk1hdGgucm91bmQoZmRlKGUpKX0sQmM9e3Rlc3Q6RkUoInJnYiIsInJlZCIpLHBhcnNlOkM4KCJyZWQiLCJncmVlbiIsImJsdWUiKSx0cmFuc2Zvcm06KHtyZWQ6ZSxncmVlbjp0LGJsdWU6cixhbHBoYTpuPTF9KT0+InJnYmEoIitZMS50cmFuc2Zvcm0oZSkrIiwgIitZMS50cmFuc2Zvcm0odCkrIiwgIitZMS50cmFuc2Zvcm0ocikrIiwgIitVaChCbS50cmFuc2Zvcm0obikpKyIpIn07ZnVuY3Rpb24gaGRlKGUpe2xldCB0PSIiLHI9IiIsbj0iIixhPSIiO3JldHVybiBlLmxlbmd0aD41Pyh0PWUuc3Vic3RyaW5nKDEsMykscj1lLnN1YnN0cmluZygzLDUpLG49ZS5zdWJzdHJpbmcoNSw3KSxhPWUuc3Vic3RyaW5nKDcsOSkpOih0PWUuc3Vic3RyaW5nKDEsMikscj1lLnN1YnN0cmluZygyLDMpLG49ZS5zdWJzdHJpbmcoMyw0KSxhPWUuc3Vic3RyaW5nKDQsNSksdCs9dCxyKz1yLG4rPW4sYSs9YSkse3JlZDpwYXJzZUludCh0LDE2KSxncmVlbjpwYXJzZUludChyLDE2KSxibHVlOnBhcnNlSW50KG4sMTYpLGFscGhhOmE/cGFyc2VJbnQoYSwxNikvMjU1OjF9fWNvbnN0IHRfPXt0ZXN0OkZFKCIjIikscGFyc2U6aGRlLHRyYW5zZm9ybTpCYy50cmFuc2Zvcm19LEtwPWU9Pih7dGVzdDp0PT50eXBlb2YgdD09InN0cmluZyImJnQuZW5kc1dpdGgoZSkmJnQuc3BsaXQoIiAiKS5sZW5ndGg9PT0xLHBhcnNlOnBhcnNlRmxvYXQsdHJhbnNmb3JtOnQ9PmAke3R9JHtlfWB9KSxEbz1LcCgiZGVnIiksZ2k9S3AoIiUiKSxPZT1LcCgicHgiKSxtZGU9S3AoInZoIikscGRlPUtwKCJ2dyIpLFlGPXsuLi5naSxwYXJzZTplPT5naS5wYXJzZShlKS8xMDAsdHJhbnNmb3JtOmU9PmdpLnRyYW5zZm9ybShlKjEwMCl9LEF1PXt0ZXN0OkZFKCJoc2wiLCJodWUiKSxwYXJzZTpDOCgiaHVlIiwic2F0dXJhdGlvbiIsImxpZ2h0bmVzcyIpLHRyYW5zZm9ybTooe2h1ZTplLHNhdHVyYXRpb246dCxsaWdodG5lc3M6cixhbHBoYTpuPTF9KT0+ImhzbGEoIitNYXRoLnJvdW5kKGUpKyIsICIrZ2kudHJhbnNmb3JtKFVoKHQpKSsiLCAiK2dpLnRyYW5zZm9ybShVaChyKSkrIiwgIitVaChCbS50cmFuc2Zvcm0obikpKyIpIn0sa3I9e3Rlc3Q6ZT0+QmMudGVzdChlKXx8dF8udGVzdChlKXx8QXUudGVzdChlKSxwYXJzZTplPT5CYy50ZXN0KGUpP0JjLnBhcnNlKGUpOkF1LnRlc3QoZSk/QXUucGFyc2UoZSk6dF8ucGFyc2UoZSksdHJhbnNmb3JtOmU9PnR5cGVvZiBlPT0ic3RyaW5nIj9lOmUuaGFzT3duUHJvcGVydHkoInJlZCIpP0JjLnRyYW5zZm9ybShlKTpBdS50cmFuc2Zvcm0oZSksZ2V0QW5pbWF0YWJsZU5vbmU6ZT0+e2NvbnN0IHQ9a3IucGFyc2UoZSk7cmV0dXJuIHQuYWxwaGE9MCxrci50cmFuc2Zvcm0odCl9fSxnZGU9Lyg/OiNbXGRhLWZdezMsOH18KD86cmdifGhzbClhP1woKD86LT9bXGQuXSslP1ssXHNdKyl7Mn0tP1tcZC5dKyU/XHMqKD86WywvXVxzKik/KD86XGJcZCsoPzpcLlxkKyk/fFwuXGQrKT8lP1wpKS9naXU7ZnVuY3Rpb24geGRlKGUpe3ZhciB0LHI7cmV0dXJuIGlzTmFOKGUpJiZ0eXBlb2YgZT09InN0cmluZyImJigoKHQ9ZS5tYXRjaChQRSkpPT1udWxsP3ZvaWQgMDp0Lmxlbmd0aCl8fDApKygoKHI9ZS5tYXRjaChnZGUpKT09bnVsbD92b2lkIDA6ci5sZW5ndGgpfHwwKT4wfWNvbnN0IF84PSJudW1iZXIiLEI4PSJjb2xvciIseWRlPSJ2YXIiLHZkZT0idmFyKCIsWEY9IiR7fSIsd2RlPS92YXJccypcKFxzKi0tKD86W1x3LV0rXHMqfFtcdy1dK1xzKiwoPzpccypbXikoXHNdfFxzKlwoKD86W14pKF18XChbXikoXSpcKSkqXCkpK1xzKilcKXwjW1xkYS1mXXszLDh9fCg/OnJnYnxoc2wpYT9cKCg/Oi0/W1xkLl0rJT9bLFxzXSspezJ9LT9bXGQuXSslP1xzKig/OlssL11ccyopPyg/OlxiXGQrKD86XC5cZCspP3xcLlxkKyk/JT9cKXwtPyg/OlxkKyg/OlwuXGQrKT98XC5cZCspL2dpdTtmdW5jdGlvbiBTbShlKXtjb25zdCB0PWUudG9TdHJpbmcoKSxyPVtdLG49e2NvbG9yOltdLG51bWJlcjpbXSx2YXI6W119LGE9W107bGV0IGk9MDtjb25zdCBsPXQucmVwbGFjZSh3ZGUsYz0+KGtyLnRlc3QoYyk/KG4uY29sb3IucHVzaChpKSxhLnB1c2goQjgpLHIucHVzaChrci5wYXJzZShjKSkpOmMuc3RhcnRzV2l0aCh2ZGUpPyhuLnZhci5wdXNoKGkpLGEucHVzaCh5ZGUpLHIucHVzaChjKSk6KG4ubnVtYmVyLnB1c2goaSksYS5wdXNoKF84KSxyLnB1c2gocGFyc2VGbG9hdChjKSkpLCsraSxYRikpLnNwbGl0KFhGKTtyZXR1cm57dmFsdWVzOnIsc3BsaXQ6bCxpbmRleGVzOm4sdHlwZXM6YX19ZnVuY3Rpb24gUzgoZSl7cmV0dXJuIFNtKGUpLnZhbHVlc31mdW5jdGlvbiBFOChlKXtjb25zdHtzcGxpdDp0LHR5cGVzOnJ9PVNtKGUpLG49dC5sZW5ndGg7cmV0dXJuIGE9PntsZXQgaT0iIjtmb3IobGV0IG89MDtvPG47bysrKWlmKGkrPXRbb10sYVtvXSE9PXZvaWQgMCl7Y29uc3QgbD1yW29dO2w9PT1fOD9pKz1VaChhW29dKTpsPT09Qjg/aSs9a3IudHJhbnNmb3JtKGFbb10pOmkrPWFbb119cmV0dXJuIGl9fWNvbnN0IGJkZT1lPT50eXBlb2YgZT09Im51bWJlciI/MDprci50ZXN0KGUpP2tyLmdldEFuaW1hdGFibGVOb25lKGUpOmU7ZnVuY3Rpb24gamRlKGUpe2NvbnN0IHQ9UzgoZSk7cmV0dXJuIEU4KGUpKHQubWFwKGJkZSkpfWNvbnN0IERsPXt0ZXN0OnhkZSxwYXJzZTpTOCxjcmVhdGVUcmFuc2Zvcm1lcjpFOCxnZXRBbmltYXRhYmxlTm9uZTpqZGV9O2Z1bmN0aW9uIFgxKGUsdCxyKXtyZXR1cm4gcjwwJiYocis9MSkscj4xJiYoci09MSkscjwxLzY/ZSsodC1lKSo2KnI6cjwxLzI/dDpyPDIvMz9lKyh0LWUpKigyLzMtcikqNjplfWZ1bmN0aW9uIE5kZSh7aHVlOmUsc2F0dXJhdGlvbjp0LGxpZ2h0bmVzczpyLGFscGhhOm59KXtlLz0zNjAsdC89MTAwLHIvPTEwMDtsZXQgYT0wLGk9MCxvPTA7aWYoIXQpYT1pPW89cjtlbHNle2NvbnN0IGw9cjwuNT9yKigxK3QpOnIrdC1yKnQsYz0yKnItbDthPVgxKGMsbCxlKzEvMyksaT1YMShjLGwsZSksbz1YMShjLGwsZS0xLzMpfXJldHVybntyZWQ6TWF0aC5yb3VuZChhKjI1NSksZ3JlZW46TWF0aC5yb3VuZChpKjI1NSksYmx1ZTpNYXRoLnJvdW5kKG8qMjU1KSxhbHBoYTpufX1mdW5jdGlvbiBheShlLHQpe3JldHVybiByPT5yPjA/dDplfWNvbnN0IEFyPShlLHQscik9PmUrKHQtZSkqcixKMT0oZSx0LHIpPT57Y29uc3Qgbj1lKmUsYT1yKih0KnQtbikrbjtyZXR1cm4gYTwwPzA6TWF0aC5zcXJ0KGEpfSxDZGU9W3RfLEJjLEF1XSxfZGU9ZT0+Q2RlLmZpbmQodD0+dC50ZXN0KGUpKTtmdW5jdGlvbiBKRihlKXtjb25zdCB0PV9kZShlKTtpZihTdyghIXQsYCcke2V9JyBpcyBub3QgYW4gYW5pbWF0YWJsZSBjb2xvci4gVXNlIHRoZSBlcXVpdmFsZW50IGNvbG9yIGNvZGUgaW5zdGVhZC5gLCJjb2xvci1ub3QtYW5pbWF0YWJsZSIpLCF0KXJldHVybiExO2xldCByPXQucGFyc2UoZSk7cmV0dXJuIHQ9PT1BdSYmKHI9TmRlKHIpKSxyfWNvbnN0IFpGPShlLHQpPT57Y29uc3Qgcj1KRihlKSxuPUpGKHQpO2lmKCFyfHwhbilyZXR1cm4gYXkoZSx0KTtjb25zdCBhPXsuLi5yfTtyZXR1cm4gaT0+KGEucmVkPUoxKHIucmVkLG4ucmVkLGkpLGEuZ3JlZW49SjEoci5ncmVlbixuLmdyZWVuLGkpLGEuYmx1ZT1KMShyLmJsdWUsbi5ibHVlLGkpLGEuYWxwaGE9QXIoci5hbHBoYSxuLmFscGhhLGkpLEJjLnRyYW5zZm9ybShhKSl9LHJfPW5ldyBTZXQoWyJub25lIiwiaGlkZGVuIl0pO2Z1bmN0aW9uIEJkZShlLHQpe3JldHVybiByXy5oYXMoZSk/cj0+cjw9MD9lOnQ6cj0+cj49MT90OmV9ZnVuY3Rpb24gU2RlKGUsdCl7cmV0dXJuIHI9PkFyKGUsdCxyKX1mdW5jdGlvbiBPRShlKXtyZXR1cm4gdHlwZW9mIGU9PSJudW1iZXIiP1NkZTp0eXBlb2YgZT09InN0cmluZyI/VEUoZSk/YXk6a3IudGVzdChlKT9aRjpUZGU6QXJyYXkuaXNBcnJheShlKT9rODp0eXBlb2YgZT09Im9iamVjdCI/a3IudGVzdChlKT9aRjpFZGU6YXl9ZnVuY3Rpb24gazgoZSx0KXtjb25zdCByPVsuLi5lXSxuPXIubGVuZ3RoLGE9ZS5tYXAoKGksbyk9Pk9FKGkpKGksdFtvXSkpO3JldHVybiBpPT57Zm9yKGxldCBvPTA7bzxuO28rKylyW29dPWFbb10oaSk7cmV0dXJuIHJ9fWZ1bmN0aW9uIEVkZShlLHQpe2NvbnN0IHI9ey4uLmUsLi4udH0sbj17fTtmb3IoY29uc3QgYSBpbiByKWVbYV0hPT12b2lkIDAmJnRbYV0hPT12b2lkIDAmJihuW2FdPU9FKGVbYV0pKGVbYV0sdFthXSkpO3JldHVybiBhPT57Zm9yKGNvbnN0IGkgaW4gbilyW2ldPW5baV0oYSk7cmV0dXJuIHJ9fWZ1bmN0aW9uIGtkZShlLHQpe2NvbnN0IHI9W10sbj17Y29sb3I6MCx2YXI6MCxudW1iZXI6MH07Zm9yKGxldCBhPTA7YTx0LnZhbHVlcy5sZW5ndGg7YSsrKXtjb25zdCBpPXQudHlwZXNbYV0sbz1lLmluZGV4ZXNbaV1bbltpXV0sbD1lLnZhbHVlc1tvXT8/MDtyW2FdPWwsbltpXSsrfXJldHVybiByfWNvbnN0IFRkZT0oZSx0KT0+e2NvbnN0IHI9RGwuY3JlYXRlVHJhbnNmb3JtZXIodCksbj1TbShlKSxhPVNtKHQpO3JldHVybiBuLmluZGV4ZXMudmFyLmxlbmd0aD09PWEuaW5kZXhlcy52YXIubGVuZ3RoJiZuLmluZGV4ZXMuY29sb3IubGVuZ3RoPT09YS5pbmRleGVzLmNvbG9yLmxlbmd0aCYmbi5pbmRleGVzLm51bWJlci5sZW5ndGg+PWEuaW5kZXhlcy5udW1iZXIubGVuZ3RoP3JfLmhhcyhlKSYmIWEudmFsdWVzLmxlbmd0aHx8cl8uaGFzKHQpJiYhbi52YWx1ZXMubGVuZ3RoP0JkZShlLHQpOiRwKGs4KGtkZShuLGEpLGEudmFsdWVzKSxyKTooU3coITAsYENvbXBsZXggdmFsdWVzICcke2V9JyBhbmQgJyR7dH0nIHRvbyBkaWZmZXJlbnQgdG8gbWl4LiBFbnN1cmUgYWxsIGNvbG9ycyBhcmUgb2YgdGhlIHNhbWUgdHlwZSwgYW5kIHRoYXQgZWFjaCBjb250YWlucyB0aGUgc2FtZSBxdWFudGl0eSBvZiBudW1iZXIgYW5kIGNvbG9yIHZhbHVlcy4gRmFsbGluZyBiYWNrIHRvIGluc3RhbnQgdHJhbnNpdGlvbi5gLCJjb21wbGV4LXZhbHVlcy1kaWZmZXJlbnQiKSxheShlLHQpKX07ZnVuY3Rpb24gVDgoZSx0LHIpe3JldHVybiB0eXBlb2YgZT09Im51bWJlciImJnR5cGVvZiB0PT0ibnVtYmVyIiYmdHlwZW9mIHI9PSJudW1iZXIiP0FyKGUsdCxyKTpPRShlKShlLHQpfWNvbnN0IFBkZT1lPT57Y29uc3QgdD0oe3RpbWVzdGFtcDpyfSk9PmUocik7cmV0dXJue3N0YXJ0OihyPSEwKT0+bnIudXBkYXRlKHQsciksc3RvcDooKT0+VWwodCksbm93OigpPT5Bbi5pc1Byb2Nlc3Npbmc/QW4udGltZXN0YW1wOktuLm5vdygpfX0sUDg9KGUsdCxyPTEwKT0+e2xldCBuPSIiO2NvbnN0IGE9TWF0aC5tYXgoTWF0aC5yb3VuZCh0L3IpLDIpO2ZvcihsZXQgaT0wO2k8YTtpKyspbis9TWF0aC5yb3VuZChlKGkvKGEtMSkpKjFlNCkvMWU0KyIsICI7cmV0dXJuYGxpbmVhcigke24uc3Vic3RyaW5nKDAsbi5sZW5ndGgtMil9KWB9LGl5PTJlNDtmdW5jdGlvbiBJRShlKXtsZXQgdD0wO2NvbnN0IHI9NTA7bGV0IG49ZS5uZXh0KHQpO2Zvcig7IW4uZG9uZSYmdDxpeTspdCs9cixuPWUubmV4dCh0KTtyZXR1cm4gdD49aXk/MS8wOnR9ZnVuY3Rpb24gRmRlKGUsdD0xMDAscil7Y29uc3Qgbj1yKHsuLi5lLGtleWZyYW1lczpbMCx0XX0pLGE9TWF0aC5taW4oSUUobiksaXkpO3JldHVybnt0eXBlOiJrZXlmcmFtZXMiLGVhc2U6aT0+bi5uZXh0KGEqaSkudmFsdWUvdCxkdXJhdGlvbjpHcyhhKX19Y29uc3QgT2RlPTU7ZnVuY3Rpb24gRjgoZSx0LHIpe2NvbnN0IG49TWF0aC5tYXgodC1PZGUsMCk7cmV0dXJuIHU4KHItZShuKSx0LW4pfWNvbnN0IGRyPXtzdGlmZm5lc3M6MTAwLGRhbXBpbmc6MTAsbWFzczoxLHZlbG9jaXR5OjAsZHVyYXRpb246ODAwLGJvdW5jZTouMyx2aXN1YWxEdXJhdGlvbjouMyxyZXN0U3BlZWQ6e2dyYW51bGFyOi4wMSxkZWZhdWx0OjJ9LHJlc3REZWx0YTp7Z3JhbnVsYXI6LjAwNSxkZWZhdWx0Oi41fSxtaW5EdXJhdGlvbjouMDEsbWF4RHVyYXRpb246MTAsbWluRGFtcGluZzouMDUsbWF4RGFtcGluZzoxfSxaMT0uMDAxO2Z1bmN0aW9uIElkZSh7ZHVyYXRpb246ZT1kci5kdXJhdGlvbixib3VuY2U6dD1kci5ib3VuY2UsdmVsb2NpdHk6cj1kci52ZWxvY2l0eSxtYXNzOm49ZHIubWFzc30pe2xldCBhLGk7U3coZTw9cGkoZHIubWF4RHVyYXRpb24pLCJTcHJpbmcgZHVyYXRpb24gbXVzdCBiZSAxMCBzZWNvbmRzIG9yIGxlc3MiLCJzcHJpbmctZHVyYXRpb24tbGltaXQiKTtsZXQgbz0xLXQ7bz1qaShkci5taW5EYW1waW5nLGRyLm1heERhbXBpbmcsbyksZT1qaShkci5taW5EdXJhdGlvbixkci5tYXhEdXJhdGlvbixHcyhlKSksbzwxPyhhPWQ9Pntjb25zdCB1PWQqbyxBPXUqZSxmPXUtcixoPW5fKGQsbykscD1NYXRoLmV4cCgtQSk7cmV0dXJuIFoxLWYvaCpwfSxpPWQ9Pntjb25zdCBBPWQqbyplLGY9QSpyK3IsaD1NYXRoLnBvdyhvLDIpKk1hdGgucG93KGQsMikqZSxwPU1hdGguZXhwKC1BKSxtPW5fKE1hdGgucG93KGQsMiksbyk7cmV0dXJuKC1hKGQpK1oxPjA/LTE6MSkqKChmLWgpKnApL219KTooYT1kPT57Y29uc3QgdT1NYXRoLmV4cCgtZCplKSxBPShkLXIpKmUrMTtyZXR1cm4tWjErdSpBfSxpPWQ9Pntjb25zdCB1PU1hdGguZXhwKC1kKmUpLEE9KHItZCkqKGUqZSk7cmV0dXJuIHUqQX0pO2NvbnN0IGw9NS9lLGM9RGRlKGEsaSxsKTtpZihlPXBpKGUpLGlzTmFOKGMpKXJldHVybntzdGlmZm5lc3M6ZHIuc3RpZmZuZXNzLGRhbXBpbmc6ZHIuZGFtcGluZyxkdXJhdGlvbjplfTt7Y29uc3QgZD1NYXRoLnBvdyhjLDIpKm47cmV0dXJue3N0aWZmbmVzczpkLGRhbXBpbmc6byoyKk1hdGguc3FydChuKmQpLGR1cmF0aW9uOmV9fX1jb25zdCBVZGU9MTI7ZnVuY3Rpb24gRGRlKGUsdCxyKXtsZXQgbj1yO2ZvcihsZXQgYT0xO2E8VWRlO2ErKyluPW4tZShuKS90KG4pO3JldHVybiBufWZ1bmN0aW9uIG5fKGUsdCl7cmV0dXJuIGUqTWF0aC5zcXJ0KDEtdCp0KX1jb25zdCBNZGU9WyJkdXJhdGlvbiIsImJvdW5jZSJdLFJkZT1bInN0aWZmbmVzcyIsImRhbXBpbmciLCJtYXNzIl07ZnVuY3Rpb24gZU8oZSx0KXtyZXR1cm4gdC5zb21lKHI9PmVbcl0hPT12b2lkIDApfWZ1bmN0aW9uIFFkZShlKXtsZXQgdD17dmVsb2NpdHk6ZHIudmVsb2NpdHksc3RpZmZuZXNzOmRyLnN0aWZmbmVzcyxkYW1waW5nOmRyLmRhbXBpbmcsbWFzczpkci5tYXNzLGlzUmVzb2x2ZWRGcm9tRHVyYXRpb246ITEsLi4uZX07aWYoIWVPKGUsUmRlKSYmZU8oZSxNZGUpKWlmKGUudmlzdWFsRHVyYXRpb24pe2NvbnN0IHI9ZS52aXN1YWxEdXJhdGlvbixuPTIqTWF0aC5QSS8ocioxLjIpLGE9bipuLGk9MipqaSguMDUsMSwxLShlLmJvdW5jZXx8MCkpKk1hdGguc3FydChhKTt0PXsuLi50LG1hc3M6ZHIubWFzcyxzdGlmZm5lc3M6YSxkYW1waW5nOml9fWVsc2V7Y29uc3Qgcj1JZGUoZSk7dD17Li4udCwuLi5yLG1hc3M6ZHIubWFzc30sdC5pc1Jlc29sdmVkRnJvbUR1cmF0aW9uPSEwfXJldHVybiB0fWZ1bmN0aW9uIG95KGU9ZHIudmlzdWFsRHVyYXRpb24sdD1kci5ib3VuY2Upe2NvbnN0IHI9dHlwZW9mIGUhPSJvYmplY3QiP3t2aXN1YWxEdXJhdGlvbjplLGtleWZyYW1lczpbMCwxXSxib3VuY2U6dH06ZTtsZXR7cmVzdFNwZWVkOm4scmVzdERlbHRhOmF9PXI7Y29uc3QgaT1yLmtleWZyYW1lc1swXSxvPXIua2V5ZnJhbWVzW3Iua2V5ZnJhbWVzLmxlbmd0aC0xXSxsPXtkb25lOiExLHZhbHVlOml9LHtzdGlmZm5lc3M6YyxkYW1waW5nOmQsbWFzczp1LGR1cmF0aW9uOkEsdmVsb2NpdHk6Zixpc1Jlc29sdmVkRnJvbUR1cmF0aW9uOmh9PVFkZSh7Li4ucix2ZWxvY2l0eTotR3Moci52ZWxvY2l0eXx8MCl9KSxwPWZ8fDAsbT1kLygyKk1hdGguc3FydChjKnUpKSx4PW8taSx3PUdzKE1hdGguc3FydChjL3UpKSx5PU1hdGguYWJzKHgpPDU7bnx8KG49eT9kci5yZXN0U3BlZWQuZ3JhbnVsYXI6ZHIucmVzdFNwZWVkLmRlZmF1bHQpLGF8fChhPXk/ZHIucmVzdERlbHRhLmdyYW51bGFyOmRyLnJlc3REZWx0YS5kZWZhdWx0KTtsZXQgdjtpZihtPDEpe2NvbnN0IGo9bl8odyxtKTt2PU49Pntjb25zdCBDPU1hdGguZXhwKC1tKncqTik7cmV0dXJuIG8tQyooKHArbSp3KngpL2oqTWF0aC5zaW4oaipOKSt4Kk1hdGguY29zKGoqTikpfX1lbHNlIGlmKG09PT0xKXY9aj0+by1NYXRoLmV4cCgtdypqKSooeCsocCt3KngpKmopO2Vsc2V7Y29uc3Qgaj13Kk1hdGguc3FydChtKm0tMSk7dj1OPT57Y29uc3QgQz1NYXRoLmV4cCgtbSp3Kk4pLF89TWF0aC5taW4oaipOLDMwMCk7cmV0dXJuIG8tQyooKHArbSp3KngpKk1hdGguc2luaChfKStqKngqTWF0aC5jb3NoKF8pKS9qfX1jb25zdCBiPXtjYWxjdWxhdGVkRHVyYXRpb246aCYmQXx8bnVsbCxuZXh0Omo9Pntjb25zdCBOPXYoaik7aWYoaClsLmRvbmU9aj49QTtlbHNle2xldCBDPWo9PT0wP3A6MDttPDEmJihDPWo9PT0wP3BpKHApOkY4KHYsaixOKSk7Y29uc3QgXz1NYXRoLmFicyhDKTw9bixCPU1hdGguYWJzKG8tTik8PWE7bC5kb25lPV8mJkJ9cmV0dXJuIGwudmFsdWU9bC5kb25lP286TixsfSx0b1N0cmluZzooKT0+e2NvbnN0IGo9TWF0aC5taW4oSUUoYiksaXkpLE49UDgoQz0+Yi5uZXh0KGoqQykudmFsdWUsaiwzMCk7cmV0dXJuIGorIm1zICIrTn0sdG9UcmFuc2l0aW9uOigpPT57fX07cmV0dXJuIGJ9b3kuYXBwbHlUb09wdGlvbnM9ZT0+e2NvbnN0IHQ9RmRlKGUsMTAwLG95KTtyZXR1cm4gZS5lYXNlPXQuZWFzZSxlLmR1cmF0aW9uPXBpKHQuZHVyYXRpb24pLGUudHlwZT0ia2V5ZnJhbWVzIixlfTtmdW5jdGlvbiBzXyh7a2V5ZnJhbWVzOmUsdmVsb2NpdHk6dD0wLHBvd2VyOnI9LjgsdGltZUNvbnN0YW50Om49MzI1LGJvdW5jZURhbXBpbmc6YT0xMCxib3VuY2VTdGlmZm5lc3M6aT01MDAsbW9kaWZ5VGFyZ2V0Om8sbWluOmwsbWF4OmMscmVzdERlbHRhOmQ9LjUscmVzdFNwZWVkOnV9KXtjb25zdCBBPWVbMF0sZj17ZG9uZTohMSx2YWx1ZTpBfSxoPV89PmwhPT12b2lkIDAmJl88bHx8YyE9PXZvaWQgMCYmXz5jLHA9Xz0+bD09PXZvaWQgMD9jOmM9PT12b2lkIDB8fE1hdGguYWJzKGwtXyk8TWF0aC5hYnMoYy1fKT9sOmM7bGV0IG09cip0O2NvbnN0IHg9QSttLHc9bz09PXZvaWQgMD94Om8oeCk7dyE9PXgmJihtPXctQSk7Y29uc3QgeT1fPT4tbSpNYXRoLmV4cCgtXy9uKSx2PV89PncreShfKSxiPV89Pntjb25zdCBCPXkoXyksaz12KF8pO2YuZG9uZT1NYXRoLmFicyhCKTw9ZCxmLnZhbHVlPWYuZG9uZT93Omt9O2xldCBqLE47Y29uc3QgQz1fPT57aChmLnZhbHVlKSYmKGo9XyxOPW95KHtrZXlmcmFtZXM6W2YudmFsdWUscChmLnZhbHVlKV0sdmVsb2NpdHk6RjgodixfLGYudmFsdWUpLGRhbXBpbmc6YSxzdGlmZm5lc3M6aSxyZXN0RGVsdGE6ZCxyZXN0U3BlZWQ6dX0pKX07cmV0dXJuIEMoMCkse2NhbGN1bGF0ZWREdXJhdGlvbjpudWxsLG5leHQ6Xz0+e2xldCBCPSExO3JldHVybiFOJiZqPT09dm9pZCAwJiYoQj0hMCxiKF8pLEMoXykpLGohPT12b2lkIDAmJl8+PWo/Ti5uZXh0KF8taik6KCFCJiZiKF8pLGYpfX19ZnVuY3Rpb24gTGRlKGUsdCxyKXtjb25zdCBuPVtdLGE9cnx8cG8ubWl4fHxUOCxpPWUubGVuZ3RoLTE7Zm9yKGxldCBvPTA7bzxpO28rKyl7bGV0IGw9YShlW29dLGVbbysxXSk7aWYodCl7Y29uc3QgYz1BcnJheS5pc0FycmF5KHQpP3Rbb118fHRhOnQ7bD0kcChjLGwpfW4ucHVzaChsKX1yZXR1cm4gbn1mdW5jdGlvbiAkZGUoZSx0LHtjbGFtcDpyPSEwLGVhc2U6bixtaXhlcjphfT17fSl7Y29uc3QgaT1lLmxlbmd0aDtpZihvQShpPT09dC5sZW5ndGgsIkJvdGggaW5wdXQgYW5kIG91dHB1dCByYW5nZXMgbXVzdCBiZSB0aGUgc2FtZSBsZW5ndGgiLCJyYW5nZS1sZW5ndGgiKSxpPT09MSlyZXR1cm4oKT0+dFswXTtpZihpPT09MiYmdFswXT09PXRbMV0pcmV0dXJuKCk9PnRbMV07Y29uc3Qgbz1lWzBdPT09ZVsxXTtlWzBdPmVbaS0xXSYmKGU9Wy4uLmVdLnJldmVyc2UoKSx0PVsuLi50XS5yZXZlcnNlKCkpO2NvbnN0IGw9TGRlKHQsbixhKSxjPWwubGVuZ3RoLGQ9dT0+e2lmKG8mJnU8ZVswXSlyZXR1cm4gdFswXTtsZXQgQT0wO2lmKGM+MSlmb3IoO0E8ZS5sZW5ndGgtMiYmISh1PGVbQSsxXSk7QSsrKTtjb25zdCBmPV9tKGVbQV0sZVtBKzFdLHUpO3JldHVybiBsW0FdKGYpfTtyZXR1cm4gcj91PT5kKGppKGVbMF0sZVtpLTFdLHUpKTpkfWZ1bmN0aW9uIEhkZShlLHQpe2NvbnN0IHI9ZVtlLmxlbmd0aC0xXTtmb3IobGV0IG49MTtuPD10O24rKyl7Y29uc3QgYT1fbSgwLHQsbik7ZS5wdXNoKEFyKHIsMSxhKSl9fWZ1bmN0aW9uIEtkZShlKXtjb25zdCB0PVswXTtyZXR1cm4gSGRlKHQsZS5sZW5ndGgtMSksdH1mdW5jdGlvbiBWZGUoZSx0KXtyZXR1cm4gZS5tYXAocj0+cip0KX1mdW5jdGlvbiB6ZGUoZSx0KXtyZXR1cm4gZS5tYXAoKCk9PnR8fHY4KS5zcGxpY2UoMCxlLmxlbmd0aC0xKX1mdW5jdGlvbiBEaCh7ZHVyYXRpb246ZT0zMDAsa2V5ZnJhbWVzOnQsdGltZXM6cixlYXNlOm49ImVhc2VJbk91dCJ9KXtjb25zdCBhPXNkZShuKT9uLm1hcChXRik6V0YobiksaT17ZG9uZTohMSx2YWx1ZTp0WzBdfSxvPVZkZShyJiZyLmxlbmd0aD09PXQubGVuZ3RoP3I6S2RlKHQpLGUpLGw9JGRlKG8sdCx7ZWFzZTpBcnJheS5pc0FycmF5KGEpP2E6emRlKHQsYSl9KTtyZXR1cm57Y2FsY3VsYXRlZER1cmF0aW9uOmUsbmV4dDpjPT4oaS52YWx1ZT1sKGMpLGkuZG9uZT1jPj1lLGkpfX1jb25zdCBXZGU9ZT0+ZSE9PW51bGw7ZnVuY3Rpb24gVUUoZSx7cmVwZWF0OnQscmVwZWF0VHlwZTpyPSJsb29wIn0sbixhPTEpe2NvbnN0IGk9ZS5maWx0ZXIoV2RlKSxsPWE8MHx8dCYmciE9PSJsb29wIiYmdCUyPT09MT8wOmkubGVuZ3RoLTE7cmV0dXJuIWx8fG49PT12b2lkIDA/aVtsXTpufWNvbnN0IEdkZT17ZGVjYXk6c18saW5lcnRpYTpzXyx0d2VlbjpEaCxrZXlmcmFtZXM6RGgsc3ByaW5nOm95fTtmdW5jdGlvbiBPOChlKXt0eXBlb2YgZS50eXBlPT0ic3RyaW5nIiYmKGUudHlwZT1HZGVbZS50eXBlXSl9Y2xhc3MgREV7Y29uc3RydWN0b3IoKXt0aGlzLnVwZGF0ZUZpbmlzaGVkKCl9Z2V0IGZpbmlzaGVkKCl7cmV0dXJuIHRoaXMuX2ZpbmlzaGVkfXVwZGF0ZUZpbmlzaGVkKCl7dGhpcy5fZmluaXNoZWQ9bmV3IFByb21pc2UodD0+e3RoaXMucmVzb2x2ZT10fSl9bm90aWZ5RmluaXNoZWQoKXt0aGlzLnJlc29sdmUoKX10aGVuKHQscil7cmV0dXJuIHRoaXMuZmluaXNoZWQudGhlbih0LHIpfX1jb25zdCBxZGU9ZT0+ZS8xMDA7Y2xhc3MgTUUgZXh0ZW5kcyBERXtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuc3RhdGU9ImlkbGUiLHRoaXMuc3RhcnRUaW1lPW51bGwsdGhpcy5pc1N0b3BwZWQ9ITEsdGhpcy5jdXJyZW50VGltZT0wLHRoaXMuaG9sZFRpbWU9bnVsbCx0aGlzLnBsYXliYWNrU3BlZWQ9MSx0aGlzLnN0b3A9KCk9Pnt2YXIgbixhO2NvbnN0e21vdGlvblZhbHVlOnJ9PXRoaXMub3B0aW9ucztyJiZyLnVwZGF0ZWRBdCE9PUtuLm5vdygpJiZ0aGlzLnRpY2soS24ubm93KCkpLHRoaXMuaXNTdG9wcGVkPSEwLHRoaXMuc3RhdGUhPT0iaWRsZSImJih0aGlzLnRlYXJkb3duKCksKGE9KG49dGhpcy5vcHRpb25zKS5vblN0b3ApPT1udWxsfHxhLmNhbGwobikpfSx0aGlzLm9wdGlvbnM9dCx0aGlzLmluaXRBbmltYXRpb24oKSx0aGlzLnBsYXkoKSx0LmF1dG9wbGF5PT09ITEmJnRoaXMucGF1c2UoKX1pbml0QW5pbWF0aW9uKCl7Y29uc3R7b3B0aW9uczp0fT10aGlzO084KHQpO2NvbnN0e3R5cGU6cj1EaCxyZXBlYXQ6bj0wLHJlcGVhdERlbGF5OmE9MCxyZXBlYXRUeXBlOmksdmVsb2NpdHk6bz0wfT10O2xldHtrZXlmcmFtZXM6bH09dDtjb25zdCBjPXJ8fERoO2MhPT1EaCYmdHlwZW9mIGxbMF0hPSJudW1iZXIiJiYodGhpcy5taXhLZXlmcmFtZXM9JHAocWRlLFQ4KGxbMF0sbFsxXSkpLGw9WzAsMTAwXSk7Y29uc3QgZD1jKHsuLi50LGtleWZyYW1lczpsfSk7aT09PSJtaXJyb3IiJiYodGhpcy5taXJyb3JlZEdlbmVyYXRvcj1jKHsuLi50LGtleWZyYW1lczpbLi4ubF0ucmV2ZXJzZSgpLHZlbG9jaXR5Oi1vfSkpLGQuY2FsY3VsYXRlZER1cmF0aW9uPT09bnVsbCYmKGQuY2FsY3VsYXRlZER1cmF0aW9uPUlFKGQpKTtjb25zdHtjYWxjdWxhdGVkRHVyYXRpb246dX09ZDt0aGlzLmNhbGN1bGF0ZWREdXJhdGlvbj11LHRoaXMucmVzb2x2ZWREdXJhdGlvbj11K2EsdGhpcy50b3RhbER1cmF0aW9uPXRoaXMucmVzb2x2ZWREdXJhdGlvbioobisxKS1hLHRoaXMuZ2VuZXJhdG9yPWR9dXBkYXRlVGltZSh0KXtjb25zdCByPU1hdGgucm91bmQodC10aGlzLnN0YXJ0VGltZSkqdGhpcy5wbGF5YmFja1NwZWVkO3RoaXMuaG9sZFRpbWUhPT1udWxsP3RoaXMuY3VycmVudFRpbWU9dGhpcy5ob2xkVGltZTp0aGlzLmN1cnJlbnRUaW1lPXJ9dGljayh0LHI9ITEpe2NvbnN0e2dlbmVyYXRvcjpuLHRvdGFsRHVyYXRpb246YSxtaXhLZXlmcmFtZXM6aSxtaXJyb3JlZEdlbmVyYXRvcjpvLHJlc29sdmVkRHVyYXRpb246bCxjYWxjdWxhdGVkRHVyYXRpb246Y309dGhpcztpZih0aGlzLnN0YXJ0VGltZT09PW51bGwpcmV0dXJuIG4ubmV4dCgwKTtjb25zdHtkZWxheTpkPTAsa2V5ZnJhbWVzOnUscmVwZWF0OkEscmVwZWF0VHlwZTpmLHJlcGVhdERlbGF5OmgsdHlwZTpwLG9uVXBkYXRlOm0sZmluYWxLZXlmcmFtZTp4fT10aGlzLm9wdGlvbnM7dGhpcy5zcGVlZD4wP3RoaXMuc3RhcnRUaW1lPU1hdGgubWluKHRoaXMuc3RhcnRUaW1lLHQpOnRoaXMuc3BlZWQ8MCYmKHRoaXMuc3RhcnRUaW1lPU1hdGgubWluKHQtYS90aGlzLnNwZWVkLHRoaXMuc3RhcnRUaW1lKSkscj90aGlzLmN1cnJlbnRUaW1lPXQ6dGhpcy51cGRhdGVUaW1lKHQpO2NvbnN0IHc9dGhpcy5jdXJyZW50VGltZS1kKih0aGlzLnBsYXliYWNrU3BlZWQ+PTA/MTotMSkseT10aGlzLnBsYXliYWNrU3BlZWQ+PTA/dzwwOnc+YTt0aGlzLmN1cnJlbnRUaW1lPU1hdGgubWF4KHcsMCksdGhpcy5zdGF0ZT09PSJmaW5pc2hlZCImJnRoaXMuaG9sZFRpbWU9PT1udWxsJiYodGhpcy5jdXJyZW50VGltZT1hKTtsZXQgdj10aGlzLmN1cnJlbnRUaW1lLGI9bjtpZihBKXtjb25zdCBfPU1hdGgubWluKHRoaXMuY3VycmVudFRpbWUsYSkvbDtsZXQgQj1NYXRoLmZsb29yKF8pLGs9XyUxOyFrJiZfPj0xJiYoaz0xKSxrPT09MSYmQi0tLEI9TWF0aC5taW4oQixBKzEpLCEhKEIlMikmJihmPT09InJldmVyc2UiPyhrPTEtayxoJiYoay09aC9sKSk6Zj09PSJtaXJyb3IiJiYoYj1vKSksdj1qaSgwLDEsaykqbH1jb25zdCBqPXk/e2RvbmU6ITEsdmFsdWU6dVswXX06Yi5uZXh0KHYpO2kmJihqLnZhbHVlPWkoai52YWx1ZSkpO2xldHtkb25lOk59PWo7IXkmJmMhPT1udWxsJiYoTj10aGlzLnBsYXliYWNrU3BlZWQ+PTA/dGhpcy5jdXJyZW50VGltZT49YTp0aGlzLmN1cnJlbnRUaW1lPD0wKTtjb25zdCBDPXRoaXMuaG9sZFRpbWU9PT1udWxsJiYodGhpcy5zdGF0ZT09PSJmaW5pc2hlZCJ8fHRoaXMuc3RhdGU9PT0icnVubmluZyImJk4pO3JldHVybiBDJiZwIT09c18mJihqLnZhbHVlPVVFKHUsdGhpcy5vcHRpb25zLHgsdGhpcy5zcGVlZCkpLG0mJm0oai52YWx1ZSksQyYmdGhpcy5maW5pc2goKSxqfXRoZW4odCxyKXtyZXR1cm4gdGhpcy5maW5pc2hlZC50aGVuKHQscil9Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIEdzKHRoaXMuY2FsY3VsYXRlZER1cmF0aW9uKX1nZXQgaXRlcmF0aW9uRHVyYXRpb24oKXtjb25zdHtkZWxheTp0PTB9PXRoaXMub3B0aW9uc3x8e307cmV0dXJuIHRoaXMuZHVyYXRpb24rR3ModCl9Z2V0IHRpbWUoKXtyZXR1cm4gR3ModGhpcy5jdXJyZW50VGltZSl9c2V0IHRpbWUodCl7dmFyIHI7dD1waSh0KSx0aGlzLmN1cnJlbnRUaW1lPXQsdGhpcy5zdGFydFRpbWU9PT1udWxsfHx0aGlzLmhvbGRUaW1lIT09bnVsbHx8dGhpcy5wbGF5YmFja1NwZWVkPT09MD90aGlzLmhvbGRUaW1lPXQ6dGhpcy5kcml2ZXImJih0aGlzLnN0YXJ0VGltZT10aGlzLmRyaXZlci5ub3coKS10L3RoaXMucGxheWJhY2tTcGVlZCksKHI9dGhpcy5kcml2ZXIpPT1udWxsfHxyLnN0YXJ0KCExKX1nZXQgc3BlZWQoKXtyZXR1cm4gdGhpcy5wbGF5YmFja1NwZWVkfXNldCBzcGVlZCh0KXt0aGlzLnVwZGF0ZVRpbWUoS24ubm93KCkpO2NvbnN0IHI9dGhpcy5wbGF5YmFja1NwZWVkIT09dDt0aGlzLnBsYXliYWNrU3BlZWQ9dCxyJiYodGhpcy50aW1lPUdzKHRoaXMuY3VycmVudFRpbWUpKX1wbGF5KCl7dmFyIGEsaTtpZih0aGlzLmlzU3RvcHBlZClyZXR1cm47Y29uc3R7ZHJpdmVyOnQ9UGRlLHN0YXJ0VGltZTpyfT10aGlzLm9wdGlvbnM7dGhpcy5kcml2ZXJ8fCh0aGlzLmRyaXZlcj10KG89PnRoaXMudGljayhvKSkpLChpPShhPXRoaXMub3B0aW9ucykub25QbGF5KT09bnVsbHx8aS5jYWxsKGEpO2NvbnN0IG49dGhpcy5kcml2ZXIubm93KCk7dGhpcy5zdGF0ZT09PSJmaW5pc2hlZCI/KHRoaXMudXBkYXRlRmluaXNoZWQoKSx0aGlzLnN0YXJ0VGltZT1uKTp0aGlzLmhvbGRUaW1lIT09bnVsbD90aGlzLnN0YXJ0VGltZT1uLXRoaXMuaG9sZFRpbWU6dGhpcy5zdGFydFRpbWV8fCh0aGlzLnN0YXJ0VGltZT1yPz9uKSx0aGlzLnN0YXRlPT09ImZpbmlzaGVkIiYmdGhpcy5zcGVlZDwwJiYodGhpcy5zdGFydFRpbWUrPXRoaXMuY2FsY3VsYXRlZER1cmF0aW9uKSx0aGlzLmhvbGRUaW1lPW51bGwsdGhpcy5zdGF0ZT0icnVubmluZyIsdGhpcy5kcml2ZXIuc3RhcnQoKX1wYXVzZSgpe3RoaXMuc3RhdGU9InBhdXNlZCIsdGhpcy51cGRhdGVUaW1lKEtuLm5vdygpKSx0aGlzLmhvbGRUaW1lPXRoaXMuY3VycmVudFRpbWV9Y29tcGxldGUoKXt0aGlzLnN0YXRlIT09InJ1bm5pbmciJiZ0aGlzLnBsYXkoKSx0aGlzLnN0YXRlPSJmaW5pc2hlZCIsdGhpcy5ob2xkVGltZT1udWxsfWZpbmlzaCgpe3ZhciB0LHI7dGhpcy5ub3RpZnlGaW5pc2hlZCgpLHRoaXMudGVhcmRvd24oKSx0aGlzLnN0YXRlPSJmaW5pc2hlZCIsKHI9KHQ9dGhpcy5vcHRpb25zKS5vbkNvbXBsZXRlKT09bnVsbHx8ci5jYWxsKHQpfWNhbmNlbCgpe3ZhciB0LHI7dGhpcy5ob2xkVGltZT1udWxsLHRoaXMuc3RhcnRUaW1lPTAsdGhpcy50aWNrKDApLHRoaXMudGVhcmRvd24oKSwocj0odD10aGlzLm9wdGlvbnMpLm9uQ2FuY2VsKT09bnVsbHx8ci5jYWxsKHQpfXRlYXJkb3duKCl7dGhpcy5zdGF0ZT0iaWRsZSIsdGhpcy5zdG9wRHJpdmVyKCksdGhpcy5zdGFydFRpbWU9dGhpcy5ob2xkVGltZT1udWxsfXN0b3BEcml2ZXIoKXt0aGlzLmRyaXZlciYmKHRoaXMuZHJpdmVyLnN0b3AoKSx0aGlzLmRyaXZlcj12b2lkIDApfXNhbXBsZSh0KXtyZXR1cm4gdGhpcy5zdGFydFRpbWU9MCx0aGlzLnRpY2sodCwhMCl9YXR0YWNoVGltZWxpbmUodCl7dmFyIHI7cmV0dXJuIHRoaXMub3B0aW9ucy5hbGxvd0ZsYXR0ZW4mJih0aGlzLm9wdGlvbnMudHlwZT0ia2V5ZnJhbWVzIix0aGlzLm9wdGlvbnMuZWFzZT0ibGluZWFyIix0aGlzLmluaXRBbmltYXRpb24oKSksKHI9dGhpcy5kcml2ZXIpPT1udWxsfHxyLnN0b3AoKSx0Lm9ic2VydmUodGhpcyl9fWZ1bmN0aW9uIFlkZShlKXtmb3IobGV0IHQ9MTt0PGUubGVuZ3RoO3QrKyllW3RdPz8oZVt0XT1lW3QtMV0pfWNvbnN0IFNjPWU9PmUqMTgwL01hdGguUEksYV89ZT0+e2NvbnN0IHQ9U2MoTWF0aC5hdGFuMihlWzFdLGVbMF0pKTtyZXR1cm4gaV8odCl9LFhkZT17eDo0LHk6NSx0cmFuc2xhdGVYOjQsdHJhbnNsYXRlWTo1LHNjYWxlWDowLHNjYWxlWTozLHNjYWxlOmU9PihNYXRoLmFicyhlWzBdKStNYXRoLmFicyhlWzNdKSkvMixyb3RhdGU6YV8scm90YXRlWjphXyxza2V3WDplPT5TYyhNYXRoLmF0YW4oZVsxXSkpLHNrZXdZOmU9PlNjKE1hdGguYXRhbihlWzJdKSksc2tldzplPT4oTWF0aC5hYnMoZVsxXSkrTWF0aC5hYnMoZVsyXSkpLzJ9LGlfPWU9PihlPWUlMzYwLGU8MCYmKGUrPTM2MCksZSksdE89YV8sck89ZT0+TWF0aC5zcXJ0KGVbMF0qZVswXStlWzFdKmVbMV0pLG5PPWU9Pk1hdGguc3FydChlWzRdKmVbNF0rZVs1XSplWzVdKSxKZGU9e3g6MTIseToxMyx6OjE0LHRyYW5zbGF0ZVg6MTIsdHJhbnNsYXRlWToxMyx0cmFuc2xhdGVaOjE0LHNjYWxlWDpyTyxzY2FsZVk6bk8sc2NhbGU6ZT0+KHJPKGUpK25PKGUpKS8yLHJvdGF0ZVg6ZT0+aV8oU2MoTWF0aC5hdGFuMihlWzZdLGVbNV0pKSkscm90YXRlWTplPT5pXyhTYyhNYXRoLmF0YW4yKC1lWzJdLGVbMF0pKSkscm90YXRlWjp0Tyxyb3RhdGU6dE8sc2tld1g6ZT0+U2MoTWF0aC5hdGFuKGVbNF0pKSxza2V3WTplPT5TYyhNYXRoLmF0YW4oZVsxXSkpLHNrZXc6ZT0+KE1hdGguYWJzKGVbMV0pK01hdGguYWJzKGVbNF0pKS8yfTtmdW5jdGlvbiBvXyhlKXtyZXR1cm4gZS5pbmNsdWRlcygic2NhbGUiKT8xOjB9ZnVuY3Rpb24gbF8oZSx0KXtpZighZXx8ZT09PSJub25lIilyZXR1cm4gb18odCk7Y29uc3Qgcj1lLm1hdGNoKC9ebWF0cml4M2RcKChbLVxkLmVccyxdKylcKSQvdSk7bGV0IG4sYTtpZihyKW49SmRlLGE9cjtlbHNle2NvbnN0IGw9ZS5tYXRjaCgvXm1hdHJpeFwoKFstXGQuZVxzLF0rKVwpJC91KTtuPVhkZSxhPWx9aWYoIWEpcmV0dXJuIG9fKHQpO2NvbnN0IGk9blt0XSxvPWFbMV0uc3BsaXQoIiwiKS5tYXAoZXVlKTtyZXR1cm4gdHlwZW9mIGk9PSJmdW5jdGlvbiI/aShvKTpvW2ldfWNvbnN0IFpkZT0oZSx0KT0+e2NvbnN0e3RyYW5zZm9ybTpyPSJub25lIn09Z2V0Q29tcHV0ZWRTdHlsZShlKTtyZXR1cm4gbF8ocix0KX07ZnVuY3Rpb24gZXVlKGUpe3JldHVybiBwYXJzZUZsb2F0KGUudHJpbSgpKX1jb25zdCBuZj1bInRyYW5zZm9ybVBlcnNwZWN0aXZlIiwieCIsInkiLCJ6IiwidHJhbnNsYXRlWCIsInRyYW5zbGF0ZVkiLCJ0cmFuc2xhdGVaIiwic2NhbGUiLCJzY2FsZVgiLCJzY2FsZVkiLCJyb3RhdGUiLCJyb3RhdGVYIiwicm90YXRlWSIsInJvdGF0ZVoiLCJza2V3Iiwic2tld1giLCJza2V3WSJdLHNmPW5ldyBTZXQobmYpLHNPPWU9PmU9PT1yZnx8ZT09PU9lLHR1ZT1uZXcgU2V0KFsieCIsInkiLCJ6Il0pLHJ1ZT1uZi5maWx0ZXIoZT0+IXR1ZS5oYXMoZSkpO2Z1bmN0aW9uIG51ZShlKXtjb25zdCB0PVtdO3JldHVybiBydWUuZm9yRWFjaChyPT57Y29uc3Qgbj1lLmdldFZhbHVlKHIpO24hPT12b2lkIDAmJih0LnB1c2goW3Isbi5nZXQoKV0pLG4uc2V0KHIuc3RhcnRzV2l0aCgic2NhbGUiKT8xOjApKX0pLHR9Y29uc3QgYWw9e3dpZHRoOih7eDplfSx7cGFkZGluZ0xlZnQ6dD0iMCIscGFkZGluZ1JpZ2h0OnI9IjAifSk9PmUubWF4LWUubWluLXBhcnNlRmxvYXQodCktcGFyc2VGbG9hdChyKSxoZWlnaHQ6KHt5OmV9LHtwYWRkaW5nVG9wOnQ9IjAiLHBhZGRpbmdCb3R0b206cj0iMCJ9KT0+ZS5tYXgtZS5taW4tcGFyc2VGbG9hdCh0KS1wYXJzZUZsb2F0KHIpLHRvcDooZSx7dG9wOnR9KT0+cGFyc2VGbG9hdCh0KSxsZWZ0OihlLHtsZWZ0OnR9KT0+cGFyc2VGbG9hdCh0KSxib3R0b206KHt5OmV9LHt0b3A6dH0pPT5wYXJzZUZsb2F0KHQpKyhlLm1heC1lLm1pbikscmlnaHQ6KHt4OmV9LHtsZWZ0OnR9KT0+cGFyc2VGbG9hdCh0KSsoZS5tYXgtZS5taW4pLHg6KGUse3RyYW5zZm9ybTp0fSk9PmxfKHQsIngiKSx5OihlLHt0cmFuc2Zvcm06dH0pPT5sXyh0LCJ5Iil9O2FsLnRyYW5zbGF0ZVg9YWwueDthbC50cmFuc2xhdGVZPWFsLnk7Y29uc3QgS2M9bmV3IFNldDtsZXQgY189ITEsZF89ITEsdV89ITE7ZnVuY3Rpb24gSTgoKXtpZihkXyl7Y29uc3QgZT1BcnJheS5mcm9tKEtjKS5maWx0ZXIobj0+bi5uZWVkc01lYXN1cmVtZW50KSx0PW5ldyBTZXQoZS5tYXAobj0+bi5lbGVtZW50KSkscj1uZXcgTWFwO3QuZm9yRWFjaChuPT57Y29uc3QgYT1udWUobik7YS5sZW5ndGgmJihyLnNldChuLGEpLG4ucmVuZGVyKCkpfSksZS5mb3JFYWNoKG49Pm4ubWVhc3VyZUluaXRpYWxTdGF0ZSgpKSx0LmZvckVhY2gobj0+e24ucmVuZGVyKCk7Y29uc3QgYT1yLmdldChuKTthJiZhLmZvckVhY2goKFtpLG9dKT0+e3ZhciBsOyhsPW4uZ2V0VmFsdWUoaSkpPT1udWxsfHxsLnNldChvKX0pfSksZS5mb3JFYWNoKG49Pm4ubWVhc3VyZUVuZFN0YXRlKCkpLGUuZm9yRWFjaChuPT57bi5zdXNwZW5kZWRTY3JvbGxZIT09dm9pZCAwJiZ3aW5kb3cuc2Nyb2xsVG8oMCxuLnN1c3BlbmRlZFNjcm9sbFkpfSl9ZF89ITEsY189ITEsS2MuZm9yRWFjaChlPT5lLmNvbXBsZXRlKHVfKSksS2MuY2xlYXIoKX1mdW5jdGlvbiBVOCgpe0tjLmZvckVhY2goZT0+e2UucmVhZEtleWZyYW1lcygpLGUubmVlZHNNZWFzdXJlbWVudCYmKGRfPSEwKX0pfWZ1bmN0aW9uIHN1ZSgpe3VfPSEwLFU4KCksSTgoKSx1Xz0hMX1jbGFzcyBSRXtjb25zdHJ1Y3Rvcih0LHIsbixhLGksbz0hMSl7dGhpcy5zdGF0ZT0icGVuZGluZyIsdGhpcy5pc0FzeW5jPSExLHRoaXMubmVlZHNNZWFzdXJlbWVudD0hMSx0aGlzLnVucmVzb2x2ZWRLZXlmcmFtZXM9Wy4uLnRdLHRoaXMub25Db21wbGV0ZT1yLHRoaXMubmFtZT1uLHRoaXMubW90aW9uVmFsdWU9YSx0aGlzLmVsZW1lbnQ9aSx0aGlzLmlzQXN5bmM9b31zY2hlZHVsZVJlc29sdmUoKXt0aGlzLnN0YXRlPSJzY2hlZHVsZWQiLHRoaXMuaXNBc3luYz8oS2MuYWRkKHRoaXMpLGNffHwoY189ITAsbnIucmVhZChVOCksbnIucmVzb2x2ZUtleWZyYW1lcyhJOCkpKToodGhpcy5yZWFkS2V5ZnJhbWVzKCksdGhpcy5jb21wbGV0ZSgpKX1yZWFkS2V5ZnJhbWVzKCl7Y29uc3R7dW5yZXNvbHZlZEtleWZyYW1lczp0LG5hbWU6cixlbGVtZW50Om4sbW90aW9uVmFsdWU6YX09dGhpcztpZih0WzBdPT09bnVsbCl7Y29uc3QgaT1hPT1udWxsP3ZvaWQgMDphLmdldCgpLG89dFt0Lmxlbmd0aC0xXTtpZihpIT09dm9pZCAwKXRbMF09aTtlbHNlIGlmKG4mJnIpe2NvbnN0IGw9bi5yZWFkVmFsdWUocixvKTtsIT1udWxsJiYodFswXT1sKX10WzBdPT09dm9pZCAwJiYodFswXT1vKSxhJiZpPT09dm9pZCAwJiZhLnNldCh0WzBdKX1ZZGUodCl9c2V0RmluYWxLZXlmcmFtZSgpe31tZWFzdXJlSW5pdGlhbFN0YXRlKCl7fXJlbmRlckVuZFN0eWxlcygpe31tZWFzdXJlRW5kU3RhdGUoKXt9Y29tcGxldGUodD0hMSl7dGhpcy5zdGF0ZT0iY29tcGxldGUiLHRoaXMub25Db21wbGV0ZSh0aGlzLnVucmVzb2x2ZWRLZXlmcmFtZXMsdGhpcy5maW5hbEtleWZyYW1lLHQpLEtjLmRlbGV0ZSh0aGlzKX1jYW5jZWwoKXt0aGlzLnN0YXRlPT09InNjaGVkdWxlZCImJihLYy5kZWxldGUodGhpcyksdGhpcy5zdGF0ZT0icGVuZGluZyIpfXJlc3VtZSgpe3RoaXMuc3RhdGU9PT0icGVuZGluZyImJnRoaXMuc2NoZWR1bGVSZXNvbHZlKCl9fWNvbnN0IGF1ZT1lPT5lLnN0YXJ0c1dpdGgoIi0tIik7ZnVuY3Rpb24gaXVlKGUsdCxyKXthdWUodCk/ZS5zdHlsZS5zZXRQcm9wZXJ0eSh0LHIpOmUuc3R5bGVbdF09cn1jb25zdCBvdWU9QkUoKCk9PndpbmRvdy5TY3JvbGxUaW1lbGluZSE9PXZvaWQgMCksbHVlPXt9O2Z1bmN0aW9uIGN1ZShlLHQpe2NvbnN0IHI9QkUoZSk7cmV0dXJuKCk9Pmx1ZVt0XT8/cigpfWNvbnN0IEQ4PWN1ZSgoKT0+e3RyeXtkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5hbmltYXRlKHtvcGFjaXR5OjB9LHtlYXNpbmc6ImxpbmVhcigwLCAxKSJ9KX1jYXRjaHtyZXR1cm4hMX1yZXR1cm4hMH0sImxpbmVhckVhc2luZyIpLGloPShbZSx0LHIsbl0pPT5gY3ViaWMtYmV6aWVyKCR7ZX0sICR7dH0sICR7cn0sICR7bn0pYCxhTz17bGluZWFyOiJsaW5lYXIiLGVhc2U6ImVhc2UiLGVhc2VJbjoiZWFzZS1pbiIsZWFzZU91dDoiZWFzZS1vdXQiLGVhc2VJbk91dDoiZWFzZS1pbi1vdXQiLGNpcmNJbjppaChbMCwuNjUsLjU1LDFdKSxjaXJjT3V0OmloKFsuNTUsMCwxLC40NV0pLGJhY2tJbjppaChbLjMxLC4wMSwuNjYsLS41OV0pLGJhY2tPdXQ6aWgoWy4zMywxLjUzLC42OSwuOTldKX07ZnVuY3Rpb24gTTgoZSx0KXtpZihlKXJldHVybiB0eXBlb2YgZT09ImZ1bmN0aW9uIj9EOCgpP1A4KGUsdCk6ImVhc2Utb3V0Ijp3OChlKT9paChlKTpBcnJheS5pc0FycmF5KGUpP2UubWFwKHI9Pk04KHIsdCl8fGFPLmVhc2VPdXQpOmFPW2VdfWZ1bmN0aW9uIGR1ZShlLHQscix7ZGVsYXk6bj0wLGR1cmF0aW9uOmE9MzAwLHJlcGVhdDppPTAscmVwZWF0VHlwZTpvPSJsb29wIixlYXNlOmw9ImVhc2VPdXQiLHRpbWVzOmN9PXt9LGQ9dm9pZCAwKXtjb25zdCB1PXtbdF06cn07YyYmKHUub2Zmc2V0PWMpO2NvbnN0IEE9TTgobCxhKTtBcnJheS5pc0FycmF5KEEpJiYodS5lYXNpbmc9QSk7Y29uc3QgZj17ZGVsYXk6bixkdXJhdGlvbjphLGVhc2luZzpBcnJheS5pc0FycmF5KEEpPyJsaW5lYXIiOkEsZmlsbDoiYm90aCIsaXRlcmF0aW9uczppKzEsZGlyZWN0aW9uOm89PT0icmV2ZXJzZSI/ImFsdGVybmF0ZSI6Im5vcm1hbCJ9O3JldHVybiBkJiYoZi5wc2V1ZG9FbGVtZW50PWQpLGUuYW5pbWF0ZSh1LGYpfWZ1bmN0aW9uIFI4KGUpe3JldHVybiB0eXBlb2YgZT09ImZ1bmN0aW9uIiYmImFwcGx5VG9PcHRpb25zImluIGV9ZnVuY3Rpb24gdXVlKHt0eXBlOmUsLi4udH0pe3JldHVybiBSOChlKSYmRDgoKT9lLmFwcGx5VG9PcHRpb25zKHQpOih0LmR1cmF0aW9uPz8odC5kdXJhdGlvbj0zMDApLHQuZWFzZT8/KHQuZWFzZT0iZWFzZU91dCIpLHQpfWNsYXNzIEF1ZSBleHRlbmRzIERFe2NvbnN0cnVjdG9yKHQpe2lmKHN1cGVyKCksdGhpcy5maW5pc2hlZFRpbWU9bnVsbCx0aGlzLmlzU3RvcHBlZD0hMSx0aGlzLm1hbnVhbFN0YXJ0VGltZT1udWxsLCF0KXJldHVybjtjb25zdHtlbGVtZW50OnIsbmFtZTpuLGtleWZyYW1lczphLHBzZXVkb0VsZW1lbnQ6aSxhbGxvd0ZsYXR0ZW46bz0hMSxmaW5hbEtleWZyYW1lOmwsb25Db21wbGV0ZTpjfT10O3RoaXMuaXNQc2V1ZG9FbGVtZW50PSEhaSx0aGlzLmFsbG93RmxhdHRlbj1vLHRoaXMub3B0aW9ucz10LG9BKHR5cGVvZiB0LnR5cGUhPSJzdHJpbmciLGBNaW5pIGFuaW1hdGUoKSBkb2Vzbid0IHN1cHBvcnQgInR5cGUiIGFzIGEgc3RyaW5nLmAsIm1pbmktc3ByaW5nIik7Y29uc3QgZD11dWUodCk7dGhpcy5hbmltYXRpb249ZHVlKHIsbixhLGQsaSksZC5hdXRvcGxheT09PSExJiZ0aGlzLmFuaW1hdGlvbi5wYXVzZSgpLHRoaXMuYW5pbWF0aW9uLm9uZmluaXNoPSgpPT57aWYodGhpcy5maW5pc2hlZFRpbWU9dGhpcy50aW1lLCFpKXtjb25zdCB1PVVFKGEsdGhpcy5vcHRpb25zLGwsdGhpcy5zcGVlZCk7dGhpcy51cGRhdGVNb3Rpb25WYWx1ZT90aGlzLnVwZGF0ZU1vdGlvblZhbHVlKHUpOml1ZShyLG4sdSksdGhpcy5hbmltYXRpb24uY2FuY2VsKCl9Yz09bnVsbHx8YygpLHRoaXMubm90aWZ5RmluaXNoZWQoKX19cGxheSgpe3RoaXMuaXNTdG9wcGVkfHwodGhpcy5tYW51YWxTdGFydFRpbWU9bnVsbCx0aGlzLmFuaW1hdGlvbi5wbGF5KCksdGhpcy5zdGF0ZT09PSJmaW5pc2hlZCImJnRoaXMudXBkYXRlRmluaXNoZWQoKSl9cGF1c2UoKXt0aGlzLmFuaW1hdGlvbi5wYXVzZSgpfWNvbXBsZXRlKCl7dmFyIHQscjsocj0odD10aGlzLmFuaW1hdGlvbikuZmluaXNoKT09bnVsbHx8ci5jYWxsKHQpfWNhbmNlbCgpe3RyeXt0aGlzLmFuaW1hdGlvbi5jYW5jZWwoKX1jYXRjaHt9fXN0b3AoKXtpZih0aGlzLmlzU3RvcHBlZClyZXR1cm47dGhpcy5pc1N0b3BwZWQ9ITA7Y29uc3R7c3RhdGU6dH09dGhpczt0PT09ImlkbGUifHx0PT09ImZpbmlzaGVkInx8KHRoaXMudXBkYXRlTW90aW9uVmFsdWU/dGhpcy51cGRhdGVNb3Rpb25WYWx1ZSgpOnRoaXMuY29tbWl0U3R5bGVzKCksdGhpcy5pc1BzZXVkb0VsZW1lbnR8fHRoaXMuY2FuY2VsKCkpfWNvbW1pdFN0eWxlcygpe3ZhciB0LHI7dGhpcy5pc1BzZXVkb0VsZW1lbnR8fChyPSh0PXRoaXMuYW5pbWF0aW9uKS5jb21taXRTdHlsZXMpPT1udWxsfHxyLmNhbGwodCl9Z2V0IGR1cmF0aW9uKCl7dmFyIHIsbjtjb25zdCB0PSgobj0ocj10aGlzLmFuaW1hdGlvbi5lZmZlY3QpPT1udWxsP3ZvaWQgMDpyLmdldENvbXB1dGVkVGltaW5nKT09bnVsbD92b2lkIDA6bi5jYWxsKHIpLmR1cmF0aW9uKXx8MDtyZXR1cm4gR3MoTnVtYmVyKHQpKX1nZXQgaXRlcmF0aW9uRHVyYXRpb24oKXtjb25zdHtkZWxheTp0PTB9PXRoaXMub3B0aW9uc3x8e307cmV0dXJuIHRoaXMuZHVyYXRpb24rR3ModCl9Z2V0IHRpbWUoKXtyZXR1cm4gR3MoTnVtYmVyKHRoaXMuYW5pbWF0aW9uLmN1cnJlbnRUaW1lKXx8MCl9c2V0IHRpbWUodCl7dGhpcy5tYW51YWxTdGFydFRpbWU9bnVsbCx0aGlzLmZpbmlzaGVkVGltZT1udWxsLHRoaXMuYW5pbWF0aW9uLmN1cnJlbnRUaW1lPXBpKHQpfWdldCBzcGVlZCgpe3JldHVybiB0aGlzLmFuaW1hdGlvbi5wbGF5YmFja1JhdGV9c2V0IHNwZWVkKHQpe3Q8MCYmKHRoaXMuZmluaXNoZWRUaW1lPW51bGwpLHRoaXMuYW5pbWF0aW9uLnBsYXliYWNrUmF0ZT10fWdldCBzdGF0ZSgpe3JldHVybiB0aGlzLmZpbmlzaGVkVGltZSE9PW51bGw/ImZpbmlzaGVkIjp0aGlzLmFuaW1hdGlvbi5wbGF5U3RhdGV9Z2V0IHN0YXJ0VGltZSgpe3JldHVybiB0aGlzLm1hbnVhbFN0YXJ0VGltZT8/TnVtYmVyKHRoaXMuYW5pbWF0aW9uLnN0YXJ0VGltZSl9c2V0IHN0YXJ0VGltZSh0KXt0aGlzLm1hbnVhbFN0YXJ0VGltZT10aGlzLmFuaW1hdGlvbi5zdGFydFRpbWU9dH1hdHRhY2hUaW1lbGluZSh7dGltZWxpbmU6dCxvYnNlcnZlOnJ9KXt2YXIgbjtyZXR1cm4gdGhpcy5hbGxvd0ZsYXR0ZW4mJigobj10aGlzLmFuaW1hdGlvbi5lZmZlY3QpPT1udWxsfHxuLnVwZGF0ZVRpbWluZyh7ZWFzaW5nOiJsaW5lYXIifSkpLHRoaXMuYW5pbWF0aW9uLm9uZmluaXNoPW51bGwsdCYmb3VlKCk/KHRoaXMuYW5pbWF0aW9uLnRpbWVsaW5lPXQsdGEpOnIodGhpcyl9fWNvbnN0IFE4PXthbnRpY2lwYXRlOmc4LGJhY2tJbk91dDpwOCxjaXJjSW5PdXQ6eTh9O2Z1bmN0aW9uIGZ1ZShlKXtyZXR1cm4gZSBpbiBROH1mdW5jdGlvbiBodWUoZSl7dHlwZW9mIGUuZWFzZT09InN0cmluZyImJmZ1ZShlLmVhc2UpJiYoZS5lYXNlPVE4W2UuZWFzZV0pfWNvbnN0IGVqPTEwO2NsYXNzIG11ZSBleHRlbmRzIEF1ZXtjb25zdHJ1Y3Rvcih0KXtodWUodCksTzgodCksc3VwZXIodCksdC5zdGFydFRpbWUhPT12b2lkIDAmJih0aGlzLnN0YXJ0VGltZT10LnN0YXJ0VGltZSksdGhpcy5vcHRpb25zPXR9dXBkYXRlTW90aW9uVmFsdWUodCl7Y29uc3R7bW90aW9uVmFsdWU6cixvblVwZGF0ZTpuLG9uQ29tcGxldGU6YSxlbGVtZW50OmksLi4ub309dGhpcy5vcHRpb25zO2lmKCFyKXJldHVybjtpZih0IT09dm9pZCAwKXtyLnNldCh0KTtyZXR1cm59Y29uc3QgbD1uZXcgTUUoey4uLm8sYXV0b3BsYXk6ITF9KSxjPU1hdGgubWF4KGVqLEtuLm5vdygpLXRoaXMuc3RhcnRUaW1lKSxkPWppKDAsZWosYy1laik7ci5zZXRXaXRoVmVsb2NpdHkobC5zYW1wbGUoTWF0aC5tYXgoMCxjLWQpKS52YWx1ZSxsLnNhbXBsZShjKS52YWx1ZSxkKSxsLnN0b3AoKX19Y29uc3QgaU89KGUsdCk9PnQ9PT0iekluZGV4Ij8hMTohISh0eXBlb2YgZT09Im51bWJlciJ8fEFycmF5LmlzQXJyYXkoZSl8fHR5cGVvZiBlPT0ic3RyaW5nIiYmKERsLnRlc3QoZSl8fGU9PT0iMCIpJiYhZS5zdGFydHNXaXRoKCJ1cmwoIikpO2Z1bmN0aW9uIHB1ZShlKXtjb25zdCB0PWVbMF07aWYoZS5sZW5ndGg9PT0xKXJldHVybiEwO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKWlmKGVbcl0hPT10KXJldHVybiEwfWZ1bmN0aW9uIGd1ZShlLHQscixuKXtjb25zdCBhPWVbMF07aWYoYT09PW51bGwpcmV0dXJuITE7aWYodD09PSJkaXNwbGF5Inx8dD09PSJ2aXNpYmlsaXR5IilyZXR1cm4hMDtjb25zdCBpPWVbZS5sZW5ndGgtMV0sbz1pTyhhLHQpLGw9aU8oaSx0KTtyZXR1cm4gU3cobz09PWwsYFlvdSBhcmUgdHJ5aW5nIHRvIGFuaW1hdGUgJHt0fSBmcm9tICIke2F9IiB0byAiJHtpfSIuICIke28/aTphfSIgaXMgbm90IGFuIGFuaW1hdGFibGUgdmFsdWUuYCwidmFsdWUtbm90LWFuaW1hdGFibGUiKSwhb3x8IWw/ITE6cHVlKGUpfHwocj09PSJzcHJpbmcifHxSOChyKSkmJm59ZnVuY3Rpb24gQV8oZSl7ZS5kdXJhdGlvbj0wLGUudHlwZT0ia2V5ZnJhbWVzIn1jb25zdCB4dWU9bmV3IFNldChbIm9wYWNpdHkiLCJjbGlwUGF0aCIsImZpbHRlciIsInRyYW5zZm9ybSJdKSx5dWU9QkUoKCk9Pk9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKEVsZW1lbnQucHJvdG90eXBlLCJhbmltYXRlIikpO2Z1bmN0aW9uIHZ1ZShlKXt2YXIgdTtjb25zdHttb3Rpb25WYWx1ZTp0LG5hbWU6cixyZXBlYXREZWxheTpuLHJlcGVhdFR5cGU6YSxkYW1waW5nOmksdHlwZTpvfT1lO2lmKCEoKCh1PXQ9PW51bGw/dm9pZCAwOnQub3duZXIpPT1udWxsP3ZvaWQgMDp1LmN1cnJlbnQpaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpcmV0dXJuITE7Y29uc3R7b25VcGRhdGU6Yyx0cmFuc2Zvcm1UZW1wbGF0ZTpkfT10Lm93bmVyLmdldFByb3BzKCk7cmV0dXJuIHl1ZSgpJiZyJiZ4dWUuaGFzKHIpJiYociE9PSJ0cmFuc2Zvcm0ifHwhZCkmJiFjJiYhbiYmYSE9PSJtaXJyb3IiJiZpIT09MCYmbyE9PSJpbmVydGlhIn1jb25zdCB3dWU9NDA7Y2xhc3MgYnVlIGV4dGVuZHMgREV7Y29uc3RydWN0b3Ioe2F1dG9wbGF5OnQ9ITAsZGVsYXk6cj0wLHR5cGU6bj0ia2V5ZnJhbWVzIixyZXBlYXQ6YT0wLHJlcGVhdERlbGF5Omk9MCxyZXBlYXRUeXBlOm89Imxvb3AiLGtleWZyYW1lczpsLG5hbWU6Yyxtb3Rpb25WYWx1ZTpkLGVsZW1lbnQ6dSwuLi5BfSl7dmFyIHA7c3VwZXIoKSx0aGlzLnN0b3A9KCk9Pnt2YXIgbSx4O3RoaXMuX2FuaW1hdGlvbiYmKHRoaXMuX2FuaW1hdGlvbi5zdG9wKCksKG09dGhpcy5zdG9wVGltZWxpbmUpPT1udWxsfHxtLmNhbGwodGhpcykpLCh4PXRoaXMua2V5ZnJhbWVSZXNvbHZlcik9PW51bGx8fHguY2FuY2VsKCl9LHRoaXMuY3JlYXRlZEF0PUtuLm5vdygpO2NvbnN0IGY9e2F1dG9wbGF5OnQsZGVsYXk6cix0eXBlOm4scmVwZWF0OmEscmVwZWF0RGVsYXk6aSxyZXBlYXRUeXBlOm8sbmFtZTpjLG1vdGlvblZhbHVlOmQsZWxlbWVudDp1LC4uLkF9LGg9KHU9PW51bGw/dm9pZCAwOnUuS2V5ZnJhbWVSZXNvbHZlcil8fFJFO3RoaXMua2V5ZnJhbWVSZXNvbHZlcj1uZXcgaChsLChtLHgsdyk9PnRoaXMub25LZXlmcmFtZXNSZXNvbHZlZChtLHgsZiwhdyksYyxkLHUpLChwPXRoaXMua2V5ZnJhbWVSZXNvbHZlcik9PW51bGx8fHAuc2NoZWR1bGVSZXNvbHZlKCl9b25LZXlmcmFtZXNSZXNvbHZlZCh0LHIsbixhKXt2YXIgeCx3O3RoaXMua2V5ZnJhbWVSZXNvbHZlcj12b2lkIDA7Y29uc3R7bmFtZTppLHR5cGU6byx2ZWxvY2l0eTpsLGRlbGF5OmMsaXNIYW5kb2ZmOmQsb25VcGRhdGU6dX09bjt0aGlzLnJlc29sdmVkQXQ9S24ubm93KCksZ3VlKHQsaSxvLGwpfHwoKHBvLmluc3RhbnRBbmltYXRpb25zfHwhYykmJih1PT1udWxsfHx1KFVFKHQsbixyKSkpLHRbMF09dFt0Lmxlbmd0aC0xXSxBXyhuKSxuLnJlcGVhdD0wKTtjb25zdCBmPXtzdGFydFRpbWU6YT90aGlzLnJlc29sdmVkQXQ/dGhpcy5yZXNvbHZlZEF0LXRoaXMuY3JlYXRlZEF0Pnd1ZT90aGlzLnJlc29sdmVkQXQ6dGhpcy5jcmVhdGVkQXQ6dGhpcy5jcmVhdGVkQXQ6dm9pZCAwLGZpbmFsS2V5ZnJhbWU6ciwuLi5uLGtleWZyYW1lczp0fSxoPSFkJiZ2dWUoZikscD0odz0oeD1mLm1vdGlvblZhbHVlKT09bnVsbD92b2lkIDA6eC5vd25lcik9PW51bGw/dm9pZCAwOncuY3VycmVudCxtPWg/bmV3IG11ZSh7Li4uZixlbGVtZW50OnB9KTpuZXcgTUUoZik7bS5maW5pc2hlZC50aGVuKCgpPT57dGhpcy5ub3RpZnlGaW5pc2hlZCgpfSkuY2F0Y2godGEpLHRoaXMucGVuZGluZ1RpbWVsaW5lJiYodGhpcy5zdG9wVGltZWxpbmU9bS5hdHRhY2hUaW1lbGluZSh0aGlzLnBlbmRpbmdUaW1lbGluZSksdGhpcy5wZW5kaW5nVGltZWxpbmU9dm9pZCAwKSx0aGlzLl9hbmltYXRpb249bX1nZXQgZmluaXNoZWQoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uP3RoaXMuYW5pbWF0aW9uLmZpbmlzaGVkOnRoaXMuX2ZpbmlzaGVkfXRoZW4odCxyKXtyZXR1cm4gdGhpcy5maW5pc2hlZC5maW5hbGx5KHQpLnRoZW4oKCk9Pnt9KX1nZXQgYW5pbWF0aW9uKCl7dmFyIHQ7cmV0dXJuIHRoaXMuX2FuaW1hdGlvbnx8KCh0PXRoaXMua2V5ZnJhbWVSZXNvbHZlcik9PW51bGx8fHQucmVzdW1lKCksc3VlKCkpLHRoaXMuX2FuaW1hdGlvbn1nZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy5hbmltYXRpb24uZHVyYXRpb259Z2V0IGl0ZXJhdGlvbkR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuYW5pbWF0aW9uLml0ZXJhdGlvbkR1cmF0aW9ufWdldCB0aW1lKCl7cmV0dXJuIHRoaXMuYW5pbWF0aW9uLnRpbWV9c2V0IHRpbWUodCl7dGhpcy5hbmltYXRpb24udGltZT10fWdldCBzcGVlZCgpe3JldHVybiB0aGlzLmFuaW1hdGlvbi5zcGVlZH1nZXQgc3RhdGUoKXtyZXR1cm4gdGhpcy5hbmltYXRpb24uc3RhdGV9c2V0IHNwZWVkKHQpe3RoaXMuYW5pbWF0aW9uLnNwZWVkPXR9Z2V0IHN0YXJ0VGltZSgpe3JldHVybiB0aGlzLmFuaW1hdGlvbi5zdGFydFRpbWV9YXR0YWNoVGltZWxpbmUodCl7cmV0dXJuIHRoaXMuX2FuaW1hdGlvbj90aGlzLnN0b3BUaW1lbGluZT10aGlzLmFuaW1hdGlvbi5hdHRhY2hUaW1lbGluZSh0KTp0aGlzLnBlbmRpbmdUaW1lbGluZT10LCgpPT50aGlzLnN0b3AoKX1wbGF5KCl7dGhpcy5hbmltYXRpb24ucGxheSgpfXBhdXNlKCl7dGhpcy5hbmltYXRpb24ucGF1c2UoKX1jb21wbGV0ZSgpe3RoaXMuYW5pbWF0aW9uLmNvbXBsZXRlKCl9Y2FuY2VsKCl7dmFyIHQ7dGhpcy5fYW5pbWF0aW9uJiZ0aGlzLmFuaW1hdGlvbi5jYW5jZWwoKSwodD10aGlzLmtleWZyYW1lUmVzb2x2ZXIpPT1udWxsfHx0LmNhbmNlbCgpfX1mdW5jdGlvbiBMOChlLHQscixuPTAsYT0xKXtjb25zdCBpPUFycmF5LmZyb20oZSkuc29ydCgoZCx1KT0+ZC5zb3J0Tm9kZVBvc2l0aW9uKHUpKS5pbmRleE9mKHQpLG89ZS5zaXplLGw9KG8tMSkqbjtyZXR1cm4gdHlwZW9mIHI9PSJmdW5jdGlvbiI/cihpLG8pOmE9PT0xP2kqbjpsLWkqbn1jb25zdCBqdWU9L152YXJcKC0tKD86KFtcdy1dKyl8KFtcdy1dKyksID8oW2EtekEtWlxkICgpJSMuLC1dKykpXCkvdTtmdW5jdGlvbiBOdWUoZSl7Y29uc3QgdD1qdWUuZXhlYyhlKTtpZighdClyZXR1cm5bLF07Y29uc3RbLHIsbixhXT10O3JldHVybltgLS0ke3I/P259YCxhXX1jb25zdCBDdWU9NDtmdW5jdGlvbiAkOChlLHQscj0xKXtvQShyPD1DdWUsYE1heCBDU1MgdmFyaWFibGUgZmFsbGJhY2sgZGVwdGggZGV0ZWN0ZWQgaW4gcHJvcGVydHkgIiR7ZX0iLiBUaGlzIG1heSBpbmRpY2F0ZSBhIGNpcmN1bGFyIGZhbGxiYWNrIGRlcGVuZGVuY3kuYCwibWF4LWNzcy12YXItZGVwdGgiKTtjb25zdFtuLGFdPU51ZShlKTtpZighbilyZXR1cm47Y29uc3QgaT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KS5nZXRQcm9wZXJ0eVZhbHVlKG4pO2lmKGkpe2NvbnN0IG89aS50cmltKCk7cmV0dXJuIGw4KG8pP3BhcnNlRmxvYXQobyk6b31yZXR1cm4gVEUoYSk/JDgoYSx0LHIrMSk6YX1jb25zdCBfdWU9e3R5cGU6InNwcmluZyIsc3RpZmZuZXNzOjUwMCxkYW1waW5nOjI1LHJlc3RTcGVlZDoxMH0sQnVlPWU9Pih7dHlwZToic3ByaW5nIixzdGlmZm5lc3M6NTUwLGRhbXBpbmc6ZT09PTA/MipNYXRoLnNxcnQoNTUwKTozMCxyZXN0U3BlZWQ6MTB9KSxTdWU9e3R5cGU6ImtleWZyYW1lcyIsZHVyYXRpb246Ljh9LEV1ZT17dHlwZToia2V5ZnJhbWVzIixlYXNlOlsuMjUsLjEsLjM1LDFdLGR1cmF0aW9uOi4zfSxrdWU9KGUse2tleWZyYW1lczp0fSk9PnQubGVuZ3RoPjI/U3VlOnNmLmhhcyhlKT9lLnN0YXJ0c1dpdGgoInNjYWxlIik/QnVlKHRbMV0pOl91ZTpFdWUsVHVlPWU9PmUhPT1udWxsO2Z1bmN0aW9uIFB1ZShlLHtyZXBlYXQ6dCxyZXBlYXRUeXBlOnI9Imxvb3AifSxuKXtjb25zdCBhPWUuZmlsdGVyKFR1ZSksaT10JiZyIT09Imxvb3AiJiZ0JTI9PT0xPzA6YS5sZW5ndGgtMTtyZXR1cm4haXx8bj09PXZvaWQgMD9hW2ldOm59ZnVuY3Rpb24gUUUoZSx0KXtyZXR1cm4oZT09bnVsbD92b2lkIDA6ZVt0XSk/PyhlPT1udWxsP3ZvaWQgMDplLmRlZmF1bHQpPz9lfWZ1bmN0aW9uIEZ1ZSh7d2hlbjplLGRlbGF5OnQsZGVsYXlDaGlsZHJlbjpyLHN0YWdnZXJDaGlsZHJlbjpuLHN0YWdnZXJEaXJlY3Rpb246YSxyZXBlYXQ6aSxyZXBlYXRUeXBlOm8scmVwZWF0RGVsYXk6bCxmcm9tOmMsZWxhcHNlZDpkLC4uLnV9KXtyZXR1cm4hIU9iamVjdC5rZXlzKHUpLmxlbmd0aH1jb25zdCBMRT0oZSx0LHIsbj17fSxhLGkpPT5vPT57Y29uc3QgbD1RRShuLGUpfHx7fSxjPWwuZGVsYXl8fG4uZGVsYXl8fDA7bGV0e2VsYXBzZWQ6ZD0wfT1uO2Q9ZC1waShjKTtjb25zdCB1PXtrZXlmcmFtZXM6QXJyYXkuaXNBcnJheShyKT9yOltudWxsLHJdLGVhc2U6ImVhc2VPdXQiLHZlbG9jaXR5OnQuZ2V0VmVsb2NpdHkoKSwuLi5sLGRlbGF5Oi1kLG9uVXBkYXRlOmY9Pnt0LnNldChmKSxsLm9uVXBkYXRlJiZsLm9uVXBkYXRlKGYpfSxvbkNvbXBsZXRlOigpPT57bygpLGwub25Db21wbGV0ZSYmbC5vbkNvbXBsZXRlKCl9LG5hbWU6ZSxtb3Rpb25WYWx1ZTp0LGVsZW1lbnQ6aT92b2lkIDA6YX07RnVlKGwpfHxPYmplY3QuYXNzaWduKHUsa3VlKGUsdSkpLHUuZHVyYXRpb24mJih1LmR1cmF0aW9uPXBpKHUuZHVyYXRpb24pKSx1LnJlcGVhdERlbGF5JiYodS5yZXBlYXREZWxheT1waSh1LnJlcGVhdERlbGF5KSksdS5mcm9tIT09dm9pZCAwJiYodS5rZXlmcmFtZXNbMF09dS5mcm9tKTtsZXQgQT0hMTtpZigodS50eXBlPT09ITF8fHUuZHVyYXRpb249PT0wJiYhdS5yZXBlYXREZWxheSkmJihBXyh1KSx1LmRlbGF5PT09MCYmKEE9ITApKSwocG8uaW5zdGFudEFuaW1hdGlvbnN8fHBvLnNraXBBbmltYXRpb25zKSYmKEE9ITAsQV8odSksdS5kZWxheT0wKSx1LmFsbG93RmxhdHRlbj0hbC50eXBlJiYhbC5lYXNlLEEmJiFpJiZ0LmdldCgpIT09dm9pZCAwKXtjb25zdCBmPVB1ZSh1LmtleWZyYW1lcyxsKTtpZihmIT09dm9pZCAwKXtuci51cGRhdGUoKCk9Pnt1Lm9uVXBkYXRlKGYpLHUub25Db21wbGV0ZSgpfSk7cmV0dXJufX1yZXR1cm4gbC5pc1N5bmM/bmV3IE1FKHUpOm5ldyBidWUodSl9O2Z1bmN0aW9uIG9PKGUpe2NvbnN0IHQ9W3t9LHt9XTtyZXR1cm4gZT09bnVsbHx8ZS52YWx1ZXMuZm9yRWFjaCgocixuKT0+e3RbMF1bbl09ci5nZXQoKSx0WzFdW25dPXIuZ2V0VmVsb2NpdHkoKX0pLHR9ZnVuY3Rpb24gJEUoZSx0LHIsbil7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpe2NvbnN0W2EsaV09b08obik7dD10KHIhPT12b2lkIDA/cjplLmN1c3RvbSxhLGkpfWlmKHR5cGVvZiB0PT0ic3RyaW5nIiYmKHQ9ZS52YXJpYW50cyYmZS52YXJpYW50c1t0XSksdHlwZW9mIHQ9PSJmdW5jdGlvbiIpe2NvbnN0W2EsaV09b08obik7dD10KHIhPT12b2lkIDA/cjplLmN1c3RvbSxhLGkpfXJldHVybiB0fWZ1bmN0aW9uIFR1KGUsdCxyKXtjb25zdCBuPWUuZ2V0UHJvcHMoKTtyZXR1cm4gJEUobix0LHIhPT12b2lkIDA/cjpuLmN1c3RvbSxlKX1jb25zdCBIOD1uZXcgU2V0KFsid2lkdGgiLCJoZWlnaHQiLCJ0b3AiLCJsZWZ0IiwicmlnaHQiLCJib3R0b20iLC4uLm5mXSksbE89MzAsT3VlPWU9PiFpc05hTihwYXJzZUZsb2F0KGUpKTtjbGFzcyBJdWV7Y29uc3RydWN0b3IodCxyPXt9KXt0aGlzLmNhblRyYWNrVmVsb2NpdHk9bnVsbCx0aGlzLmV2ZW50cz17fSx0aGlzLnVwZGF0ZUFuZE5vdGlmeT1uPT57dmFyIGk7Y29uc3QgYT1Lbi5ub3coKTtpZih0aGlzLnVwZGF0ZWRBdCE9PWEmJnRoaXMuc2V0UHJldkZyYW1lVmFsdWUoKSx0aGlzLnByZXY9dGhpcy5jdXJyZW50LHRoaXMuc2V0Q3VycmVudChuKSx0aGlzLmN1cnJlbnQhPT10aGlzLnByZXYmJigoaT10aGlzLmV2ZW50cy5jaGFuZ2UpPT1udWxsfHxpLm5vdGlmeSh0aGlzLmN1cnJlbnQpLHRoaXMuZGVwZW5kZW50cykpZm9yKGNvbnN0IG8gb2YgdGhpcy5kZXBlbmRlbnRzKW8uZGlydHkoKX0sdGhpcy5oYXNBbmltYXRlZD0hMSx0aGlzLnNldEN1cnJlbnQodCksdGhpcy5vd25lcj1yLm93bmVyfXNldEN1cnJlbnQodCl7dGhpcy5jdXJyZW50PXQsdGhpcy51cGRhdGVkQXQ9S24ubm93KCksdGhpcy5jYW5UcmFja1ZlbG9jaXR5PT09bnVsbCYmdCE9PXZvaWQgMCYmKHRoaXMuY2FuVHJhY2tWZWxvY2l0eT1PdWUodGhpcy5jdXJyZW50KSl9c2V0UHJldkZyYW1lVmFsdWUodD10aGlzLmN1cnJlbnQpe3RoaXMucHJldkZyYW1lVmFsdWU9dCx0aGlzLnByZXZVcGRhdGVkQXQ9dGhpcy51cGRhdGVkQXR9b25DaGFuZ2UodCl7cmV0dXJuIHRoaXMub24oImNoYW5nZSIsdCl9b24odCxyKXt0aGlzLmV2ZW50c1t0XXx8KHRoaXMuZXZlbnRzW3RdPW5ldyBTRSk7Y29uc3Qgbj10aGlzLmV2ZW50c1t0XS5hZGQocik7cmV0dXJuIHQ9PT0iY2hhbmdlIj8oKT0+e24oKSxuci5yZWFkKCgpPT57dGhpcy5ldmVudHMuY2hhbmdlLmdldFNpemUoKXx8dGhpcy5zdG9wKCl9KX06bn1jbGVhckxpc3RlbmVycygpe2Zvcihjb25zdCB0IGluIHRoaXMuZXZlbnRzKXRoaXMuZXZlbnRzW3RdLmNsZWFyKCl9YXR0YWNoKHQscil7dGhpcy5wYXNzaXZlRWZmZWN0PXQsdGhpcy5zdG9wUGFzc2l2ZUVmZmVjdD1yfXNldCh0KXt0aGlzLnBhc3NpdmVFZmZlY3Q/dGhpcy5wYXNzaXZlRWZmZWN0KHQsdGhpcy51cGRhdGVBbmROb3RpZnkpOnRoaXMudXBkYXRlQW5kTm90aWZ5KHQpfXNldFdpdGhWZWxvY2l0eSh0LHIsbil7dGhpcy5zZXQociksdGhpcy5wcmV2PXZvaWQgMCx0aGlzLnByZXZGcmFtZVZhbHVlPXQsdGhpcy5wcmV2VXBkYXRlZEF0PXRoaXMudXBkYXRlZEF0LW59anVtcCh0LHI9ITApe3RoaXMudXBkYXRlQW5kTm90aWZ5KHQpLHRoaXMucHJldj10LHRoaXMucHJldlVwZGF0ZWRBdD10aGlzLnByZXZGcmFtZVZhbHVlPXZvaWQgMCxyJiZ0aGlzLnN0b3AoKSx0aGlzLnN0b3BQYXNzaXZlRWZmZWN0JiZ0aGlzLnN0b3BQYXNzaXZlRWZmZWN0KCl9ZGlydHkoKXt2YXIgdDsodD10aGlzLmV2ZW50cy5jaGFuZ2UpPT1udWxsfHx0Lm5vdGlmeSh0aGlzLmN1cnJlbnQpfWFkZERlcGVuZGVudCh0KXt0aGlzLmRlcGVuZGVudHN8fCh0aGlzLmRlcGVuZGVudHM9bmV3IFNldCksdGhpcy5kZXBlbmRlbnRzLmFkZCh0KX1yZW1vdmVEZXBlbmRlbnQodCl7dGhpcy5kZXBlbmRlbnRzJiZ0aGlzLmRlcGVuZGVudHMuZGVsZXRlKHQpfWdldCgpe3JldHVybiB0aGlzLmN1cnJlbnR9Z2V0UHJldmlvdXMoKXtyZXR1cm4gdGhpcy5wcmV2fWdldFZlbG9jaXR5KCl7Y29uc3QgdD1Lbi5ub3coKTtpZighdGhpcy5jYW5UcmFja1ZlbG9jaXR5fHx0aGlzLnByZXZGcmFtZVZhbHVlPT09dm9pZCAwfHx0LXRoaXMudXBkYXRlZEF0PmxPKXJldHVybiAwO2NvbnN0IHI9TWF0aC5taW4odGhpcy51cGRhdGVkQXQtdGhpcy5wcmV2VXBkYXRlZEF0LGxPKTtyZXR1cm4gdTgocGFyc2VGbG9hdCh0aGlzLmN1cnJlbnQpLXBhcnNlRmxvYXQodGhpcy5wcmV2RnJhbWVWYWx1ZSkscil9c3RhcnQodCl7cmV0dXJuIHRoaXMuc3RvcCgpLG5ldyBQcm9taXNlKHI9Pnt0aGlzLmhhc0FuaW1hdGVkPSEwLHRoaXMuYW5pbWF0aW9uPXQociksdGhpcy5ldmVudHMuYW5pbWF0aW9uU3RhcnQmJnRoaXMuZXZlbnRzLmFuaW1hdGlvblN0YXJ0Lm5vdGlmeSgpfSkudGhlbigoKT0+e3RoaXMuZXZlbnRzLmFuaW1hdGlvbkNvbXBsZXRlJiZ0aGlzLmV2ZW50cy5hbmltYXRpb25Db21wbGV0ZS5ub3RpZnkoKSx0aGlzLmNsZWFyQW5pbWF0aW9uKCl9KX1zdG9wKCl7dGhpcy5hbmltYXRpb24mJih0aGlzLmFuaW1hdGlvbi5zdG9wKCksdGhpcy5ldmVudHMuYW5pbWF0aW9uQ2FuY2VsJiZ0aGlzLmV2ZW50cy5hbmltYXRpb25DYW5jZWwubm90aWZ5KCkpLHRoaXMuY2xlYXJBbmltYXRpb24oKX1pc0FuaW1hdGluZygpe3JldHVybiEhdGhpcy5hbmltYXRpb259Y2xlYXJBbmltYXRpb24oKXtkZWxldGUgdGhpcy5hbmltYXRpb259ZGVzdHJveSgpe3ZhciB0LHI7KHQ9dGhpcy5kZXBlbmRlbnRzKT09bnVsbHx8dC5jbGVhcigpLChyPXRoaXMuZXZlbnRzLmRlc3Ryb3kpPT1udWxsfHxyLm5vdGlmeSgpLHRoaXMuY2xlYXJMaXN0ZW5lcnMoKSx0aGlzLnN0b3AoKSx0aGlzLnN0b3BQYXNzaXZlRWZmZWN0JiZ0aGlzLnN0b3BQYXNzaXZlRWZmZWN0KCl9fWZ1bmN0aW9uIGxBKGUsdCl7cmV0dXJuIG5ldyBJdWUoZSx0KX1jb25zdCBmXz1lPT5BcnJheS5pc0FycmF5KGUpO2Z1bmN0aW9uIFV1ZShlLHQscil7ZS5oYXNWYWx1ZSh0KT9lLmdldFZhbHVlKHQpLnNldChyKTplLmFkZFZhbHVlKHQsbEEocikpfWZ1bmN0aW9uIER1ZShlKXtyZXR1cm4gZl8oZSk/ZVtlLmxlbmd0aC0xXXx8MDplfWZ1bmN0aW9uIE11ZShlLHQpe2NvbnN0IHI9VHUoZSx0KTtsZXR7dHJhbnNpdGlvbkVuZDpuPXt9LHRyYW5zaXRpb246YT17fSwuLi5pfT1yfHx7fTtpPXsuLi5pLC4uLm59O2Zvcihjb25zdCBvIGluIGkpe2NvbnN0IGw9RHVlKGlbb10pO1V1ZShlLG8sbCl9fWNvbnN0IEluPWU9PiEhKGUmJmUuZ2V0VmVsb2NpdHkpO2Z1bmN0aW9uIFJ1ZShlKXtyZXR1cm4hIShJbihlKSYmZS5hZGQpfWZ1bmN0aW9uIGhfKGUsdCl7Y29uc3Qgcj1lLmdldFZhbHVlKCJ3aWxsQ2hhbmdlIik7aWYoUnVlKHIpKXJldHVybiByLmFkZCh0KTtpZighciYmcG8uV2lsbENoYW5nZSl7Y29uc3Qgbj1uZXcgcG8uV2lsbENoYW5nZSgiYXV0byIpO2UuYWRkVmFsdWUoIndpbGxDaGFuZ2UiLG4pLG4uYWRkKHQpfX1mdW5jdGlvbiBIRShlKXtyZXR1cm4gZS5yZXBsYWNlKC8oW0EtWl0pL2csdD0+YC0ke3QudG9Mb3dlckNhc2UoKX1gKX1jb25zdCBRdWU9ImZyYW1lckFwcGVhcklkIixLOD0iZGF0YS0iK0hFKFF1ZSk7ZnVuY3Rpb24gVjgoZSl7cmV0dXJuIGUucHJvcHNbSzhdfWZ1bmN0aW9uIEx1ZSh7cHJvdGVjdGVkS2V5czplLG5lZWRzQW5pbWF0aW5nOnR9LHIpe2NvbnN0IG49ZS5oYXNPd25Qcm9wZXJ0eShyKSYmdFtyXSE9PSEwO3JldHVybiB0W3JdPSExLG59ZnVuY3Rpb24gejgoZSx0LHtkZWxheTpyPTAsdHJhbnNpdGlvbk92ZXJyaWRlOm4sdHlwZTphfT17fSl7bGV0e3RyYW5zaXRpb246aT1lLmdldERlZmF1bHRUcmFuc2l0aW9uKCksdHJhbnNpdGlvbkVuZDpvLC4uLmx9PXQ7biYmKGk9bik7Y29uc3QgYz1bXSxkPWEmJmUuYW5pbWF0aW9uU3RhdGUmJmUuYW5pbWF0aW9uU3RhdGUuZ2V0U3RhdGUoKVthXTtmb3IoY29uc3QgdSBpbiBsKXtjb25zdCBBPWUuZ2V0VmFsdWUodSxlLmxhdGVzdFZhbHVlc1t1XT8/bnVsbCksZj1sW3VdO2lmKGY9PT12b2lkIDB8fGQmJkx1ZShkLHUpKWNvbnRpbnVlO2NvbnN0IGg9e2RlbGF5OnIsLi4uUUUoaXx8e30sdSl9LHA9QS5nZXQoKTtpZihwIT09dm9pZCAwJiYhQS5pc0FuaW1hdGluZyYmIUFycmF5LmlzQXJyYXkoZikmJmY9PT1wJiYhaC52ZWxvY2l0eSljb250aW51ZTtsZXQgbT0hMTtpZih3aW5kb3cuTW90aW9uSGFuZG9mZkFuaW1hdGlvbil7Y29uc3Qgdz1WOChlKTtpZih3KXtjb25zdCB5PXdpbmRvdy5Nb3Rpb25IYW5kb2ZmQW5pbWF0aW9uKHcsdSxucik7eSE9PW51bGwmJihoLnN0YXJ0VGltZT15LG09ITApfX1oXyhlLHUpLEEuc3RhcnQoTEUodSxBLGYsZS5zaG91bGRSZWR1Y2VNb3Rpb24mJkg4Lmhhcyh1KT97dHlwZTohMX06aCxlLG0pKTtjb25zdCB4PUEuYW5pbWF0aW9uO3gmJmMucHVzaCh4KX1yZXR1cm4gbyYmUHJvbWlzZS5hbGwoYykudGhlbigoKT0+e25yLnVwZGF0ZSgoKT0+e28mJk11ZShlLG8pfSl9KSxjfWZ1bmN0aW9uIG1fKGUsdCxyPXt9KXt2YXIgYztjb25zdCBuPVR1KGUsdCxyLnR5cGU9PT0iZXhpdCI/KGM9ZS5wcmVzZW5jZUNvbnRleHQpPT1udWxsP3ZvaWQgMDpjLmN1c3RvbTp2b2lkIDApO2xldHt0cmFuc2l0aW9uOmE9ZS5nZXREZWZhdWx0VHJhbnNpdGlvbigpfHx7fX09bnx8e307ci50cmFuc2l0aW9uT3ZlcnJpZGUmJihhPXIudHJhbnNpdGlvbk92ZXJyaWRlKTtjb25zdCBpPW4/KCk9PlByb21pc2UuYWxsKHo4KGUsbixyKSk6KCk9PlByb21pc2UucmVzb2x2ZSgpLG89ZS52YXJpYW50Q2hpbGRyZW4mJmUudmFyaWFudENoaWxkcmVuLnNpemU/KGQ9MCk9Pntjb25zdHtkZWxheUNoaWxkcmVuOnU9MCxzdGFnZ2VyQ2hpbGRyZW46QSxzdGFnZ2VyRGlyZWN0aW9uOmZ9PWE7cmV0dXJuICR1ZShlLHQsZCx1LEEsZixyKX06KCk9PlByb21pc2UucmVzb2x2ZSgpLHt3aGVuOmx9PWE7aWYobCl7Y29uc3RbZCx1XT1sPT09ImJlZm9yZUNoaWxkcmVuIj9baSxvXTpbbyxpXTtyZXR1cm4gZCgpLnRoZW4oKCk9PnUoKSl9ZWxzZSByZXR1cm4gUHJvbWlzZS5hbGwoW2koKSxvKHIuZGVsYXkpXSl9ZnVuY3Rpb24gJHVlKGUsdCxyPTAsbj0wLGE9MCxpPTEsbyl7Y29uc3QgbD1bXTtmb3IoY29uc3QgYyBvZiBlLnZhcmlhbnRDaGlsZHJlbiljLm5vdGlmeSgiQW5pbWF0aW9uU3RhcnQiLHQpLGwucHVzaChtXyhjLHQsey4uLm8sZGVsYXk6cisodHlwZW9mIG49PSJmdW5jdGlvbiI/MDpuKStMOChlLnZhcmlhbnRDaGlsZHJlbixjLG4sYSxpKX0pLnRoZW4oKCk9PmMubm90aWZ5KCJBbmltYXRpb25Db21wbGV0ZSIsdCkpKTtyZXR1cm4gUHJvbWlzZS5hbGwobCl9ZnVuY3Rpb24gSHVlKGUsdCxyPXt9KXtlLm5vdGlmeSgiQW5pbWF0aW9uU3RhcnQiLHQpO2xldCBuO2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IGE9dC5tYXAoaT0+bV8oZSxpLHIpKTtuPVByb21pc2UuYWxsKGEpfWVsc2UgaWYodHlwZW9mIHQ9PSJzdHJpbmciKW49bV8oZSx0LHIpO2Vsc2V7Y29uc3QgYT10eXBlb2YgdD09ImZ1bmN0aW9uIj9UdShlLHQsci5jdXN0b20pOnQ7bj1Qcm9taXNlLmFsbCh6OChlLGEscikpfXJldHVybiBuLnRoZW4oKCk9PntlLm5vdGlmeSgiQW5pbWF0aW9uQ29tcGxldGUiLHQpfSl9Y29uc3QgS3VlPXt0ZXN0OmU9PmU9PT0iYXV0byIscGFyc2U6ZT0+ZX0sVzg9ZT0+dD0+dC50ZXN0KGUpLEc4PVtyZixPZSxnaSxEbyxwZGUsbWRlLEt1ZV0sY089ZT0+RzguZmluZChXOChlKSk7ZnVuY3Rpb24gVnVlKGUpe3JldHVybiB0eXBlb2YgZT09Im51bWJlciI/ZT09PTA6ZSE9PW51bGw/ZT09PSJub25lInx8ZT09PSIwInx8ZDgoZSk6ITB9Y29uc3QgenVlPW5ldyBTZXQoWyJicmlnaHRuZXNzIiwiY29udHJhc3QiLCJzYXR1cmF0ZSIsIm9wYWNpdHkiXSk7ZnVuY3Rpb24gV3VlKGUpe2NvbnN0W3Qscl09ZS5zbGljZSgwLC0xKS5zcGxpdCgiKCIpO2lmKHQ9PT0iZHJvcC1zaGFkb3ciKXJldHVybiBlO2NvbnN0W25dPXIubWF0Y2goUEUpfHxbXTtpZighbilyZXR1cm4gZTtjb25zdCBhPXIucmVwbGFjZShuLCIiKTtsZXQgaT16dWUuaGFzKHQpPzE6MDtyZXR1cm4gbiE9PXImJihpKj0xMDApLHQrIigiK2krYSsiKSJ9Y29uc3QgR3VlPS9cYihbYS16LV0qKVwoLio/XCkvZ3UscF89ey4uLkRsLGdldEFuaW1hdGFibGVOb25lOmU9Pntjb25zdCB0PWUubWF0Y2goR3VlKTtyZXR1cm4gdD90Lm1hcChXdWUpLmpvaW4oIiAiKTplfX0sZE89ey4uLnJmLHRyYW5zZm9ybTpNYXRoLnJvdW5kfSxxdWU9e3JvdGF0ZTpEbyxyb3RhdGVYOkRvLHJvdGF0ZVk6RG8scm90YXRlWjpEbyxzY2FsZTpaZyxzY2FsZVg6Wmcsc2NhbGVZOlpnLHNjYWxlWjpaZyxza2V3OkRvLHNrZXdYOkRvLHNrZXdZOkRvLGRpc3RhbmNlOk9lLHRyYW5zbGF0ZVg6T2UsdHJhbnNsYXRlWTpPZSx0cmFuc2xhdGVaOk9lLHg6T2UseTpPZSx6Ok9lLHBlcnNwZWN0aXZlOk9lLHRyYW5zZm9ybVBlcnNwZWN0aXZlOk9lLG9wYWNpdHk6Qm0sb3JpZ2luWDpZRixvcmlnaW5ZOllGLG9yaWdpblo6T2V9LEtFPXtib3JkZXJXaWR0aDpPZSxib3JkZXJUb3BXaWR0aDpPZSxib3JkZXJSaWdodFdpZHRoOk9lLGJvcmRlckJvdHRvbVdpZHRoOk9lLGJvcmRlckxlZnRXaWR0aDpPZSxib3JkZXJSYWRpdXM6T2UscmFkaXVzOk9lLGJvcmRlclRvcExlZnRSYWRpdXM6T2UsYm9yZGVyVG9wUmlnaHRSYWRpdXM6T2UsYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6T2UsYm9yZGVyQm90dG9tTGVmdFJhZGl1czpPZSx3aWR0aDpPZSxtYXhXaWR0aDpPZSxoZWlnaHQ6T2UsbWF4SGVpZ2h0Ok9lLHRvcDpPZSxyaWdodDpPZSxib3R0b206T2UsbGVmdDpPZSxpbnNldDpPZSxpbnNldEJsb2NrOk9lLGluc2V0QmxvY2tTdGFydDpPZSxpbnNldEJsb2NrRW5kOk9lLGluc2V0SW5saW5lOk9lLGluc2V0SW5saW5lU3RhcnQ6T2UsaW5zZXRJbmxpbmVFbmQ6T2UscGFkZGluZzpPZSxwYWRkaW5nVG9wOk9lLHBhZGRpbmdSaWdodDpPZSxwYWRkaW5nQm90dG9tOk9lLHBhZGRpbmdMZWZ0Ok9lLHBhZGRpbmdCbG9jazpPZSxwYWRkaW5nQmxvY2tTdGFydDpPZSxwYWRkaW5nQmxvY2tFbmQ6T2UscGFkZGluZ0lubGluZTpPZSxwYWRkaW5nSW5saW5lU3RhcnQ6T2UscGFkZGluZ0lubGluZUVuZDpPZSxtYXJnaW46T2UsbWFyZ2luVG9wOk9lLG1hcmdpblJpZ2h0Ok9lLG1hcmdpbkJvdHRvbTpPZSxtYXJnaW5MZWZ0Ok9lLG1hcmdpbkJsb2NrOk9lLG1hcmdpbkJsb2NrU3RhcnQ6T2UsbWFyZ2luQmxvY2tFbmQ6T2UsbWFyZ2luSW5saW5lOk9lLG1hcmdpbklubGluZVN0YXJ0Ok9lLG1hcmdpbklubGluZUVuZDpPZSxiYWNrZ3JvdW5kUG9zaXRpb25YOk9lLGJhY2tncm91bmRQb3NpdGlvblk6T2UsLi4ucXVlLHpJbmRleDpkTyxmaWxsT3BhY2l0eTpCbSxzdHJva2VPcGFjaXR5OkJtLG51bU9jdGF2ZXM6ZE99LFl1ZT17Li4uS0UsY29sb3I6a3IsYmFja2dyb3VuZENvbG9yOmtyLG91dGxpbmVDb2xvcjprcixmaWxsOmtyLHN0cm9rZTprcixib3JkZXJDb2xvcjprcixib3JkZXJUb3BDb2xvcjprcixib3JkZXJSaWdodENvbG9yOmtyLGJvcmRlckJvdHRvbUNvbG9yOmtyLGJvcmRlckxlZnRDb2xvcjprcixmaWx0ZXI6cF8sV2Via2l0RmlsdGVyOnBffSxxOD1lPT5ZdWVbZV07ZnVuY3Rpb24gWTgoZSx0KXtsZXQgcj1xOChlKTtyZXR1cm4gciE9PXBfJiYocj1EbCksci5nZXRBbmltYXRhYmxlTm9uZT9yLmdldEFuaW1hdGFibGVOb25lKHQpOnZvaWQgMH1jb25zdCBYdWU9bmV3IFNldChbImF1dG8iLCJub25lIiwiMCJdKTtmdW5jdGlvbiBKdWUoZSx0LHIpe2xldCBuPTAsYTtmb3IoO248ZS5sZW5ndGgmJiFhOyl7Y29uc3QgaT1lW25dO3R5cGVvZiBpPT0ic3RyaW5nIiYmIVh1ZS5oYXMoaSkmJlNtKGkpLnZhbHVlcy5sZW5ndGgmJihhPWVbbl0pLG4rK31pZihhJiZyKWZvcihjb25zdCBpIG9mIHQpZVtpXT1ZOChyLGEpfWNsYXNzIFp1ZSBleHRlbmRzIFJFe2NvbnN0cnVjdG9yKHQscixuLGEsaSl7c3VwZXIodCxyLG4sYSxpLCEwKX1yZWFkS2V5ZnJhbWVzKCl7Y29uc3R7dW5yZXNvbHZlZEtleWZyYW1lczp0LGVsZW1lbnQ6cixuYW1lOm59PXRoaXM7aWYoIXJ8fCFyLmN1cnJlbnQpcmV0dXJuO3N1cGVyLnJlYWRLZXlmcmFtZXMoKTtmb3IobGV0IHU9MDt1PHQubGVuZ3RoO3UrKyl7bGV0IEE9dFt1XTtpZih0eXBlb2YgQT09InN0cmluZyImJihBPUEudHJpbSgpLFRFKEEpKSl7Y29uc3QgZj0kOChBLHIuY3VycmVudCk7ZiE9PXZvaWQgMCYmKHRbdV09ZiksdT09PXQubGVuZ3RoLTEmJih0aGlzLmZpbmFsS2V5ZnJhbWU9QSl9fWlmKHRoaXMucmVzb2x2ZU5vbmVLZXlmcmFtZXMoKSwhSDguaGFzKG4pfHx0Lmxlbmd0aCE9PTIpcmV0dXJuO2NvbnN0W2EsaV09dCxvPWNPKGEpLGw9Y08oaSksYz1xRihhKSxkPXFGKGkpO2lmKGMhPT1kJiZhbFtuXSl7dGhpcy5uZWVkc01lYXN1cmVtZW50PSEwO3JldHVybn1pZihvIT09bClpZihzTyhvKSYmc08obCkpZm9yKGxldCB1PTA7dTx0Lmxlbmd0aDt1Kyspe2NvbnN0IEE9dFt1XTt0eXBlb2YgQT09InN0cmluZyImJih0W3VdPXBhcnNlRmxvYXQoQSkpfWVsc2UgYWxbbl0mJih0aGlzLm5lZWRzTWVhc3VyZW1lbnQ9ITApfXJlc29sdmVOb25lS2V5ZnJhbWVzKCl7Y29uc3R7dW5yZXNvbHZlZEtleWZyYW1lczp0LG5hbWU6cn09dGhpcyxuPVtdO2ZvcihsZXQgYT0wO2E8dC5sZW5ndGg7YSsrKSh0W2FdPT09bnVsbHx8VnVlKHRbYV0pKSYmbi5wdXNoKGEpO24ubGVuZ3RoJiZKdWUodCxuLHIpfW1lYXN1cmVJbml0aWFsU3RhdGUoKXtjb25zdHtlbGVtZW50OnQsdW5yZXNvbHZlZEtleWZyYW1lczpyLG5hbWU6bn09dGhpcztpZighdHx8IXQuY3VycmVudClyZXR1cm47bj09PSJoZWlnaHQiJiYodGhpcy5zdXNwZW5kZWRTY3JvbGxZPXdpbmRvdy5wYWdlWU9mZnNldCksdGhpcy5tZWFzdXJlZE9yaWdpbj1hbFtuXSh0Lm1lYXN1cmVWaWV3cG9ydEJveCgpLHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQuY3VycmVudCkpLHJbMF09dGhpcy5tZWFzdXJlZE9yaWdpbjtjb25zdCBhPXJbci5sZW5ndGgtMV07YSE9PXZvaWQgMCYmdC5nZXRWYWx1ZShuLGEpLmp1bXAoYSwhMSl9bWVhc3VyZUVuZFN0YXRlKCl7dmFyIGw7Y29uc3R7ZWxlbWVudDp0LG5hbWU6cix1bnJlc29sdmVkS2V5ZnJhbWVzOm59PXRoaXM7aWYoIXR8fCF0LmN1cnJlbnQpcmV0dXJuO2NvbnN0IGE9dC5nZXRWYWx1ZShyKTthJiZhLmp1bXAodGhpcy5tZWFzdXJlZE9yaWdpbiwhMSk7Y29uc3QgaT1uLmxlbmd0aC0xLG89bltpXTtuW2ldPWFsW3JdKHQubWVhc3VyZVZpZXdwb3J0Qm94KCksd2luZG93LmdldENvbXB1dGVkU3R5bGUodC5jdXJyZW50KSksbyE9PW51bGwmJnRoaXMuZmluYWxLZXlmcmFtZT09PXZvaWQgMCYmKHRoaXMuZmluYWxLZXlmcmFtZT1vKSwobD10aGlzLnJlbW92ZWRUcmFuc2Zvcm1zKSE9bnVsbCYmbC5sZW5ndGgmJnRoaXMucmVtb3ZlZFRyYW5zZm9ybXMuZm9yRWFjaCgoW2MsZF0pPT57dC5nZXRWYWx1ZShjKS5zZXQoZCl9KSx0aGlzLnJlc29sdmVOb25lS2V5ZnJhbWVzKCl9fWZ1bmN0aW9uIGVBZShlLHQscil7aWYoZT09bnVsbClyZXR1cm5bXTtpZihlIGluc3RhbmNlb2YgRXZlbnRUYXJnZXQpcmV0dXJuW2VdO2lmKHR5cGVvZiBlPT0ic3RyaW5nIil7Y29uc3QgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGUpO3JldHVybiBhP0FycmF5LmZyb20oYSk6W119cmV0dXJuIEFycmF5LmZyb20oZSkuZmlsdGVyKG49Pm4hPW51bGwpfWNvbnN0IFg4PShlLHQpPT50JiZ0eXBlb2YgZT09Im51bWJlciI/dC50cmFuc2Zvcm0oZSk6ZTtmdW5jdGlvbiBnXyhlKXtyZXR1cm4gYzgoZSkmJiJvZmZzZXRIZWlnaHQiaW4gZX1jb25zdHtzY2hlZHVsZTpWRSxjYW5jZWw6TEdlfT1iOChxdWV1ZU1pY3JvdGFzaywhMSksYmE9e3g6ITEseTohMX07ZnVuY3Rpb24gSjgoKXtyZXR1cm4gYmEueHx8YmEueX1mdW5jdGlvbiB0QWUoZSl7cmV0dXJuIGU9PT0ieCJ8fGU9PT0ieSI/YmFbZV0/bnVsbDooYmFbZV09ITAsKCk9PntiYVtlXT0hMX0pOmJhLnh8fGJhLnk/bnVsbDooYmEueD1iYS55PSEwLCgpPT57YmEueD1iYS55PSExfSl9ZnVuY3Rpb24gWjgoZSx0KXtjb25zdCByPWVBZShlKSxuPW5ldyBBYm9ydENvbnRyb2xsZXIsYT17cGFzc2l2ZTohMCwuLi50LHNpZ25hbDpuLnNpZ25hbH07cmV0dXJuW3IsYSwoKT0+bi5hYm9ydCgpXX1mdW5jdGlvbiB1TyhlKXtyZXR1cm4hKGUucG9pbnRlclR5cGU9PT0idG91Y2gifHxKOCgpKX1mdW5jdGlvbiByQWUoZSx0LHI9e30pe2NvbnN0W24sYSxpXT1aOChlLHIpLG89bD0+e2lmKCF1TyhsKSlyZXR1cm47Y29uc3R7dGFyZ2V0OmN9PWwsZD10KGMsbCk7aWYodHlwZW9mIGQhPSJmdW5jdGlvbiJ8fCFjKXJldHVybjtjb25zdCB1PUE9Pnt1TyhBKSYmKGQoQSksYy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybGVhdmUiLHUpKX07Yy5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybGVhdmUiLHUsYSl9O3JldHVybiBuLmZvckVhY2gobD0+e2wuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmVudGVyIixvLGEpfSksaX1jb25zdCBlSz0oZSx0KT0+dD9lPT09dD8hMDplSyhlLHQucGFyZW50RWxlbWVudCk6ITEsekU9ZT0+ZS5wb2ludGVyVHlwZT09PSJtb3VzZSI/dHlwZW9mIGUuYnV0dG9uIT0ibnVtYmVyInx8ZS5idXR0b248PTA6ZS5pc1ByaW1hcnkhPT0hMSxuQWU9bmV3IFNldChbIkJVVFRPTiIsIklOUFVUIiwiU0VMRUNUIiwiVEVYVEFSRUEiLCJBIl0pO2Z1bmN0aW9uIHRLKGUpe3JldHVybiBuQWUuaGFzKGUudGFnTmFtZSl8fGUuaXNDb250ZW50RWRpdGFibGU9PT0hMH1jb25zdCBjMD1uZXcgV2Vha1NldDtmdW5jdGlvbiBBTyhlKXtyZXR1cm4gdD0+e3Qua2V5PT09IkVudGVyIiYmZSh0KX19ZnVuY3Rpb24gdGooZSx0KXtlLmRpc3BhdGNoRXZlbnQobmV3IFBvaW50ZXJFdmVudCgicG9pbnRlciIrdCx7aXNQcmltYXJ5OiEwLGJ1YmJsZXM6ITB9KSl9Y29uc3Qgc0FlPShlLHQpPT57Y29uc3Qgcj1lLmN1cnJlbnRUYXJnZXQ7aWYoIXIpcmV0dXJuO2NvbnN0IG49QU8oKCk9PntpZihjMC5oYXMocikpcmV0dXJuO3RqKHIsImRvd24iKTtjb25zdCBhPUFPKCgpPT57dGoociwidXAiKX0pLGk9KCk9PnRqKHIsImNhbmNlbCIpO3IuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLGEsdCksci5hZGRFdmVudExpc3RlbmVyKCJibHVyIixpLHQpfSk7ci5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixuLHQpLHIuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnIucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbiksdCl9O2Z1bmN0aW9uIGZPKGUpe3JldHVybiB6RShlKSYmIUo4KCl9ZnVuY3Rpb24gYUFlKGUsdCxyPXt9KXtjb25zdFtuLGEsaV09WjgoZSxyKSxvPWw9Pntjb25zdCBjPWwuY3VycmVudFRhcmdldDtpZighZk8obCkpcmV0dXJuO2MwLmFkZChjKTtjb25zdCBkPXQoYyxsKSx1PShoLHApPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsQSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLGYpLGMwLmhhcyhjKSYmYzAuZGVsZXRlKGMpLGZPKGgpJiZ0eXBlb2YgZD09ImZ1bmN0aW9uIiYmZChoLHtzdWNjZXNzOnB9KX0sQT1oPT57dShoLGM9PT13aW5kb3d8fGM9PT1kb2N1bWVudHx8ci51c2VHbG9iYWxUYXJnZXR8fGVLKGMsaC50YXJnZXQpKX0sZj1oPT57dShoLCExKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsQSxhKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsZixhKX07cmV0dXJuIG4uZm9yRWFjaChsPT57KHIudXNlR2xvYmFsVGFyZ2V0P3dpbmRvdzpsKS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsbyxhKSxnXyhsKSYmKGwuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGQ9PnNBZShkLGEpKSwhdEsobCkmJiFsLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKSYmKGwudGFiSW5kZXg9MCkpfSksaX1mdW5jdGlvbiBySyhlKXtyZXR1cm4gYzgoZSkmJiJvd25lclNWR0VsZW1lbnQiaW4gZX1mdW5jdGlvbiBpQWUoZSl7cmV0dXJuIHJLKGUpJiZlLnRhZ05hbWU9PT0ic3ZnIn1jb25zdCBvQWU9Wy4uLkc4LGtyLERsXSxsQWU9ZT0+b0FlLmZpbmQoVzgoZSkpLGhPPSgpPT4oe3RyYW5zbGF0ZTowLHNjYWxlOjEsb3JpZ2luOjAsb3JpZ2luUG9pbnQ6MH0pLGZ1PSgpPT4oe3g6aE8oKSx5OmhPKCl9KSxtTz0oKT0+KHttaW46MCxtYXg6MH0pLExyPSgpPT4oe3g6bU8oKSx5Om1PKCl9KSx4Xz17Y3VycmVudDpudWxsfSxuSz17Y3VycmVudDohMX0sY0FlPXR5cGVvZiB3aW5kb3c8InUiO2Z1bmN0aW9uIGRBZSgpe2lmKG5LLmN1cnJlbnQ9ITAsISFjQWUpaWYod2luZG93Lm1hdGNoTWVkaWEpe2NvbnN0IGU9d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSIpLHQ9KCk9PnhfLmN1cnJlbnQ9ZS5tYXRjaGVzO2UuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0KSx0KCl9ZWxzZSB4Xy5jdXJyZW50PSExfWNvbnN0IHVBZT1uZXcgV2Vha01hcDtmdW5jdGlvbiBFdyhlKXtyZXR1cm4gZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0IiYmdHlwZW9mIGUuc3RhcnQ9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gRW0oZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nInx8QXJyYXkuaXNBcnJheShlKX1jb25zdCBXRT1bImFuaW1hdGUiLCJ3aGlsZUluVmlldyIsIndoaWxlRm9jdXMiLCJ3aGlsZUhvdmVyIiwid2hpbGVUYXAiLCJ3aGlsZURyYWciLCJleGl0Il0sR0U9WyJpbml0aWFsIiwuLi5XRV07ZnVuY3Rpb24ga3coZSl7cmV0dXJuIEV3KGUuYW5pbWF0ZSl8fEdFLnNvbWUodD0+RW0oZVt0XSkpfWZ1bmN0aW9uIHNLKGUpe3JldHVybiEhKGt3KGUpfHxlLnZhcmlhbnRzKX1mdW5jdGlvbiBBQWUoZSx0LHIpe2Zvcihjb25zdCBuIGluIHQpe2NvbnN0IGE9dFtuXSxpPXJbbl07aWYoSW4oYSkpZS5hZGRWYWx1ZShuLGEpO2Vsc2UgaWYoSW4oaSkpZS5hZGRWYWx1ZShuLGxBKGEse293bmVyOmV9KSk7ZWxzZSBpZihpIT09YSlpZihlLmhhc1ZhbHVlKG4pKXtjb25zdCBvPWUuZ2V0VmFsdWUobik7by5saXZlU3R5bGU9PT0hMD9vLmp1bXAoYSk6by5oYXNBbmltYXRlZHx8by5zZXQoYSl9ZWxzZXtjb25zdCBvPWUuZ2V0U3RhdGljVmFsdWUobik7ZS5hZGRWYWx1ZShuLGxBKG8hPT12b2lkIDA/bzphLHtvd25lcjplfSkpfX1mb3IoY29uc3QgbiBpbiByKXRbbl09PT12b2lkIDAmJmUucmVtb3ZlVmFsdWUobik7cmV0dXJuIHR9Y29uc3QgcE89WyJBbmltYXRpb25TdGFydCIsIkFuaW1hdGlvbkNvbXBsZXRlIiwiVXBkYXRlIiwiQmVmb3JlTGF5b3V0TWVhc3VyZSIsIkxheW91dE1lYXN1cmUiLCJMYXlvdXRBbmltYXRpb25TdGFydCIsIkxheW91dEFuaW1hdGlvbkNvbXBsZXRlIl07bGV0IGx5PXt9O2Z1bmN0aW9uIGFLKGUpe2x5PWV9ZnVuY3Rpb24gZkFlKCl7cmV0dXJuIGx5fWNsYXNzIGhBZXtzY3JhcGVNb3Rpb25WYWx1ZXNGcm9tUHJvcHModCxyLG4pe3JldHVybnt9fWNvbnN0cnVjdG9yKHtwYXJlbnQ6dCxwcm9wczpyLHByZXNlbmNlQ29udGV4dDpuLHJlZHVjZWRNb3Rpb25Db25maWc6YSxibG9ja0luaXRpYWxBbmltYXRpb246aSx2aXN1YWxTdGF0ZTpvfSxsPXt9KXt0aGlzLmN1cnJlbnQ9bnVsbCx0aGlzLmNoaWxkcmVuPW5ldyBTZXQsdGhpcy5pc1ZhcmlhbnROb2RlPSExLHRoaXMuaXNDb250cm9sbGluZ1ZhcmlhbnRzPSExLHRoaXMuc2hvdWxkUmVkdWNlTW90aW9uPW51bGwsdGhpcy52YWx1ZXM9bmV3IE1hcCx0aGlzLktleWZyYW1lUmVzb2x2ZXI9UkUsdGhpcy5mZWF0dXJlcz17fSx0aGlzLnZhbHVlU3Vic2NyaXB0aW9ucz1uZXcgTWFwLHRoaXMucHJldk1vdGlvblZhbHVlcz17fSx0aGlzLmV2ZW50cz17fSx0aGlzLnByb3BFdmVudFN1YnNjcmlwdGlvbnM9e30sdGhpcy5ub3RpZnlVcGRhdGU9KCk9PnRoaXMubm90aWZ5KCJVcGRhdGUiLHRoaXMubGF0ZXN0VmFsdWVzKSx0aGlzLnJlbmRlcj0oKT0+e3RoaXMuY3VycmVudCYmKHRoaXMudHJpZ2dlckJ1aWxkKCksdGhpcy5yZW5kZXJJbnN0YW5jZSh0aGlzLmN1cnJlbnQsdGhpcy5yZW5kZXJTdGF0ZSx0aGlzLnByb3BzLnN0eWxlLHRoaXMucHJvamVjdGlvbikpfSx0aGlzLnJlbmRlclNjaGVkdWxlZEF0PTAsdGhpcy5zY2hlZHVsZVJlbmRlcj0oKT0+e2NvbnN0IGY9S24ubm93KCk7dGhpcy5yZW5kZXJTY2hlZHVsZWRBdDxmJiYodGhpcy5yZW5kZXJTY2hlZHVsZWRBdD1mLG5yLnJlbmRlcih0aGlzLnJlbmRlciwhMSwhMCkpfTtjb25zdHtsYXRlc3RWYWx1ZXM6YyxyZW5kZXJTdGF0ZTpkfT1vO3RoaXMubGF0ZXN0VmFsdWVzPWMsdGhpcy5iYXNlVGFyZ2V0PXsuLi5jfSx0aGlzLmluaXRpYWxWYWx1ZXM9ci5pbml0aWFsP3suLi5jfTp7fSx0aGlzLnJlbmRlclN0YXRlPWQsdGhpcy5wYXJlbnQ9dCx0aGlzLnByb3BzPXIsdGhpcy5wcmVzZW5jZUNvbnRleHQ9bix0aGlzLmRlcHRoPXQ/dC5kZXB0aCsxOjAsdGhpcy5yZWR1Y2VkTW90aW9uQ29uZmlnPWEsdGhpcy5vcHRpb25zPWwsdGhpcy5ibG9ja0luaXRpYWxBbmltYXRpb249ISFpLHRoaXMuaXNDb250cm9sbGluZ1ZhcmlhbnRzPWt3KHIpLHRoaXMuaXNWYXJpYW50Tm9kZT1zSyhyKSx0aGlzLmlzVmFyaWFudE5vZGUmJih0aGlzLnZhcmlhbnRDaGlsZHJlbj1uZXcgU2V0KSx0aGlzLm1hbnVhbGx5QW5pbWF0ZU9uTW91bnQ9ISEodCYmdC5jdXJyZW50KTtjb25zdHt3aWxsQ2hhbmdlOnUsLi4uQX09dGhpcy5zY3JhcGVNb3Rpb25WYWx1ZXNGcm9tUHJvcHMocix7fSx0aGlzKTtmb3IoY29uc3QgZiBpbiBBKXtjb25zdCBoPUFbZl07Y1tmXSE9PXZvaWQgMCYmSW4oaCkmJmguc2V0KGNbZl0pfX1tb3VudCh0KXt2YXIgcjt0aGlzLmN1cnJlbnQ9dCx1QWUuc2V0KHQsdGhpcyksdGhpcy5wcm9qZWN0aW9uJiYhdGhpcy5wcm9qZWN0aW9uLmluc3RhbmNlJiZ0aGlzLnByb2plY3Rpb24ubW91bnQodCksdGhpcy5wYXJlbnQmJnRoaXMuaXNWYXJpYW50Tm9kZSYmIXRoaXMuaXNDb250cm9sbGluZ1ZhcmlhbnRzJiYodGhpcy5yZW1vdmVGcm9tVmFyaWFudFRyZWU9dGhpcy5wYXJlbnQuYWRkVmFyaWFudENoaWxkKHRoaXMpKSx0aGlzLnZhbHVlcy5mb3JFYWNoKChuLGEpPT50aGlzLmJpbmRUb01vdGlvblZhbHVlKGEsbikpLHRoaXMucmVkdWNlZE1vdGlvbkNvbmZpZz09PSJuZXZlciI/dGhpcy5zaG91bGRSZWR1Y2VNb3Rpb249ITE6dGhpcy5yZWR1Y2VkTW90aW9uQ29uZmlnPT09ImFsd2F5cyI/dGhpcy5zaG91bGRSZWR1Y2VNb3Rpb249ITA6KG5LLmN1cnJlbnR8fGRBZSgpLHRoaXMuc2hvdWxkUmVkdWNlTW90aW9uPXhfLmN1cnJlbnQpLChyPXRoaXMucGFyZW50KT09bnVsbHx8ci5hZGRDaGlsZCh0aGlzKSx0aGlzLnVwZGF0ZSh0aGlzLnByb3BzLHRoaXMucHJlc2VuY2VDb250ZXh0KX11bm1vdW50KCl7dmFyIHQ7dGhpcy5wcm9qZWN0aW9uJiZ0aGlzLnByb2plY3Rpb24udW5tb3VudCgpLFVsKHRoaXMubm90aWZ5VXBkYXRlKSxVbCh0aGlzLnJlbmRlciksdGhpcy52YWx1ZVN1YnNjcmlwdGlvbnMuZm9yRWFjaChyPT5yKCkpLHRoaXMudmFsdWVTdWJzY3JpcHRpb25zLmNsZWFyKCksdGhpcy5yZW1vdmVGcm9tVmFyaWFudFRyZWUmJnRoaXMucmVtb3ZlRnJvbVZhcmlhbnRUcmVlKCksKHQ9dGhpcy5wYXJlbnQpPT1udWxsfHx0LnJlbW92ZUNoaWxkKHRoaXMpO2Zvcihjb25zdCByIGluIHRoaXMuZXZlbnRzKXRoaXMuZXZlbnRzW3JdLmNsZWFyKCk7Zm9yKGNvbnN0IHIgaW4gdGhpcy5mZWF0dXJlcyl7Y29uc3Qgbj10aGlzLmZlYXR1cmVzW3JdO24mJihuLnVubW91bnQoKSxuLmlzTW91bnRlZD0hMSl9dGhpcy5jdXJyZW50PW51bGx9YWRkQ2hpbGQodCl7dGhpcy5jaGlsZHJlbi5hZGQodCksdGhpcy5lbnRlcmluZ0NoaWxkcmVuPz8odGhpcy5lbnRlcmluZ0NoaWxkcmVuPW5ldyBTZXQpLHRoaXMuZW50ZXJpbmdDaGlsZHJlbi5hZGQodCl9cmVtb3ZlQ2hpbGQodCl7dGhpcy5jaGlsZHJlbi5kZWxldGUodCksdGhpcy5lbnRlcmluZ0NoaWxkcmVuJiZ0aGlzLmVudGVyaW5nQ2hpbGRyZW4uZGVsZXRlKHQpfWJpbmRUb01vdGlvblZhbHVlKHQscil7dGhpcy52YWx1ZVN1YnNjcmlwdGlvbnMuaGFzKHQpJiZ0aGlzLnZhbHVlU3Vic2NyaXB0aW9ucy5nZXQodCkoKTtjb25zdCBuPXNmLmhhcyh0KTtuJiZ0aGlzLm9uQmluZFRyYW5zZm9ybSYmdGhpcy5vbkJpbmRUcmFuc2Zvcm0oKTtjb25zdCBhPXIub24oImNoYW5nZSIsbz0+e3RoaXMubGF0ZXN0VmFsdWVzW3RdPW8sdGhpcy5wcm9wcy5vblVwZGF0ZSYmbnIucHJlUmVuZGVyKHRoaXMubm90aWZ5VXBkYXRlKSxuJiZ0aGlzLnByb2plY3Rpb24mJih0aGlzLnByb2plY3Rpb24uaXNUcmFuc2Zvcm1EaXJ0eT0hMCksdGhpcy5zY2hlZHVsZVJlbmRlcigpfSk7bGV0IGk7dHlwZW9mIHdpbmRvdzwidSImJndpbmRvdy5Nb3Rpb25DaGVja0FwcGVhclN5bmMmJihpPXdpbmRvdy5Nb3Rpb25DaGVja0FwcGVhclN5bmModGhpcyx0LHIpKSx0aGlzLnZhbHVlU3Vic2NyaXB0aW9ucy5zZXQodCwoKT0+e2EoKSxpJiZpKCksci5vd25lciYmci5zdG9wKCl9KX1zb3J0Tm9kZVBvc2l0aW9uKHQpe3JldHVybiF0aGlzLmN1cnJlbnR8fCF0aGlzLnNvcnRJbnN0YW5jZU5vZGVQb3NpdGlvbnx8dGhpcy50eXBlIT09dC50eXBlPzA6dGhpcy5zb3J0SW5zdGFuY2VOb2RlUG9zaXRpb24odGhpcy5jdXJyZW50LHQuY3VycmVudCl9dXBkYXRlRmVhdHVyZXMoKXtsZXQgdD0iYW5pbWF0aW9uIjtmb3IodCBpbiBseSl7Y29uc3Qgcj1seVt0XTtpZighciljb250aW51ZTtjb25zdHtpc0VuYWJsZWQ6bixGZWF0dXJlOmF9PXI7aWYoIXRoaXMuZmVhdHVyZXNbdF0mJmEmJm4odGhpcy5wcm9wcykmJih0aGlzLmZlYXR1cmVzW3RdPW5ldyBhKHRoaXMpKSx0aGlzLmZlYXR1cmVzW3RdKXtjb25zdCBpPXRoaXMuZmVhdHVyZXNbdF07aS5pc01vdW50ZWQ/aS51cGRhdGUoKTooaS5tb3VudCgpLGkuaXNNb3VudGVkPSEwKX19fXRyaWdnZXJCdWlsZCgpe3RoaXMuYnVpbGQodGhpcy5yZW5kZXJTdGF0ZSx0aGlzLmxhdGVzdFZhbHVlcyx0aGlzLnByb3BzKX1tZWFzdXJlVmlld3BvcnRCb3goKXtyZXR1cm4gdGhpcy5jdXJyZW50P3RoaXMubWVhc3VyZUluc3RhbmNlVmlld3BvcnRCb3godGhpcy5jdXJyZW50LHRoaXMucHJvcHMpOkxyKCl9Z2V0U3RhdGljVmFsdWUodCl7cmV0dXJuIHRoaXMubGF0ZXN0VmFsdWVzW3RdfXNldFN0YXRpY1ZhbHVlKHQscil7dGhpcy5sYXRlc3RWYWx1ZXNbdF09cn11cGRhdGUodCxyKXsodC50cmFuc2Zvcm1UZW1wbGF0ZXx8dGhpcy5wcm9wcy50cmFuc2Zvcm1UZW1wbGF0ZSkmJnRoaXMuc2NoZWR1bGVSZW5kZXIoKSx0aGlzLnByZXZQcm9wcz10aGlzLnByb3BzLHRoaXMucHJvcHM9dCx0aGlzLnByZXZQcmVzZW5jZUNvbnRleHQ9dGhpcy5wcmVzZW5jZUNvbnRleHQsdGhpcy5wcmVzZW5jZUNvbnRleHQ9cjtmb3IobGV0IG49MDtuPHBPLmxlbmd0aDtuKyspe2NvbnN0IGE9cE9bbl07dGhpcy5wcm9wRXZlbnRTdWJzY3JpcHRpb25zW2FdJiYodGhpcy5wcm9wRXZlbnRTdWJzY3JpcHRpb25zW2FdKCksZGVsZXRlIHRoaXMucHJvcEV2ZW50U3Vic2NyaXB0aW9uc1thXSk7Y29uc3QgaT0ib24iK2Esbz10W2ldO28mJih0aGlzLnByb3BFdmVudFN1YnNjcmlwdGlvbnNbYV09dGhpcy5vbihhLG8pKX10aGlzLnByZXZNb3Rpb25WYWx1ZXM9QUFlKHRoaXMsdGhpcy5zY3JhcGVNb3Rpb25WYWx1ZXNGcm9tUHJvcHModCx0aGlzLnByZXZQcm9wc3x8e30sdGhpcyksdGhpcy5wcmV2TW90aW9uVmFsdWVzKSx0aGlzLmhhbmRsZUNoaWxkTW90aW9uVmFsdWUmJnRoaXMuaGFuZGxlQ2hpbGRNb3Rpb25WYWx1ZSgpfWdldFByb3BzKCl7cmV0dXJuIHRoaXMucHJvcHN9Z2V0VmFyaWFudCh0KXtyZXR1cm4gdGhpcy5wcm9wcy52YXJpYW50cz90aGlzLnByb3BzLnZhcmlhbnRzW3RdOnZvaWQgMH1nZXREZWZhdWx0VHJhbnNpdGlvbigpe3JldHVybiB0aGlzLnByb3BzLnRyYW5zaXRpb259Z2V0VHJhbnNmb3JtUGFnZVBvaW50KCl7cmV0dXJuIHRoaXMucHJvcHMudHJhbnNmb3JtUGFnZVBvaW50fWdldENsb3Nlc3RWYXJpYW50Tm9kZSgpe3JldHVybiB0aGlzLmlzVmFyaWFudE5vZGU/dGhpczp0aGlzLnBhcmVudD90aGlzLnBhcmVudC5nZXRDbG9zZXN0VmFyaWFudE5vZGUoKTp2b2lkIDB9YWRkVmFyaWFudENoaWxkKHQpe2NvbnN0IHI9dGhpcy5nZXRDbG9zZXN0VmFyaWFudE5vZGUoKTtpZihyKXJldHVybiByLnZhcmlhbnRDaGlsZHJlbiYmci52YXJpYW50Q2hpbGRyZW4uYWRkKHQpLCgpPT5yLnZhcmlhbnRDaGlsZHJlbi5kZWxldGUodCl9YWRkVmFsdWUodCxyKXtjb25zdCBuPXRoaXMudmFsdWVzLmdldCh0KTtyIT09biYmKG4mJnRoaXMucmVtb3ZlVmFsdWUodCksdGhpcy5iaW5kVG9Nb3Rpb25WYWx1ZSh0LHIpLHRoaXMudmFsdWVzLnNldCh0LHIpLHRoaXMubGF0ZXN0VmFsdWVzW3RdPXIuZ2V0KCkpfXJlbW92ZVZhbHVlKHQpe3RoaXMudmFsdWVzLmRlbGV0ZSh0KTtjb25zdCByPXRoaXMudmFsdWVTdWJzY3JpcHRpb25zLmdldCh0KTtyJiYocigpLHRoaXMudmFsdWVTdWJzY3JpcHRpb25zLmRlbGV0ZSh0KSksZGVsZXRlIHRoaXMubGF0ZXN0VmFsdWVzW3RdLHRoaXMucmVtb3ZlVmFsdWVGcm9tUmVuZGVyU3RhdGUodCx0aGlzLnJlbmRlclN0YXRlKX1oYXNWYWx1ZSh0KXtyZXR1cm4gdGhpcy52YWx1ZXMuaGFzKHQpfWdldFZhbHVlKHQscil7aWYodGhpcy5wcm9wcy52YWx1ZXMmJnRoaXMucHJvcHMudmFsdWVzW3RdKXJldHVybiB0aGlzLnByb3BzLnZhbHVlc1t0XTtsZXQgbj10aGlzLnZhbHVlcy5nZXQodCk7cmV0dXJuIG49PT12b2lkIDAmJnIhPT12b2lkIDAmJihuPWxBKHI9PT1udWxsP3ZvaWQgMDpyLHtvd25lcjp0aGlzfSksdGhpcy5hZGRWYWx1ZSh0LG4pKSxufXJlYWRWYWx1ZSh0LHIpe2xldCBuPXRoaXMubGF0ZXN0VmFsdWVzW3RdIT09dm9pZCAwfHwhdGhpcy5jdXJyZW50P3RoaXMubGF0ZXN0VmFsdWVzW3RdOnRoaXMuZ2V0QmFzZVRhcmdldEZyb21Qcm9wcyh0aGlzLnByb3BzLHQpPz90aGlzLnJlYWRWYWx1ZUZyb21JbnN0YW5jZSh0aGlzLmN1cnJlbnQsdCx0aGlzLm9wdGlvbnMpO3JldHVybiBuIT1udWxsJiYodHlwZW9mIG49PSJzdHJpbmciJiYobDgobil8fGQ4KG4pKT9uPXBhcnNlRmxvYXQobik6IWxBZShuKSYmRGwudGVzdChyKSYmKG49WTgodCxyKSksdGhpcy5zZXRCYXNlVGFyZ2V0KHQsSW4obik/bi5nZXQoKTpuKSksSW4obik/bi5nZXQoKTpufXNldEJhc2VUYXJnZXQodCxyKXt0aGlzLmJhc2VUYXJnZXRbdF09cn1nZXRCYXNlVGFyZ2V0KHQpe3ZhciBpO2NvbnN0e2luaXRpYWw6cn09dGhpcy5wcm9wcztsZXQgbjtpZih0eXBlb2Ygcj09InN0cmluZyJ8fHR5cGVvZiByPT0ib2JqZWN0Iil7Y29uc3Qgbz0kRSh0aGlzLnByb3BzLHIsKGk9dGhpcy5wcmVzZW5jZUNvbnRleHQpPT1udWxsP3ZvaWQgMDppLmN1c3RvbSk7byYmKG49b1t0XSl9aWYociYmbiE9PXZvaWQgMClyZXR1cm4gbjtjb25zdCBhPXRoaXMuZ2V0QmFzZVRhcmdldEZyb21Qcm9wcyh0aGlzLnByb3BzLHQpO3JldHVybiBhIT09dm9pZCAwJiYhSW4oYSk/YTp0aGlzLmluaXRpYWxWYWx1ZXNbdF0hPT12b2lkIDAmJm49PT12b2lkIDA/dm9pZCAwOnRoaXMuYmFzZVRhcmdldFt0XX1vbih0LHIpe3JldHVybiB0aGlzLmV2ZW50c1t0XXx8KHRoaXMuZXZlbnRzW3RdPW5ldyBTRSksdGhpcy5ldmVudHNbdF0uYWRkKHIpfW5vdGlmeSh0LC4uLnIpe3RoaXMuZXZlbnRzW3RdJiZ0aGlzLmV2ZW50c1t0XS5ub3RpZnkoLi4ucil9c2NoZWR1bGVSZW5kZXJNaWNyb3Rhc2soKXtWRS5yZW5kZXIodGhpcy5yZW5kZXIpfX1jbGFzcyBpSyBleHRlbmRzIGhBZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5LZXlmcmFtZVJlc29sdmVyPVp1ZX1zb3J0SW5zdGFuY2VOb2RlUG9zaXRpb24odCxyKXtyZXR1cm4gdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSYyPzE6LTF9Z2V0QmFzZVRhcmdldEZyb21Qcm9wcyh0LHIpe2NvbnN0IG49dC5zdHlsZTtyZXR1cm4gbj9uW3JdOnZvaWQgMH1yZW1vdmVWYWx1ZUZyb21SZW5kZXJTdGF0ZSh0LHt2YXJzOnIsc3R5bGU6bn0pe2RlbGV0ZSByW3RdLGRlbGV0ZSBuW3RdfWhhbmRsZUNoaWxkTW90aW9uVmFsdWUoKXt0aGlzLmNoaWxkU3Vic2NyaXB0aW9uJiYodGhpcy5jaGlsZFN1YnNjcmlwdGlvbigpLGRlbGV0ZSB0aGlzLmNoaWxkU3Vic2NyaXB0aW9uKTtjb25zdHtjaGlsZHJlbjp0fT10aGlzLnByb3BzO0luKHQpJiYodGhpcy5jaGlsZFN1YnNjcmlwdGlvbj10Lm9uKCJjaGFuZ2UiLHI9Pnt0aGlzLmN1cnJlbnQmJih0aGlzLmN1cnJlbnQudGV4dENvbnRlbnQ9YCR7cn1gKX0pKX19Y2xhc3MgcWx7Y29uc3RydWN0b3IodCl7dGhpcy5pc01vdW50ZWQ9ITEsdGhpcy5ub2RlPXR9dXBkYXRlKCl7fX1mdW5jdGlvbiBvSyh7dG9wOmUsbGVmdDp0LHJpZ2h0OnIsYm90dG9tOm59KXtyZXR1cm57eDp7bWluOnQsbWF4OnJ9LHk6e21pbjplLG1heDpufX19ZnVuY3Rpb24gbUFlKHt4OmUseTp0fSl7cmV0dXJue3RvcDp0Lm1pbixyaWdodDplLm1heCxib3R0b206dC5tYXgsbGVmdDplLm1pbn19ZnVuY3Rpb24gcEFlKGUsdCl7aWYoIXQpcmV0dXJuIGU7Y29uc3Qgcj10KHt4OmUubGVmdCx5OmUudG9wfSksbj10KHt4OmUucmlnaHQseTplLmJvdHRvbX0pO3JldHVybnt0b3A6ci55LGxlZnQ6ci54LGJvdHRvbTpuLnkscmlnaHQ6bi54fX1mdW5jdGlvbiByaihlKXtyZXR1cm4gZT09PXZvaWQgMHx8ZT09PTF9ZnVuY3Rpb24geV8oe3NjYWxlOmUsc2NhbGVYOnQsc2NhbGVZOnJ9KXtyZXR1cm4hcmooZSl8fCFyaih0KXx8IXJqKHIpfWZ1bmN0aW9uIGhjKGUpe3JldHVybiB5XyhlKXx8bEsoZSl8fGUuenx8ZS5yb3RhdGV8fGUucm90YXRlWHx8ZS5yb3RhdGVZfHxlLnNrZXdYfHxlLnNrZXdZfWZ1bmN0aW9uIGxLKGUpe3JldHVybiBnTyhlLngpfHxnTyhlLnkpfWZ1bmN0aW9uIGdPKGUpe3JldHVybiBlJiZlIT09IjAlIn1mdW5jdGlvbiBjeShlLHQscil7Y29uc3Qgbj1lLXIsYT10Km47cmV0dXJuIHIrYX1mdW5jdGlvbiB4TyhlLHQscixuLGEpe3JldHVybiBhIT09dm9pZCAwJiYoZT1jeShlLGEsbikpLGN5KGUscixuKSt0fWZ1bmN0aW9uIHZfKGUsdD0wLHI9MSxuLGEpe2UubWluPXhPKGUubWluLHQscixuLGEpLGUubWF4PXhPKGUubWF4LHQscixuLGEpfWZ1bmN0aW9uIGNLKGUse3g6dCx5OnJ9KXt2XyhlLngsdC50cmFuc2xhdGUsdC5zY2FsZSx0Lm9yaWdpblBvaW50KSx2XyhlLnksci50cmFuc2xhdGUsci5zY2FsZSxyLm9yaWdpblBvaW50KX1jb25zdCB5Tz0uOTk5OTk5OTk5OTk5LHZPPTEuMDAwMDAwMDAwMDAwMTtmdW5jdGlvbiBnQWUoZSx0LHIsbj0hMSl7Y29uc3QgYT1yLmxlbmd0aDtpZighYSlyZXR1cm47dC54PXQueT0xO2xldCBpLG87Zm9yKGxldCBsPTA7bDxhO2wrKyl7aT1yW2xdLG89aS5wcm9qZWN0aW9uRGVsdGE7Y29uc3R7dmlzdWFsRWxlbWVudDpjfT1pLm9wdGlvbnM7YyYmYy5wcm9wcy5zdHlsZSYmYy5wcm9wcy5zdHlsZS5kaXNwbGF5PT09ImNvbnRlbnRzInx8KG4mJmkub3B0aW9ucy5sYXlvdXRTY3JvbGwmJmkuc2Nyb2xsJiZpIT09aS5yb290JiZtdShlLHt4Oi1pLnNjcm9sbC5vZmZzZXQueCx5Oi1pLnNjcm9sbC5vZmZzZXQueX0pLG8mJih0LngqPW8ueC5zY2FsZSx0LnkqPW8ueS5zY2FsZSxjSyhlLG8pKSxuJiZoYyhpLmxhdGVzdFZhbHVlcykmJm11KGUsaS5sYXRlc3RWYWx1ZXMpKX10Lng8dk8mJnQueD55TyYmKHQueD0xKSx0Lnk8dk8mJnQueT55TyYmKHQueT0xKX1mdW5jdGlvbiBodShlLHQpe2UubWluPWUubWluK3QsZS5tYXg9ZS5tYXgrdH1mdW5jdGlvbiB3TyhlLHQscixuLGE9LjUpe2NvbnN0IGk9QXIoZS5taW4sZS5tYXgsYSk7dl8oZSx0LHIsaSxuKX1mdW5jdGlvbiBtdShlLHQpe3dPKGUueCx0LngsdC5zY2FsZVgsdC5zY2FsZSx0Lm9yaWdpblgpLHdPKGUueSx0LnksdC5zY2FsZVksdC5zY2FsZSx0Lm9yaWdpblkpfWZ1bmN0aW9uIGRLKGUsdCl7cmV0dXJuIG9LKHBBZShlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQpKX1mdW5jdGlvbiB4QWUoZSx0LHIpe2NvbnN0IG49ZEsoZSxyKSx7c2Nyb2xsOmF9PXQ7cmV0dXJuIGEmJihodShuLngsYS5vZmZzZXQueCksaHUobi55LGEub2Zmc2V0LnkpKSxufWNvbnN0IHlBZT17eDoidHJhbnNsYXRlWCIseToidHJhbnNsYXRlWSIsejoidHJhbnNsYXRlWiIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6InBlcnNwZWN0aXZlIn0sdkFlPW5mLmxlbmd0aDtmdW5jdGlvbiB3QWUoZSx0LHIpe2xldCBuPSIiLGE9ITA7Zm9yKGxldCBpPTA7aTx2QWU7aSsrKXtjb25zdCBvPW5mW2ldLGw9ZVtvXTtpZihsPT09dm9pZCAwKWNvbnRpbnVlO2xldCBjPSEwO2lmKHR5cGVvZiBsPT0ibnVtYmVyIiljPWw9PT0oby5zdGFydHNXaXRoKCJzY2FsZSIpPzE6MCk7ZWxzZXtjb25zdCBkPXBhcnNlRmxvYXQobCk7Yz1vLnN0YXJ0c1dpdGgoInNjYWxlIik/ZD09PTE6ZD09PTB9aWYoIWN8fHIpe2NvbnN0IGQ9WDgobCxLRVtvXSk7aWYoIWMpe2E9ITE7Y29uc3QgdT15QWVbb118fG87bis9YCR7dX0oJHtkfSkgYH1yJiYodFtvXT1kKX19cmV0dXJuIG49bi50cmltKCkscj9uPXIodCxhPyIiOm4pOmEmJihuPSJub25lIiksbn1mdW5jdGlvbiBxRShlLHQscil7Y29uc3R7c3R5bGU6bix2YXJzOmEsdHJhbnNmb3JtT3JpZ2luOml9PWU7bGV0IG89ITEsbD0hMTtmb3IoY29uc3QgYyBpbiB0KXtjb25zdCBkPXRbY107aWYoc2YuaGFzKGMpKXtvPSEwO2NvbnRpbnVlfWVsc2UgaWYoTjgoYykpe2FbY109ZDtjb250aW51ZX1lbHNle2NvbnN0IHU9WDgoZCxLRVtjXSk7Yy5zdGFydHNXaXRoKCJvcmlnaW4iKT8obD0hMCxpW2NdPXUpOm5bY109dX19aWYodC50cmFuc2Zvcm18fChvfHxyP24udHJhbnNmb3JtPXdBZSh0LGUudHJhbnNmb3JtLHIpOm4udHJhbnNmb3JtJiYobi50cmFuc2Zvcm09Im5vbmUiKSksbCl7Y29uc3R7b3JpZ2luWDpjPSI1MCUiLG9yaWdpblk6ZD0iNTAlIixvcmlnaW5aOnU9MH09aTtuLnRyYW5zZm9ybU9yaWdpbj1gJHtjfSAke2R9ICR7dX1gfX1mdW5jdGlvbiB1SyhlLHtzdHlsZTp0LHZhcnM6cn0sbixhKXtjb25zdCBpPWUuc3R5bGU7bGV0IG87Zm9yKG8gaW4gdClpW29dPXRbb107YT09bnVsbHx8YS5hcHBseVByb2plY3Rpb25TdHlsZXMoaSxuKTtmb3IobyBpbiByKWkuc2V0UHJvcGVydHkobyxyW29dKX1mdW5jdGlvbiBiTyhlLHQpe3JldHVybiB0Lm1heD09PXQubWluPzA6ZS8odC5tYXgtdC5taW4pKjEwMH1jb25zdCBEZj17Y29ycmVjdDooZSx0KT0+e2lmKCF0LnRhcmdldClyZXR1cm4gZTtpZih0eXBlb2YgZT09InN0cmluZyIpaWYoT2UudGVzdChlKSllPXBhcnNlRmxvYXQoZSk7ZWxzZSByZXR1cm4gZTtjb25zdCByPWJPKGUsdC50YXJnZXQueCksbj1iTyhlLHQudGFyZ2V0LnkpO3JldHVybmAke3J9JSAke259JWB9fSxiQWU9e2NvcnJlY3Q6KGUse3RyZWVTY2FsZTp0LHByb2plY3Rpb25EZWx0YTpyfSk9Pntjb25zdCBuPWUsYT1EbC5wYXJzZShlKTtpZihhLmxlbmd0aD41KXJldHVybiBuO2NvbnN0IGk9RGwuY3JlYXRlVHJhbnNmb3JtZXIoZSksbz10eXBlb2YgYVswXSE9Im51bWJlciI/MTowLGw9ci54LnNjYWxlKnQueCxjPXIueS5zY2FsZSp0Lnk7YVswK29dLz1sLGFbMStvXS89Yztjb25zdCBkPUFyKGwsYywuNSk7cmV0dXJuIHR5cGVvZiBhWzIrb109PSJudW1iZXIiJiYoYVsyK29dLz1kKSx0eXBlb2YgYVszK29dPT0ibnVtYmVyIiYmKGFbMytvXS89ZCksaShhKX19LHdfPXtib3JkZXJSYWRpdXM6ey4uLkRmLGFwcGx5VG86WyJib3JkZXJUb3BMZWZ0UmFkaXVzIiwiYm9yZGVyVG9wUmlnaHRSYWRpdXMiLCJib3JkZXJCb3R0b21MZWZ0UmFkaXVzIiwiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMiXX0sYm9yZGVyVG9wTGVmdFJhZGl1czpEZixib3JkZXJUb3BSaWdodFJhZGl1czpEZixib3JkZXJCb3R0b21MZWZ0UmFkaXVzOkRmLGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOkRmLGJveFNoYWRvdzpiQWV9O2Z1bmN0aW9uIEFLKGUse2xheW91dDp0LGxheW91dElkOnJ9KXtyZXR1cm4gc2YuaGFzKGUpfHxlLnN0YXJ0c1dpdGgoIm9yaWdpbiIpfHwodHx8ciE9PXZvaWQgMCkmJighIXdfW2VdfHxlPT09Im9wYWNpdHkiKX1mdW5jdGlvbiBZRShlLHQscil7dmFyIG87Y29uc3Qgbj1lLnN0eWxlLGE9dD09bnVsbD92b2lkIDA6dC5zdHlsZSxpPXt9O2lmKCFuKXJldHVybiBpO2Zvcihjb25zdCBsIGluIG4pKEluKG5bbF0pfHxhJiZJbihhW2xdKXx8QUsobCxlKXx8KChvPXI9PW51bGw/dm9pZCAwOnIuZ2V0VmFsdWUobCkpPT1udWxsP3ZvaWQgMDpvLmxpdmVTdHlsZSkhPT12b2lkIDApJiYoaVtsXT1uW2xdKTtyZXR1cm4gaX1mdW5jdGlvbiBqQWUoZSl7cmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpfWNsYXNzIE5BZSBleHRlbmRzIGlLe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9Imh0bWwiLHRoaXMucmVuZGVySW5zdGFuY2U9dUt9cmVhZFZhbHVlRnJvbUluc3RhbmNlKHQscil7dmFyIG47aWYoc2YuaGFzKHIpKXJldHVybihuPXRoaXMucHJvamVjdGlvbikhPW51bGwmJm4uaXNQcm9qZWN0aW5nP29fKHIpOlpkZSh0LHIpO3tjb25zdCBhPWpBZSh0KSxpPShOOChyKT9hLmdldFByb3BlcnR5VmFsdWUocik6YVtyXSl8fDA7cmV0dXJuIHR5cGVvZiBpPT0ic3RyaW5nIj9pLnRyaW0oKTppfX1tZWFzdXJlSW5zdGFuY2VWaWV3cG9ydEJveCh0LHt0cmFuc2Zvcm1QYWdlUG9pbnQ6cn0pe3JldHVybiBkSyh0LHIpfWJ1aWxkKHQscixuKXtxRSh0LHIsbi50cmFuc2Zvcm1UZW1wbGF0ZSl9c2NyYXBlTW90aW9uVmFsdWVzRnJvbVByb3BzKHQscixuKXtyZXR1cm4gWUUodCxyLG4pfX1jb25zdCBDQWU9e29mZnNldDoic3Ryb2tlLWRhc2hvZmZzZXQiLGFycmF5OiJzdHJva2UtZGFzaGFycmF5In0sX0FlPXtvZmZzZXQ6InN0cm9rZURhc2hvZmZzZXQiLGFycmF5OiJzdHJva2VEYXNoYXJyYXkifTtmdW5jdGlvbiBCQWUoZSx0LHI9MSxuPTAsYT0hMCl7ZS5wYXRoTGVuZ3RoPTE7Y29uc3QgaT1hP0NBZTpfQWU7ZVtpLm9mZnNldF09YCR7LW59YCxlW2kuYXJyYXldPWAke3R9ICR7cn1gfWNvbnN0IFNBZT1bIm9mZnNldERpc3RhbmNlIiwib2Zmc2V0UGF0aCIsIm9mZnNldFJvdGF0ZSIsIm9mZnNldEFuY2hvciJdO2Z1bmN0aW9uIGZLKGUse2F0dHJYOnQsYXR0clk6cixhdHRyU2NhbGU6bixwYXRoTGVuZ3RoOmEscGF0aFNwYWNpbmc6aT0xLHBhdGhPZmZzZXQ6bz0wLC4uLmx9LGMsZCx1KXtpZihxRShlLGwsZCksYyl7ZS5zdHlsZS52aWV3Qm94JiYoZS5hdHRycy52aWV3Qm94PWUuc3R5bGUudmlld0JveCk7cmV0dXJufWUuYXR0cnM9ZS5zdHlsZSxlLnN0eWxlPXt9O2NvbnN0e2F0dHJzOkEsc3R5bGU6Zn09ZTtBLnRyYW5zZm9ybSYmKGYudHJhbnNmb3JtPUEudHJhbnNmb3JtLGRlbGV0ZSBBLnRyYW5zZm9ybSksKGYudHJhbnNmb3JtfHxBLnRyYW5zZm9ybU9yaWdpbikmJihmLnRyYW5zZm9ybU9yaWdpbj1BLnRyYW5zZm9ybU9yaWdpbj8/IjUwJSA1MCUiLGRlbGV0ZSBBLnRyYW5zZm9ybU9yaWdpbiksZi50cmFuc2Zvcm0mJihmLnRyYW5zZm9ybUJveD0odT09bnVsbD92b2lkIDA6dS50cmFuc2Zvcm1Cb3gpPz8iZmlsbC1ib3giLGRlbGV0ZSBBLnRyYW5zZm9ybUJveCk7Zm9yKGNvbnN0IGggb2YgU0FlKUFbaF0hPT12b2lkIDAmJihmW2hdPUFbaF0sZGVsZXRlIEFbaF0pO3QhPT12b2lkIDAmJihBLng9dCksciE9PXZvaWQgMCYmKEEueT1yKSxuIT09dm9pZCAwJiYoQS5zY2FsZT1uKSxhIT09dm9pZCAwJiZCQWUoQSxhLGksbywhMSl9Y29uc3QgaEs9bmV3IFNldChbImJhc2VGcmVxdWVuY3kiLCJkaWZmdXNlQ29uc3RhbnQiLCJrZXJuZWxNYXRyaXgiLCJrZXJuZWxVbml0TGVuZ3RoIiwia2V5U3BsaW5lcyIsImtleVRpbWVzIiwibGltaXRpbmdDb25lQW5nbGUiLCJtYXJrZXJIZWlnaHQiLCJtYXJrZXJXaWR0aCIsIm51bU9jdGF2ZXMiLCJ0YXJnZXRYIiwidGFyZ2V0WSIsInN1cmZhY2VTY2FsZSIsInNwZWN1bGFyQ29uc3RhbnQiLCJzcGVjdWxhckV4cG9uZW50Iiwic3RkRGV2aWF0aW9uIiwidGFibGVWYWx1ZXMiLCJ2aWV3Qm94IiwiZ3JhZGllbnRUcmFuc2Zvcm0iLCJwYXRoTGVuZ3RoIiwic3RhcnRPZmZzZXQiLCJ0ZXh0TGVuZ3RoIiwibGVuZ3RoQWRqdXN0Il0pLG1LPWU9PnR5cGVvZiBlPT0ic3RyaW5nIiYmZS50b0xvd2VyQ2FzZSgpPT09InN2ZyI7ZnVuY3Rpb24gRUFlKGUsdCxyLG4pe3VLKGUsdCx2b2lkIDAsbik7Zm9yKGNvbnN0IGEgaW4gdC5hdHRycyllLnNldEF0dHJpYnV0ZShoSy5oYXMoYSk/YTpIRShhKSx0LmF0dHJzW2FdKX1mdW5jdGlvbiBwSyhlLHQscil7Y29uc3Qgbj1ZRShlLHQscik7Zm9yKGNvbnN0IGEgaW4gZSlpZihJbihlW2FdKXx8SW4odFthXSkpe2NvbnN0IGk9bmYuaW5kZXhPZihhKSE9PS0xPyJhdHRyIithLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Euc3Vic3RyaW5nKDEpOmE7bltpXT1lW2FdfXJldHVybiBufWNsYXNzIGtBZSBleHRlbmRzIGlLe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9InN2ZyIsdGhpcy5pc1NWR1RhZz0hMSx0aGlzLm1lYXN1cmVJbnN0YW5jZVZpZXdwb3J0Qm94PUxyfWdldEJhc2VUYXJnZXRGcm9tUHJvcHModCxyKXtyZXR1cm4gdFtyXX1yZWFkVmFsdWVGcm9tSW5zdGFuY2UodCxyKXtpZihzZi5oYXMocikpe2NvbnN0IG49cTgocik7cmV0dXJuIG4mJm4uZGVmYXVsdHx8MH1yZXR1cm4gcj1oSy5oYXMocik/cjpIRShyKSx0LmdldEF0dHJpYnV0ZShyKX1zY3JhcGVNb3Rpb25WYWx1ZXNGcm9tUHJvcHModCxyLG4pe3JldHVybiBwSyh0LHIsbil9YnVpbGQodCxyLG4pe2ZLKHQscix0aGlzLmlzU1ZHVGFnLG4udHJhbnNmb3JtVGVtcGxhdGUsbi5zdHlsZSl9cmVuZGVySW5zdGFuY2UodCxyLG4sYSl7RUFlKHQscixuLGEpfW1vdW50KHQpe3RoaXMuaXNTVkdUYWc9bUsodC50YWdOYW1lKSxzdXBlci5tb3VudCh0KX19Y29uc3QgVEFlPUdFLmxlbmd0aDtmdW5jdGlvbiBnSyhlKXtpZighZSlyZXR1cm47aWYoIWUuaXNDb250cm9sbGluZ1ZhcmlhbnRzKXtjb25zdCByPWUucGFyZW50P2dLKGUucGFyZW50KXx8e306e307cmV0dXJuIGUucHJvcHMuaW5pdGlhbCE9PXZvaWQgMCYmKHIuaW5pdGlhbD1lLnByb3BzLmluaXRpYWwpLHJ9Y29uc3QgdD17fTtmb3IobGV0IHI9MDtyPFRBZTtyKyspe2NvbnN0IG49R0Vbcl0sYT1lLnByb3BzW25dOyhFbShhKXx8YT09PSExKSYmKHRbbl09YSl9cmV0dXJuIHR9ZnVuY3Rpb24geEsoZSx0KXtpZighQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4hMTtjb25zdCByPXQubGVuZ3RoO2lmKHIhPT1lLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IG49MDtuPHI7bisrKWlmKHRbbl0hPT1lW25dKXJldHVybiExO3JldHVybiEwfWNvbnN0IFBBZT1bLi4uV0VdLnJldmVyc2UoKSxGQWU9V0UubGVuZ3RoO2Z1bmN0aW9uIE9BZShlKXtyZXR1cm4gdD0+UHJvbWlzZS5hbGwodC5tYXAoKHthbmltYXRpb246cixvcHRpb25zOm59KT0+SHVlKGUscixuKSkpfWZ1bmN0aW9uIElBZShlKXtsZXQgdD1PQWUoZSkscj1qTygpLG49ITA7Y29uc3QgYT1jPT4oZCx1KT0+e3ZhciBmO2NvbnN0IEE9VHUoZSx1LGM9PT0iZXhpdCI/KGY9ZS5wcmVzZW5jZUNvbnRleHQpPT1udWxsP3ZvaWQgMDpmLmN1c3RvbTp2b2lkIDApO2lmKEEpe2NvbnN0e3RyYW5zaXRpb246aCx0cmFuc2l0aW9uRW5kOnAsLi4ubX09QTtkPXsuLi5kLC4uLm0sLi4ucH19cmV0dXJuIGR9O2Z1bmN0aW9uIGkoYyl7dD1jKGUpfWZ1bmN0aW9uIG8oYyl7Y29uc3R7cHJvcHM6ZH09ZSx1PWdLKGUucGFyZW50KXx8e30sQT1bXSxmPW5ldyBTZXQ7bGV0IGg9e30scD0xLzA7Zm9yKGxldCB4PTA7eDxGQWU7eCsrKXtjb25zdCB3PVBBZVt4XSx5PXJbd10sdj1kW3ddIT09dm9pZCAwP2Rbd106dVt3XSxiPUVtKHYpLGo9dz09PWM/eS5pc0FjdGl2ZTpudWxsO2o9PT0hMSYmKHA9eCk7bGV0IE49dj09PXVbd10mJnYhPT1kW3ddJiZiO2lmKE4mJm4mJmUubWFudWFsbHlBbmltYXRlT25Nb3VudCYmKE49ITEpLHkucHJvdGVjdGVkS2V5cz17Li4uaH0sIXkuaXNBY3RpdmUmJmo9PT1udWxsfHwhdiYmIXkucHJldlByb3B8fEV3KHYpfHx0eXBlb2Ygdj09ImJvb2xlYW4iKWNvbnRpbnVlO2NvbnN0IEM9VUFlKHkucHJldlByb3Asdik7bGV0IF89Q3x8dz09PWMmJnkuaXNBY3RpdmUmJiFOJiZifHx4PnAmJmIsQj0hMTtjb25zdCBrPUFycmF5LmlzQXJyYXkodik/djpbdl07bGV0IEU9ay5yZWR1Y2UoYSh3KSx7fSk7aj09PSExJiYoRT17fSk7Y29uc3R7cHJldlJlc29sdmVkVmFsdWVzOkY9e319PXksTz17Li4uRiwuLi5FfSxTPVU9PntfPSEwLGYuaGFzKFUpJiYoQj0hMCxmLmRlbGV0ZShVKSkseS5uZWVkc0FuaW1hdGluZ1tVXT0hMDtjb25zdCBEPWUuZ2V0VmFsdWUoVSk7RCYmKEQubGl2ZVN0eWxlPSExKX07Zm9yKGNvbnN0IFUgaW4gTyl7Y29uc3QgRD1FW1VdLEk9RltVXTtpZihoLmhhc093blByb3BlcnR5KFUpKWNvbnRpbnVlO2xldCBSPSExO2ZfKEQpJiZmXyhJKT9SPSF4SyhELEkpOlI9RCE9PUksUj9EIT1udWxsP1MoVSk6Zi5hZGQoVSk6RCE9PXZvaWQgMCYmZi5oYXMoVSk/UyhVKTp5LnByb3RlY3RlZEtleXNbVV09ITB9eS5wcmV2UHJvcD12LHkucHJldlJlc29sdmVkVmFsdWVzPUUseS5pc0FjdGl2ZSYmKGg9ey4uLmgsLi4uRX0pLG4mJmUuYmxvY2tJbml0aWFsQW5pbWF0aW9uJiYoXz0hMSk7Y29uc3QgVD1OJiZDO18mJighVHx8QikmJkEucHVzaCguLi5rLm1hcChVPT57Y29uc3QgRD17dHlwZTp3fTtpZih0eXBlb2YgVT09InN0cmluZyImJm4mJiFUJiZlLm1hbnVhbGx5QW5pbWF0ZU9uTW91bnQmJmUucGFyZW50KXtjb25zdHtwYXJlbnQ6SX09ZSxSPVR1KEksVSk7aWYoSS5lbnRlcmluZ0NoaWxkcmVuJiZSKXtjb25zdHtkZWxheUNoaWxkcmVuOkx9PVIudHJhbnNpdGlvbnx8e307RC5kZWxheT1MOChJLmVudGVyaW5nQ2hpbGRyZW4sZSxMKX19cmV0dXJue2FuaW1hdGlvbjpVLG9wdGlvbnM6RH19KSl9aWYoZi5zaXplKXtjb25zdCB4PXt9O2lmKHR5cGVvZiBkLmluaXRpYWwhPSJib29sZWFuIil7Y29uc3Qgdz1UdShlLEFycmF5LmlzQXJyYXkoZC5pbml0aWFsKT9kLmluaXRpYWxbMF06ZC5pbml0aWFsKTt3JiZ3LnRyYW5zaXRpb24mJih4LnRyYW5zaXRpb249dy50cmFuc2l0aW9uKX1mLmZvckVhY2godz0+e2NvbnN0IHk9ZS5nZXRCYXNlVGFyZ2V0KHcpLHY9ZS5nZXRWYWx1ZSh3KTt2JiYodi5saXZlU3R5bGU9ITApLHhbd109eT8/bnVsbH0pLEEucHVzaCh7YW5pbWF0aW9uOnh9KX1sZXQgbT0hIUEubGVuZ3RoO3JldHVybiBuJiYoZC5pbml0aWFsPT09ITF8fGQuaW5pdGlhbD09PWQuYW5pbWF0ZSkmJiFlLm1hbnVhbGx5QW5pbWF0ZU9uTW91bnQmJihtPSExKSxuPSExLG0/dChBKTpQcm9taXNlLnJlc29sdmUoKX1mdW5jdGlvbiBsKGMsZCl7dmFyIEE7aWYocltjXS5pc0FjdGl2ZT09PWQpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOyhBPWUudmFyaWFudENoaWxkcmVuKT09bnVsbHx8QS5mb3JFYWNoKGY9Pnt2YXIgaDtyZXR1cm4oaD1mLmFuaW1hdGlvblN0YXRlKT09bnVsbD92b2lkIDA6aC5zZXRBY3RpdmUoYyxkKX0pLHJbY10uaXNBY3RpdmU9ZDtjb25zdCB1PW8oYyk7Zm9yKGNvbnN0IGYgaW4gcilyW2ZdLnByb3RlY3RlZEtleXM9e307cmV0dXJuIHV9cmV0dXJue2FuaW1hdGVDaGFuZ2VzOm8sc2V0QWN0aXZlOmwsc2V0QW5pbWF0ZUZ1bmN0aW9uOmksZ2V0U3RhdGU6KCk9PnIscmVzZXQ6KCk9PntyPWpPKCl9fX1mdW5jdGlvbiBVQWUoZSx0KXtyZXR1cm4gdHlwZW9mIHQ9PSJzdHJpbmciP3QhPT1lOkFycmF5LmlzQXJyYXkodCk/IXhLKHQsZSk6ITF9ZnVuY3Rpb24gb2MoZT0hMSl7cmV0dXJue2lzQWN0aXZlOmUscHJvdGVjdGVkS2V5czp7fSxuZWVkc0FuaW1hdGluZzp7fSxwcmV2UmVzb2x2ZWRWYWx1ZXM6e319fWZ1bmN0aW9uIGpPKCl7cmV0dXJue2FuaW1hdGU6b2MoITApLHdoaWxlSW5WaWV3Om9jKCksd2hpbGVIb3ZlcjpvYygpLHdoaWxlVGFwOm9jKCksd2hpbGVEcmFnOm9jKCksd2hpbGVGb2N1czpvYygpLGV4aXQ6b2MoKX19ZnVuY3Rpb24gTk8oZSx0KXtlLm1pbj10Lm1pbixlLm1heD10Lm1heH1mdW5jdGlvbiBnYShlLHQpe05PKGUueCx0LngpLE5PKGUueSx0LnkpfWZ1bmN0aW9uIENPKGUsdCl7ZS50cmFuc2xhdGU9dC50cmFuc2xhdGUsZS5zY2FsZT10LnNjYWxlLGUub3JpZ2luUG9pbnQ9dC5vcmlnaW5Qb2ludCxlLm9yaWdpbj10Lm9yaWdpbn1jb25zdCB5Sz0xZS00LERBZT0xLXlLLE1BZT0xK3lLLHZLPS4wMSxSQWU9MC12SyxRQWU9MCt2SztmdW5jdGlvbiBWbihlKXtyZXR1cm4gZS5tYXgtZS5taW59ZnVuY3Rpb24gTEFlKGUsdCxyKXtyZXR1cm4gTWF0aC5hYnMoZS10KTw9cn1mdW5jdGlvbiBfTyhlLHQscixuPS41KXtlLm9yaWdpbj1uLGUub3JpZ2luUG9pbnQ9QXIodC5taW4sdC5tYXgsZS5vcmlnaW4pLGUuc2NhbGU9Vm4ocikvVm4odCksZS50cmFuc2xhdGU9QXIoci5taW4sci5tYXgsZS5vcmlnaW4pLWUub3JpZ2luUG9pbnQsKGUuc2NhbGU+PURBZSYmZS5zY2FsZTw9TUFlfHxpc05hTihlLnNjYWxlKSkmJihlLnNjYWxlPTEpLChlLnRyYW5zbGF0ZT49UkFlJiZlLnRyYW5zbGF0ZTw9UUFlfHxpc05hTihlLnRyYW5zbGF0ZSkpJiYoZS50cmFuc2xhdGU9MCl9ZnVuY3Rpb24gTWgoZSx0LHIsbil7X08oZS54LHQueCxyLngsbj9uLm9yaWdpblg6dm9pZCAwKSxfTyhlLnksdC55LHIueSxuP24ub3JpZ2luWTp2b2lkIDApfWZ1bmN0aW9uIEJPKGUsdCxyKXtlLm1pbj1yLm1pbit0Lm1pbixlLm1heD1lLm1pbitWbih0KX1mdW5jdGlvbiAkQWUoZSx0LHIpe0JPKGUueCx0Lngsci54KSxCTyhlLnksdC55LHIueSl9ZnVuY3Rpb24gU08oZSx0LHIpe2UubWluPXQubWluLXIubWluLGUubWF4PWUubWluK1ZuKHQpfWZ1bmN0aW9uIGR5KGUsdCxyKXtTTyhlLngsdC54LHIueCksU08oZS55LHQueSxyLnkpfWZ1bmN0aW9uIEVPKGUsdCxyLG4sYSl7cmV0dXJuIGUtPXQsZT1jeShlLDEvcixuKSxhIT09dm9pZCAwJiYoZT1jeShlLDEvYSxuKSksZX1mdW5jdGlvbiBIQWUoZSx0PTAscj0xLG49LjUsYSxpPWUsbz1lKXtpZihnaS50ZXN0KHQpJiYodD1wYXJzZUZsb2F0KHQpLHQ9QXIoby5taW4sby5tYXgsdC8xMDApLW8ubWluKSx0eXBlb2YgdCE9Im51bWJlciIpcmV0dXJuO2xldCBsPUFyKGkubWluLGkubWF4LG4pO2U9PT1pJiYobC09dCksZS5taW49RU8oZS5taW4sdCxyLGwsYSksZS5tYXg9RU8oZS5tYXgsdCxyLGwsYSl9ZnVuY3Rpb24ga08oZSx0LFtyLG4sYV0saSxvKXtIQWUoZSx0W3JdLHRbbl0sdFthXSx0LnNjYWxlLGksbyl9Y29uc3QgS0FlPVsieCIsInNjYWxlWCIsIm9yaWdpblgiXSxWQWU9WyJ5Iiwic2NhbGVZIiwib3JpZ2luWSJdO2Z1bmN0aW9uIFRPKGUsdCxyLG4pe2tPKGUueCx0LEtBZSxyP3IueDp2b2lkIDAsbj9uLng6dm9pZCAwKSxrTyhlLnksdCxWQWUscj9yLnk6dm9pZCAwLG4/bi55OnZvaWQgMCl9ZnVuY3Rpb24gUE8oZSl7cmV0dXJuIGUudHJhbnNsYXRlPT09MCYmZS5zY2FsZT09PTF9ZnVuY3Rpb24gd0soZSl7cmV0dXJuIFBPKGUueCkmJlBPKGUueSl9ZnVuY3Rpb24gRk8oZSx0KXtyZXR1cm4gZS5taW49PT10Lm1pbiYmZS5tYXg9PT10Lm1heH1mdW5jdGlvbiB6QWUoZSx0KXtyZXR1cm4gRk8oZS54LHQueCkmJkZPKGUueSx0LnkpfWZ1bmN0aW9uIE9PKGUsdCl7cmV0dXJuIE1hdGgucm91bmQoZS5taW4pPT09TWF0aC5yb3VuZCh0Lm1pbikmJk1hdGgucm91bmQoZS5tYXgpPT09TWF0aC5yb3VuZCh0Lm1heCl9ZnVuY3Rpb24gYksoZSx0KXtyZXR1cm4gT08oZS54LHQueCkmJk9PKGUueSx0LnkpfWZ1bmN0aW9uIElPKGUpe3JldHVybiBWbihlLngpL1ZuKGUueSl9ZnVuY3Rpb24gVU8oZSx0KXtyZXR1cm4gZS50cmFuc2xhdGU9PT10LnRyYW5zbGF0ZSYmZS5zY2FsZT09PXQuc2NhbGUmJmUub3JpZ2luUG9pbnQ9PT10Lm9yaWdpblBvaW50fWZ1bmN0aW9uIERzKGUpe3JldHVybltlKCJ4IiksZSgieSIpXX1mdW5jdGlvbiBXQWUoZSx0LHIpe2xldCBuPSIiO2NvbnN0IGE9ZS54LnRyYW5zbGF0ZS90LngsaT1lLnkudHJhbnNsYXRlL3QueSxvPShyPT1udWxsP3ZvaWQgMDpyLnopfHwwO2lmKChhfHxpfHxvKSYmKG49YHRyYW5zbGF0ZTNkKCR7YX1weCwgJHtpfXB4LCAke299cHgpIGApLCh0LnghPT0xfHx0LnkhPT0xKSYmKG4rPWBzY2FsZSgkezEvdC54fSwgJHsxL3QueX0pIGApLHIpe2NvbnN0e3RyYW5zZm9ybVBlcnNwZWN0aXZlOmQscm90YXRlOnUscm90YXRlWDpBLHJvdGF0ZVk6Zixza2V3WDpoLHNrZXdZOnB9PXI7ZCYmKG49YHBlcnNwZWN0aXZlKCR7ZH1weCkgJHtufWApLHUmJihuKz1gcm90YXRlKCR7dX1kZWcpIGApLEEmJihuKz1gcm90YXRlWCgke0F9ZGVnKSBgKSxmJiYobis9YHJvdGF0ZVkoJHtmfWRlZykgYCksaCYmKG4rPWBza2V3WCgke2h9ZGVnKSBgKSxwJiYobis9YHNrZXdZKCR7cH1kZWcpIGApfWNvbnN0IGw9ZS54LnNjYWxlKnQueCxjPWUueS5zY2FsZSp0Lnk7cmV0dXJuKGwhPT0xfHxjIT09MSkmJihuKz1gc2NhbGUoJHtsfSwgJHtjfSlgKSxufHwibm9uZSJ9Y29uc3Qgaks9WyJUb3BMZWZ0IiwiVG9wUmlnaHQiLCJCb3R0b21MZWZ0IiwiQm90dG9tUmlnaHQiXSxHQWU9aksubGVuZ3RoLERPPWU9PnR5cGVvZiBlPT0ic3RyaW5nIj9wYXJzZUZsb2F0KGUpOmUsTU89ZT0+dHlwZW9mIGU9PSJudW1iZXIifHxPZS50ZXN0KGUpO2Z1bmN0aW9uIHFBZShlLHQscixuLGEsaSl7YT8oZS5vcGFjaXR5PUFyKDAsci5vcGFjaXR5Pz8xLFlBZShuKSksZS5vcGFjaXR5RXhpdD1Bcih0Lm9wYWNpdHk/PzEsMCxYQWUobikpKTppJiYoZS5vcGFjaXR5PUFyKHQub3BhY2l0eT8/MSxyLm9wYWNpdHk/PzEsbikpO2ZvcihsZXQgbz0wO288R0FlO28rKyl7Y29uc3QgbD1gYm9yZGVyJHtqS1tvXX1SYWRpdXNgO2xldCBjPVJPKHQsbCksZD1STyhyLGwpO2lmKGM9PT12b2lkIDAmJmQ9PT12b2lkIDApY29udGludWU7Y3x8KGM9MCksZHx8KGQ9MCksYz09PTB8fGQ9PT0wfHxNTyhjKT09PU1PKGQpPyhlW2xdPU1hdGgubWF4KEFyKERPKGMpLERPKGQpLG4pLDApLChnaS50ZXN0KGQpfHxnaS50ZXN0KGMpKSYmKGVbbF0rPSIlIikpOmVbbF09ZH0odC5yb3RhdGV8fHIucm90YXRlKSYmKGUucm90YXRlPUFyKHQucm90YXRlfHwwLHIucm90YXRlfHwwLG4pKX1mdW5jdGlvbiBSTyhlLHQpe3JldHVybiBlW3RdIT09dm9pZCAwP2VbdF06ZS5ib3JkZXJSYWRpdXN9Y29uc3QgWUFlPU5LKDAsLjUseDgpLFhBZT1OSyguNSwuOTUsdGEpO2Z1bmN0aW9uIE5LKGUsdCxyKXtyZXR1cm4gbj0+bjxlPzA6bj50PzE6cihfbShlLHQsbikpfWZ1bmN0aW9uIEpBZShlLHQscil7Y29uc3Qgbj1JbihlKT9lOmxBKGUpO3JldHVybiBuLnN0YXJ0KExFKCIiLG4sdCxyKSksbi5hbmltYXRpb259ZnVuY3Rpb24ga20oZSx0LHIsbj17cGFzc2l2ZTohMH0pe3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIodCxyLG4pLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxyKX1jb25zdCBaQWU9KGUsdCk9PmUuZGVwdGgtdC5kZXB0aDtjbGFzcyBlZmV7Y29uc3RydWN0b3IoKXt0aGlzLmNoaWxkcmVuPVtdLHRoaXMuaXNEaXJ0eT0hMX1hZGQodCl7Q0UodGhpcy5jaGlsZHJlbix0KSx0aGlzLmlzRGlydHk9ITB9cmVtb3ZlKHQpe19FKHRoaXMuY2hpbGRyZW4sdCksdGhpcy5pc0RpcnR5PSEwfWZvckVhY2godCl7dGhpcy5pc0RpcnR5JiZ0aGlzLmNoaWxkcmVuLnNvcnQoWkFlKSx0aGlzLmlzRGlydHk9ITEsdGhpcy5jaGlsZHJlbi5mb3JFYWNoKHQpfX1mdW5jdGlvbiB0ZmUoZSx0KXtjb25zdCByPUtuLm5vdygpLG49KHt0aW1lc3RhbXA6YX0pPT57Y29uc3QgaT1hLXI7aT49dCYmKFVsKG4pLGUoaS10KSl9O3JldHVybiBuci5zZXR1cChuLCEwKSwoKT0+VWwobil9ZnVuY3Rpb24gZDAoZSl7cmV0dXJuIEluKGUpP2UuZ2V0KCk6ZX1jbGFzcyByZmV7Y29uc3RydWN0b3IoKXt0aGlzLm1lbWJlcnM9W119YWRkKHQpe0NFKHRoaXMubWVtYmVycyx0KSx0LnNjaGVkdWxlUmVuZGVyKCl9cmVtb3ZlKHQpe2lmKF9FKHRoaXMubWVtYmVycyx0KSx0PT09dGhpcy5wcmV2TGVhZCYmKHRoaXMucHJldkxlYWQ9dm9pZCAwKSx0PT09dGhpcy5sZWFkKXtjb25zdCByPXRoaXMubWVtYmVyc1t0aGlzLm1lbWJlcnMubGVuZ3RoLTFdO3ImJnRoaXMucHJvbW90ZShyKX19cmVsZWdhdGUodCl7Y29uc3Qgcj10aGlzLm1lbWJlcnMuZmluZEluZGV4KGE9PnQ9PT1hKTtpZihyPT09MClyZXR1cm4hMTtsZXQgbjtmb3IobGV0IGE9cjthPj0wO2EtLSl7Y29uc3QgaT10aGlzLm1lbWJlcnNbYV07aWYoaS5pc1ByZXNlbnQhPT0hMSl7bj1pO2JyZWFrfX1yZXR1cm4gbj8odGhpcy5wcm9tb3RlKG4pLCEwKTohMX1wcm9tb3RlKHQscil7Y29uc3Qgbj10aGlzLmxlYWQ7aWYodCE9PW4mJih0aGlzLnByZXZMZWFkPW4sdGhpcy5sZWFkPXQsdC5zaG93KCksbikpe24uaW5zdGFuY2UmJm4uc2NoZWR1bGVSZW5kZXIoKSx0LnNjaGVkdWxlUmVuZGVyKCksdC5yZXN1bWVGcm9tPW4sciYmKHQucmVzdW1lRnJvbS5wcmVzZXJ2ZU9wYWNpdHk9ITApLG4uc25hcHNob3QmJih0LnNuYXBzaG90PW4uc25hcHNob3QsdC5zbmFwc2hvdC5sYXRlc3RWYWx1ZXM9bi5hbmltYXRpb25WYWx1ZXN8fG4ubGF0ZXN0VmFsdWVzKSx0LnJvb3QmJnQucm9vdC5pc1VwZGF0aW5nJiYodC5pc0xheW91dERpcnR5PSEwKTtjb25zdHtjcm9zc2ZhZGU6YX09dC5vcHRpb25zO2E9PT0hMSYmbi5oaWRlKCl9fWV4aXRBbmltYXRpb25Db21wbGV0ZSgpe3RoaXMubWVtYmVycy5mb3JFYWNoKHQ9Pntjb25zdHtvcHRpb25zOnIscmVzdW1pbmdGcm9tOm59PXQ7ci5vbkV4aXRDb21wbGV0ZSYmci5vbkV4aXRDb21wbGV0ZSgpLG4mJm4ub3B0aW9ucy5vbkV4aXRDb21wbGV0ZSYmbi5vcHRpb25zLm9uRXhpdENvbXBsZXRlKCl9KX1zY2hlZHVsZVJlbmRlcigpe3RoaXMubWVtYmVycy5mb3JFYWNoKHQ9Pnt0Lmluc3RhbmNlJiZ0LnNjaGVkdWxlUmVuZGVyKCExKX0pfXJlbW92ZUxlYWRTbmFwc2hvdCgpe3RoaXMubGVhZCYmdGhpcy5sZWFkLnNuYXBzaG90JiYodGhpcy5sZWFkLnNuYXBzaG90PXZvaWQgMCl9fWNvbnN0IHUwPXtoYXNBbmltYXRlZFNpbmNlUmVzaXplOiEwLGhhc0V2ZXJVcGRhdGVkOiExfSxuaj1bIiIsIlgiLCJZIiwiWiJdLG5mZT0xZTM7bGV0IHNmZT0wO2Z1bmN0aW9uIHNqKGUsdCxyLG4pe2NvbnN0e2xhdGVzdFZhbHVlczphfT10O2FbZV0mJihyW2VdPWFbZV0sdC5zZXRTdGF0aWNWYWx1ZShlLDApLG4mJihuW2VdPTApKX1mdW5jdGlvbiBDSyhlKXtpZihlLmhhc0NoZWNrZWRPcHRpbWlzZWRBcHBlYXI9ITAsZS5yb290PT09ZSlyZXR1cm47Y29uc3R7dmlzdWFsRWxlbWVudDp0fT1lLm9wdGlvbnM7aWYoIXQpcmV0dXJuO2NvbnN0IHI9VjgodCk7aWYod2luZG93Lk1vdGlvbkhhc09wdGltaXNlZEFuaW1hdGlvbihyLCJ0cmFuc2Zvcm0iKSl7Y29uc3R7bGF5b3V0OmEsbGF5b3V0SWQ6aX09ZS5vcHRpb25zO3dpbmRvdy5Nb3Rpb25DYW5jZWxPcHRpbWlzZWRBbmltYXRpb24ociwidHJhbnNmb3JtIixuciwhKGF8fGkpKX1jb25zdHtwYXJlbnQ6bn09ZTtuJiYhbi5oYXNDaGVja2VkT3B0aW1pc2VkQXBwZWFyJiZDSyhuKX1mdW5jdGlvbiBfSyh7YXR0YWNoUmVzaXplTGlzdGVuZXI6ZSxkZWZhdWx0UGFyZW50OnQsbWVhc3VyZVNjcm9sbDpyLGNoZWNrSXNTY3JvbGxSb290Om4scmVzZXRUcmFuc2Zvcm06YX0pe3JldHVybiBjbGFzc3tjb25zdHJ1Y3RvcihvPXt9LGw9dD09bnVsbD92b2lkIDA6dCgpKXt0aGlzLmlkPXNmZSsrLHRoaXMuYW5pbWF0aW9uSWQ9MCx0aGlzLmFuaW1hdGlvbkNvbW1pdElkPTAsdGhpcy5jaGlsZHJlbj1uZXcgU2V0LHRoaXMub3B0aW9ucz17fSx0aGlzLmlzVHJlZUFuaW1hdGluZz0hMSx0aGlzLmlzQW5pbWF0aW9uQmxvY2tlZD0hMSx0aGlzLmlzTGF5b3V0RGlydHk9ITEsdGhpcy5pc1Byb2plY3Rpb25EaXJ0eT0hMSx0aGlzLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5PSExLHRoaXMuaXNUcmFuc2Zvcm1EaXJ0eT0hMSx0aGlzLnVwZGF0ZU1hbnVhbGx5QmxvY2tlZD0hMSx0aGlzLnVwZGF0ZUJsb2NrZWRCeVJlc2l6ZT0hMSx0aGlzLmlzVXBkYXRpbmc9ITEsdGhpcy5pc1NWRz0hMSx0aGlzLm5lZWRzUmVzZXQ9ITEsdGhpcy5zaG91bGRSZXNldFRyYW5zZm9ybT0hMSx0aGlzLmhhc0NoZWNrZWRPcHRpbWlzZWRBcHBlYXI9ITEsdGhpcy50cmVlU2NhbGU9e3g6MSx5OjF9LHRoaXMuZXZlbnRIYW5kbGVycz1uZXcgTWFwLHRoaXMuaGFzVHJlZUFuaW1hdGVkPSExLHRoaXMubGF5b3V0VmVyc2lvbj0wLHRoaXMudXBkYXRlU2NoZWR1bGVkPSExLHRoaXMuc2NoZWR1bGVVcGRhdGU9KCk9PnRoaXMudXBkYXRlKCksdGhpcy5wcm9qZWN0aW9uVXBkYXRlU2NoZWR1bGVkPSExLHRoaXMuY2hlY2tVcGRhdGVGYWlsZWQ9KCk9Pnt0aGlzLmlzVXBkYXRpbmcmJih0aGlzLmlzVXBkYXRpbmc9ITEsdGhpcy5jbGVhckFsbFNuYXBzaG90cygpKX0sdGhpcy51cGRhdGVQcm9qZWN0aW9uPSgpPT57dGhpcy5wcm9qZWN0aW9uVXBkYXRlU2NoZWR1bGVkPSExLHRoaXMubm9kZXMuZm9yRWFjaChvZmUpLHRoaXMubm9kZXMuZm9yRWFjaCh1ZmUpLHRoaXMubm9kZXMuZm9yRWFjaChBZmUpLHRoaXMubm9kZXMuZm9yRWFjaChsZmUpfSx0aGlzLnJlc29sdmVkUmVsYXRpdmVUYXJnZXRBdD0wLHRoaXMubGlua2VkUGFyZW50VmVyc2lvbj0wLHRoaXMuaGFzUHJvamVjdGVkPSExLHRoaXMuaXNWaXNpYmxlPSEwLHRoaXMuYW5pbWF0aW9uUHJvZ3Jlc3M9MCx0aGlzLnNoYXJlZE5vZGVzPW5ldyBNYXAsdGhpcy5sYXRlc3RWYWx1ZXM9byx0aGlzLnJvb3Q9bD9sLnJvb3R8fGw6dGhpcyx0aGlzLnBhdGg9bD9bLi4ubC5wYXRoLGxdOltdLHRoaXMucGFyZW50PWwsdGhpcy5kZXB0aD1sP2wuZGVwdGgrMTowO2ZvcihsZXQgYz0wO2M8dGhpcy5wYXRoLmxlbmd0aDtjKyspdGhpcy5wYXRoW2NdLnNob3VsZFJlc2V0VHJhbnNmb3JtPSEwO3RoaXMucm9vdD09PXRoaXMmJih0aGlzLm5vZGVzPW5ldyBlZmUpfWFkZEV2ZW50TGlzdGVuZXIobyxsKXtyZXR1cm4gdGhpcy5ldmVudEhhbmRsZXJzLmhhcyhvKXx8dGhpcy5ldmVudEhhbmRsZXJzLnNldChvLG5ldyBTRSksdGhpcy5ldmVudEhhbmRsZXJzLmdldChvKS5hZGQobCl9bm90aWZ5TGlzdGVuZXJzKG8sLi4ubCl7Y29uc3QgYz10aGlzLmV2ZW50SGFuZGxlcnMuZ2V0KG8pO2MmJmMubm90aWZ5KC4uLmwpfWhhc0xpc3RlbmVycyhvKXtyZXR1cm4gdGhpcy5ldmVudEhhbmRsZXJzLmhhcyhvKX1tb3VudChvKXtpZih0aGlzLmluc3RhbmNlKXJldHVybjt0aGlzLmlzU1ZHPXJLKG8pJiYhaUFlKG8pLHRoaXMuaW5zdGFuY2U9bztjb25zdHtsYXlvdXRJZDpsLGxheW91dDpjLHZpc3VhbEVsZW1lbnQ6ZH09dGhpcy5vcHRpb25zO2lmKGQmJiFkLmN1cnJlbnQmJmQubW91bnQobyksdGhpcy5yb290Lm5vZGVzLmFkZCh0aGlzKSx0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuY2hpbGRyZW4uYWRkKHRoaXMpLHRoaXMucm9vdC5oYXNUcmVlQW5pbWF0ZWQmJihjfHxsKSYmKHRoaXMuaXNMYXlvdXREaXJ0eT0hMCksZSl7bGV0IHUsQT0wO2NvbnN0IGY9KCk9PnRoaXMucm9vdC51cGRhdGVCbG9ja2VkQnlSZXNpemU9ITE7bnIucmVhZCgoKT0+e0E9d2luZG93LmlubmVyV2lkdGh9KSxlKG8sKCk9Pntjb25zdCBoPXdpbmRvdy5pbm5lcldpZHRoO2ghPT1BJiYoQT1oLHRoaXMucm9vdC51cGRhdGVCbG9ja2VkQnlSZXNpemU9ITAsdSYmdSgpLHU9dGZlKGYsMjUwKSx1MC5oYXNBbmltYXRlZFNpbmNlUmVzaXplJiYodTAuaGFzQW5pbWF0ZWRTaW5jZVJlc2l6ZT0hMSx0aGlzLm5vZGVzLmZvckVhY2goJE8pKSl9KX1sJiZ0aGlzLnJvb3QucmVnaXN0ZXJTaGFyZWROb2RlKGwsdGhpcyksdGhpcy5vcHRpb25zLmFuaW1hdGUhPT0hMSYmZCYmKGx8fGMpJiZ0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImRpZFVwZGF0ZSIsKHtkZWx0YTp1LGhhc0xheW91dENoYW5nZWQ6QSxoYXNSZWxhdGl2ZUxheW91dENoYW5nZWQ6ZixsYXlvdXQ6aH0pPT57aWYodGhpcy5pc1RyZWVBbmltYXRpb25CbG9ja2VkKCkpe3RoaXMudGFyZ2V0PXZvaWQgMCx0aGlzLnJlbGF0aXZlVGFyZ2V0PXZvaWQgMDtyZXR1cm59Y29uc3QgcD10aGlzLm9wdGlvbnMudHJhbnNpdGlvbnx8ZC5nZXREZWZhdWx0VHJhbnNpdGlvbigpfHxnZmUse29uTGF5b3V0QW5pbWF0aW9uU3RhcnQ6bSxvbkxheW91dEFuaW1hdGlvbkNvbXBsZXRlOnh9PWQuZ2V0UHJvcHMoKSx3PSF0aGlzLnRhcmdldExheW91dHx8IWJLKHRoaXMudGFyZ2V0TGF5b3V0LGgpLHk9IUEmJmY7aWYodGhpcy5vcHRpb25zLmxheW91dFJvb3R8fHRoaXMucmVzdW1lRnJvbXx8eXx8QSYmKHd8fCF0aGlzLmN1cnJlbnRBbmltYXRpb24pKXt0aGlzLnJlc3VtZUZyb20mJih0aGlzLnJlc3VtaW5nRnJvbT10aGlzLnJlc3VtZUZyb20sdGhpcy5yZXN1bWluZ0Zyb20ucmVzdW1pbmdGcm9tPXZvaWQgMCk7Y29uc3Qgdj17Li4uUUUocCwibGF5b3V0Iiksb25QbGF5Om0sb25Db21wbGV0ZTp4fTsoZC5zaG91bGRSZWR1Y2VNb3Rpb258fHRoaXMub3B0aW9ucy5sYXlvdXRSb290KSYmKHYuZGVsYXk9MCx2LnR5cGU9ITEpLHRoaXMuc3RhcnRBbmltYXRpb24odiksdGhpcy5zZXRBbmltYXRpb25PcmlnaW4odSx5KX1lbHNlIEF8fCRPKHRoaXMpLHRoaXMuaXNMZWFkKCkmJnRoaXMub3B0aW9ucy5vbkV4aXRDb21wbGV0ZSYmdGhpcy5vcHRpb25zLm9uRXhpdENvbXBsZXRlKCk7dGhpcy50YXJnZXRMYXlvdXQ9aH0pfXVubW91bnQoKXt0aGlzLm9wdGlvbnMubGF5b3V0SWQmJnRoaXMud2lsbFVwZGF0ZSgpLHRoaXMucm9vdC5ub2Rlcy5yZW1vdmUodGhpcyk7Y29uc3Qgbz10aGlzLmdldFN0YWNrKCk7byYmby5yZW1vdmUodGhpcyksdGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LmNoaWxkcmVuLmRlbGV0ZSh0aGlzKSx0aGlzLmluc3RhbmNlPXZvaWQgMCx0aGlzLmV2ZW50SGFuZGxlcnMuY2xlYXIoKSxVbCh0aGlzLnVwZGF0ZVByb2plY3Rpb24pfWJsb2NrVXBkYXRlKCl7dGhpcy51cGRhdGVNYW51YWxseUJsb2NrZWQ9ITB9dW5ibG9ja1VwZGF0ZSgpe3RoaXMudXBkYXRlTWFudWFsbHlCbG9ja2VkPSExfWlzVXBkYXRlQmxvY2tlZCgpe3JldHVybiB0aGlzLnVwZGF0ZU1hbnVhbGx5QmxvY2tlZHx8dGhpcy51cGRhdGVCbG9ja2VkQnlSZXNpemV9aXNUcmVlQW5pbWF0aW9uQmxvY2tlZCgpe3JldHVybiB0aGlzLmlzQW5pbWF0aW9uQmxvY2tlZHx8dGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LmlzVHJlZUFuaW1hdGlvbkJsb2NrZWQoKXx8ITF9c3RhcnRVcGRhdGUoKXt0aGlzLmlzVXBkYXRlQmxvY2tlZCgpfHwodGhpcy5pc1VwZGF0aW5nPSEwLHRoaXMubm9kZXMmJnRoaXMubm9kZXMuZm9yRWFjaChmZmUpLHRoaXMuYW5pbWF0aW9uSWQrKyl9Z2V0VHJhbnNmb3JtVGVtcGxhdGUoKXtjb25zdHt2aXN1YWxFbGVtZW50Om99PXRoaXMub3B0aW9ucztyZXR1cm4gbyYmby5nZXRQcm9wcygpLnRyYW5zZm9ybVRlbXBsYXRlfXdpbGxVcGRhdGUobz0hMCl7aWYodGhpcy5yb290Lmhhc1RyZWVBbmltYXRlZD0hMCx0aGlzLnJvb3QuaXNVcGRhdGVCbG9ja2VkKCkpe3RoaXMub3B0aW9ucy5vbkV4aXRDb21wbGV0ZSYmdGhpcy5vcHRpb25zLm9uRXhpdENvbXBsZXRlKCk7cmV0dXJufWlmKHdpbmRvdy5Nb3Rpb25DYW5jZWxPcHRpbWlzZWRBbmltYXRpb24mJiF0aGlzLmhhc0NoZWNrZWRPcHRpbWlzZWRBcHBlYXImJkNLKHRoaXMpLCF0aGlzLnJvb3QuaXNVcGRhdGluZyYmdGhpcy5yb290LnN0YXJ0VXBkYXRlKCksdGhpcy5pc0xheW91dERpcnR5KXJldHVybjt0aGlzLmlzTGF5b3V0RGlydHk9ITA7Zm9yKGxldCB1PTA7dTx0aGlzLnBhdGgubGVuZ3RoO3UrKyl7Y29uc3QgQT10aGlzLnBhdGhbdV07QS5zaG91bGRSZXNldFRyYW5zZm9ybT0hMCxBLnVwZGF0ZVNjcm9sbCgic25hcHNob3QiKSxBLm9wdGlvbnMubGF5b3V0Um9vdCYmQS53aWxsVXBkYXRlKCExKX1jb25zdHtsYXlvdXRJZDpsLGxheW91dDpjfT10aGlzLm9wdGlvbnM7aWYobD09PXZvaWQgMCYmIWMpcmV0dXJuO2NvbnN0IGQ9dGhpcy5nZXRUcmFuc2Zvcm1UZW1wbGF0ZSgpO3RoaXMucHJldlRyYW5zZm9ybVRlbXBsYXRlVmFsdWU9ZD9kKHRoaXMubGF0ZXN0VmFsdWVzLCIiKTp2b2lkIDAsdGhpcy51cGRhdGVTbmFwc2hvdCgpLG8mJnRoaXMubm90aWZ5TGlzdGVuZXJzKCJ3aWxsVXBkYXRlIil9dXBkYXRlKCl7aWYodGhpcy51cGRhdGVTY2hlZHVsZWQ9ITEsdGhpcy5pc1VwZGF0ZUJsb2NrZWQoKSl7dGhpcy51bmJsb2NrVXBkYXRlKCksdGhpcy5jbGVhckFsbFNuYXBzaG90cygpLHRoaXMubm9kZXMuZm9yRWFjaChRTyk7cmV0dXJufWlmKHRoaXMuYW5pbWF0aW9uSWQ8PXRoaXMuYW5pbWF0aW9uQ29tbWl0SWQpe3RoaXMubm9kZXMuZm9yRWFjaChMTyk7cmV0dXJufXRoaXMuYW5pbWF0aW9uQ29tbWl0SWQ9dGhpcy5hbmltYXRpb25JZCx0aGlzLmlzVXBkYXRpbmc/KHRoaXMuaXNVcGRhdGluZz0hMSx0aGlzLm5vZGVzLmZvckVhY2goZGZlKSx0aGlzLm5vZGVzLmZvckVhY2goYWZlKSx0aGlzLm5vZGVzLmZvckVhY2goaWZlKSk6dGhpcy5ub2Rlcy5mb3JFYWNoKExPKSx0aGlzLmNsZWFyQWxsU25hcHNob3RzKCk7Y29uc3QgbD1Lbi5ub3coKTtBbi5kZWx0YT1qaSgwLDFlMy82MCxsLUFuLnRpbWVzdGFtcCksQW4udGltZXN0YW1wPWwsQW4uaXNQcm9jZXNzaW5nPSEwLHExLnVwZGF0ZS5wcm9jZXNzKEFuKSxxMS5wcmVSZW5kZXIucHJvY2VzcyhBbikscTEucmVuZGVyLnByb2Nlc3MoQW4pLEFuLmlzUHJvY2Vzc2luZz0hMX1kaWRVcGRhdGUoKXt0aGlzLnVwZGF0ZVNjaGVkdWxlZHx8KHRoaXMudXBkYXRlU2NoZWR1bGVkPSEwLFZFLnJlYWQodGhpcy5zY2hlZHVsZVVwZGF0ZSkpfWNsZWFyQWxsU25hcHNob3RzKCl7dGhpcy5ub2Rlcy5mb3JFYWNoKGNmZSksdGhpcy5zaGFyZWROb2Rlcy5mb3JFYWNoKGhmZSl9c2NoZWR1bGVVcGRhdGVQcm9qZWN0aW9uKCl7dGhpcy5wcm9qZWN0aW9uVXBkYXRlU2NoZWR1bGVkfHwodGhpcy5wcm9qZWN0aW9uVXBkYXRlU2NoZWR1bGVkPSEwLG5yLnByZVJlbmRlcih0aGlzLnVwZGF0ZVByb2plY3Rpb24sITEsITApKX1zY2hlZHVsZUNoZWNrQWZ0ZXJVbm1vdW50KCl7bnIucG9zdFJlbmRlcigoKT0+e3RoaXMuaXNMYXlvdXREaXJ0eT90aGlzLnJvb3QuZGlkVXBkYXRlKCk6dGhpcy5yb290LmNoZWNrVXBkYXRlRmFpbGVkKCl9KX11cGRhdGVTbmFwc2hvdCgpe3RoaXMuc25hcHNob3R8fCF0aGlzLmluc3RhbmNlfHwodGhpcy5zbmFwc2hvdD10aGlzLm1lYXN1cmUoKSx0aGlzLnNuYXBzaG90JiYhVm4odGhpcy5zbmFwc2hvdC5tZWFzdXJlZEJveC54KSYmIVZuKHRoaXMuc25hcHNob3QubWVhc3VyZWRCb3gueSkmJih0aGlzLnNuYXBzaG90PXZvaWQgMCkpfXVwZGF0ZUxheW91dCgpe2lmKCF0aGlzLmluc3RhbmNlfHwodGhpcy51cGRhdGVTY3JvbGwoKSwhKHRoaXMub3B0aW9ucy5hbHdheXNNZWFzdXJlTGF5b3V0JiZ0aGlzLmlzTGVhZCgpKSYmIXRoaXMuaXNMYXlvdXREaXJ0eSkpcmV0dXJuO2lmKHRoaXMucmVzdW1lRnJvbSYmIXRoaXMucmVzdW1lRnJvbS5pbnN0YW5jZSlmb3IobGV0IGM9MDtjPHRoaXMucGF0aC5sZW5ndGg7YysrKXRoaXMucGF0aFtjXS51cGRhdGVTY3JvbGwoKTtjb25zdCBvPXRoaXMubGF5b3V0O3RoaXMubGF5b3V0PXRoaXMubWVhc3VyZSghMSksdGhpcy5sYXlvdXRWZXJzaW9uKyssdGhpcy5sYXlvdXRDb3JyZWN0ZWQ9THIoKSx0aGlzLmlzTGF5b3V0RGlydHk9ITEsdGhpcy5wcm9qZWN0aW9uRGVsdGE9dm9pZCAwLHRoaXMubm90aWZ5TGlzdGVuZXJzKCJtZWFzdXJlIix0aGlzLmxheW91dC5sYXlvdXRCb3gpO2NvbnN0e3Zpc3VhbEVsZW1lbnQ6bH09dGhpcy5vcHRpb25zO2wmJmwubm90aWZ5KCJMYXlvdXRNZWFzdXJlIix0aGlzLmxheW91dC5sYXlvdXRCb3gsbz9vLmxheW91dEJveDp2b2lkIDApfXVwZGF0ZVNjcm9sbChvPSJtZWFzdXJlIil7bGV0IGw9ISEodGhpcy5vcHRpb25zLmxheW91dFNjcm9sbCYmdGhpcy5pbnN0YW5jZSk7aWYodGhpcy5zY3JvbGwmJnRoaXMuc2Nyb2xsLmFuaW1hdGlvbklkPT09dGhpcy5yb290LmFuaW1hdGlvbklkJiZ0aGlzLnNjcm9sbC5waGFzZT09PW8mJihsPSExKSxsJiZ0aGlzLmluc3RhbmNlKXtjb25zdCBjPW4odGhpcy5pbnN0YW5jZSk7dGhpcy5zY3JvbGw9e2FuaW1hdGlvbklkOnRoaXMucm9vdC5hbmltYXRpb25JZCxwaGFzZTpvLGlzUm9vdDpjLG9mZnNldDpyKHRoaXMuaW5zdGFuY2UpLHdhc1Jvb3Q6dGhpcy5zY3JvbGw/dGhpcy5zY3JvbGwuaXNSb290OmN9fX1yZXNldFRyYW5zZm9ybSgpe2lmKCFhKXJldHVybjtjb25zdCBvPXRoaXMuaXNMYXlvdXREaXJ0eXx8dGhpcy5zaG91bGRSZXNldFRyYW5zZm9ybXx8dGhpcy5vcHRpb25zLmFsd2F5c01lYXN1cmVMYXlvdXQsbD10aGlzLnByb2plY3Rpb25EZWx0YSYmIXdLKHRoaXMucHJvamVjdGlvbkRlbHRhKSxjPXRoaXMuZ2V0VHJhbnNmb3JtVGVtcGxhdGUoKSxkPWM/Yyh0aGlzLmxhdGVzdFZhbHVlcywiIik6dm9pZCAwLHU9ZCE9PXRoaXMucHJldlRyYW5zZm9ybVRlbXBsYXRlVmFsdWU7byYmdGhpcy5pbnN0YW5jZSYmKGx8fGhjKHRoaXMubGF0ZXN0VmFsdWVzKXx8dSkmJihhKHRoaXMuaW5zdGFuY2UsZCksdGhpcy5zaG91bGRSZXNldFRyYW5zZm9ybT0hMSx0aGlzLnNjaGVkdWxlUmVuZGVyKCkpfW1lYXN1cmUobz0hMCl7Y29uc3QgbD10aGlzLm1lYXN1cmVQYWdlQm94KCk7bGV0IGM9dGhpcy5yZW1vdmVFbGVtZW50U2Nyb2xsKGwpO3JldHVybiBvJiYoYz10aGlzLnJlbW92ZVRyYW5zZm9ybShjKSkseGZlKGMpLHthbmltYXRpb25JZDp0aGlzLnJvb3QuYW5pbWF0aW9uSWQsbWVhc3VyZWRCb3g6bCxsYXlvdXRCb3g6YyxsYXRlc3RWYWx1ZXM6e30sc291cmNlOnRoaXMuaWR9fW1lYXN1cmVQYWdlQm94KCl7dmFyIGQ7Y29uc3R7dmlzdWFsRWxlbWVudDpvfT10aGlzLm9wdGlvbnM7aWYoIW8pcmV0dXJuIExyKCk7Y29uc3QgbD1vLm1lYXN1cmVWaWV3cG9ydEJveCgpO2lmKCEoKChkPXRoaXMuc2Nyb2xsKT09bnVsbD92b2lkIDA6ZC53YXNSb290KXx8dGhpcy5wYXRoLnNvbWUoeWZlKSkpe2NvbnN0e3Njcm9sbDp1fT10aGlzLnJvb3Q7dSYmKGh1KGwueCx1Lm9mZnNldC54KSxodShsLnksdS5vZmZzZXQueSkpfXJldHVybiBsfXJlbW92ZUVsZW1lbnRTY3JvbGwobyl7dmFyIGM7Y29uc3QgbD1McigpO2lmKGdhKGwsbyksKGM9dGhpcy5zY3JvbGwpIT1udWxsJiZjLndhc1Jvb3QpcmV0dXJuIGw7Zm9yKGxldCBkPTA7ZDx0aGlzLnBhdGgubGVuZ3RoO2QrKyl7Y29uc3QgdT10aGlzLnBhdGhbZF0se3Njcm9sbDpBLG9wdGlvbnM6Zn09dTt1IT09dGhpcy5yb290JiZBJiZmLmxheW91dFNjcm9sbCYmKEEud2FzUm9vdCYmZ2EobCxvKSxodShsLngsQS5vZmZzZXQueCksaHUobC55LEEub2Zmc2V0LnkpKX1yZXR1cm4gbH1hcHBseVRyYW5zZm9ybShvLGw9ITEpe2NvbnN0IGM9THIoKTtnYShjLG8pO2ZvcihsZXQgZD0wO2Q8dGhpcy5wYXRoLmxlbmd0aDtkKyspe2NvbnN0IHU9dGhpcy5wYXRoW2RdOyFsJiZ1Lm9wdGlvbnMubGF5b3V0U2Nyb2xsJiZ1LnNjcm9sbCYmdSE9PXUucm9vdCYmbXUoYyx7eDotdS5zY3JvbGwub2Zmc2V0LngseTotdS5zY3JvbGwub2Zmc2V0Lnl9KSxoYyh1LmxhdGVzdFZhbHVlcykmJm11KGMsdS5sYXRlc3RWYWx1ZXMpfXJldHVybiBoYyh0aGlzLmxhdGVzdFZhbHVlcykmJm11KGMsdGhpcy5sYXRlc3RWYWx1ZXMpLGN9cmVtb3ZlVHJhbnNmb3JtKG8pe2NvbnN0IGw9THIoKTtnYShsLG8pO2ZvcihsZXQgYz0wO2M8dGhpcy5wYXRoLmxlbmd0aDtjKyspe2NvbnN0IGQ9dGhpcy5wYXRoW2NdO2lmKCFkLmluc3RhbmNlfHwhaGMoZC5sYXRlc3RWYWx1ZXMpKWNvbnRpbnVlO3lfKGQubGF0ZXN0VmFsdWVzKSYmZC51cGRhdGVTbmFwc2hvdCgpO2NvbnN0IHU9THIoKSxBPWQubWVhc3VyZVBhZ2VCb3goKTtnYSh1LEEpLFRPKGwsZC5sYXRlc3RWYWx1ZXMsZC5zbmFwc2hvdD9kLnNuYXBzaG90LmxheW91dEJveDp2b2lkIDAsdSl9cmV0dXJuIGhjKHRoaXMubGF0ZXN0VmFsdWVzKSYmVE8obCx0aGlzLmxhdGVzdFZhbHVlcyksbH1zZXRUYXJnZXREZWx0YShvKXt0aGlzLnRhcmdldERlbHRhPW8sdGhpcy5yb290LnNjaGVkdWxlVXBkYXRlUHJvamVjdGlvbigpLHRoaXMuaXNQcm9qZWN0aW9uRGlydHk9ITB9c2V0T3B0aW9ucyhvKXt0aGlzLm9wdGlvbnM9ey4uLnRoaXMub3B0aW9ucywuLi5vLGNyb3NzZmFkZTpvLmNyb3NzZmFkZSE9PXZvaWQgMD9vLmNyb3NzZmFkZTohMH19Y2xlYXJNZWFzdXJlbWVudHMoKXt0aGlzLnNjcm9sbD12b2lkIDAsdGhpcy5sYXlvdXQ9dm9pZCAwLHRoaXMuc25hcHNob3Q9dm9pZCAwLHRoaXMucHJldlRyYW5zZm9ybVRlbXBsYXRlVmFsdWU9dm9pZCAwLHRoaXMudGFyZ2V0RGVsdGE9dm9pZCAwLHRoaXMudGFyZ2V0PXZvaWQgMCx0aGlzLmlzTGF5b3V0RGlydHk9ITF9Zm9yY2VSZWxhdGl2ZVBhcmVudFRvUmVzb2x2ZVRhcmdldCgpe3RoaXMucmVsYXRpdmVQYXJlbnQmJnRoaXMucmVsYXRpdmVQYXJlbnQucmVzb2x2ZWRSZWxhdGl2ZVRhcmdldEF0IT09QW4udGltZXN0YW1wJiZ0aGlzLnJlbGF0aXZlUGFyZW50LnJlc29sdmVUYXJnZXREZWx0YSghMCl9cmVzb2x2ZVRhcmdldERlbHRhKG89ITEpe3ZhciBoO2NvbnN0IGw9dGhpcy5nZXRMZWFkKCk7dGhpcy5pc1Byb2plY3Rpb25EaXJ0eXx8KHRoaXMuaXNQcm9qZWN0aW9uRGlydHk9bC5pc1Byb2plY3Rpb25EaXJ0eSksdGhpcy5pc1RyYW5zZm9ybURpcnR5fHwodGhpcy5pc1RyYW5zZm9ybURpcnR5PWwuaXNUcmFuc2Zvcm1EaXJ0eSksdGhpcy5pc1NoYXJlZFByb2plY3Rpb25EaXJ0eXx8KHRoaXMuaXNTaGFyZWRQcm9qZWN0aW9uRGlydHk9bC5pc1NoYXJlZFByb2plY3Rpb25EaXJ0eSk7Y29uc3QgYz0hIXRoaXMucmVzdW1pbmdGcm9tfHx0aGlzIT09bDtpZighKG98fGMmJnRoaXMuaXNTaGFyZWRQcm9qZWN0aW9uRGlydHl8fHRoaXMuaXNQcm9qZWN0aW9uRGlydHl8fChoPXRoaXMucGFyZW50KSE9bnVsbCYmaC5pc1Byb2plY3Rpb25EaXJ0eXx8dGhpcy5hdHRlbXB0VG9SZXNvbHZlUmVsYXRpdmVUYXJnZXR8fHRoaXMucm9vdC51cGRhdGVCbG9ja2VkQnlSZXNpemUpKXJldHVybjtjb25zdHtsYXlvdXQ6dSxsYXlvdXRJZDpBfT10aGlzLm9wdGlvbnM7aWYoIXRoaXMubGF5b3V0fHwhKHV8fEEpKXJldHVybjt0aGlzLnJlc29sdmVkUmVsYXRpdmVUYXJnZXRBdD1Bbi50aW1lc3RhbXA7Y29uc3QgZj10aGlzLmdldENsb3Nlc3RQcm9qZWN0aW5nUGFyZW50KCk7ZiYmdGhpcy5saW5rZWRQYXJlbnRWZXJzaW9uIT09Zi5sYXlvdXRWZXJzaW9uJiYhZi5vcHRpb25zLmxheW91dFJvb3QmJnRoaXMucmVtb3ZlUmVsYXRpdmVUYXJnZXQoKSwhdGhpcy50YXJnZXREZWx0YSYmIXRoaXMucmVsYXRpdmVUYXJnZXQmJihmJiZmLmxheW91dD90aGlzLmNyZWF0ZVJlbGF0aXZlVGFyZ2V0KGYsdGhpcy5sYXlvdXQubGF5b3V0Qm94LGYubGF5b3V0LmxheW91dEJveCk6dGhpcy5yZW1vdmVSZWxhdGl2ZVRhcmdldCgpKSwhKCF0aGlzLnJlbGF0aXZlVGFyZ2V0JiYhdGhpcy50YXJnZXREZWx0YSkmJih0aGlzLnRhcmdldHx8KHRoaXMudGFyZ2V0PUxyKCksdGhpcy50YXJnZXRXaXRoVHJhbnNmb3Jtcz1McigpKSx0aGlzLnJlbGF0aXZlVGFyZ2V0JiZ0aGlzLnJlbGF0aXZlVGFyZ2V0T3JpZ2luJiZ0aGlzLnJlbGF0aXZlUGFyZW50JiZ0aGlzLnJlbGF0aXZlUGFyZW50LnRhcmdldD8odGhpcy5mb3JjZVJlbGF0aXZlUGFyZW50VG9SZXNvbHZlVGFyZ2V0KCksJEFlKHRoaXMudGFyZ2V0LHRoaXMucmVsYXRpdmVUYXJnZXQsdGhpcy5yZWxhdGl2ZVBhcmVudC50YXJnZXQpKTp0aGlzLnRhcmdldERlbHRhPyh0aGlzLnJlc3VtaW5nRnJvbT90aGlzLnRhcmdldD10aGlzLmFwcGx5VHJhbnNmb3JtKHRoaXMubGF5b3V0LmxheW91dEJveCk6Z2EodGhpcy50YXJnZXQsdGhpcy5sYXlvdXQubGF5b3V0Qm94KSxjSyh0aGlzLnRhcmdldCx0aGlzLnRhcmdldERlbHRhKSk6Z2EodGhpcy50YXJnZXQsdGhpcy5sYXlvdXQubGF5b3V0Qm94KSx0aGlzLmF0dGVtcHRUb1Jlc29sdmVSZWxhdGl2ZVRhcmdldCYmKHRoaXMuYXR0ZW1wdFRvUmVzb2x2ZVJlbGF0aXZlVGFyZ2V0PSExLGYmJiEhZi5yZXN1bWluZ0Zyb209PSEhdGhpcy5yZXN1bWluZ0Zyb20mJiFmLm9wdGlvbnMubGF5b3V0U2Nyb2xsJiZmLnRhcmdldCYmdGhpcy5hbmltYXRpb25Qcm9ncmVzcyE9PTE/dGhpcy5jcmVhdGVSZWxhdGl2ZVRhcmdldChmLHRoaXMudGFyZ2V0LGYudGFyZ2V0KTp0aGlzLnJlbGF0aXZlUGFyZW50PXRoaXMucmVsYXRpdmVUYXJnZXQ9dm9pZCAwKSl9Z2V0Q2xvc2VzdFByb2plY3RpbmdQYXJlbnQoKXtpZighKCF0aGlzLnBhcmVudHx8eV8odGhpcy5wYXJlbnQubGF0ZXN0VmFsdWVzKXx8bEsodGhpcy5wYXJlbnQubGF0ZXN0VmFsdWVzKSkpcmV0dXJuIHRoaXMucGFyZW50LmlzUHJvamVjdGluZygpP3RoaXMucGFyZW50OnRoaXMucGFyZW50LmdldENsb3Nlc3RQcm9qZWN0aW5nUGFyZW50KCl9aXNQcm9qZWN0aW5nKCl7cmV0dXJuISEoKHRoaXMucmVsYXRpdmVUYXJnZXR8fHRoaXMudGFyZ2V0RGVsdGF8fHRoaXMub3B0aW9ucy5sYXlvdXRSb290KSYmdGhpcy5sYXlvdXQpfWNyZWF0ZVJlbGF0aXZlVGFyZ2V0KG8sbCxjKXt0aGlzLnJlbGF0aXZlUGFyZW50PW8sdGhpcy5saW5rZWRQYXJlbnRWZXJzaW9uPW8ubGF5b3V0VmVyc2lvbix0aGlzLmZvcmNlUmVsYXRpdmVQYXJlbnRUb1Jlc29sdmVUYXJnZXQoKSx0aGlzLnJlbGF0aXZlVGFyZ2V0PUxyKCksdGhpcy5yZWxhdGl2ZVRhcmdldE9yaWdpbj1McigpLGR5KHRoaXMucmVsYXRpdmVUYXJnZXRPcmlnaW4sbCxjKSxnYSh0aGlzLnJlbGF0aXZlVGFyZ2V0LHRoaXMucmVsYXRpdmVUYXJnZXRPcmlnaW4pfXJlbW92ZVJlbGF0aXZlVGFyZ2V0KCl7dGhpcy5yZWxhdGl2ZVBhcmVudD10aGlzLnJlbGF0aXZlVGFyZ2V0PXZvaWQgMH1jYWxjUHJvamVjdGlvbigpe3ZhciBwO2NvbnN0IG89dGhpcy5nZXRMZWFkKCksbD0hIXRoaXMucmVzdW1pbmdGcm9tfHx0aGlzIT09bztsZXQgYz0hMDtpZigodGhpcy5pc1Byb2plY3Rpb25EaXJ0eXx8KHA9dGhpcy5wYXJlbnQpIT1udWxsJiZwLmlzUHJvamVjdGlvbkRpcnR5KSYmKGM9ITEpLGwmJih0aGlzLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5fHx0aGlzLmlzVHJhbnNmb3JtRGlydHkpJiYoYz0hMSksdGhpcy5yZXNvbHZlZFJlbGF0aXZlVGFyZ2V0QXQ9PT1Bbi50aW1lc3RhbXAmJihjPSExKSxjKXJldHVybjtjb25zdHtsYXlvdXQ6ZCxsYXlvdXRJZDp1fT10aGlzLm9wdGlvbnM7aWYodGhpcy5pc1RyZWVBbmltYXRpbmc9ISEodGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LmlzVHJlZUFuaW1hdGluZ3x8dGhpcy5jdXJyZW50QW5pbWF0aW9ufHx0aGlzLnBlbmRpbmdBbmltYXRpb24pLHRoaXMuaXNUcmVlQW5pbWF0aW5nfHwodGhpcy50YXJnZXREZWx0YT10aGlzLnJlbGF0aXZlVGFyZ2V0PXZvaWQgMCksIXRoaXMubGF5b3V0fHwhKGR8fHUpKXJldHVybjtnYSh0aGlzLmxheW91dENvcnJlY3RlZCx0aGlzLmxheW91dC5sYXlvdXRCb3gpO2NvbnN0IEE9dGhpcy50cmVlU2NhbGUueCxmPXRoaXMudHJlZVNjYWxlLnk7Z0FlKHRoaXMubGF5b3V0Q29ycmVjdGVkLHRoaXMudHJlZVNjYWxlLHRoaXMucGF0aCxsKSxvLmxheW91dCYmIW8udGFyZ2V0JiYodGhpcy50cmVlU2NhbGUueCE9PTF8fHRoaXMudHJlZVNjYWxlLnkhPT0xKSYmKG8udGFyZ2V0PW8ubGF5b3V0LmxheW91dEJveCxvLnRhcmdldFdpdGhUcmFuc2Zvcm1zPUxyKCkpO2NvbnN0e3RhcmdldDpofT1vO2lmKCFoKXt0aGlzLnByZXZQcm9qZWN0aW9uRGVsdGEmJih0aGlzLmNyZWF0ZVByb2plY3Rpb25EZWx0YXMoKSx0aGlzLnNjaGVkdWxlUmVuZGVyKCkpO3JldHVybn0hdGhpcy5wcm9qZWN0aW9uRGVsdGF8fCF0aGlzLnByZXZQcm9qZWN0aW9uRGVsdGE/dGhpcy5jcmVhdGVQcm9qZWN0aW9uRGVsdGFzKCk6KENPKHRoaXMucHJldlByb2plY3Rpb25EZWx0YS54LHRoaXMucHJvamVjdGlvbkRlbHRhLngpLENPKHRoaXMucHJldlByb2plY3Rpb25EZWx0YS55LHRoaXMucHJvamVjdGlvbkRlbHRhLnkpKSxNaCh0aGlzLnByb2plY3Rpb25EZWx0YSx0aGlzLmxheW91dENvcnJlY3RlZCxoLHRoaXMubGF0ZXN0VmFsdWVzKSwodGhpcy50cmVlU2NhbGUueCE9PUF8fHRoaXMudHJlZVNjYWxlLnkhPT1mfHwhVU8odGhpcy5wcm9qZWN0aW9uRGVsdGEueCx0aGlzLnByZXZQcm9qZWN0aW9uRGVsdGEueCl8fCFVTyh0aGlzLnByb2plY3Rpb25EZWx0YS55LHRoaXMucHJldlByb2plY3Rpb25EZWx0YS55KSkmJih0aGlzLmhhc1Byb2plY3RlZD0hMCx0aGlzLnNjaGVkdWxlUmVuZGVyKCksdGhpcy5ub3RpZnlMaXN0ZW5lcnMoInByb2plY3Rpb25VcGRhdGUiLGgpKX1oaWRlKCl7dGhpcy5pc1Zpc2libGU9ITF9c2hvdygpe3RoaXMuaXNWaXNpYmxlPSEwfXNjaGVkdWxlUmVuZGVyKG89ITApe3ZhciBsO2lmKChsPXRoaXMub3B0aW9ucy52aXN1YWxFbGVtZW50KT09bnVsbHx8bC5zY2hlZHVsZVJlbmRlcigpLG8pe2NvbnN0IGM9dGhpcy5nZXRTdGFjaygpO2MmJmMuc2NoZWR1bGVSZW5kZXIoKX10aGlzLnJlc3VtaW5nRnJvbSYmIXRoaXMucmVzdW1pbmdGcm9tLmluc3RhbmNlJiYodGhpcy5yZXN1bWluZ0Zyb209dm9pZCAwKX1jcmVhdGVQcm9qZWN0aW9uRGVsdGFzKCl7dGhpcy5wcmV2UHJvamVjdGlvbkRlbHRhPWZ1KCksdGhpcy5wcm9qZWN0aW9uRGVsdGE9ZnUoKSx0aGlzLnByb2plY3Rpb25EZWx0YVdpdGhUcmFuc2Zvcm09ZnUoKX1zZXRBbmltYXRpb25PcmlnaW4obyxsPSExKXtjb25zdCBjPXRoaXMuc25hcHNob3QsZD1jP2MubGF0ZXN0VmFsdWVzOnt9LHU9ey4uLnRoaXMubGF0ZXN0VmFsdWVzfSxBPWZ1KCk7KCF0aGlzLnJlbGF0aXZlUGFyZW50fHwhdGhpcy5yZWxhdGl2ZVBhcmVudC5vcHRpb25zLmxheW91dFJvb3QpJiYodGhpcy5yZWxhdGl2ZVRhcmdldD10aGlzLnJlbGF0aXZlVGFyZ2V0T3JpZ2luPXZvaWQgMCksdGhpcy5hdHRlbXB0VG9SZXNvbHZlUmVsYXRpdmVUYXJnZXQ9IWw7Y29uc3QgZj1McigpLGg9Yz9jLnNvdXJjZTp2b2lkIDAscD10aGlzLmxheW91dD90aGlzLmxheW91dC5zb3VyY2U6dm9pZCAwLG09aCE9PXAseD10aGlzLmdldFN0YWNrKCksdz0heHx8eC5tZW1iZXJzLmxlbmd0aDw9MSx5PSEhKG0mJiF3JiZ0aGlzLm9wdGlvbnMuY3Jvc3NmYWRlPT09ITAmJiF0aGlzLnBhdGguc29tZShwZmUpKTt0aGlzLmFuaW1hdGlvblByb2dyZXNzPTA7bGV0IHY7dGhpcy5taXhUYXJnZXREZWx0YT1iPT57Y29uc3Qgaj1iLzFlMztITyhBLngsby54LGopLEhPKEEueSxvLnksaiksdGhpcy5zZXRUYXJnZXREZWx0YShBKSx0aGlzLnJlbGF0aXZlVGFyZ2V0JiZ0aGlzLnJlbGF0aXZlVGFyZ2V0T3JpZ2luJiZ0aGlzLmxheW91dCYmdGhpcy5yZWxhdGl2ZVBhcmVudCYmdGhpcy5yZWxhdGl2ZVBhcmVudC5sYXlvdXQmJihkeShmLHRoaXMubGF5b3V0LmxheW91dEJveCx0aGlzLnJlbGF0aXZlUGFyZW50LmxheW91dC5sYXlvdXRCb3gpLG1mZSh0aGlzLnJlbGF0aXZlVGFyZ2V0LHRoaXMucmVsYXRpdmVUYXJnZXRPcmlnaW4sZixqKSx2JiZ6QWUodGhpcy5yZWxhdGl2ZVRhcmdldCx2KSYmKHRoaXMuaXNQcm9qZWN0aW9uRGlydHk9ITEpLHZ8fCh2PUxyKCkpLGdhKHYsdGhpcy5yZWxhdGl2ZVRhcmdldCkpLG0mJih0aGlzLmFuaW1hdGlvblZhbHVlcz11LHFBZSh1LGQsdGhpcy5sYXRlc3RWYWx1ZXMsaix5LHcpKSx0aGlzLnJvb3Quc2NoZWR1bGVVcGRhdGVQcm9qZWN0aW9uKCksdGhpcy5zY2hlZHVsZVJlbmRlcigpLHRoaXMuYW5pbWF0aW9uUHJvZ3Jlc3M9an0sdGhpcy5taXhUYXJnZXREZWx0YSh0aGlzLm9wdGlvbnMubGF5b3V0Um9vdD8xZTM6MCl9c3RhcnRBbmltYXRpb24obyl7dmFyIGwsYyxkO3RoaXMubm90aWZ5TGlzdGVuZXJzKCJhbmltYXRpb25TdGFydCIpLChsPXRoaXMuY3VycmVudEFuaW1hdGlvbik9PW51bGx8fGwuc3RvcCgpLChkPShjPXRoaXMucmVzdW1pbmdGcm9tKT09bnVsbD92b2lkIDA6Yy5jdXJyZW50QW5pbWF0aW9uKT09bnVsbHx8ZC5zdG9wKCksdGhpcy5wZW5kaW5nQW5pbWF0aW9uJiYoVWwodGhpcy5wZW5kaW5nQW5pbWF0aW9uKSx0aGlzLnBlbmRpbmdBbmltYXRpb249dm9pZCAwKSx0aGlzLnBlbmRpbmdBbmltYXRpb249bnIudXBkYXRlKCgpPT57dTAuaGFzQW5pbWF0ZWRTaW5jZVJlc2l6ZT0hMCx0aGlzLm1vdGlvblZhbHVlfHwodGhpcy5tb3Rpb25WYWx1ZT1sQSgwKSksdGhpcy5jdXJyZW50QW5pbWF0aW9uPUpBZSh0aGlzLm1vdGlvblZhbHVlLFswLDFlM10sey4uLm8sdmVsb2NpdHk6MCxpc1N5bmM6ITAsb25VcGRhdGU6dT0+e3RoaXMubWl4VGFyZ2V0RGVsdGEodSksby5vblVwZGF0ZSYmby5vblVwZGF0ZSh1KX0sb25TdG9wOigpPT57fSxvbkNvbXBsZXRlOigpPT57by5vbkNvbXBsZXRlJiZvLm9uQ29tcGxldGUoKSx0aGlzLmNvbXBsZXRlQW5pbWF0aW9uKCl9fSksdGhpcy5yZXN1bWluZ0Zyb20mJih0aGlzLnJlc3VtaW5nRnJvbS5jdXJyZW50QW5pbWF0aW9uPXRoaXMuY3VycmVudEFuaW1hdGlvbiksdGhpcy5wZW5kaW5nQW5pbWF0aW9uPXZvaWQgMH0pfWNvbXBsZXRlQW5pbWF0aW9uKCl7dGhpcy5yZXN1bWluZ0Zyb20mJih0aGlzLnJlc3VtaW5nRnJvbS5jdXJyZW50QW5pbWF0aW9uPXZvaWQgMCx0aGlzLnJlc3VtaW5nRnJvbS5wcmVzZXJ2ZU9wYWNpdHk9dm9pZCAwKTtjb25zdCBvPXRoaXMuZ2V0U3RhY2soKTtvJiZvLmV4aXRBbmltYXRpb25Db21wbGV0ZSgpLHRoaXMucmVzdW1pbmdGcm9tPXRoaXMuY3VycmVudEFuaW1hdGlvbj10aGlzLmFuaW1hdGlvblZhbHVlcz12b2lkIDAsdGhpcy5ub3RpZnlMaXN0ZW5lcnMoImFuaW1hdGlvbkNvbXBsZXRlIil9ZmluaXNoQW5pbWF0aW9uKCl7dGhpcy5jdXJyZW50QW5pbWF0aW9uJiYodGhpcy5taXhUYXJnZXREZWx0YSYmdGhpcy5taXhUYXJnZXREZWx0YShuZmUpLHRoaXMuY3VycmVudEFuaW1hdGlvbi5zdG9wKCkpLHRoaXMuY29tcGxldGVBbmltYXRpb24oKX1hcHBseVRyYW5zZm9ybXNUb1RhcmdldCgpe2NvbnN0IG89dGhpcy5nZXRMZWFkKCk7bGV0e3RhcmdldFdpdGhUcmFuc2Zvcm1zOmwsdGFyZ2V0OmMsbGF5b3V0OmQsbGF0ZXN0VmFsdWVzOnV9PW87aWYoISghbHx8IWN8fCFkKSl7aWYodGhpcyE9PW8mJnRoaXMubGF5b3V0JiZkJiZCSyh0aGlzLm9wdGlvbnMuYW5pbWF0aW9uVHlwZSx0aGlzLmxheW91dC5sYXlvdXRCb3gsZC5sYXlvdXRCb3gpKXtjPXRoaXMudGFyZ2V0fHxMcigpO2NvbnN0IEE9Vm4odGhpcy5sYXlvdXQubGF5b3V0Qm94LngpO2MueC5taW49by50YXJnZXQueC5taW4sYy54Lm1heD1jLngubWluK0E7Y29uc3QgZj1Wbih0aGlzLmxheW91dC5sYXlvdXRCb3gueSk7Yy55Lm1pbj1vLnRhcmdldC55Lm1pbixjLnkubWF4PWMueS5taW4rZn1nYShsLGMpLG11KGwsdSksTWgodGhpcy5wcm9qZWN0aW9uRGVsdGFXaXRoVHJhbnNmb3JtLHRoaXMubGF5b3V0Q29ycmVjdGVkLGwsdSl9fXJlZ2lzdGVyU2hhcmVkTm9kZShvLGwpe3RoaXMuc2hhcmVkTm9kZXMuaGFzKG8pfHx0aGlzLnNoYXJlZE5vZGVzLnNldChvLG5ldyByZmUpLHRoaXMuc2hhcmVkTm9kZXMuZ2V0KG8pLmFkZChsKTtjb25zdCBkPWwub3B0aW9ucy5pbml0aWFsUHJvbW90aW9uQ29uZmlnO2wucHJvbW90ZSh7dHJhbnNpdGlvbjpkP2QudHJhbnNpdGlvbjp2b2lkIDAscHJlc2VydmVGb2xsb3dPcGFjaXR5OmQmJmQuc2hvdWxkUHJlc2VydmVGb2xsb3dPcGFjaXR5P2Quc2hvdWxkUHJlc2VydmVGb2xsb3dPcGFjaXR5KGwpOnZvaWQgMH0pfWlzTGVhZCgpe2NvbnN0IG89dGhpcy5nZXRTdGFjaygpO3JldHVybiBvP28ubGVhZD09PXRoaXM6ITB9Z2V0TGVhZCgpe3ZhciBsO2NvbnN0e2xheW91dElkOm99PXRoaXMub3B0aW9ucztyZXR1cm4gbz8oKGw9dGhpcy5nZXRTdGFjaygpKT09bnVsbD92b2lkIDA6bC5sZWFkKXx8dGhpczp0aGlzfWdldFByZXZMZWFkKCl7dmFyIGw7Y29uc3R7bGF5b3V0SWQ6b309dGhpcy5vcHRpb25zO3JldHVybiBvPyhsPXRoaXMuZ2V0U3RhY2soKSk9PW51bGw/dm9pZCAwOmwucHJldkxlYWQ6dm9pZCAwfWdldFN0YWNrKCl7Y29uc3R7bGF5b3V0SWQ6b309dGhpcy5vcHRpb25zO2lmKG8pcmV0dXJuIHRoaXMucm9vdC5zaGFyZWROb2Rlcy5nZXQobyl9cHJvbW90ZSh7bmVlZHNSZXNldDpvLHRyYW5zaXRpb246bCxwcmVzZXJ2ZUZvbGxvd09wYWNpdHk6Y309e30pe2NvbnN0IGQ9dGhpcy5nZXRTdGFjaygpO2QmJmQucHJvbW90ZSh0aGlzLGMpLG8mJih0aGlzLnByb2plY3Rpb25EZWx0YT12b2lkIDAsdGhpcy5uZWVkc1Jlc2V0PSEwKSxsJiZ0aGlzLnNldE9wdGlvbnMoe3RyYW5zaXRpb246bH0pfXJlbGVnYXRlKCl7Y29uc3Qgbz10aGlzLmdldFN0YWNrKCk7cmV0dXJuIG8/by5yZWxlZ2F0ZSh0aGlzKTohMX1yZXNldFNrZXdBbmRSb3RhdGlvbigpe2NvbnN0e3Zpc3VhbEVsZW1lbnQ6b309dGhpcy5vcHRpb25zO2lmKCFvKXJldHVybjtsZXQgbD0hMTtjb25zdHtsYXRlc3RWYWx1ZXM6Y309bztpZigoYy56fHxjLnJvdGF0ZXx8Yy5yb3RhdGVYfHxjLnJvdGF0ZVl8fGMucm90YXRlWnx8Yy5za2V3WHx8Yy5za2V3WSkmJihsPSEwKSwhbClyZXR1cm47Y29uc3QgZD17fTtjLnomJnNqKCJ6IixvLGQsdGhpcy5hbmltYXRpb25WYWx1ZXMpO2ZvcihsZXQgdT0wO3U8bmoubGVuZ3RoO3UrKylzaihgcm90YXRlJHtualt1XX1gLG8sZCx0aGlzLmFuaW1hdGlvblZhbHVlcyksc2ooYHNrZXcke25qW3VdfWAsbyxkLHRoaXMuYW5pbWF0aW9uVmFsdWVzKTtvLnJlbmRlcigpO2Zvcihjb25zdCB1IGluIGQpby5zZXRTdGF0aWNWYWx1ZSh1LGRbdV0pLHRoaXMuYW5pbWF0aW9uVmFsdWVzJiYodGhpcy5hbmltYXRpb25WYWx1ZXNbdV09ZFt1XSk7by5zY2hlZHVsZVJlbmRlcigpfWFwcGx5UHJvamVjdGlvblN0eWxlcyhvLGwpe2lmKCF0aGlzLmluc3RhbmNlfHx0aGlzLmlzU1ZHKXJldHVybjtpZighdGhpcy5pc1Zpc2libGUpe28udmlzaWJpbGl0eT0iaGlkZGVuIjtyZXR1cm59Y29uc3QgYz10aGlzLmdldFRyYW5zZm9ybVRlbXBsYXRlKCk7aWYodGhpcy5uZWVkc1Jlc2V0KXt0aGlzLm5lZWRzUmVzZXQ9ITEsby52aXNpYmlsaXR5PSIiLG8ub3BhY2l0eT0iIixvLnBvaW50ZXJFdmVudHM9ZDAobD09bnVsbD92b2lkIDA6bC5wb2ludGVyRXZlbnRzKXx8IiIsby50cmFuc2Zvcm09Yz9jKHRoaXMubGF0ZXN0VmFsdWVzLCIiKToibm9uZSI7cmV0dXJufWNvbnN0IGQ9dGhpcy5nZXRMZWFkKCk7aWYoIXRoaXMucHJvamVjdGlvbkRlbHRhfHwhdGhpcy5sYXlvdXR8fCFkLnRhcmdldCl7dGhpcy5vcHRpb25zLmxheW91dElkJiYoby5vcGFjaXR5PXRoaXMubGF0ZXN0VmFsdWVzLm9wYWNpdHkhPT12b2lkIDA/dGhpcy5sYXRlc3RWYWx1ZXMub3BhY2l0eToxLG8ucG9pbnRlckV2ZW50cz1kMChsPT1udWxsP3ZvaWQgMDpsLnBvaW50ZXJFdmVudHMpfHwiIiksdGhpcy5oYXNQcm9qZWN0ZWQmJiFoYyh0aGlzLmxhdGVzdFZhbHVlcykmJihvLnRyYW5zZm9ybT1jP2Moe30sIiIpOiJub25lIix0aGlzLmhhc1Byb2plY3RlZD0hMSk7cmV0dXJufW8udmlzaWJpbGl0eT0iIjtjb25zdCB1PWQuYW5pbWF0aW9uVmFsdWVzfHxkLmxhdGVzdFZhbHVlczt0aGlzLmFwcGx5VHJhbnNmb3Jtc1RvVGFyZ2V0KCk7bGV0IEE9V0FlKHRoaXMucHJvamVjdGlvbkRlbHRhV2l0aFRyYW5zZm9ybSx0aGlzLnRyZWVTY2FsZSx1KTtjJiYoQT1jKHUsQSkpLG8udHJhbnNmb3JtPUE7Y29uc3R7eDpmLHk6aH09dGhpcy5wcm9qZWN0aW9uRGVsdGE7by50cmFuc2Zvcm1PcmlnaW49YCR7Zi5vcmlnaW4qMTAwfSUgJHtoLm9yaWdpbioxMDB9JSAwYCxkLmFuaW1hdGlvblZhbHVlcz9vLm9wYWNpdHk9ZD09PXRoaXM/dS5vcGFjaXR5Pz90aGlzLmxhdGVzdFZhbHVlcy5vcGFjaXR5Pz8xOnRoaXMucHJlc2VydmVPcGFjaXR5P3RoaXMubGF0ZXN0VmFsdWVzLm9wYWNpdHk6dS5vcGFjaXR5RXhpdDpvLm9wYWNpdHk9ZD09PXRoaXM/dS5vcGFjaXR5IT09dm9pZCAwP3Uub3BhY2l0eToiIjp1Lm9wYWNpdHlFeGl0IT09dm9pZCAwP3Uub3BhY2l0eUV4aXQ6MDtmb3IoY29uc3QgcCBpbiB3Xyl7aWYodVtwXT09PXZvaWQgMCljb250aW51ZTtjb25zdHtjb3JyZWN0Om0sYXBwbHlUbzp4LGlzQ1NTVmFyaWFibGU6d309d19bcF0seT1BPT09Im5vbmUiP3VbcF06bSh1W3BdLGQpO2lmKHgpe2NvbnN0IHY9eC5sZW5ndGg7Zm9yKGxldCBiPTA7Yjx2O2IrKylvW3hbYl1dPXl9ZWxzZSB3P3RoaXMub3B0aW9ucy52aXN1YWxFbGVtZW50LnJlbmRlclN0YXRlLnZhcnNbcF09eTpvW3BdPXl9dGhpcy5vcHRpb25zLmxheW91dElkJiYoby5wb2ludGVyRXZlbnRzPWQ9PT10aGlzP2QwKGw9PW51bGw/dm9pZCAwOmwucG9pbnRlckV2ZW50cyl8fCIiOiJub25lIil9Y2xlYXJTbmFwc2hvdCgpe3RoaXMucmVzdW1lRnJvbT10aGlzLnNuYXBzaG90PXZvaWQgMH1yZXNldFRyZWUoKXt0aGlzLnJvb3Qubm9kZXMuZm9yRWFjaChvPT57dmFyIGw7cmV0dXJuKGw9by5jdXJyZW50QW5pbWF0aW9uKT09bnVsbD92b2lkIDA6bC5zdG9wKCl9KSx0aGlzLnJvb3Qubm9kZXMuZm9yRWFjaChRTyksdGhpcy5yb290LnNoYXJlZE5vZGVzLmNsZWFyKCl9fX1mdW5jdGlvbiBhZmUoZSl7ZS51cGRhdGVMYXlvdXQoKX1mdW5jdGlvbiBpZmUoZSl7dmFyIHI7Y29uc3QgdD0oKHI9ZS5yZXN1bWVGcm9tKT09bnVsbD92b2lkIDA6ci5zbmFwc2hvdCl8fGUuc25hcHNob3Q7aWYoZS5pc0xlYWQoKSYmZS5sYXlvdXQmJnQmJmUuaGFzTGlzdGVuZXJzKCJkaWRVcGRhdGUiKSl7Y29uc3R7bGF5b3V0Qm94Om4sbWVhc3VyZWRCb3g6YX09ZS5sYXlvdXQse2FuaW1hdGlvblR5cGU6aX09ZS5vcHRpb25zLG89dC5zb3VyY2UhPT1lLmxheW91dC5zb3VyY2U7aT09PSJzaXplIj9EcyhBPT57Y29uc3QgZj1vP3QubWVhc3VyZWRCb3hbQV06dC5sYXlvdXRCb3hbQV0saD1WbihmKTtmLm1pbj1uW0FdLm1pbixmLm1heD1mLm1pbitofSk6QksoaSx0LmxheW91dEJveCxuKSYmRHMoQT0+e2NvbnN0IGY9bz90Lm1lYXN1cmVkQm94W0FdOnQubGF5b3V0Qm94W0FdLGg9Vm4obltBXSk7Zi5tYXg9Zi5taW4raCxlLnJlbGF0aXZlVGFyZ2V0JiYhZS5jdXJyZW50QW5pbWF0aW9uJiYoZS5pc1Byb2plY3Rpb25EaXJ0eT0hMCxlLnJlbGF0aXZlVGFyZ2V0W0FdLm1heD1lLnJlbGF0aXZlVGFyZ2V0W0FdLm1pbitoKX0pO2NvbnN0IGw9ZnUoKTtNaChsLG4sdC5sYXlvdXRCb3gpO2NvbnN0IGM9ZnUoKTtvP01oKGMsZS5hcHBseVRyYW5zZm9ybShhLCEwKSx0Lm1lYXN1cmVkQm94KTpNaChjLG4sdC5sYXlvdXRCb3gpO2NvbnN0IGQ9IXdLKGwpO2xldCB1PSExO2lmKCFlLnJlc3VtZUZyb20pe2NvbnN0IEE9ZS5nZXRDbG9zZXN0UHJvamVjdGluZ1BhcmVudCgpO2lmKEEmJiFBLnJlc3VtZUZyb20pe2NvbnN0e3NuYXBzaG90OmYsbGF5b3V0Omh9PUE7aWYoZiYmaCl7Y29uc3QgcD1McigpO2R5KHAsdC5sYXlvdXRCb3gsZi5sYXlvdXRCb3gpO2NvbnN0IG09THIoKTtkeShtLG4saC5sYXlvdXRCb3gpLGJLKHAsbSl8fCh1PSEwKSxBLm9wdGlvbnMubGF5b3V0Um9vdCYmKGUucmVsYXRpdmVUYXJnZXQ9bSxlLnJlbGF0aXZlVGFyZ2V0T3JpZ2luPXAsZS5yZWxhdGl2ZVBhcmVudD1BKX19fWUubm90aWZ5TGlzdGVuZXJzKCJkaWRVcGRhdGUiLHtsYXlvdXQ6bixzbmFwc2hvdDp0LGRlbHRhOmMsbGF5b3V0RGVsdGE6bCxoYXNMYXlvdXRDaGFuZ2VkOmQsaGFzUmVsYXRpdmVMYXlvdXRDaGFuZ2VkOnV9KX1lbHNlIGlmKGUuaXNMZWFkKCkpe2NvbnN0e29uRXhpdENvbXBsZXRlOm59PWUub3B0aW9ucztuJiZuKCl9ZS5vcHRpb25zLnRyYW5zaXRpb249dm9pZCAwfWZ1bmN0aW9uIG9mZShlKXtlLnBhcmVudCYmKGUuaXNQcm9qZWN0aW5nKCl8fChlLmlzUHJvamVjdGlvbkRpcnR5PWUucGFyZW50LmlzUHJvamVjdGlvbkRpcnR5KSxlLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5fHwoZS5pc1NoYXJlZFByb2plY3Rpb25EaXJ0eT0hIShlLmlzUHJvamVjdGlvbkRpcnR5fHxlLnBhcmVudC5pc1Byb2plY3Rpb25EaXJ0eXx8ZS5wYXJlbnQuaXNTaGFyZWRQcm9qZWN0aW9uRGlydHkpKSxlLmlzVHJhbnNmb3JtRGlydHl8fChlLmlzVHJhbnNmb3JtRGlydHk9ZS5wYXJlbnQuaXNUcmFuc2Zvcm1EaXJ0eSkpfWZ1bmN0aW9uIGxmZShlKXtlLmlzUHJvamVjdGlvbkRpcnR5PWUuaXNTaGFyZWRQcm9qZWN0aW9uRGlydHk9ZS5pc1RyYW5zZm9ybURpcnR5PSExfWZ1bmN0aW9uIGNmZShlKXtlLmNsZWFyU25hcHNob3QoKX1mdW5jdGlvbiBRTyhlKXtlLmNsZWFyTWVhc3VyZW1lbnRzKCl9ZnVuY3Rpb24gTE8oZSl7ZS5pc0xheW91dERpcnR5PSExfWZ1bmN0aW9uIGRmZShlKXtjb25zdHt2aXN1YWxFbGVtZW50OnR9PWUub3B0aW9uczt0JiZ0LmdldFByb3BzKCkub25CZWZvcmVMYXlvdXRNZWFzdXJlJiZ0Lm5vdGlmeSgiQmVmb3JlTGF5b3V0TWVhc3VyZSIpLGUucmVzZXRUcmFuc2Zvcm0oKX1mdW5jdGlvbiAkTyhlKXtlLmZpbmlzaEFuaW1hdGlvbigpLGUudGFyZ2V0RGVsdGE9ZS5yZWxhdGl2ZVRhcmdldD1lLnRhcmdldD12b2lkIDAsZS5pc1Byb2plY3Rpb25EaXJ0eT0hMH1mdW5jdGlvbiB1ZmUoZSl7ZS5yZXNvbHZlVGFyZ2V0RGVsdGEoKX1mdW5jdGlvbiBBZmUoZSl7ZS5jYWxjUHJvamVjdGlvbigpfWZ1bmN0aW9uIGZmZShlKXtlLnJlc2V0U2tld0FuZFJvdGF0aW9uKCl9ZnVuY3Rpb24gaGZlKGUpe2UucmVtb3ZlTGVhZFNuYXBzaG90KCl9ZnVuY3Rpb24gSE8oZSx0LHIpe2UudHJhbnNsYXRlPUFyKHQudHJhbnNsYXRlLDAsciksZS5zY2FsZT1Bcih0LnNjYWxlLDEsciksZS5vcmlnaW49dC5vcmlnaW4sZS5vcmlnaW5Qb2ludD10Lm9yaWdpblBvaW50fWZ1bmN0aW9uIEtPKGUsdCxyLG4pe2UubWluPUFyKHQubWluLHIubWluLG4pLGUubWF4PUFyKHQubWF4LHIubWF4LG4pfWZ1bmN0aW9uIG1mZShlLHQscixuKXtLTyhlLngsdC54LHIueCxuKSxLTyhlLnksdC55LHIueSxuKX1mdW5jdGlvbiBwZmUoZSl7cmV0dXJuIGUuYW5pbWF0aW9uVmFsdWVzJiZlLmFuaW1hdGlvblZhbHVlcy5vcGFjaXR5RXhpdCE9PXZvaWQgMH1jb25zdCBnZmU9e2R1cmF0aW9uOi40NSxlYXNlOlsuNCwwLC4xLDFdfSxWTz1lPT50eXBlb2YgbmF2aWdhdG9yPCJ1IiYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGUpLHpPPVZPKCJhcHBsZXdlYmtpdC8iKSYmIVZPKCJjaHJvbWUvIik/TWF0aC5yb3VuZDp0YTtmdW5jdGlvbiBXTyhlKXtlLm1pbj16TyhlLm1pbiksZS5tYXg9ek8oZS5tYXgpfWZ1bmN0aW9uIHhmZShlKXtXTyhlLngpLFdPKGUueSl9ZnVuY3Rpb24gQksoZSx0LHIpe3JldHVybiBlPT09InBvc2l0aW9uInx8ZT09PSJwcmVzZXJ2ZS1hc3BlY3QiJiYhTEFlKElPKHQpLElPKHIpLC4yKX1mdW5jdGlvbiB5ZmUoZSl7dmFyIHQ7cmV0dXJuIGUhPT1lLnJvb3QmJigodD1lLnNjcm9sbCk9PW51bGw/dm9pZCAwOnQud2FzUm9vdCl9Y29uc3QgdmZlPV9LKHthdHRhY2hSZXNpemVMaXN0ZW5lcjooZSx0KT0+a20oZSwicmVzaXplIix0KSxtZWFzdXJlU2Nyb2xsOigpPT57dmFyIGUsdDtyZXR1cm57eDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8KChlPWRvY3VtZW50LmJvZHkpPT1udWxsP3ZvaWQgMDplLnNjcm9sbExlZnQpfHwwLHk6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8KCh0PWRvY3VtZW50LmJvZHkpPT1udWxsP3ZvaWQgMDp0LnNjcm9sbFRvcCl8fDB9fSxjaGVja0lzU2Nyb2xsUm9vdDooKT0+ITB9KSxhaj17Y3VycmVudDp2b2lkIDB9LFNLPV9LKHttZWFzdXJlU2Nyb2xsOmU9Pih7eDplLnNjcm9sbExlZnQseTplLnNjcm9sbFRvcH0pLGRlZmF1bHRQYXJlbnQ6KCk9PntpZighYWouY3VycmVudCl7Y29uc3QgZT1uZXcgdmZlKHt9KTtlLm1vdW50KHdpbmRvdyksZS5zZXRPcHRpb25zKHtsYXlvdXRTY3JvbGw6ITB9KSxhai5jdXJyZW50PWV9cmV0dXJuIGFqLmN1cnJlbnR9LHJlc2V0VHJhbnNmb3JtOihlLHQpPT57ZS5zdHlsZS50cmFuc2Zvcm09dCE9PXZvaWQgMD90OiJub25lIn0sY2hlY2tJc1Njcm9sbFJvb3Q6ZT0+d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSkucG9zaXRpb249PT0iZml4ZWQifSksWEU9Zy5jcmVhdGVDb250ZXh0KHt0cmFuc2Zvcm1QYWdlUG9pbnQ6ZT0+ZSxpc1N0YXRpYzohMSxyZWR1Y2VkTW90aW9uOiJuZXZlciJ9KTtmdW5jdGlvbiBHTyhlLHQpe2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKXJldHVybiBlKHQpO2UhPW51bGwmJihlLmN1cnJlbnQ9dCl9ZnVuY3Rpb24gd2ZlKC4uLmUpe3JldHVybiB0PT57bGV0IHI9ITE7Y29uc3Qgbj1lLm1hcChhPT57Y29uc3QgaT1HTyhhLHQpO3JldHVybiFyJiZ0eXBlb2YgaT09ImZ1bmN0aW9uIiYmKHI9ITApLGl9KTtpZihyKXJldHVybigpPT57Zm9yKGxldCBhPTA7YTxuLmxlbmd0aDthKyspe2NvbnN0IGk9blthXTt0eXBlb2YgaT09ImZ1bmN0aW9uIj9pKCk6R08oZVthXSxudWxsKX19fX1mdW5jdGlvbiBiZmUoLi4uZSl7cmV0dXJuIGcudXNlQ2FsbGJhY2sod2ZlKC4uLmUpLGUpfWNsYXNzIGpmZSBleHRlbmRzIGcuQ29tcG9uZW50e2dldFNuYXBzaG90QmVmb3JlVXBkYXRlKHQpe2NvbnN0IHI9dGhpcy5wcm9wcy5jaGlsZFJlZi5jdXJyZW50O2lmKHImJnQuaXNQcmVzZW50JiYhdGhpcy5wcm9wcy5pc1ByZXNlbnQpe2NvbnN0IG49ci5vZmZzZXRQYXJlbnQsYT1nXyhuKSYmbi5vZmZzZXRXaWR0aHx8MCxpPWdfKG4pJiZuLm9mZnNldEhlaWdodHx8MCxvPXRoaXMucHJvcHMuc2l6ZVJlZi5jdXJyZW50O28uaGVpZ2h0PXIub2Zmc2V0SGVpZ2h0fHwwLG8ud2lkdGg9ci5vZmZzZXRXaWR0aHx8MCxvLnRvcD1yLm9mZnNldFRvcCxvLmxlZnQ9ci5vZmZzZXRMZWZ0LG8ucmlnaHQ9YS1vLndpZHRoLW8ubGVmdCxvLmJvdHRvbT1pLW8uaGVpZ2h0LW8udG9wfXJldHVybiBudWxsfWNvbXBvbmVudERpZFVwZGF0ZSgpe31yZW5kZXIoKXtyZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbn19ZnVuY3Rpb24gTmZlKHtjaGlsZHJlbjplLGlzUHJlc2VudDp0LGFuY2hvclg6cixhbmNob3JZOm4scm9vdDphfSl7dmFyIEE7Y29uc3QgaT1nLnVzZUlkKCksbz1nLnVzZVJlZihudWxsKSxsPWcudXNlUmVmKHt3aWR0aDowLGhlaWdodDowLHRvcDowLGxlZnQ6MCxyaWdodDowLGJvdHRvbTowfSkse25vbmNlOmN9PWcudXNlQ29udGV4dChYRSksZD0oKEE9ZS5wcm9wcyk9PW51bGw/dm9pZCAwOkEucmVmKT8/KGU9PW51bGw/dm9pZCAwOmUucmVmKSx1PWJmZShvLGQpO3JldHVybiBnLnVzZUluc2VydGlvbkVmZmVjdCgoKT0+e2NvbnN0e3dpZHRoOmYsaGVpZ2h0OmgsdG9wOnAsbGVmdDptLHJpZ2h0OngsYm90dG9tOnd9PWwuY3VycmVudDtpZih0fHwhby5jdXJyZW50fHwhZnx8IWgpcmV0dXJuO2NvbnN0IHk9cj09PSJsZWZ0Ij9gbGVmdDogJHttfWA6YHJpZ2h0OiAke3h9YCx2PW49PT0iYm90dG9tIj9gYm90dG9tOiAke3d9YDpgdG9wOiAke3B9YDtvLmN1cnJlbnQuZGF0YXNldC5tb3Rpb25Qb3BJZD1pO2NvbnN0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtjJiYoYi5ub25jZT1jKTtjb25zdCBqPWE/P2RvY3VtZW50LmhlYWQ7cmV0dXJuIGouYXBwZW5kQ2hpbGQoYiksYi5zaGVldCYmYi5zaGVldC5pbnNlcnRSdWxlKGAKICAgICAgICAgIFtkYXRhLW1vdGlvbi1wb3AtaWQ9IiR7aX0iXSB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogICAgICAgICAgICB3aWR0aDogJHtmfXB4ICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIGhlaWdodDogJHtofXB4ICFpbXBvcnRhbnQ7CiAgICAgICAgICAgICR7eX1weCAhaW1wb3J0YW50OwogICAgICAgICAgICAke3Z9cHggIWltcG9ydGFudDsKICAgICAgICAgIH0KICAgICAgICBgKSwoKT0+e2ouY29udGFpbnMoYikmJmoucmVtb3ZlQ2hpbGQoYil9fSxbdF0pLHMuanN4KGpmZSx7aXNQcmVzZW50OnQsY2hpbGRSZWY6byxzaXplUmVmOmwsY2hpbGRyZW46Zy5jbG9uZUVsZW1lbnQoZSx7cmVmOnV9KX0pfWNvbnN0IENmZT0oe2NoaWxkcmVuOmUsaW5pdGlhbDp0LGlzUHJlc2VudDpyLG9uRXhpdENvbXBsZXRlOm4sY3VzdG9tOmEscHJlc2VuY2VBZmZlY3RzTGF5b3V0OmksbW9kZTpvLGFuY2hvclg6bCxhbmNob3JZOmMscm9vdDpkfSk9Pntjb25zdCB1PU5FKF9mZSksQT1nLnVzZUlkKCk7bGV0IGY9ITAsaD1nLnVzZU1lbW8oKCk9PihmPSExLHtpZDpBLGluaXRpYWw6dCxpc1ByZXNlbnQ6cixjdXN0b206YSxvbkV4aXRDb21wbGV0ZTpwPT57dS5zZXQocCwhMCk7Zm9yKGNvbnN0IG0gb2YgdS52YWx1ZXMoKSlpZighbSlyZXR1cm47biYmbigpfSxyZWdpc3RlcjpwPT4odS5zZXQocCwhMSksKCk9PnUuZGVsZXRlKHApKX0pLFtyLHUsbl0pO3JldHVybiBpJiZmJiYoaD17Li4uaH0pLGcudXNlTWVtbygoKT0+e3UuZm9yRWFjaCgocCxtKT0+dS5zZXQobSwhMSkpfSxbcl0pLGcudXNlRWZmZWN0KCgpPT57IXImJiF1LnNpemUmJm4mJm4oKX0sW3JdKSxvPT09InBvcExheW91dCImJihlPXMuanN4KE5mZSx7aXNQcmVzZW50OnIsYW5jaG9yWDpsLGFuY2hvclk6Yyxyb290OmQsY2hpbGRyZW46ZX0pKSxzLmpzeChCdy5Qcm92aWRlcix7dmFsdWU6aCxjaGlsZHJlbjplfSl9O2Z1bmN0aW9uIF9mZSgpe3JldHVybiBuZXcgTWFwfWZ1bmN0aW9uIEVLKGU9ITApe2NvbnN0IHQ9Zy51c2VDb250ZXh0KEJ3KTtpZih0PT09bnVsbClyZXR1cm5bITAsbnVsbF07Y29uc3R7aXNQcmVzZW50OnIsb25FeGl0Q29tcGxldGU6bixyZWdpc3RlcjphfT10LGk9Zy51c2VJZCgpO2cudXNlRWZmZWN0KCgpPT57aWYoZSlyZXR1cm4gYShpKX0sW2VdKTtjb25zdCBvPWcudXNlQ2FsbGJhY2soKCk9PmUmJm4mJm4oaSksW2ksbixlXSk7cmV0dXJuIXImJm4/WyExLG9dOlshMF19Y29uc3QgZXg9ZT0+ZS5rZXl8fCIiO2Z1bmN0aW9uIHFPKGUpe2NvbnN0IHQ9W107cmV0dXJuIGcuQ2hpbGRyZW4uZm9yRWFjaChlLHI9PntnLmlzVmFsaWRFbGVtZW50KHIpJiZ0LnB1c2gocil9KSx0fWNvbnN0IEJmZT0oe2NoaWxkcmVuOmUsY3VzdG9tOnQsaW5pdGlhbDpyPSEwLG9uRXhpdENvbXBsZXRlOm4scHJlc2VuY2VBZmZlY3RzTGF5b3V0OmE9ITAsbW9kZTppPSJzeW5jIixwcm9wYWdhdGU6bz0hMSxhbmNob3JYOmw9ImxlZnQiLGFuY2hvclk6Yz0idG9wIixyb290OmR9KT0+e2NvbnN0W3UsQV09RUsobyksZj1nLnVzZU1lbW8oKCk9PnFPKGUpLFtlXSksaD1vJiYhdT9bXTpmLm1hcChleCkscD1nLnVzZVJlZighMCksbT1nLnVzZVJlZihmKSx4PU5FKCgpPT5uZXcgTWFwKSx3PWcudXNlUmVmKG5ldyBTZXQpLFt5LHZdPWcudXNlU3RhdGUoZiksW2Isal09Zy51c2VTdGF0ZShmKTtvOCgoKT0+e3AuY3VycmVudD0hMSxtLmN1cnJlbnQ9Zjtmb3IobGV0IF89MDtfPGIubGVuZ3RoO18rKyl7Y29uc3QgQj1leChiW19dKTtoLmluY2x1ZGVzKEIpPyh4LmRlbGV0ZShCKSx3LmN1cnJlbnQuZGVsZXRlKEIpKTp4LmdldChCKSE9PSEwJiZ4LnNldChCLCExKX19LFtiLGgubGVuZ3RoLGguam9pbigiLSIpXSk7Y29uc3QgTj1bXTtpZihmIT09eSl7bGV0IF89Wy4uLmZdO2ZvcihsZXQgQj0wO0I8Yi5sZW5ndGg7QisrKXtjb25zdCBrPWJbQl0sRT1leChrKTtoLmluY2x1ZGVzKEUpfHwoXy5zcGxpY2UoQiwwLGspLE4ucHVzaChrKSl9cmV0dXJuIGk9PT0id2FpdCImJk4ubGVuZ3RoJiYoXz1OKSxqKHFPKF8pKSx2KGYpLG51bGx9Y29uc3R7Zm9yY2VSZW5kZXI6Q309Zy51c2VDb250ZXh0KGpFKTtyZXR1cm4gcy5qc3gocy5GcmFnbWVudCx7Y2hpbGRyZW46Yi5tYXAoXz0+e2NvbnN0IEI9ZXgoXyksaz1vJiYhdT8hMTpmPT09Ynx8aC5pbmNsdWRlcyhCKSxFPSgpPT57aWYody5jdXJyZW50LmhhcyhCKSlyZXR1cm47aWYody5jdXJyZW50LmFkZChCKSx4LmhhcyhCKSl4LnNldChCLCEwKTtlbHNlIHJldHVybjtsZXQgRj0hMDt4LmZvckVhY2goTz0+e098fChGPSExKX0pLEYmJihDPT1udWxsfHxDKCksaihtLmN1cnJlbnQpLG8mJihBPT1udWxsfHxBKCkpLG4mJm4oKSl9O3JldHVybiBzLmpzeChDZmUse2lzUHJlc2VudDprLGluaXRpYWw6IXAuY3VycmVudHx8cj92b2lkIDA6ITEsY3VzdG9tOnQscHJlc2VuY2VBZmZlY3RzTGF5b3V0OmEsbW9kZTppLHJvb3Q6ZCxvbkV4aXRDb21wbGV0ZTprP3ZvaWQgMDpFLGFuY2hvclg6bCxhbmNob3JZOmMsY2hpbGRyZW46X30sQil9KX0pfSxrSz1nLmNyZWF0ZUNvbnRleHQoe3N0cmljdDohMX0pLFlPPXthbmltYXRpb246WyJhbmltYXRlIiwidmFyaWFudHMiLCJ3aGlsZUhvdmVyIiwid2hpbGVUYXAiLCJleGl0Iiwid2hpbGVJblZpZXciLCJ3aGlsZUZvY3VzIiwid2hpbGVEcmFnIl0sZXhpdDpbImV4aXQiXSxkcmFnOlsiZHJhZyIsImRyYWdDb250cm9scyJdLGZvY3VzOlsid2hpbGVGb2N1cyJdLGhvdmVyOlsid2hpbGVIb3ZlciIsIm9uSG92ZXJTdGFydCIsIm9uSG92ZXJFbmQiXSx0YXA6WyJ3aGlsZVRhcCIsIm9uVGFwIiwib25UYXBTdGFydCIsIm9uVGFwQ2FuY2VsIl0scGFuOlsib25QYW4iLCJvblBhblN0YXJ0Iiwib25QYW5TZXNzaW9uU3RhcnQiLCJvblBhbkVuZCJdLGluVmlldzpbIndoaWxlSW5WaWV3Iiwib25WaWV3cG9ydEVudGVyIiwib25WaWV3cG9ydExlYXZlIl0sbGF5b3V0OlsibGF5b3V0IiwibGF5b3V0SWQiXX07bGV0IFhPPSExO2Z1bmN0aW9uIFNmZSgpe2lmKFhPKXJldHVybjtjb25zdCBlPXt9O2Zvcihjb25zdCB0IGluIFlPKWVbdF09e2lzRW5hYmxlZDpyPT5ZT1t0XS5zb21lKG49PiEhcltuXSl9O2FLKGUpLFhPPSEwfWZ1bmN0aW9uIFRLKCl7cmV0dXJuIFNmZSgpLGZBZSgpfWZ1bmN0aW9uIEVmZShlKXtjb25zdCB0PVRLKCk7Zm9yKGNvbnN0IHIgaW4gZSl0W3JdPXsuLi50W3JdLC4uLmVbcl19O2FLKHQpfWNvbnN0IGtmZT1uZXcgU2V0KFsiYW5pbWF0ZSIsImV4aXQiLCJ2YXJpYW50cyIsImluaXRpYWwiLCJzdHlsZSIsInZhbHVlcyIsInZhcmlhbnRzIiwidHJhbnNpdGlvbiIsInRyYW5zZm9ybVRlbXBsYXRlIiwiY3VzdG9tIiwiaW5oZXJpdCIsIm9uQmVmb3JlTGF5b3V0TWVhc3VyZSIsIm9uQW5pbWF0aW9uU3RhcnQiLCJvbkFuaW1hdGlvbkNvbXBsZXRlIiwib25VcGRhdGUiLCJvbkRyYWdTdGFydCIsIm9uRHJhZyIsIm9uRHJhZ0VuZCIsIm9uTWVhc3VyZURyYWdDb25zdHJhaW50cyIsIm9uRGlyZWN0aW9uTG9jayIsIm9uRHJhZ1RyYW5zaXRpb25FbmQiLCJfZHJhZ1giLCJfZHJhZ1kiLCJvbkhvdmVyU3RhcnQiLCJvbkhvdmVyRW5kIiwib25WaWV3cG9ydEVudGVyIiwib25WaWV3cG9ydExlYXZlIiwiZ2xvYmFsVGFwVGFyZ2V0IiwiaWdub3JlU3RyaWN0Iiwidmlld3BvcnQiXSk7ZnVuY3Rpb24gdXkoZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgid2hpbGUiKXx8ZS5zdGFydHNXaXRoKCJkcmFnIikmJmUhPT0iZHJhZ2dhYmxlInx8ZS5zdGFydHNXaXRoKCJsYXlvdXQiKXx8ZS5zdGFydHNXaXRoKCJvblRhcCIpfHxlLnN0YXJ0c1dpdGgoIm9uUGFuIil8fGUuc3RhcnRzV2l0aCgib25MYXlvdXQiKXx8a2ZlLmhhcyhlKX1sZXQgUEs9ZT0+IXV5KGUpO2Z1bmN0aW9uIFRmZShlKXt0eXBlb2YgZT09ImZ1bmN0aW9uIiYmKFBLPXQ9PnQuc3RhcnRzV2l0aCgib24iKT8hdXkodCk6ZSh0KSl9dHJ5e1RmZShyZXF1aXJlKCJAZW1vdGlvbi9pcy1wcm9wLXZhbGlkIikuZGVmYXVsdCl9Y2F0Y2h7fWZ1bmN0aW9uIFBmZShlLHQscil7Y29uc3Qgbj17fTtmb3IoY29uc3QgYSBpbiBlKWE9PT0idmFsdWVzIiYmdHlwZW9mIGUudmFsdWVzPT0ib2JqZWN0Inx8KFBLKGEpfHxyPT09ITAmJnV5KGEpfHwhdCYmIXV5KGEpfHxlLmRyYWdnYWJsZSYmYS5zdGFydHNXaXRoKCJvbkRyYWciKSkmJihuW2FdPWVbYV0pO3JldHVybiBufWNvbnN0IFR3PWcuY3JlYXRlQ29udGV4dCh7fSk7ZnVuY3Rpb24gRmZlKGUsdCl7aWYoa3coZSkpe2NvbnN0e2luaXRpYWw6cixhbmltYXRlOm59PWU7cmV0dXJue2luaXRpYWw6cj09PSExfHxFbShyKT9yOnZvaWQgMCxhbmltYXRlOkVtKG4pP246dm9pZCAwfX1yZXR1cm4gZS5pbmhlcml0IT09ITE/dDp7fX1mdW5jdGlvbiBPZmUoZSl7Y29uc3R7aW5pdGlhbDp0LGFuaW1hdGU6cn09RmZlKGUsZy51c2VDb250ZXh0KFR3KSk7cmV0dXJuIGcudXNlTWVtbygoKT0+KHtpbml0aWFsOnQsYW5pbWF0ZTpyfSksW0pPKHQpLEpPKHIpXSl9ZnVuY3Rpb24gSk8oZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZS5qb2luKCIgIik6ZX1jb25zdCBKRT0oKT0+KHtzdHlsZTp7fSx0cmFuc2Zvcm06e30sdHJhbnNmb3JtT3JpZ2luOnt9LHZhcnM6e319KTtmdW5jdGlvbiBGSyhlLHQscil7Zm9yKGNvbnN0IG4gaW4gdCkhSW4odFtuXSkmJiFBSyhuLHIpJiYoZVtuXT10W25dKX1mdW5jdGlvbiBJZmUoe3RyYW5zZm9ybVRlbXBsYXRlOmV9LHQpe3JldHVybiBnLnVzZU1lbW8oKCk9Pntjb25zdCByPUpFKCk7cmV0dXJuIHFFKHIsdCxlKSxPYmplY3QuYXNzaWduKHt9LHIudmFycyxyLnN0eWxlKX0sW3RdKX1mdW5jdGlvbiBVZmUoZSx0KXtjb25zdCByPWUuc3R5bGV8fHt9LG49e307cmV0dXJuIEZLKG4scixlKSxPYmplY3QuYXNzaWduKG4sSWZlKGUsdCkpLG59ZnVuY3Rpb24gRGZlKGUsdCl7Y29uc3Qgcj17fSxuPVVmZShlLHQpO3JldHVybiBlLmRyYWcmJmUuZHJhZ0xpc3RlbmVyIT09ITEmJihyLmRyYWdnYWJsZT0hMSxuLnVzZXJTZWxlY3Q9bi5XZWJraXRVc2VyU2VsZWN0PW4uV2Via2l0VG91Y2hDYWxsb3V0PSJub25lIixuLnRvdWNoQWN0aW9uPWUuZHJhZz09PSEwPyJub25lIjpgcGFuLSR7ZS5kcmFnPT09IngiPyJ5IjoieCJ9YCksZS50YWJJbmRleD09PXZvaWQgMCYmKGUub25UYXB8fGUub25UYXBTdGFydHx8ZS53aGlsZVRhcCkmJihyLnRhYkluZGV4PTApLHIuc3R5bGU9bixyfWNvbnN0IE9LPSgpPT4oey4uLkpFKCksYXR0cnM6e319KTtmdW5jdGlvbiBNZmUoZSx0LHIsbil7Y29uc3QgYT1nLnVzZU1lbW8oKCk9Pntjb25zdCBpPU9LKCk7cmV0dXJuIGZLKGksdCxtSyhuKSxlLnRyYW5zZm9ybVRlbXBsYXRlLGUuc3R5bGUpLHsuLi5pLmF0dHJzLHN0eWxlOnsuLi5pLnN0eWxlfX19LFt0XSk7aWYoZS5zdHlsZSl7Y29uc3QgaT17fTtGSyhpLGUuc3R5bGUsZSksYS5zdHlsZT17Li4uaSwuLi5hLnN0eWxlfX1yZXR1cm4gYX1jb25zdCBSZmU9WyJhbmltYXRlIiwiY2lyY2xlIiwiZGVmcyIsImRlc2MiLCJlbGxpcHNlIiwiZyIsImltYWdlIiwibGluZSIsImZpbHRlciIsIm1hcmtlciIsIm1hc2siLCJtZXRhZGF0YSIsInBhdGgiLCJwYXR0ZXJuIiwicG9seWdvbiIsInBvbHlsaW5lIiwicmVjdCIsInN0b3AiLCJzd2l0Y2giLCJzeW1ib2wiLCJzdmciLCJ0ZXh0IiwidHNwYW4iLCJ1c2UiLCJ2aWV3Il07ZnVuY3Rpb24gWkUoZSl7cmV0dXJuIHR5cGVvZiBlIT0ic3RyaW5nInx8ZS5pbmNsdWRlcygiLSIpPyExOiEhKFJmZS5pbmRleE9mKGUpPi0xfHwvW0EtWl0vdS50ZXN0KGUpKX1mdW5jdGlvbiBRZmUoZSx0LHIse2xhdGVzdFZhbHVlczpufSxhLGk9ITEsbyl7Y29uc3QgYz0obz8/WkUoZSk/TWZlOkRmZSkodCxuLGEsZSksZD1QZmUodCx0eXBlb2YgZT09InN0cmluZyIsaSksdT1lIT09Zy5GcmFnbWVudD97Li4uZCwuLi5jLHJlZjpyfTp7fSx7Y2hpbGRyZW46QX09dCxmPWcudXNlTWVtbygoKT0+SW4oQSk/QS5nZXQoKTpBLFtBXSk7cmV0dXJuIGcuY3JlYXRlRWxlbWVudChlLHsuLi51LGNoaWxkcmVuOmZ9KX1mdW5jdGlvbiBMZmUoe3NjcmFwZU1vdGlvblZhbHVlc0Zyb21Qcm9wczplLGNyZWF0ZVJlbmRlclN0YXRlOnR9LHIsbixhKXtyZXR1cm57bGF0ZXN0VmFsdWVzOiRmZShyLG4sYSxlKSxyZW5kZXJTdGF0ZTp0KCl9fWZ1bmN0aW9uICRmZShlLHQscixuKXtjb25zdCBhPXt9LGk9bihlLHt9KTtmb3IoY29uc3QgZiBpbiBpKWFbZl09ZDAoaVtmXSk7bGV0e2luaXRpYWw6byxhbmltYXRlOmx9PWU7Y29uc3QgYz1rdyhlKSxkPXNLKGUpO3QmJmQmJiFjJiZlLmluaGVyaXQhPT0hMSYmKG89PT12b2lkIDAmJihvPXQuaW5pdGlhbCksbD09PXZvaWQgMCYmKGw9dC5hbmltYXRlKSk7bGV0IHU9cj9yLmluaXRpYWw9PT0hMTohMTt1PXV8fG89PT0hMTtjb25zdCBBPXU/bDpvO2lmKEEmJnR5cGVvZiBBIT0iYm9vbGVhbiImJiFFdyhBKSl7Y29uc3QgZj1BcnJheS5pc0FycmF5KEEpP0E6W0FdO2ZvcihsZXQgaD0wO2g8Zi5sZW5ndGg7aCsrKXtjb25zdCBwPSRFKGUsZltoXSk7aWYocCl7Y29uc3R7dHJhbnNpdGlvbkVuZDptLHRyYW5zaXRpb246eCwuLi53fT1wO2Zvcihjb25zdCB5IGluIHcpe2xldCB2PXdbeV07aWYoQXJyYXkuaXNBcnJheSh2KSl7Y29uc3QgYj11P3YubGVuZ3RoLTE6MDt2PXZbYl19diE9PW51bGwmJihhW3ldPXYpfWZvcihjb25zdCB5IGluIG0pYVt5XT1tW3ldfX19cmV0dXJuIGF9Y29uc3QgSUs9ZT0+KHQscik9Pntjb25zdCBuPWcudXNlQ29udGV4dChUdyksYT1nLnVzZUNvbnRleHQoQncpLGk9KCk9PkxmZShlLHQsbixhKTtyZXR1cm4gcj9pKCk6TkUoaSl9LEhmZT1JSyh7c2NyYXBlTW90aW9uVmFsdWVzRnJvbVByb3BzOllFLGNyZWF0ZVJlbmRlclN0YXRlOkpFfSksS2ZlPUlLKHtzY3JhcGVNb3Rpb25WYWx1ZXNGcm9tUHJvcHM6cEssY3JlYXRlUmVuZGVyU3RhdGU6T0t9KSxWZmU9U3ltYm9sLmZvcigibW90aW9uQ29tcG9uZW50U3ltYm9sIik7ZnVuY3Rpb24gemZlKGUsdCxyKXtjb25zdCBuPWcudXNlUmVmKHIpO2cudXNlSW5zZXJ0aW9uRWZmZWN0KCgpPT57bi5jdXJyZW50PXJ9KTtjb25zdCBhPWcudXNlUmVmKG51bGwpO3JldHVybiBnLnVzZUNhbGxiYWNrKGk9Pnt2YXIgbDtpJiYoKGw9ZS5vbk1vdW50KT09bnVsbHx8bC5jYWxsKGUsaSkpLHQmJihpP3QubW91bnQoaSk6dC51bm1vdW50KCkpO2NvbnN0IG89bi5jdXJyZW50O2lmKHR5cGVvZiBvPT0iZnVuY3Rpb24iKWlmKGkpe2NvbnN0IGM9byhpKTt0eXBlb2YgYz09ImZ1bmN0aW9uIiYmKGEuY3VycmVudD1jKX1lbHNlIGEuY3VycmVudD8oYS5jdXJyZW50KCksYS5jdXJyZW50PW51bGwpOm8oaSk7ZWxzZSBvJiYoby5jdXJyZW50PWkpfSxbdF0pfWNvbnN0IFVLPWcuY3JlYXRlQ29udGV4dCh7fSk7ZnVuY3Rpb24gb2goZSl7cmV0dXJuIGUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsImN1cnJlbnQiKX1mdW5jdGlvbiBXZmUoZSx0LHIsbixhLGkpe3ZhciB4LHc7Y29uc3R7dmlzdWFsRWxlbWVudDpvfT1nLnVzZUNvbnRleHQoVHcpLGw9Zy51c2VDb250ZXh0KGtLKSxjPWcudXNlQ29udGV4dChCdyksZD1nLnVzZUNvbnRleHQoWEUpLnJlZHVjZWRNb3Rpb24sdT1nLnVzZVJlZihudWxsKTtuPW58fGwucmVuZGVyZXIsIXUuY3VycmVudCYmbiYmKHUuY3VycmVudD1uKGUse3Zpc3VhbFN0YXRlOnQscGFyZW50Om8scHJvcHM6cixwcmVzZW5jZUNvbnRleHQ6YyxibG9ja0luaXRpYWxBbmltYXRpb246Yz9jLmluaXRpYWw9PT0hMTohMSxyZWR1Y2VkTW90aW9uQ29uZmlnOmQsaXNTVkc6aX0pKTtjb25zdCBBPXUuY3VycmVudCxmPWcudXNlQ29udGV4dChVSyk7QSYmIUEucHJvamVjdGlvbiYmYSYmKEEudHlwZT09PSJodG1sInx8QS50eXBlPT09InN2ZyIpJiZHZmUodS5jdXJyZW50LHIsYSxmKTtjb25zdCBoPWcudXNlUmVmKCExKTtnLnVzZUluc2VydGlvbkVmZmVjdCgoKT0+e0EmJmguY3VycmVudCYmQS51cGRhdGUocixjKX0pO2NvbnN0IHA9cltLOF0sbT1nLnVzZVJlZighIXAmJiEoKHg9d2luZG93Lk1vdGlvbkhhbmRvZmZJc0NvbXBsZXRlKSE9bnVsbCYmeC5jYWxsKHdpbmRvdyxwKSkmJigodz13aW5kb3cuTW90aW9uSGFzT3B0aW1pc2VkQW5pbWF0aW9uKT09bnVsbD92b2lkIDA6dy5jYWxsKHdpbmRvdyxwKSkpO3JldHVybiBvOCgoKT0+e0EmJihoLmN1cnJlbnQ9ITAsd2luZG93Lk1vdGlvbklzTW91bnRlZD0hMCxBLnVwZGF0ZUZlYXR1cmVzKCksQS5zY2hlZHVsZVJlbmRlck1pY3JvdGFzaygpLG0uY3VycmVudCYmQS5hbmltYXRpb25TdGF0ZSYmQS5hbmltYXRpb25TdGF0ZS5hbmltYXRlQ2hhbmdlcygpKX0pLGcudXNlRWZmZWN0KCgpPT57QSYmKCFtLmN1cnJlbnQmJkEuYW5pbWF0aW9uU3RhdGUmJkEuYW5pbWF0aW9uU3RhdGUuYW5pbWF0ZUNoYW5nZXMoKSxtLmN1cnJlbnQmJihxdWV1ZU1pY3JvdGFzaygoKT0+e3ZhciB5Oyh5PXdpbmRvdy5Nb3Rpb25IYW5kb2ZmTWFya0FzQ29tcGxldGUpPT1udWxsfHx5LmNhbGwod2luZG93LHApfSksbS5jdXJyZW50PSExKSxBLmVudGVyaW5nQ2hpbGRyZW49dm9pZCAwKX0pLEF9ZnVuY3Rpb24gR2ZlKGUsdCxyLG4pe2NvbnN0e2xheW91dElkOmEsbGF5b3V0OmksZHJhZzpvLGRyYWdDb25zdHJhaW50czpsLGxheW91dFNjcm9sbDpjLGxheW91dFJvb3Q6ZCxsYXlvdXRDcm9zc2ZhZGU6dX09dDtlLnByb2plY3Rpb249bmV3IHIoZS5sYXRlc3RWYWx1ZXMsdFsiZGF0YS1mcmFtZXItcG9ydGFsLWlkIl0/dm9pZCAwOkRLKGUucGFyZW50KSksZS5wcm9qZWN0aW9uLnNldE9wdGlvbnMoe2xheW91dElkOmEsbGF5b3V0OmksYWx3YXlzTWVhc3VyZUxheW91dDohIW98fGwmJm9oKGwpLHZpc3VhbEVsZW1lbnQ6ZSxhbmltYXRpb25UeXBlOnR5cGVvZiBpPT0ic3RyaW5nIj9pOiJib3RoIixpbml0aWFsUHJvbW90aW9uQ29uZmlnOm4sY3Jvc3NmYWRlOnUsbGF5b3V0U2Nyb2xsOmMsbGF5b3V0Um9vdDpkfSl9ZnVuY3Rpb24gREsoZSl7aWYoZSlyZXR1cm4gZS5vcHRpb25zLmFsbG93UHJvamVjdGlvbiE9PSExP2UucHJvamVjdGlvbjpESyhlLnBhcmVudCl9ZnVuY3Rpb24gaWooZSx7Zm9yd2FyZE1vdGlvblByb3BzOnQ9ITEsdHlwZTpyfT17fSxuLGEpe24mJkVmZShuKTtjb25zdCBpPXI/cj09PSJzdmciOlpFKGUpLG89aT9LZmU6SGZlO2Z1bmN0aW9uIGwoZCx1KXtsZXQgQTtjb25zdCBmPXsuLi5nLnVzZUNvbnRleHQoWEUpLC4uLmQsbGF5b3V0SWQ6cWZlKGQpfSx7aXNTdGF0aWM6aH09ZixwPU9mZShkKSxtPW8oZCxoKTtpZighaCYmaTgpe1lmZSgpO2NvbnN0IHg9WGZlKGYpO0E9eC5NZWFzdXJlTGF5b3V0LHAudmlzdWFsRWxlbWVudD1XZmUoZSxtLGYsYSx4LlByb2plY3Rpb25Ob2RlLGkpfXJldHVybiBzLmpzeHMoVHcuUHJvdmlkZXIse3ZhbHVlOnAsY2hpbGRyZW46W0EmJnAudmlzdWFsRWxlbWVudD9zLmpzeChBLHt2aXN1YWxFbGVtZW50OnAudmlzdWFsRWxlbWVudCwuLi5mfSk6bnVsbCxRZmUoZSxkLHpmZShtLHAudmlzdWFsRWxlbWVudCx1KSxtLGgsdCxpKV19KX1sLmRpc3BsYXlOYW1lPWBtb3Rpb24uJHt0eXBlb2YgZT09InN0cmluZyI/ZTpgY3JlYXRlKCR7ZS5kaXNwbGF5TmFtZT8/ZS5uYW1lPz8iIn0pYH1gO2NvbnN0IGM9Zy5mb3J3YXJkUmVmKGwpO3JldHVybiBjW1ZmZV09ZSxjfWZ1bmN0aW9uIHFmZSh7bGF5b3V0SWQ6ZX0pe2NvbnN0IHQ9Zy51c2VDb250ZXh0KGpFKS5pZDtyZXR1cm4gdCYmZSE9PXZvaWQgMD90KyItIitlOmV9ZnVuY3Rpb24gWWZlKGUsdCl7Zy51c2VDb250ZXh0KGtLKS5zdHJpY3R9ZnVuY3Rpb24gWGZlKGUpe2NvbnN0IHQ9VEsoKSx7ZHJhZzpyLGxheW91dDpufT10O2lmKCFyJiYhbilyZXR1cm57fTtjb25zdCBhPXsuLi5yLC4uLm59O3JldHVybntNZWFzdXJlTGF5b3V0OnIhPW51bGwmJnIuaXNFbmFibGVkKGUpfHxuIT1udWxsJiZuLmlzRW5hYmxlZChlKT9hLk1lYXN1cmVMYXlvdXQ6dm9pZCAwLFByb2plY3Rpb25Ob2RlOmEuUHJvamVjdGlvbk5vZGV9fWZ1bmN0aW9uIEpmZShlLHQpe2lmKHR5cGVvZiBQcm94eT4idSIpcmV0dXJuIGlqO2NvbnN0IHI9bmV3IE1hcCxuPShpLG8pPT5paihpLG8sZSx0KSxhPShpLG8pPT5uKGksbyk7cmV0dXJuIG5ldyBQcm94eShhLHtnZXQ6KGksbyk9Pm89PT0iY3JlYXRlIj9uOihyLmhhcyhvKXx8ci5zZXQobyxpaihvLHZvaWQgMCxlLHQpKSxyLmdldChvKSl9KX1jb25zdCBaZmU9KGUsdCk9PnQuaXNTVkc/P1pFKGUpP25ldyBrQWUodCk6bmV3IE5BZSh0LHthbGxvd1Byb2plY3Rpb246ZSE9PWcuRnJhZ21lbnR9KTtjbGFzcyBlaGUgZXh0ZW5kcyBxbHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0LmFuaW1hdGlvblN0YXRlfHwodC5hbmltYXRpb25TdGF0ZT1JQWUodCkpfXVwZGF0ZUFuaW1hdGlvbkNvbnRyb2xzU3Vic2NyaXB0aW9uKCl7Y29uc3R7YW5pbWF0ZTp0fT10aGlzLm5vZGUuZ2V0UHJvcHMoKTtFdyh0KSYmKHRoaXMudW5tb3VudENvbnRyb2xzPXQuc3Vic2NyaWJlKHRoaXMubm9kZSkpfW1vdW50KCl7dGhpcy51cGRhdGVBbmltYXRpb25Db250cm9sc1N1YnNjcmlwdGlvbigpfXVwZGF0ZSgpe2NvbnN0e2FuaW1hdGU6dH09dGhpcy5ub2RlLmdldFByb3BzKCkse2FuaW1hdGU6cn09dGhpcy5ub2RlLnByZXZQcm9wc3x8e307dCE9PXImJnRoaXMudXBkYXRlQW5pbWF0aW9uQ29udHJvbHNTdWJzY3JpcHRpb24oKX11bm1vdW50KCl7dmFyIHQ7dGhpcy5ub2RlLmFuaW1hdGlvblN0YXRlLnJlc2V0KCksKHQ9dGhpcy51bm1vdW50Q29udHJvbHMpPT1udWxsfHx0LmNhbGwodGhpcyl9fWxldCB0aGU9MDtjbGFzcyByaGUgZXh0ZW5kcyBxbHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pZD10aGUrK311cGRhdGUoKXtpZighdGhpcy5ub2RlLnByZXNlbmNlQ29udGV4dClyZXR1cm47Y29uc3R7aXNQcmVzZW50OnQsb25FeGl0Q29tcGxldGU6cn09dGhpcy5ub2RlLnByZXNlbmNlQ29udGV4dCx7aXNQcmVzZW50Om59PXRoaXMubm9kZS5wcmV2UHJlc2VuY2VDb250ZXh0fHx7fTtpZighdGhpcy5ub2RlLmFuaW1hdGlvblN0YXRlfHx0PT09bilyZXR1cm47Y29uc3QgYT10aGlzLm5vZGUuYW5pbWF0aW9uU3RhdGUuc2V0QWN0aXZlKCJleGl0IiwhdCk7ciYmIXQmJmEudGhlbigoKT0+e3IodGhpcy5pZCl9KX1tb3VudCgpe2NvbnN0e3JlZ2lzdGVyOnQsb25FeGl0Q29tcGxldGU6cn09dGhpcy5ub2RlLnByZXNlbmNlQ29udGV4dHx8e307ciYmcih0aGlzLmlkKSx0JiYodGhpcy51bm1vdW50PXQodGhpcy5pZCkpfXVubW91bnQoKXt9fWNvbnN0IG5oZT17YW5pbWF0aW9uOntGZWF0dXJlOmVoZX0sZXhpdDp7RmVhdHVyZTpyaGV9fTtmdW5jdGlvbiBWcChlKXtyZXR1cm57cG9pbnQ6e3g6ZS5wYWdlWCx5OmUucGFnZVl9fX1jb25zdCBzaGU9ZT0+dD0+ekUodCkmJmUodCxWcCh0KSk7ZnVuY3Rpb24gUmgoZSx0LHIsbil7cmV0dXJuIGttKGUsdCxzaGUociksbil9Y29uc3QgTUs9KHtjdXJyZW50OmV9KT0+ZT9lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc6bnVsbCxaTz0oZSx0KT0+TWF0aC5hYnMoZS10KTtmdW5jdGlvbiBhaGUoZSx0KXtjb25zdCByPVpPKGUueCx0LngpLG49Wk8oZS55LHQueSk7cmV0dXJuIE1hdGguc3FydChyKioyK24qKjIpfWNvbnN0IGVJPW5ldyBTZXQoWyJhdXRvIiwic2Nyb2xsIl0pO2NsYXNzIFJLe2NvbnN0cnVjdG9yKHQscix7dHJhbnNmb3JtUGFnZVBvaW50Om4sY29udGV4dFdpbmRvdzphPXdpbmRvdyxkcmFnU25hcFRvT3JpZ2luOmk9ITEsZGlzdGFuY2VUaHJlc2hvbGQ6bz0zLGVsZW1lbnQ6bH09e30pe2lmKHRoaXMuc3RhcnRFdmVudD1udWxsLHRoaXMubGFzdE1vdmVFdmVudD1udWxsLHRoaXMubGFzdE1vdmVFdmVudEluZm89bnVsbCx0aGlzLmhhbmRsZXJzPXt9LHRoaXMuY29udGV4dFdpbmRvdz13aW5kb3csdGhpcy5zY3JvbGxQb3NpdGlvbnM9bmV3IE1hcCx0aGlzLnJlbW92ZVNjcm9sbExpc3RlbmVycz1udWxsLHRoaXMub25FbGVtZW50U2Nyb2xsPWg9Pnt0aGlzLmhhbmRsZVNjcm9sbChoLnRhcmdldCl9LHRoaXMub25XaW5kb3dTY3JvbGw9KCk9Pnt0aGlzLmhhbmRsZVNjcm9sbCh3aW5kb3cpfSx0aGlzLnVwZGF0ZVBvaW50PSgpPT57aWYoISh0aGlzLmxhc3RNb3ZlRXZlbnQmJnRoaXMubGFzdE1vdmVFdmVudEluZm8pKXJldHVybjtjb25zdCBoPWxqKHRoaXMubGFzdE1vdmVFdmVudEluZm8sdGhpcy5oaXN0b3J5KSxwPXRoaXMuc3RhcnRFdmVudCE9PW51bGwsbT1haGUoaC5vZmZzZXQse3g6MCx5OjB9KT49dGhpcy5kaXN0YW5jZVRocmVzaG9sZDtpZighcCYmIW0pcmV0dXJuO2NvbnN0e3BvaW50Onh9PWgse3RpbWVzdGFtcDp3fT1Bbjt0aGlzLmhpc3RvcnkucHVzaCh7Li4ueCx0aW1lc3RhbXA6d30pO2NvbnN0e29uU3RhcnQ6eSxvbk1vdmU6dn09dGhpcy5oYW5kbGVycztwfHwoeSYmeSh0aGlzLmxhc3RNb3ZlRXZlbnQsaCksdGhpcy5zdGFydEV2ZW50PXRoaXMubGFzdE1vdmVFdmVudCksdiYmdih0aGlzLmxhc3RNb3ZlRXZlbnQsaCl9LHRoaXMuaGFuZGxlUG9pbnRlck1vdmU9KGgscCk9Pnt0aGlzLmxhc3RNb3ZlRXZlbnQ9aCx0aGlzLmxhc3RNb3ZlRXZlbnRJbmZvPW9qKHAsdGhpcy50cmFuc2Zvcm1QYWdlUG9pbnQpLG5yLnVwZGF0ZSh0aGlzLnVwZGF0ZVBvaW50LCEwKX0sdGhpcy5oYW5kbGVQb2ludGVyVXA9KGgscCk9Pnt0aGlzLmVuZCgpO2NvbnN0e29uRW5kOm0sb25TZXNzaW9uRW5kOngscmVzdW1lQW5pbWF0aW9uOnd9PXRoaXMuaGFuZGxlcnM7aWYoKHRoaXMuZHJhZ1NuYXBUb09yaWdpbnx8IXRoaXMuc3RhcnRFdmVudCkmJncmJncoKSwhKHRoaXMubGFzdE1vdmVFdmVudCYmdGhpcy5sYXN0TW92ZUV2ZW50SW5mbykpcmV0dXJuO2NvbnN0IHk9bGooaC50eXBlPT09InBvaW50ZXJjYW5jZWwiP3RoaXMubGFzdE1vdmVFdmVudEluZm86b2oocCx0aGlzLnRyYW5zZm9ybVBhZ2VQb2ludCksdGhpcy5oaXN0b3J5KTt0aGlzLnN0YXJ0RXZlbnQmJm0mJm0oaCx5KSx4JiZ4KGgseSl9LCF6RSh0KSlyZXR1cm47dGhpcy5kcmFnU25hcFRvT3JpZ2luPWksdGhpcy5oYW5kbGVycz1yLHRoaXMudHJhbnNmb3JtUGFnZVBvaW50PW4sdGhpcy5kaXN0YW5jZVRocmVzaG9sZD1vLHRoaXMuY29udGV4dFdpbmRvdz1hfHx3aW5kb3c7Y29uc3QgYz1WcCh0KSxkPW9qKGMsdGhpcy50cmFuc2Zvcm1QYWdlUG9pbnQpLHtwb2ludDp1fT1kLHt0aW1lc3RhbXA6QX09QW47dGhpcy5oaXN0b3J5PVt7Li4udSx0aW1lc3RhbXA6QX1dO2NvbnN0e29uU2Vzc2lvblN0YXJ0OmZ9PXI7ZiYmZih0LGxqKGQsdGhpcy5oaXN0b3J5KSksdGhpcy5yZW1vdmVMaXN0ZW5lcnM9JHAoUmgodGhpcy5jb250ZXh0V2luZG93LCJwb2ludGVybW92ZSIsdGhpcy5oYW5kbGVQb2ludGVyTW92ZSksUmgodGhpcy5jb250ZXh0V2luZG93LCJwb2ludGVydXAiLHRoaXMuaGFuZGxlUG9pbnRlclVwKSxSaCh0aGlzLmNvbnRleHRXaW5kb3csInBvaW50ZXJjYW5jZWwiLHRoaXMuaGFuZGxlUG9pbnRlclVwKSksbCYmdGhpcy5zdGFydFNjcm9sbFRyYWNraW5nKGwpfXN0YXJ0U2Nyb2xsVHJhY2tpbmcodCl7bGV0IHI9dC5wYXJlbnRFbGVtZW50O2Zvcig7cjspe2NvbnN0IG49Z2V0Q29tcHV0ZWRTdHlsZShyKTsoZUkuaGFzKG4ub3ZlcmZsb3dYKXx8ZUkuaGFzKG4ub3ZlcmZsb3dZKSkmJnRoaXMuc2Nyb2xsUG9zaXRpb25zLnNldChyLHt4OnIuc2Nyb2xsTGVmdCx5OnIuc2Nyb2xsVG9wfSkscj1yLnBhcmVudEVsZW1lbnR9dGhpcy5zY3JvbGxQb3NpdGlvbnMuc2V0KHdpbmRvdyx7eDp3aW5kb3cuc2Nyb2xsWCx5OndpbmRvdy5zY3JvbGxZfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vbkVsZW1lbnRTY3JvbGwse2NhcHR1cmU6ITAscGFzc2l2ZTohMH0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMub25XaW5kb3dTY3JvbGwse3Bhc3NpdmU6ITB9KSx0aGlzLnJlbW92ZVNjcm9sbExpc3RlbmVycz0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMub25FbGVtZW50U2Nyb2xsLHtjYXB0dXJlOiEwfSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vbldpbmRvd1Njcm9sbCl9fWhhbmRsZVNjcm9sbCh0KXtjb25zdCByPXRoaXMuc2Nyb2xsUG9zaXRpb25zLmdldCh0KTtpZighcilyZXR1cm47Y29uc3Qgbj10PT09d2luZG93LGE9bj97eDp3aW5kb3cuc2Nyb2xsWCx5OndpbmRvdy5zY3JvbGxZfTp7eDp0LnNjcm9sbExlZnQseTp0LnNjcm9sbFRvcH0saT17eDphLngtci54LHk6YS55LXIueX07aS54PT09MCYmaS55PT09MHx8KG4/dGhpcy5sYXN0TW92ZUV2ZW50SW5mbyYmKHRoaXMubGFzdE1vdmVFdmVudEluZm8ucG9pbnQueCs9aS54LHRoaXMubGFzdE1vdmVFdmVudEluZm8ucG9pbnQueSs9aS55KTp0aGlzLmhpc3RvcnkubGVuZ3RoPjAmJih0aGlzLmhpc3RvcnlbMF0ueC09aS54LHRoaXMuaGlzdG9yeVswXS55LT1pLnkpLHRoaXMuc2Nyb2xsUG9zaXRpb25zLnNldCh0LGEpLG5yLnVwZGF0ZSh0aGlzLnVwZGF0ZVBvaW50LCEwKSl9dXBkYXRlSGFuZGxlcnModCl7dGhpcy5oYW5kbGVycz10fWVuZCgpe3RoaXMucmVtb3ZlTGlzdGVuZXJzJiZ0aGlzLnJlbW92ZUxpc3RlbmVycygpLHRoaXMucmVtb3ZlU2Nyb2xsTGlzdGVuZXJzJiZ0aGlzLnJlbW92ZVNjcm9sbExpc3RlbmVycygpLHRoaXMuc2Nyb2xsUG9zaXRpb25zLmNsZWFyKCksVWwodGhpcy51cGRhdGVQb2ludCl9fWZ1bmN0aW9uIG9qKGUsdCl7cmV0dXJuIHQ/e3BvaW50OnQoZS5wb2ludCl9OmV9ZnVuY3Rpb24gdEkoZSx0KXtyZXR1cm57eDplLngtdC54LHk6ZS55LXQueX19ZnVuY3Rpb24gbGooe3BvaW50OmV9LHQpe3JldHVybntwb2ludDplLGRlbHRhOnRJKGUsUUsodCkpLG9mZnNldDp0SShlLGloZSh0KSksdmVsb2NpdHk6b2hlKHQsLjEpfX1mdW5jdGlvbiBpaGUoZSl7cmV0dXJuIGVbMF19ZnVuY3Rpb24gUUsoZSl7cmV0dXJuIGVbZS5sZW5ndGgtMV19ZnVuY3Rpb24gb2hlKGUsdCl7aWYoZS5sZW5ndGg8MilyZXR1cm57eDowLHk6MH07bGV0IHI9ZS5sZW5ndGgtMSxuPW51bGw7Y29uc3QgYT1RSyhlKTtmb3IoO3I+PTAmJihuPWVbcl0sIShhLnRpbWVzdGFtcC1uLnRpbWVzdGFtcD5waSh0KSkpOylyLS07aWYoIW4pcmV0dXJue3g6MCx5OjB9O2NvbnN0IGk9R3MoYS50aW1lc3RhbXAtbi50aW1lc3RhbXApO2lmKGk9PT0wKXJldHVybnt4OjAseTowfTtjb25zdCBvPXt4OihhLngtbi54KS9pLHk6KGEueS1uLnkpL2l9O3JldHVybiBvLng9PT0xLzAmJihvLng9MCksby55PT09MS8wJiYoby55PTApLG99ZnVuY3Rpb24gbGhlKGUse21pbjp0LG1heDpyfSxuKXtyZXR1cm4gdCE9PXZvaWQgMCYmZTx0P2U9bj9Bcih0LGUsbi5taW4pOk1hdGgubWF4KGUsdCk6ciE9PXZvaWQgMCYmZT5yJiYoZT1uP0FyKHIsZSxuLm1heCk6TWF0aC5taW4oZSxyKSksZX1mdW5jdGlvbiBySShlLHQscil7cmV0dXJue21pbjp0IT09dm9pZCAwP2UubWluK3Q6dm9pZCAwLG1heDpyIT09dm9pZCAwP2UubWF4K3ItKGUubWF4LWUubWluKTp2b2lkIDB9fWZ1bmN0aW9uIGNoZShlLHt0b3A6dCxsZWZ0OnIsYm90dG9tOm4scmlnaHQ6YX0pe3JldHVybnt4OnJJKGUueCxyLGEpLHk6ckkoZS55LHQsbil9fWZ1bmN0aW9uIG5JKGUsdCl7bGV0IHI9dC5taW4tZS5taW4sbj10Lm1heC1lLm1heDtyZXR1cm4gdC5tYXgtdC5taW48ZS5tYXgtZS5taW4mJihbcixuXT1bbixyXSkse21pbjpyLG1heDpufX1mdW5jdGlvbiBkaGUoZSx0KXtyZXR1cm57eDpuSShlLngsdC54KSx5Om5JKGUueSx0LnkpfX1mdW5jdGlvbiB1aGUoZSx0KXtsZXQgcj0uNTtjb25zdCBuPVZuKGUpLGE9Vm4odCk7cmV0dXJuIGE+bj9yPV9tKHQubWluLHQubWF4LW4sZS5taW4pOm4+YSYmKHI9X20oZS5taW4sZS5tYXgtYSx0Lm1pbikpLGppKDAsMSxyKX1mdW5jdGlvbiBBaGUoZSx0KXtjb25zdCByPXt9O3JldHVybiB0Lm1pbiE9PXZvaWQgMCYmKHIubWluPXQubWluLWUubWluKSx0Lm1heCE9PXZvaWQgMCYmKHIubWF4PXQubWF4LWUubWluKSxyfWNvbnN0IGJfPS4zNTtmdW5jdGlvbiBmaGUoZT1iXyl7cmV0dXJuIGU9PT0hMT9lPTA6ZT09PSEwJiYoZT1iXykse3g6c0koZSwibGVmdCIsInJpZ2h0IikseTpzSShlLCJ0b3AiLCJib3R0b20iKX19ZnVuY3Rpb24gc0koZSx0LHIpe3JldHVybnttaW46YUkoZSx0KSxtYXg6YUkoZSxyKX19ZnVuY3Rpb24gYUkoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJudW1iZXIiP2U6ZVt0XXx8MH1jb25zdCBoaGU9bmV3IFdlYWtNYXA7Y2xhc3MgbWhle2NvbnN0cnVjdG9yKHQpe3RoaXMub3BlbkRyYWdMb2NrPW51bGwsdGhpcy5pc0RyYWdnaW5nPSExLHRoaXMuY3VycmVudERpcmVjdGlvbj1udWxsLHRoaXMub3JpZ2luUG9pbnQ9e3g6MCx5OjB9LHRoaXMuY29uc3RyYWludHM9ITEsdGhpcy5oYXNNdXRhdGVkQ29uc3RyYWludHM9ITEsdGhpcy5lbGFzdGljPUxyKCksdGhpcy5sYXRlc3RQb2ludGVyRXZlbnQ9bnVsbCx0aGlzLmxhdGVzdFBhbkluZm89bnVsbCx0aGlzLnZpc3VhbEVsZW1lbnQ9dH1zdGFydCh0LHtzbmFwVG9DdXJzb3I6cj0hMSxkaXN0YW5jZVRocmVzaG9sZDpufT17fSl7Y29uc3R7cHJlc2VuY2VDb250ZXh0OmF9PXRoaXMudmlzdWFsRWxlbWVudDtpZihhJiZhLmlzUHJlc2VudD09PSExKXJldHVybjtjb25zdCBpPUE9PntyPyh0aGlzLnN0b3BBbmltYXRpb24oKSx0aGlzLnNuYXBUb0N1cnNvcihWcChBKS5wb2ludCkpOnRoaXMucGF1c2VBbmltYXRpb24oKX0sbz0oQSxmKT0+e3RoaXMuc3RvcEFuaW1hdGlvbigpO2NvbnN0e2RyYWc6aCxkcmFnUHJvcGFnYXRpb246cCxvbkRyYWdTdGFydDptfT10aGlzLmdldFByb3BzKCk7aWYoaCYmIXAmJih0aGlzLm9wZW5EcmFnTG9jayYmdGhpcy5vcGVuRHJhZ0xvY2soKSx0aGlzLm9wZW5EcmFnTG9jaz10QWUoaCksIXRoaXMub3BlbkRyYWdMb2NrKSlyZXR1cm47dGhpcy5sYXRlc3RQb2ludGVyRXZlbnQ9QSx0aGlzLmxhdGVzdFBhbkluZm89Zix0aGlzLmlzRHJhZ2dpbmc9ITAsdGhpcy5jdXJyZW50RGlyZWN0aW9uPW51bGwsdGhpcy5yZXNvbHZlQ29uc3RyYWludHMoKSx0aGlzLnZpc3VhbEVsZW1lbnQucHJvamVjdGlvbiYmKHRoaXMudmlzdWFsRWxlbWVudC5wcm9qZWN0aW9uLmlzQW5pbWF0aW9uQmxvY2tlZD0hMCx0aGlzLnZpc3VhbEVsZW1lbnQucHJvamVjdGlvbi50YXJnZXQ9dm9pZCAwKSxEcyh3PT57bGV0IHk9dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUodykuZ2V0KCl8fDA7aWYoZ2kudGVzdCh5KSl7Y29uc3R7cHJvamVjdGlvbjp2fT10aGlzLnZpc3VhbEVsZW1lbnQ7aWYodiYmdi5sYXlvdXQpe2NvbnN0IGI9di5sYXlvdXQubGF5b3V0Qm94W3ddO2ImJih5PVZuKGIpKihwYXJzZUZsb2F0KHkpLzEwMCkpfX10aGlzLm9yaWdpblBvaW50W3ddPXl9KSxtJiZuci5wb3N0UmVuZGVyKCgpPT5tKEEsZikpLGhfKHRoaXMudmlzdWFsRWxlbWVudCwidHJhbnNmb3JtIik7Y29uc3R7YW5pbWF0aW9uU3RhdGU6eH09dGhpcy52aXN1YWxFbGVtZW50O3gmJnguc2V0QWN0aXZlKCJ3aGlsZURyYWciLCEwKX0sbD0oQSxmKT0+e3RoaXMubGF0ZXN0UG9pbnRlckV2ZW50PUEsdGhpcy5sYXRlc3RQYW5JbmZvPWY7Y29uc3R7ZHJhZ1Byb3BhZ2F0aW9uOmgsZHJhZ0RpcmVjdGlvbkxvY2s6cCxvbkRpcmVjdGlvbkxvY2s6bSxvbkRyYWc6eH09dGhpcy5nZXRQcm9wcygpO2lmKCFoJiYhdGhpcy5vcGVuRHJhZ0xvY2spcmV0dXJuO2NvbnN0e29mZnNldDp3fT1mO2lmKHAmJnRoaXMuY3VycmVudERpcmVjdGlvbj09PW51bGwpe3RoaXMuY3VycmVudERpcmVjdGlvbj1waGUodyksdGhpcy5jdXJyZW50RGlyZWN0aW9uIT09bnVsbCYmbSYmbSh0aGlzLmN1cnJlbnREaXJlY3Rpb24pO3JldHVybn10aGlzLnVwZGF0ZUF4aXMoIngiLGYucG9pbnQsdyksdGhpcy51cGRhdGVBeGlzKCJ5IixmLnBvaW50LHcpLHRoaXMudmlzdWFsRWxlbWVudC5yZW5kZXIoKSx4JiZ4KEEsZil9LGM9KEEsZik9Pnt0aGlzLmxhdGVzdFBvaW50ZXJFdmVudD1BLHRoaXMubGF0ZXN0UGFuSW5mbz1mLHRoaXMuc3RvcChBLGYpLHRoaXMubGF0ZXN0UG9pbnRlckV2ZW50PW51bGwsdGhpcy5sYXRlc3RQYW5JbmZvPW51bGx9LGQ9KCk9PkRzKEE9Pnt2YXIgZjtyZXR1cm4gdGhpcy5nZXRBbmltYXRpb25TdGF0ZShBKT09PSJwYXVzZWQiJiYoKGY9dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUoQSkuYW5pbWF0aW9uKT09bnVsbD92b2lkIDA6Zi5wbGF5KCkpfSkse2RyYWdTbmFwVG9PcmlnaW46dX09dGhpcy5nZXRQcm9wcygpO3RoaXMucGFuU2Vzc2lvbj1uZXcgUksodCx7b25TZXNzaW9uU3RhcnQ6aSxvblN0YXJ0Om8sb25Nb3ZlOmwsb25TZXNzaW9uRW5kOmMscmVzdW1lQW5pbWF0aW9uOmR9LHt0cmFuc2Zvcm1QYWdlUG9pbnQ6dGhpcy52aXN1YWxFbGVtZW50LmdldFRyYW5zZm9ybVBhZ2VQb2ludCgpLGRyYWdTbmFwVG9PcmlnaW46dSxkaXN0YW5jZVRocmVzaG9sZDpuLGNvbnRleHRXaW5kb3c6TUsodGhpcy52aXN1YWxFbGVtZW50KSxlbGVtZW50OnRoaXMudmlzdWFsRWxlbWVudC5jdXJyZW50fSl9c3RvcCh0LHIpe2NvbnN0IG49dHx8dGhpcy5sYXRlc3RQb2ludGVyRXZlbnQsYT1yfHx0aGlzLmxhdGVzdFBhbkluZm8saT10aGlzLmlzRHJhZ2dpbmc7aWYodGhpcy5jYW5jZWwoKSwhaXx8IWF8fCFuKXJldHVybjtjb25zdHt2ZWxvY2l0eTpvfT1hO3RoaXMuc3RhcnRBbmltYXRpb24obyk7Y29uc3R7b25EcmFnRW5kOmx9PXRoaXMuZ2V0UHJvcHMoKTtsJiZuci5wb3N0UmVuZGVyKCgpPT5sKG4sYSkpfWNhbmNlbCgpe3RoaXMuaXNEcmFnZ2luZz0hMTtjb25zdHtwcm9qZWN0aW9uOnQsYW5pbWF0aW9uU3RhdGU6cn09dGhpcy52aXN1YWxFbGVtZW50O3QmJih0LmlzQW5pbWF0aW9uQmxvY2tlZD0hMSksdGhpcy5lbmRQYW5TZXNzaW9uKCk7Y29uc3R7ZHJhZ1Byb3BhZ2F0aW9uOm59PXRoaXMuZ2V0UHJvcHMoKTshbiYmdGhpcy5vcGVuRHJhZ0xvY2smJih0aGlzLm9wZW5EcmFnTG9jaygpLHRoaXMub3BlbkRyYWdMb2NrPW51bGwpLHImJnIuc2V0QWN0aXZlKCJ3aGlsZURyYWciLCExKX1lbmRQYW5TZXNzaW9uKCl7dGhpcy5wYW5TZXNzaW9uJiZ0aGlzLnBhblNlc3Npb24uZW5kKCksdGhpcy5wYW5TZXNzaW9uPXZvaWQgMH11cGRhdGVBeGlzKHQscixuKXtjb25zdHtkcmFnOmF9PXRoaXMuZ2V0UHJvcHMoKTtpZighbnx8IXR4KHQsYSx0aGlzLmN1cnJlbnREaXJlY3Rpb24pKXJldHVybjtjb25zdCBpPXRoaXMuZ2V0QXhpc01vdGlvblZhbHVlKHQpO2xldCBvPXRoaXMub3JpZ2luUG9pbnRbdF0rblt0XTt0aGlzLmNvbnN0cmFpbnRzJiZ0aGlzLmNvbnN0cmFpbnRzW3RdJiYobz1saGUobyx0aGlzLmNvbnN0cmFpbnRzW3RdLHRoaXMuZWxhc3RpY1t0XSkpLGkuc2V0KG8pfXJlc29sdmVDb25zdHJhaW50cygpe3ZhciBpO2NvbnN0e2RyYWdDb25zdHJhaW50czp0LGRyYWdFbGFzdGljOnJ9PXRoaXMuZ2V0UHJvcHMoKSxuPXRoaXMudmlzdWFsRWxlbWVudC5wcm9qZWN0aW9uJiYhdGhpcy52aXN1YWxFbGVtZW50LnByb2plY3Rpb24ubGF5b3V0P3RoaXMudmlzdWFsRWxlbWVudC5wcm9qZWN0aW9uLm1lYXN1cmUoITEpOihpPXRoaXMudmlzdWFsRWxlbWVudC5wcm9qZWN0aW9uKT09bnVsbD92b2lkIDA6aS5sYXlvdXQsYT10aGlzLmNvbnN0cmFpbnRzO3QmJm9oKHQpP3RoaXMuY29uc3RyYWludHN8fCh0aGlzLmNvbnN0cmFpbnRzPXRoaXMucmVzb2x2ZVJlZkNvbnN0cmFpbnRzKCkpOnQmJm4/dGhpcy5jb25zdHJhaW50cz1jaGUobi5sYXlvdXRCb3gsdCk6dGhpcy5jb25zdHJhaW50cz0hMSx0aGlzLmVsYXN0aWM9ZmhlKHIpLGEhPT10aGlzLmNvbnN0cmFpbnRzJiZuJiZ0aGlzLmNvbnN0cmFpbnRzJiYhdGhpcy5oYXNNdXRhdGVkQ29uc3RyYWludHMmJkRzKG89Pnt0aGlzLmNvbnN0cmFpbnRzIT09ITEmJnRoaXMuZ2V0QXhpc01vdGlvblZhbHVlKG8pJiYodGhpcy5jb25zdHJhaW50c1tvXT1BaGUobi5sYXlvdXRCb3hbb10sdGhpcy5jb25zdHJhaW50c1tvXSkpfSl9cmVzb2x2ZVJlZkNvbnN0cmFpbnRzKCl7Y29uc3R7ZHJhZ0NvbnN0cmFpbnRzOnQsb25NZWFzdXJlRHJhZ0NvbnN0cmFpbnRzOnJ9PXRoaXMuZ2V0UHJvcHMoKTtpZighdHx8IW9oKHQpKXJldHVybiExO2NvbnN0IG49dC5jdXJyZW50O29BKG4hPT1udWxsLCJJZiBgZHJhZ0NvbnN0cmFpbnRzYCBpcyBzZXQgYXMgYSBSZWFjdCByZWYsIHRoYXQgcmVmIG11c3QgYmUgcGFzc2VkIHRvIGFub3RoZXIgY29tcG9uZW50J3MgYHJlZmAgcHJvcC4iLCJkcmFnLWNvbnN0cmFpbnRzLXJlZiIpO2NvbnN0e3Byb2plY3Rpb246YX09dGhpcy52aXN1YWxFbGVtZW50O2lmKCFhfHwhYS5sYXlvdXQpcmV0dXJuITE7Y29uc3QgaT14QWUobixhLnJvb3QsdGhpcy52aXN1YWxFbGVtZW50LmdldFRyYW5zZm9ybVBhZ2VQb2ludCgpKTtsZXQgbz1kaGUoYS5sYXlvdXQubGF5b3V0Qm94LGkpO2lmKHIpe2NvbnN0IGw9cihtQWUobykpO3RoaXMuaGFzTXV0YXRlZENvbnN0cmFpbnRzPSEhbCxsJiYobz1vSyhsKSl9cmV0dXJuIG99c3RhcnRBbmltYXRpb24odCl7Y29uc3R7ZHJhZzpyLGRyYWdNb21lbnR1bTpuLGRyYWdFbGFzdGljOmEsZHJhZ1RyYW5zaXRpb246aSxkcmFnU25hcFRvT3JpZ2luOm8sb25EcmFnVHJhbnNpdGlvbkVuZDpsfT10aGlzLmdldFByb3BzKCksYz10aGlzLmNvbnN0cmFpbnRzfHx7fSxkPURzKHU9PntpZighdHgodSxyLHRoaXMuY3VycmVudERpcmVjdGlvbikpcmV0dXJuO2xldCBBPWMmJmNbdV18fHt9O28mJihBPXttaW46MCxtYXg6MH0pO2NvbnN0IGY9YT8yMDA6MWU2LGg9YT80MDoxZTcscD17dHlwZToiaW5lcnRpYSIsdmVsb2NpdHk6bj90W3VdOjAsYm91bmNlU3RpZmZuZXNzOmYsYm91bmNlRGFtcGluZzpoLHRpbWVDb25zdGFudDo3NTAscmVzdERlbHRhOjEscmVzdFNwZWVkOjEwLC4uLmksLi4uQX07cmV0dXJuIHRoaXMuc3RhcnRBeGlzVmFsdWVBbmltYXRpb24odSxwKX0pO3JldHVybiBQcm9taXNlLmFsbChkKS50aGVuKGwpfXN0YXJ0QXhpc1ZhbHVlQW5pbWF0aW9uKHQscil7Y29uc3Qgbj10aGlzLmdldEF4aXNNb3Rpb25WYWx1ZSh0KTtyZXR1cm4gaF8odGhpcy52aXN1YWxFbGVtZW50LHQpLG4uc3RhcnQoTEUodCxuLDAscix0aGlzLnZpc3VhbEVsZW1lbnQsITEpKX1zdG9wQW5pbWF0aW9uKCl7RHModD0+dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUodCkuc3RvcCgpKX1wYXVzZUFuaW1hdGlvbigpe0RzKHQ9Pnt2YXIgcjtyZXR1cm4ocj10aGlzLmdldEF4aXNNb3Rpb25WYWx1ZSh0KS5hbmltYXRpb24pPT1udWxsP3ZvaWQgMDpyLnBhdXNlKCl9KX1nZXRBbmltYXRpb25TdGF0ZSh0KXt2YXIgcjtyZXR1cm4ocj10aGlzLmdldEF4aXNNb3Rpb25WYWx1ZSh0KS5hbmltYXRpb24pPT1udWxsP3ZvaWQgMDpyLnN0YXRlfWdldEF4aXNNb3Rpb25WYWx1ZSh0KXtjb25zdCByPWBfZHJhZyR7dC50b1VwcGVyQ2FzZSgpfWAsbj10aGlzLnZpc3VhbEVsZW1lbnQuZ2V0UHJvcHMoKSxhPW5bcl07cmV0dXJuIGF8fHRoaXMudmlzdWFsRWxlbWVudC5nZXRWYWx1ZSh0LChuLmluaXRpYWw/bi5pbml0aWFsW3RdOnZvaWQgMCl8fDApfXNuYXBUb0N1cnNvcih0KXtEcyhyPT57Y29uc3R7ZHJhZzpufT10aGlzLmdldFByb3BzKCk7aWYoIXR4KHIsbix0aGlzLmN1cnJlbnREaXJlY3Rpb24pKXJldHVybjtjb25zdHtwcm9qZWN0aW9uOmF9PXRoaXMudmlzdWFsRWxlbWVudCxpPXRoaXMuZ2V0QXhpc01vdGlvblZhbHVlKHIpO2lmKGEmJmEubGF5b3V0KXtjb25zdHttaW46byxtYXg6bH09YS5sYXlvdXQubGF5b3V0Qm94W3JdLGM9aS5nZXQoKXx8MDtpLnNldCh0W3JdLUFyKG8sbCwuNSkrYyl9fSl9c2NhbGVQb3NpdGlvbldpdGhpbkNvbnN0cmFpbnRzKCl7aWYoIXRoaXMudmlzdWFsRWxlbWVudC5jdXJyZW50KXJldHVybjtjb25zdHtkcmFnOnQsZHJhZ0NvbnN0cmFpbnRzOnJ9PXRoaXMuZ2V0UHJvcHMoKSx7cHJvamVjdGlvbjpufT10aGlzLnZpc3VhbEVsZW1lbnQ7aWYoIW9oKHIpfHwhbnx8IXRoaXMuY29uc3RyYWludHMpcmV0dXJuO3RoaXMuc3RvcEFuaW1hdGlvbigpO2NvbnN0IGE9e3g6MCx5OjB9O0RzKG89Pntjb25zdCBsPXRoaXMuZ2V0QXhpc01vdGlvblZhbHVlKG8pO2lmKGwmJnRoaXMuY29uc3RyYWludHMhPT0hMSl7Y29uc3QgYz1sLmdldCgpO2Fbb109dWhlKHttaW46YyxtYXg6Y30sdGhpcy5jb25zdHJhaW50c1tvXSl9fSk7Y29uc3R7dHJhbnNmb3JtVGVtcGxhdGU6aX09dGhpcy52aXN1YWxFbGVtZW50LmdldFByb3BzKCk7dGhpcy52aXN1YWxFbGVtZW50LmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtPWk/aSh7fSwiIik6Im5vbmUiLG4ucm9vdCYmbi5yb290LnVwZGF0ZVNjcm9sbCgpLG4udXBkYXRlTGF5b3V0KCksdGhpcy5yZXNvbHZlQ29uc3RyYWludHMoKSxEcyhvPT57aWYoIXR4KG8sdCxudWxsKSlyZXR1cm47Y29uc3QgbD10aGlzLmdldEF4aXNNb3Rpb25WYWx1ZShvKSx7bWluOmMsbWF4OmR9PXRoaXMuY29uc3RyYWludHNbb107bC5zZXQoQXIoYyxkLGFbb10pKX0pfWFkZExpc3RlbmVycygpe2lmKCF0aGlzLnZpc3VhbEVsZW1lbnQuY3VycmVudClyZXR1cm47aGhlLnNldCh0aGlzLnZpc3VhbEVsZW1lbnQsdGhpcyk7Y29uc3QgdD10aGlzLnZpc3VhbEVsZW1lbnQuY3VycmVudCxyPVJoKHQsInBvaW50ZXJkb3duIixjPT57Y29uc3R7ZHJhZzpkLGRyYWdMaXN0ZW5lcjp1PSEwfT10aGlzLmdldFByb3BzKCksQT1jLnRhcmdldCxmPUEhPT10JiZ0SyhBKTtkJiZ1JiYhZiYmdGhpcy5zdGFydChjKX0pLG49KCk9Pntjb25zdHtkcmFnQ29uc3RyYWludHM6Y309dGhpcy5nZXRQcm9wcygpO29oKGMpJiZjLmN1cnJlbnQmJih0aGlzLmNvbnN0cmFpbnRzPXRoaXMucmVzb2x2ZVJlZkNvbnN0cmFpbnRzKCkpfSx7cHJvamVjdGlvbjphfT10aGlzLnZpc3VhbEVsZW1lbnQsaT1hLmFkZEV2ZW50TGlzdGVuZXIoIm1lYXN1cmUiLG4pO2EmJiFhLmxheW91dCYmKGEucm9vdCYmYS5yb290LnVwZGF0ZVNjcm9sbCgpLGEudXBkYXRlTGF5b3V0KCkpLG5yLnJlYWQobik7Y29uc3Qgbz1rbSh3aW5kb3csInJlc2l6ZSIsKCk9PnRoaXMuc2NhbGVQb3NpdGlvbldpdGhpbkNvbnN0cmFpbnRzKCkpLGw9YS5hZGRFdmVudExpc3RlbmVyKCJkaWRVcGRhdGUiLCh7ZGVsdGE6YyxoYXNMYXlvdXRDaGFuZ2VkOmR9KT0+e3RoaXMuaXNEcmFnZ2luZyYmZCYmKERzKHU9Pntjb25zdCBBPXRoaXMuZ2V0QXhpc01vdGlvblZhbHVlKHUpO0EmJih0aGlzLm9yaWdpblBvaW50W3VdKz1jW3VdLnRyYW5zbGF0ZSxBLnNldChBLmdldCgpK2NbdV0udHJhbnNsYXRlKSl9KSx0aGlzLnZpc3VhbEVsZW1lbnQucmVuZGVyKCkpfSk7cmV0dXJuKCk9PntvKCkscigpLGkoKSxsJiZsKCl9fWdldFByb3BzKCl7Y29uc3QgdD10aGlzLnZpc3VhbEVsZW1lbnQuZ2V0UHJvcHMoKSx7ZHJhZzpyPSExLGRyYWdEaXJlY3Rpb25Mb2NrOm49ITEsZHJhZ1Byb3BhZ2F0aW9uOmE9ITEsZHJhZ0NvbnN0cmFpbnRzOmk9ITEsZHJhZ0VsYXN0aWM6bz1iXyxkcmFnTW9tZW50dW06bD0hMH09dDtyZXR1cm57Li4udCxkcmFnOnIsZHJhZ0RpcmVjdGlvbkxvY2s6bixkcmFnUHJvcGFnYXRpb246YSxkcmFnQ29uc3RyYWludHM6aSxkcmFnRWxhc3RpYzpvLGRyYWdNb21lbnR1bTpsfX19ZnVuY3Rpb24gdHgoZSx0LHIpe3JldHVybih0PT09ITB8fHQ9PT1lKSYmKHI9PT1udWxsfHxyPT09ZSl9ZnVuY3Rpb24gcGhlKGUsdD0xMCl7bGV0IHI9bnVsbDtyZXR1cm4gTWF0aC5hYnMoZS55KT50P3I9InkiOk1hdGguYWJzKGUueCk+dCYmKHI9IngiKSxyfWNsYXNzIGdoZSBleHRlbmRzIHFse2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMucmVtb3ZlR3JvdXBDb250cm9scz10YSx0aGlzLnJlbW92ZUxpc3RlbmVycz10YSx0aGlzLmNvbnRyb2xzPW5ldyBtaGUodCl9bW91bnQoKXtjb25zdHtkcmFnQ29udHJvbHM6dH09dGhpcy5ub2RlLmdldFByb3BzKCk7dCYmKHRoaXMucmVtb3ZlR3JvdXBDb250cm9scz10LnN1YnNjcmliZSh0aGlzLmNvbnRyb2xzKSksdGhpcy5yZW1vdmVMaXN0ZW5lcnM9dGhpcy5jb250cm9scy5hZGRMaXN0ZW5lcnMoKXx8dGF9dXBkYXRlKCl7Y29uc3R7ZHJhZ0NvbnRyb2xzOnR9PXRoaXMubm9kZS5nZXRQcm9wcygpLHtkcmFnQ29udHJvbHM6cn09dGhpcy5ub2RlLnByZXZQcm9wc3x8e307dCE9PXImJih0aGlzLnJlbW92ZUdyb3VwQ29udHJvbHMoKSx0JiYodGhpcy5yZW1vdmVHcm91cENvbnRyb2xzPXQuc3Vic2NyaWJlKHRoaXMuY29udHJvbHMpKSl9dW5tb3VudCgpe3RoaXMucmVtb3ZlR3JvdXBDb250cm9scygpLHRoaXMucmVtb3ZlTGlzdGVuZXJzKCksdGhpcy5jb250cm9scy5lbmRQYW5TZXNzaW9uKCl9fWNvbnN0IGlJPWU9Pih0LHIpPT57ZSYmbnIucG9zdFJlbmRlcigoKT0+ZSh0LHIpKX07Y2xhc3MgeGhlIGV4dGVuZHMgcWx7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVtb3ZlUG9pbnRlckRvd25MaXN0ZW5lcj10YX1vblBvaW50ZXJEb3duKHQpe3RoaXMuc2Vzc2lvbj1uZXcgUksodCx0aGlzLmNyZWF0ZVBhbkhhbmRsZXJzKCkse3RyYW5zZm9ybVBhZ2VQb2ludDp0aGlzLm5vZGUuZ2V0VHJhbnNmb3JtUGFnZVBvaW50KCksY29udGV4dFdpbmRvdzpNSyh0aGlzLm5vZGUpfSl9Y3JlYXRlUGFuSGFuZGxlcnMoKXtjb25zdHtvblBhblNlc3Npb25TdGFydDp0LG9uUGFuU3RhcnQ6cixvblBhbjpuLG9uUGFuRW5kOmF9PXRoaXMubm9kZS5nZXRQcm9wcygpO3JldHVybntvblNlc3Npb25TdGFydDppSSh0KSxvblN0YXJ0OmlJKHIpLG9uTW92ZTpuLG9uRW5kOihpLG8pPT57ZGVsZXRlIHRoaXMuc2Vzc2lvbixhJiZuci5wb3N0UmVuZGVyKCgpPT5hKGksbykpfX19bW91bnQoKXt0aGlzLnJlbW92ZVBvaW50ZXJEb3duTGlzdGVuZXI9UmgodGhpcy5ub2RlLmN1cnJlbnQsInBvaW50ZXJkb3duIix0PT50aGlzLm9uUG9pbnRlckRvd24odCkpfXVwZGF0ZSgpe3RoaXMuc2Vzc2lvbiYmdGhpcy5zZXNzaW9uLnVwZGF0ZUhhbmRsZXJzKHRoaXMuY3JlYXRlUGFuSGFuZGxlcnMoKSl9dW5tb3VudCgpe3RoaXMucmVtb3ZlUG9pbnRlckRvd25MaXN0ZW5lcigpLHRoaXMuc2Vzc2lvbiYmdGhpcy5zZXNzaW9uLmVuZCgpfX1sZXQgY2o9ITE7Y2xhc3MgeWhlIGV4dGVuZHMgZy5Db21wb25lbnR7Y29tcG9uZW50RGlkTW91bnQoKXtjb25zdHt2aXN1YWxFbGVtZW50OnQsbGF5b3V0R3JvdXA6cixzd2l0Y2hMYXlvdXRHcm91cDpuLGxheW91dElkOmF9PXRoaXMucHJvcHMse3Byb2plY3Rpb246aX09dDtpJiYoci5ncm91cCYmci5ncm91cC5hZGQoaSksbiYmbi5yZWdpc3RlciYmYSYmbi5yZWdpc3RlcihpKSxjaiYmaS5yb290LmRpZFVwZGF0ZSgpLGkuYWRkRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uQ29tcGxldGUiLCgpPT57dGhpcy5zYWZlVG9SZW1vdmUoKX0pLGkuc2V0T3B0aW9ucyh7Li4uaS5vcHRpb25zLG9uRXhpdENvbXBsZXRlOigpPT50aGlzLnNhZmVUb1JlbW92ZSgpfSkpLHUwLmhhc0V2ZXJVcGRhdGVkPSEwfWdldFNuYXBzaG90QmVmb3JlVXBkYXRlKHQpe2NvbnN0e2xheW91dERlcGVuZGVuY3k6cix2aXN1YWxFbGVtZW50Om4sZHJhZzphLGlzUHJlc2VudDppfT10aGlzLnByb3BzLHtwcm9qZWN0aW9uOm99PW47cmV0dXJuIG8mJihvLmlzUHJlc2VudD1pLGNqPSEwLGF8fHQubGF5b3V0RGVwZW5kZW5jeSE9PXJ8fHI9PT12b2lkIDB8fHQuaXNQcmVzZW50IT09aT9vLndpbGxVcGRhdGUoKTp0aGlzLnNhZmVUb1JlbW92ZSgpLHQuaXNQcmVzZW50IT09aSYmKGk/by5wcm9tb3RlKCk6by5yZWxlZ2F0ZSgpfHxuci5wb3N0UmVuZGVyKCgpPT57Y29uc3QgbD1vLmdldFN0YWNrKCk7KCFsfHwhbC5tZW1iZXJzLmxlbmd0aCkmJnRoaXMuc2FmZVRvUmVtb3ZlKCl9KSkpLG51bGx9Y29tcG9uZW50RGlkVXBkYXRlKCl7Y29uc3R7cHJvamVjdGlvbjp0fT10aGlzLnByb3BzLnZpc3VhbEVsZW1lbnQ7dCYmKHQucm9vdC5kaWRVcGRhdGUoKSxWRS5wb3N0UmVuZGVyKCgpPT57IXQuY3VycmVudEFuaW1hdGlvbiYmdC5pc0xlYWQoKSYmdGhpcy5zYWZlVG9SZW1vdmUoKX0pKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2NvbnN0e3Zpc3VhbEVsZW1lbnQ6dCxsYXlvdXRHcm91cDpyLHN3aXRjaExheW91dEdyb3VwOm59PXRoaXMucHJvcHMse3Byb2plY3Rpb246YX09dDtjaj0hMCxhJiYoYS5zY2hlZHVsZUNoZWNrQWZ0ZXJVbm1vdW50KCksciYmci5ncm91cCYmci5ncm91cC5yZW1vdmUoYSksbiYmbi5kZXJlZ2lzdGVyJiZuLmRlcmVnaXN0ZXIoYSkpfXNhZmVUb1JlbW92ZSgpe2NvbnN0e3NhZmVUb1JlbW92ZTp0fT10aGlzLnByb3BzO3QmJnQoKX1yZW5kZXIoKXtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gTEsoZSl7Y29uc3RbdCxyXT1FSygpLG49Zy51c2VDb250ZXh0KGpFKTtyZXR1cm4gcy5qc3goeWhlLHsuLi5lLGxheW91dEdyb3VwOm4sc3dpdGNoTGF5b3V0R3JvdXA6Zy51c2VDb250ZXh0KFVLKSxpc1ByZXNlbnQ6dCxzYWZlVG9SZW1vdmU6cn0pfWNvbnN0IHZoZT17cGFuOntGZWF0dXJlOnhoZX0sZHJhZzp7RmVhdHVyZTpnaGUsUHJvamVjdGlvbk5vZGU6U0ssTWVhc3VyZUxheW91dDpMS319O2Z1bmN0aW9uIG9JKGUsdCxyKXtjb25zdHtwcm9wczpufT1lO2UuYW5pbWF0aW9uU3RhdGUmJm4ud2hpbGVIb3ZlciYmZS5hbmltYXRpb25TdGF0ZS5zZXRBY3RpdmUoIndoaWxlSG92ZXIiLHI9PT0iU3RhcnQiKTtjb25zdCBhPSJvbkhvdmVyIityLGk9blthXTtpJiZuci5wb3N0UmVuZGVyKCgpPT5pKHQsVnAodCkpKX1jbGFzcyB3aGUgZXh0ZW5kcyBxbHttb3VudCgpe2NvbnN0e2N1cnJlbnQ6dH09dGhpcy5ub2RlO3QmJih0aGlzLnVubW91bnQ9ckFlKHQsKHIsbik9PihvSSh0aGlzLm5vZGUsbiwiU3RhcnQiKSxhPT5vSSh0aGlzLm5vZGUsYSwiRW5kIikpKSl9dW5tb3VudCgpe319Y2xhc3MgYmhlIGV4dGVuZHMgcWx7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuaXNBY3RpdmU9ITF9b25Gb2N1cygpe2xldCB0PSExO3RyeXt0PXRoaXMubm9kZS5jdXJyZW50Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIil9Y2F0Y2h7dD0hMH0hdHx8IXRoaXMubm9kZS5hbmltYXRpb25TdGF0ZXx8KHRoaXMubm9kZS5hbmltYXRpb25TdGF0ZS5zZXRBY3RpdmUoIndoaWxlRm9jdXMiLCEwKSx0aGlzLmlzQWN0aXZlPSEwKX1vbkJsdXIoKXshdGhpcy5pc0FjdGl2ZXx8IXRoaXMubm9kZS5hbmltYXRpb25TdGF0ZXx8KHRoaXMubm9kZS5hbmltYXRpb25TdGF0ZS5zZXRBY3RpdmUoIndoaWxlRm9jdXMiLCExKSx0aGlzLmlzQWN0aXZlPSExKX1tb3VudCgpe3RoaXMudW5tb3VudD0kcChrbSh0aGlzLm5vZGUuY3VycmVudCwiZm9jdXMiLCgpPT50aGlzLm9uRm9jdXMoKSksa20odGhpcy5ub2RlLmN1cnJlbnQsImJsdXIiLCgpPT50aGlzLm9uQmx1cigpKSl9dW5tb3VudCgpe319ZnVuY3Rpb24gbEkoZSx0LHIpe2NvbnN0e3Byb3BzOm59PWU7aWYoZS5jdXJyZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQmJmUuY3VycmVudC5kaXNhYmxlZClyZXR1cm47ZS5hbmltYXRpb25TdGF0ZSYmbi53aGlsZVRhcCYmZS5hbmltYXRpb25TdGF0ZS5zZXRBY3RpdmUoIndoaWxlVGFwIixyPT09IlN0YXJ0Iik7Y29uc3QgYT0ib25UYXAiKyhyPT09IkVuZCI/IiI6ciksaT1uW2FdO2kmJm5yLnBvc3RSZW5kZXIoKCk9PmkodCxWcCh0KSkpfWNsYXNzIGpoZSBleHRlbmRzIHFse21vdW50KCl7Y29uc3R7Y3VycmVudDp0fT10aGlzLm5vZGU7dCYmKHRoaXMudW5tb3VudD1hQWUodCwocixuKT0+KGxJKHRoaXMubm9kZSxuLCJTdGFydCIpLChhLHtzdWNjZXNzOml9KT0+bEkodGhpcy5ub2RlLGEsaT8iRW5kIjoiQ2FuY2VsIikpLHt1c2VHbG9iYWxUYXJnZXQ6dGhpcy5ub2RlLnByb3BzLmdsb2JhbFRhcFRhcmdldH0pKX11bm1vdW50KCl7fX1jb25zdCBqXz1uZXcgV2Vha01hcCxkaj1uZXcgV2Vha01hcCxOaGU9ZT0+e2NvbnN0IHQ9al8uZ2V0KGUudGFyZ2V0KTt0JiZ0KGUpfSxDaGU9ZT0+e2UuZm9yRWFjaChOaGUpfTtmdW5jdGlvbiBfaGUoe3Jvb3Q6ZSwuLi50fSl7Y29uc3Qgcj1lfHxkb2N1bWVudDtkai5oYXMocil8fGRqLnNldChyLHt9KTtjb25zdCBuPWRqLmdldChyKSxhPUpTT04uc3RyaW5naWZ5KHQpO3JldHVybiBuW2FdfHwoblthXT1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoQ2hlLHtyb290OmUsLi4udH0pKSxuW2FdfWZ1bmN0aW9uIEJoZShlLHQscil7Y29uc3Qgbj1faGUodCk7cmV0dXJuIGpfLnNldChlLHIpLG4ub2JzZXJ2ZShlKSwoKT0+e2pfLmRlbGV0ZShlKSxuLnVub2JzZXJ2ZShlKX19Y29uc3QgU2hlPXtzb21lOjAsYWxsOjF9O2NsYXNzIEVoZSBleHRlbmRzIHFse2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmhhc0VudGVyZWRWaWV3PSExLHRoaXMuaXNJblZpZXc9ITF9c3RhcnRPYnNlcnZlcigpe3RoaXMudW5tb3VudCgpO2NvbnN0e3ZpZXdwb3J0OnQ9e319PXRoaXMubm9kZS5nZXRQcm9wcygpLHtyb290OnIsbWFyZ2luOm4sYW1vdW50OmE9InNvbWUiLG9uY2U6aX09dCxvPXtyb290OnI/ci5jdXJyZW50OnZvaWQgMCxyb290TWFyZ2luOm4sdGhyZXNob2xkOnR5cGVvZiBhPT0ibnVtYmVyIj9hOlNoZVthXX0sbD1jPT57Y29uc3R7aXNJbnRlcnNlY3Rpbmc6ZH09YztpZih0aGlzLmlzSW5WaWV3PT09ZHx8KHRoaXMuaXNJblZpZXc9ZCxpJiYhZCYmdGhpcy5oYXNFbnRlcmVkVmlldykpcmV0dXJuO2QmJih0aGlzLmhhc0VudGVyZWRWaWV3PSEwKSx0aGlzLm5vZGUuYW5pbWF0aW9uU3RhdGUmJnRoaXMubm9kZS5hbmltYXRpb25TdGF0ZS5zZXRBY3RpdmUoIndoaWxlSW5WaWV3IixkKTtjb25zdHtvblZpZXdwb3J0RW50ZXI6dSxvblZpZXdwb3J0TGVhdmU6QX09dGhpcy5ub2RlLmdldFByb3BzKCksZj1kP3U6QTtmJiZmKGMpfTtyZXR1cm4gQmhlKHRoaXMubm9kZS5jdXJyZW50LG8sbCl9bW91bnQoKXt0aGlzLnN0YXJ0T2JzZXJ2ZXIoKX11cGRhdGUoKXtpZih0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI+InUiKXJldHVybjtjb25zdHtwcm9wczp0LHByZXZQcm9wczpyfT10aGlzLm5vZGU7WyJhbW91bnQiLCJtYXJnaW4iLCJyb290Il0uc29tZShraGUodCxyKSkmJnRoaXMuc3RhcnRPYnNlcnZlcigpfXVubW91bnQoKXt9fWZ1bmN0aW9uIGtoZSh7dmlld3BvcnQ6ZT17fX0se3ZpZXdwb3J0OnQ9e319PXt9KXtyZXR1cm4gcj0+ZVtyXSE9PXRbcl19Y29uc3QgVGhlPXtpblZpZXc6e0ZlYXR1cmU6RWhlfSx0YXA6e0ZlYXR1cmU6amhlfSxmb2N1czp7RmVhdHVyZTpiaGV9LGhvdmVyOntGZWF0dXJlOndoZX19LFBoZT17bGF5b3V0OntQcm9qZWN0aW9uTm9kZTpTSyxNZWFzdXJlTGF5b3V0OkxLfX0sRmhlPXsuLi5uaGUsLi4uVGhlLC4uLnZoZSwuLi5QaGV9LEFlPUpmZShGaGUsWmZlKSxSaT0oe2NoaWxkcmVuOmUsY2xhc3NOYW1lOnQ9IiIsZGVsYXk6cj0wfSk9PnMuanN4KEFlLmRpdix7aW5pdGlhbDoiaGlkZGVuIix3aGlsZUluVmlldzoidmlzaWJsZSIsdmlld3BvcnQ6e29uY2U6ITAsbWFyZ2luOiItNTBweCJ9LHZhcmlhbnRzOntoaWRkZW46e29wYWNpdHk6MCx5OjQwfSx2aXNpYmxlOntvcGFjaXR5OjEseTowLHRyYW5zaXRpb246e2R1cmF0aW9uOi42LGRlbGF5OnIsZWFzZTpbLjI1LC40NiwuNDUsLjk0XX19fSxjbGFzc05hbWU6dCxjaGlsZHJlbjplfSksT2hlPSh7Y2hpbGRyZW46ZSxjbGFzc05hbWU6dD0iIixkZWxheTpyPTB9KT0+cy5qc3goQWUuZGl2LHtpbml0aWFsOiJoaWRkZW4iLHdoaWxlSW5WaWV3OiJ2aXNpYmxlIix2aWV3cG9ydDp7b25jZTohMCxtYXJnaW46Ii01MHB4In0sdmFyaWFudHM6e2hpZGRlbjp7b3BhY2l0eTowLHg6LTYwfSx2aXNpYmxlOntvcGFjaXR5OjEseDowLHRyYW5zaXRpb246e2R1cmF0aW9uOi42LGRlbGF5OnIsZWFzZTpbLjI1LC40NiwuNDUsLjk0XX19fSxjbGFzc05hbWU6dCxjaGlsZHJlbjplfSksSWhlPSh7Y2hpbGRyZW46ZSxjbGFzc05hbWU6dD0iIixkZWxheTpyPTB9KT0+cy5qc3goQWUuZGl2LHtpbml0aWFsOiJoaWRkZW4iLHdoaWxlSW5WaWV3OiJ2aXNpYmxlIix2aWV3cG9ydDp7b25jZTohMCxtYXJnaW46Ii01MHB4In0sdmFyaWFudHM6e2hpZGRlbjp7b3BhY2l0eTowLHg6NjB9LHZpc2libGU6e29wYWNpdHk6MSx4OjAsdHJhbnNpdGlvbjp7ZHVyYXRpb246LjYsZGVsYXk6cixlYXNlOlsuMjUsLjQ2LC40NSwuOTRdfX19LGNsYXNzTmFtZTp0LGNoaWxkcmVuOmV9KSxNZj0oe2NoaWxkcmVuOmUsY2xhc3NOYW1lOnQ9IiIsc3RhZ2dlckRlbGF5OnI9LjF9KT0+cy5qc3goQWUuZGl2LHtpbml0aWFsOiJoaWRkZW4iLHdoaWxlSW5WaWV3OiJ2aXNpYmxlIix2aWV3cG9ydDp7b25jZTohMCxtYXJnaW46Ii01MHB4In0sdmFyaWFudHM6e2hpZGRlbjp7b3BhY2l0eTowfSx2aXNpYmxlOntvcGFjaXR5OjEsdHJhbnNpdGlvbjp7c3RhZ2dlckNoaWxkcmVuOnIsZGVsYXlDaGlsZHJlbjouMX19fSxjbGFzc05hbWU6dCxjaGlsZHJlbjplfSksRnM9KHtjaGlsZHJlbjplLGNsYXNzTmFtZTp0PSIifSk9PnMuanN4KEFlLmRpdix7dmFyaWFudHM6e2hpZGRlbjp7b3BhY2l0eTowLHk6MzB9LHZpc2libGU6e29wYWNpdHk6MSx5OjAsdHJhbnNpdGlvbjp7ZHVyYXRpb246LjUsZWFzZTpbLjI1LC40NiwuNDUsLjk0XX19fSxjbGFzc05hbWU6dCxjaGlsZHJlbjplfSksUWk9KHtjaGlsZHJlbjplLGNsYXNzTmFtZTp0PSIifSk9PnMuanN4KEFlLmRpdix7YW5pbWF0ZTp7eTpbMCwtMTAsMF19LHRyYW5zaXRpb246e2R1cmF0aW9uOjMscmVwZWF0OjEvMCxlYXNlOiJlYXNlSW5PdXQifSxjbGFzc05hbWU6dCxjaGlsZHJlbjplfSksVWhlPSh7Y2hpbGRyZW46ZSxjbGFzc05hbWU6dD0iIn0pPT5zLmpzeChBZS5kaXYse2FuaW1hdGU6e2JveFNoYWRvdzpbIjAgMCAyMHB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpIiwiMCAwIDQwcHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuNSkiLCIwIDAgMjBweCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKSJdfSx0cmFuc2l0aW9uOntkdXJhdGlvbjoyLHJlcGVhdDoxLzAsZWFzZToiZWFzZUluT3V0In0sY2xhc3NOYW1lOnQsY2hpbGRyZW46ZX0pO2Z1bmN0aW9uIERoZSgpe2NvbnN0W2UsdF09Zy51c2VTdGF0ZSghMSk7cmV0dXJuIE53KCksZy51c2VFZmZlY3QoKCk9Pntjb25zdCByPSgpPT57dCh3aW5kb3cuc2Nyb2xsWT4yMCl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixyKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIscil9LFtdKSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWluLWgtc2NyZWVuIGJnLXdoaXRlIixjaGlsZHJlbjpbcy5qc3goQWUubmF2LHtpbml0aWFsOnt5Oi0xMDAsb3BhY2l0eTowfSxhbmltYXRlOnt5OjAsb3BhY2l0eToxfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouNixlYXNlOlsuMjUsLjQ2LC40NSwuOTRdfSxjbGFzc05hbWU6YHN0aWNreSB0b3AtMCB6LTUwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCAke2U/ImJnLXdoaXRlLzk1IGJhY2tkcm9wLWJsdXItbWQgc2hhZG93LXNtIjoiYmctd2hpdGUifWAsY2hpbGRyZW46cy5qc3goImRpdiIse2NsYXNzTmFtZToibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaC0xNiIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiLyIsY2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46cy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LXByaW1hcnkiLGNoaWxkcmVuOiJGbG93aW5nRnVuZGVkIn0pfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImhpZGRlbiBtZDpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOCIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiLyIsY2xhc3NOYW1lOiJ0ZXh0LWZvcmVncm91bmQgaG92ZXI6dGV4dC1wcmltYXJ5IHRyYW5zaXRpb24tY29sb3JzIHRleHQtc20gZm9udC1tZWRpdW0iLGNoaWxkcmVuOiJIb3cgaXQgd29ya3MifSkscy5qc3gob2Use3RvOiIvYWJvdXQiLGNsYXNzTmFtZToidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGhvdmVyOnRleHQtcHJpbWFyeSB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIGZvbnQtbWVkaXVtIixjaGlsZHJlbjoiQWJvdXQifSkscy5qc3gob2Use3RvOiIvZmFxIixjbGFzc05hbWU6InRleHQtbXV0ZWQtZm9yZWdyb3VuZCBob3Zlcjp0ZXh0LXByaW1hcnkgdHJhbnNpdGlvbi1jb2xvcnMgdGV4dC1zbSBmb250LW1lZGl1bSIsY2hpbGRyZW46IkZBUSJ9KSxzLmpzeChvZSx7dG86Ii9hdXRoIixjaGlsZHJlbjpzLmpzeChWLHt2YXJpYW50OiJvdXRsaW5lIixzaXplOiJzbSIsY2xhc3NOYW1lOiJyb3VuZGVkLWZ1bGwgYm9yZGVyIixjaGlsZHJlbjoiTG9nIGluIn0pfSkscy5qc3gob2Use3RvOiIvYXV0aCIsY2hpbGRyZW46cy5qc3goQWUuZGl2LHt3aGlsZUhvdmVyOntzY2FsZToxLjA1fSx3aGlsZVRhcDp7c2NhbGU6Ljk1fSxjaGlsZHJlbjpzLmpzeChWLHtzaXplOiJzbSIsY2xhc3NOYW1lOiJyb3VuZGVkLWZ1bGwgYmctcHJpbWFyeSBob3ZlcjpiZy1wcmltYXJ5LzkwIixjaGlsZHJlbjoiR2V0IFN0YXJ0ZWQifSl9KX0pXX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6Im1kOmhpZGRlbiBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46cy5qc3gob2Use3RvOiIvYXV0aCIsY2hpbGRyZW46cy5qc3goVix7c2l6ZToic20iLGNsYXNzTmFtZToicm91bmRlZC1mdWxsIixjaGlsZHJlbjoiR2V0IFN0YXJ0ZWQifSl9KX0pXX0pfSl9KSxzLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6InJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBwdC04IHBiLTggc206cHQtMTIgc206cGItMTYgbWluLWgtWzQwMHB4XSBzbTptaW4taC1bNTUwcHhdIixjaGlsZHJlbjpbcy5qc3goQWUuaW1nLHtpbml0aWFsOntzY2FsZToxLjEsb3BhY2l0eTowfSxhbmltYXRlOntzY2FsZToxLG9wYWNpdHk6MX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246MS4yLGVhc2U6ImVhc2VPdXQifSxzcmM6WWNlLGFsdDoiSGVybyBiYWNrZ3JvdW5kIixjbGFzc05hbWU6ImhpZGRlbiBzbTpibG9jayBhYnNvbHV0ZSBpbnNldC0wIHctZnVsbCBoLWZ1bGwgb2JqZWN0LWNvdmVyIixsb2FkaW5nOiJlYWdlciJ9KSxzLmpzeChBZS5pbWcse2luaXRpYWw6e3NjYWxlOjEuMSxvcGFjaXR5OjB9LGFuaW1hdGU6e3NjYWxlOjEsb3BhY2l0eToxfSx0cmFuc2l0aW9uOntkdXJhdGlvbjoxLjIsZWFzZToiZWFzZU91dCJ9LHNyYzpYY2UsYWx0OiJIZXJvIGJhY2tncm91bmQiLGNsYXNzTmFtZToiYmxvY2sgc206aGlkZGVuIGFic29sdXRlIGluc2V0LTAgdy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXIiLGxvYWRpbmc6ImVhZ2VyIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXdoaXRlLzQwIHZpYS10cmFuc3BhcmVudCB0by13aGl0ZS82MCJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcmVsYXRpdmUiLGNoaWxkcmVuOltzLmpzeChBZS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx5OjIwfSxhbmltYXRlOntvcGFjaXR5OjEseTowfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouNixkZWxheTouM30sY2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIHNtOmZsZXgtcm93IGZsZXgtd3JhcCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgZ2FwLTIgc206Z2FwLTYgbWItNiBzbTptYi0xMiIsY2hpbGRyZW46cy5qc3hzKEFlLmRpdix7d2hpbGVIb3Zlcjp7c2NhbGU6MS4wNSx5Oi0yfSxjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGJnLXdoaXRlIHB4LTQgcHktMiByb3VuZGVkLWZ1bGwgc2hhZG93LXNtIGJvcmRlciBib3JkZXItYW1iZXItMjAwIixjaGlsZHJlbjpbcy5qc3goR2kse2NsYXNzTmFtZToiaC00IHctNCB0ZXh0LWFtYmVyLTUwMCBmaWxsLWFtYmVyLTUwMCJ9KSxzLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InRleHQteHMgc206dGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWFtYmVyLTkwMCIsY2hpbGRyZW46W3MuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJmb250LWJvbGQiLGNoaWxkcmVuOiJFZHVjYXRpb25hbCBTaW11bGF0aW9uIFBsYXRmb3JtIn0pLCIgwrcgTm8gUmVhbCBNb25leSJdfSldfSl9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC1jZW50ZXIgc3BhY2UteS0zIHNtOnNwYWNlLXktNiBtZDpzcGFjZS15LTggbWF4LXctNHhsIG14LWF1dG8iLGNoaWxkcmVuOltzLmpzeHMoQWUuaDEse2luaXRpYWw6e29wYWNpdHk6MCx5OjMwfSxhbmltYXRlOntvcGFjaXR5OjEseTowfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouOCxkZWxheTouNH0sY2xhc3NOYW1lOiJ0ZXh0LTN4bCBzbTp0ZXh0LTR4bCBtZDp0ZXh0LTV4bCBsZzp0ZXh0LTd4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgbGVhZGluZy10aWdodCBweC0yIixjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtZm9yZWdyb3VuZCIsY2hpbGRyZW46IlByb3ZlIFlvdXIgU2tpbGxzIn0pLHMuanN4KCJiciIse30pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWZvcmVncm91bmQiLGNoaWxkcmVuOiJpbiBvdXIgIn0pLHMuanN4KEFlLnNwYW4se2luaXRpYWw6e29wYWNpdHk6MCxzY2FsZTouOH0sYW5pbWF0ZTp7b3BhY2l0eToxLHNjYWxlOjF9LHRyYW5zaXRpb246e2R1cmF0aW9uOi42LGRlbGF5Oi44fSxjbGFzc05hbWU6InRleHQtcHJpbWFyeSBpbmxpbmUtYmxvY2siLGNoaWxkcmVuOiJTaW11bGF0ZWQgRW52aXJvbm1lbnQifSldfSkscy5qc3hzKEFlLnAse2luaXRpYWw6e29wYWNpdHk6MCx5OjIwfSxhbmltYXRlOntvcGFjaXR5OjEseTowfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouNixkZWxheTouNn0sY2xhc3NOYW1lOiJ0ZXh0LXNtIHNtOnRleHQtYmFzZSBtZDp0ZXh0LWxnIGxnOnRleHQteGwgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG1heC13LTJ4bCBteC1hdXRvIGxlYWRpbmctcmVsYXhlZCBweC00IixjaGlsZHJlbjpbIlRyYWRlIGluIG91ciBzaW11bGF0ZWQgZW52aXJvbm1lbnQgYW5kICIscy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZvbnQtc2VtaWJvbGQgdGV4dC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiZWFybiBwZXJmb3JtYW5jZSBjZXJ0aWZpY2F0ZXMifSldfSkscy5qc3goQWUuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseToxMH0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjYsZGVsYXk6Ljd9LGNsYXNzTmFtZToibXgtYXV0byBtYXgtdy0yeGwgcHgtNCIsY2hpbGRyZW46cy5qc3goImRpdiIse2NsYXNzTmFtZToiaW5saW5lLWJsb2NrIHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItYW1iZXItNDAwIGJnLWFtYmVyLTUwIHB4LTMgc206cHgtNCBweS0xLjUgc2hhZG93LXNtIixjaGlsZHJlbjpzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1bMTBweF0gc206dGV4dC14cyBmb250LWJvbGQgdGV4dC1hbWJlci05MDAgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyIixjaGlsZHJlbjoiRWR1Y2F0aW9uYWwgU2ltdWxhdGlvbiBPbmx5IMK3IE5vIFJlYWwgTW9uZXkgwrcgTm90IGEgQnJva2VyIn0pfSl9KSxzLmpzeChBZS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx5OjIwfSxhbmltYXRlOntvcGFjaXR5OjEseTowfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouNixkZWxheTouOH0sY2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIHNtOmZsZXgtcm93IGdhcC0zIHNtOmdhcC00IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBwdC0xIHNtOnB0LTQgcHgtNCIsY2hpbGRyZW46cy5qc3gob2Use3RvOiIvYXV0aCIsY2xhc3NOYW1lOiJ3LWZ1bGwgc206dy1hdXRvIixjaGlsZHJlbjpzLmpzeChBZS5kaXYse3doaWxlSG92ZXI6e3NjYWxlOjEuMDV9LHdoaWxlVGFwOntzY2FsZTouOTV9LGNoaWxkcmVuOnMuanN4KFVoZSx7Y2xhc3NOYW1lOiJyb3VuZGVkLWZ1bGwiLGNoaWxkcmVuOnMuanN4KFYse3NpemU6ImxnIixjbGFzc05hbWU6InctZnVsbCBzbTp3LWF1dG8gcm91bmRlZC1mdWxsIHB4LTYgc206cHgtOCBweS01IHNtOnB5LTYgdGV4dC1iYXNlIHNtOnRleHQtbGcgYmctcHJpbWFyeSBob3ZlcjpiZy1wcmltYXJ5LzkwIixjaGlsZHJlbjoiR2V0IFN0YXJ0ZWQifSl9KX0pfSl9KSxzLmpzeHMoQWUuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseToyMH0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjYsZGVsYXk6MX0sY2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIHNtOmZsZXgtcm93IGZsZXgtd3JhcCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgZ2FwLTIgc206Z2FwLTQgbWQ6Z2FwLTYgcHQtMyBzbTpwdC00IHB4LTQiLGNoaWxkcmVuOltzLmpzeHMoQWUuZGl2LHt3aGlsZUhvdmVyOntzY2FsZToxLjA1fSxjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIixjaGlsZHJlbjpbcy5qc3goS2wse2NsYXNzTmFtZToiaC01IHctNSBzbTpoLTYgc206dy02IG1kOmgtNyBtZDp3LTcgdGV4dC1wcmltYXJ5IGZsZXgtc2hyaW5rLTAiLHN0cm9rZVdpZHRoOjJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC14cyBzbTp0ZXh0LXNtIG1kOnRleHQtYmFzZSBmb250LW1lZGl1bSB0ZXh0LWdyYXktNzAwIHdoaXRlc3BhY2Utbm93cmFwIixjaGlsZHJlbjoiQ2VydGlmaWNhdGUgR3VhcmFudGVlIn0pXX0pLHMuanN4cyhBZS5kaXYse3doaWxlSG92ZXI6e3NjYWxlOjEuMDV9LGNsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiLGNoaWxkcmVuOltzLmpzeChRYSx7Y2xhc3NOYW1lOiJoLTUgdy01IHNtOmgtNiBzbTp3LTYgbWQ6aC03IG1kOnctNyB0ZXh0LXByaW1hcnkgZmxleC1zaHJpbmstMCIsc3Ryb2tlV2lkdGg6Mn0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHNtOnRleHQtc20gbWQ6dGV4dC1iYXNlIGZvbnQtbWVkaXVtIHRleHQtZ3JheS03MDAgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOiJUaG91c2FuZHMgb2YgQ2VydGlmaWNhdGVzIElzc3VlZCJ9KV19KV19KSxzLmpzeChBZS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx5OjQwLHNjYWxlOi45NX0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MCxzY2FsZToxfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouOCxkZWxheToxLjJ9LGNsYXNzTmFtZToibXQtNiBzbTptdC04IG1heC13LTJ4bCBteC1hdXRvIHB4LTQiLGNoaWxkcmVuOnMuanN4KEFlLmRpdix7d2hpbGVIb3Zlcjp7c2NhbGU6MS4wMn0sdHJhbnNpdGlvbjp7dHlwZToic3ByaW5nIixzdGlmZm5lc3M6MzAwfSxjbGFzc05hbWU6ImJnLWdyYWRpZW50LXRvLXIgZnJvbS1hbWJlci01MDAgdmlhLXllbGxvdy01MDAgdG8tYW1iZXItNTAwIHAtWzNweF0gcm91bmRlZC0yeGwgc2hhZG93LWxnIHNoYWRvdy1hbWJlci01MDAvMzAiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZy1zbGF0ZS05MDAgcm91bmRlZC0yeGwgcC00IHNtOnAtNiByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4iLGNoaWxkcmVuOltzLmpzeChBZS5kaXYse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1yIGZyb20tYW1iZXItNTAwLzEwIHZpYS15ZWxsb3ctNTAwLzEwIHRvLWFtYmVyLTUwMC8xMCIsYW5pbWF0ZTp7YmFja2dyb3VuZFBvc2l0aW9uOlsiMCUgNTAlIiwiMTAwJSA1MCUiLCIwJSA1MCUiXX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246NSxyZXBlYXQ6MS8wLGVhc2U6ImxpbmVhciJ9fSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHJpZ2h0LTAgYmctZ3JhZGllbnQtdG8tciBmcm9tLWFtYmVyLTYwMCB0by15ZWxsb3ctNTAwIHRleHQtd2hpdGUgdGV4dC1jZW50ZXIgcHktMSB0ZXh0LXhzIGZvbnQtYmxhY2siLGNoaWxkcmVuOiLwn46JIEZMQVNIIE9GRkVSIPCfjoIifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InB0LTYgcmVsYXRpdmUiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgbWItNCIsY2hpbGRyZW46W3MuanN4KEFlLnNwYW4se2FuaW1hdGU6e3JvdGF0ZTpbMCwxMCwtMTAsMF19LHRyYW5zaXRpb246e2R1cmF0aW9uOjIscmVwZWF0OjEvMH0sY2xhc3NOYW1lOiJ0ZXh0LTJ4bCIsY2hpbGRyZW46IvCfjokifSkscy5qc3goImgzIix7Y2xhc3NOYW1lOiJ0ZXh0LWxnIHNtOnRleHQteGwgZm9udC1ibGFjayB0ZXh0LXRyYW5zcGFyZW50IGJnLWNsaXAtdGV4dCBiZy1ncmFkaWVudC10by1yIGZyb20tYW1iZXItNDAwIHRvLXllbGxvdy01MDAiLGNoaWxkcmVuOiJGTE9XSU5HIEZVTkRFRCBGTEFTSCBPRkZFUiJ9KSxzLmpzeChBZS5zcGFuLHthbmltYXRlOntzY2FsZTpbMSwxLjIsMV19LHRyYW5zaXRpb246e2R1cmF0aW9uOjEuNSxyZXBlYXQ6MS8wfSxjbGFzc05hbWU6InRleHQtMnhsIixjaGlsZHJlbjoi8J+OgiJ9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZ3JpZCBncmlkLWNvbHMtMiBnYXAtNCBtYi00IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImJnLXNsYXRlLTgwMC81MCByb3VuZGVkLXhsIHAtMyBzbTpwLTQgb3BhY2l0eS02MCIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC13aGl0ZS81MCBtYi0yIGxpbmUtdGhyb3VnaCIsY2hpbGRyZW46IlJlZ3VsYXIgUHJpY2UifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC1sZyBzbTp0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZS81MCBsaW5lLXRocm91Z2giLGNoaWxkcmVuOiIxIENoYWxsZW5nZSJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHRleHQtd2hpdGUvNTAgbXQtMiIsY2hpbGRyZW46IlN0YW5kYXJkIHB1cmNoYXNlIn0pXX0pLHMuanN4cyhBZS5kaXYse2FuaW1hdGU6e2JveFNoYWRvdzpbIjAgMCAxMHB4IHJnYmEoMCwgMTA2LCAyMTgsIDAuMykiLCIwIDAgMjBweCByZ2JhKDAsIDEwNiwgMjE4LCAwLjUpIiwiMCAwIDEwcHggcmdiYSgwLCAxMDYsIDIxOCwgMC4zKSJdfSx0cmFuc2l0aW9uOntkdXJhdGlvbjoyLHJlcGVhdDoxLzB9LGNsYXNzTmFtZToiYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1wcmltYXJ5LzMwIHRvLWN5YW4tOTAwLzUwIHJvdW5kZWQteGwgcC0zIHNtOnAtNCBib3JkZXItMiBib3JkZXItcHJpbWFyeSByZWxhdGl2ZSIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIC10b3AtMiAtcmlnaHQtMiBiZy1ncmFkaWVudC10by1yIGZyb20tYW1iZXItNTAwIHRvLXllbGxvdy01MDAgdGV4dC13aGl0ZSB0ZXh0LVsxMHB4XSBweC0yIHB5LTAuNSByb3VuZGVkLWZ1bGwgZm9udC1ibGFjayIsY2hpbGRyZW46IkZMQVNIIE9GRkVSIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC1hbWJlci00MDAgZm9udC1ibGFjayBtYi0yIixjaGlsZHJlbjoi8J+OiSBCT0dPIE9GRkVSIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtbGcgc206dGV4dC0yeGwgZm9udC1ibGFjayB0ZXh0LXRyYW5zcGFyZW50IGJnLWNsaXAtdGV4dCBiZy1ncmFkaWVudC10by1yIGZyb20tYW1iZXItNDAwIHRvLXllbGxvdy00MDAiLGNoaWxkcmVuOiIyIENoYWxsZW5nZXMifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LWN5YW4tNDAwIG10LTIgZm9udC1ib2xkIixjaGlsZHJlbjoiU2FtZSBwcmljZSEifSldfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRleHQtY2VudGVyIixjaGlsZHJlbjpbcy5qc3goQWUuZGl2LHthbmltYXRlOntzY2FsZTpbMSwxLjAyLDFdfSx0cmFuc2l0aW9uOntkdXJhdGlvbjoxLHJlcGVhdDoxLzB9LGNsYXNzTmFtZToiYmctZ3JhZGllbnQtdG8tciBmcm9tLWFtYmVyLTUwMCB2aWEteWVsbG93LTUwMCB0by1hbWJlci02MDAgdGV4dC13aGl0ZSB0ZXh0LXNtIGZvbnQtYmxhY2sgcHktMiBweC00IHJvdW5kZWQtbGcgbWItMyBpbmxpbmUtYmxvY2siLGNoaWxkcmVuOiLwn46BIEJVWSBPTkUgR0VUIE9ORSBGUkVFIPCfjoEifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC1hbWJlci00MDAgZm9udC1ib2xkIG1iLTIiLGNoaWxkcmVuOiLwn46JIEZsYXNoIE9mZmVyIOKAlCBkb3VibGUgdGhlIGNoYWxsZW5nZXMhIn0pLHMuanN4cyhBZS5kaXYse2FuaW1hdGU6e29wYWNpdHk6WzEsLjcsMV19LHRyYW5zaXRpb246e2R1cmF0aW9uOjEuNSxyZXBlYXQ6MS8wfSxjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIHRleHQteHMgdGV4dC13aGl0ZSBmb250LWJsYWNrIGJnLWFtYmVyLTYwMCBweS0xIHB4LTMgcm91bmRlZC1mdWxsIGlubGluZS1ibG9jayIsY2hpbGRyZW46W3MuanN4KCJzcGFuIix7Y2hpbGRyZW46IuKPsCJ9KSxzLmpzeCgic3BhbiIse2NoaWxkcmVuOiJMSU1JVEVEIFRJTUUgT0ZGRVIifSldfSldfSldfSldfSl9KX0pXX0pXX0pXX0pLHMuanN4KEdjZSx7fSkscy5qc3goYkUse30pLHMuanN4KCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJweS02IHNtOnB5LTggbWQ6cHktMTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXdoaXRlIHRvLXNlY29uZGFyeS8yMCIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IixjaGlsZHJlbjpbcy5qc3hzKFJpLHtjbGFzc05hbWU6InRleHQtY2VudGVyIG1iLTQgc206bWItOCBtZDptYi0xMCIsY2hpbGRyZW46W3MuanN4cygiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIHNtOnRleHQtM3hsIG1kOnRleHQtNHhsIGxnOnRleHQtNXhsIGZvbnQtYm9sZCBtYi0xIHNtOm1iLTQgcHgtMiIsY2hpbGRyZW46WyJXaHkgVHJhZGVycyAiLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXByaW1hcnkiLGNoaWxkcmVuOiJDaG9vc2UifSksIiBGbG93aW5nRnVuZGVkIl19KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1iYXNlIHNtOnRleHQtbGcgbWQ6dGV4dC14bCB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiJQcm92ZSB5b3VyIHNraWxscy4gRWFybiByZWNvZ25pdGlvbi4ifSldfSkscy5qc3hzKE1mLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTQgc206Z2FwLTYgbWQ6Z2FwLTgiLGNoaWxkcmVuOltzLmpzeChGcyx7Y2hpbGRyZW46cy5qc3goQWUuZGl2LHt3aGlsZUhvdmVyOnt5Oi01LHRyYW5zaXRpb246e2R1cmF0aW9uOi4yfX0sY2hpbGRyZW46cy5qc3godWUse2NsYXNzTmFtZToiYm9yZGVyLTAgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS13aGl0ZSB0by1ibHVlLTUwLzUwIHNoYWRvdy14bCBoLWZ1bGwiLGNoaWxkcmVuOnMuanN4cyhDZSx7Y2xhc3NOYW1lOiJwdC00IHBiLTQgcHgtNCBzbTpwdC04IHNtOnBiLTggc206cHgtNiBzcGFjZS15LTMgc206c3BhY2UteS02IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHNtOmdhcC0zIixjaGlsZHJlbjpbcy5qc3goUWkse2NoaWxkcmVuOnMuanN4KCJkaXYiLHtjbGFzc05hbWU6InctMTAgaC0xMCBzbTp3LTEyIHNtOmgtMTIgcm91bmRlZC14bCBiZy1wcmltYXJ5LzEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZsZXgtc2hyaW5rLTAiLGNoaWxkcmVuOnMuanN4KFFhLHtjbGFzc05hbWU6ImgtNSB3LTUgc206aC02IHNtOnctNiB0ZXh0LXByaW1hcnkifSl9KX0pLHMuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToiZm9udC1ib2xkIHRleHQtYmFzZSBzbTp0ZXh0LWxnIG1kOnRleHQteGwiLGNoaWxkcmVuOiJDZXJ0aWZpY2F0ZSBndWFyYW50ZWUifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgc206dGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiJDZXJ0aWZpY2F0ZXMgcHJvY2Vzc2VkIHdpdGhpbiAyNCBob3VycyJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC14cyBzbTp0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCIsY2hpbGRyZW46Im9yIHJlY2VpdmUgYSBib251cyAkMTAwMCBjZXJ0aWZpY2F0ZSJ9KV19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYmctd2hpdGUgcm91bmRlZC14bCBwLTQgc2hhZG93LXNtIGJvcmRlciBib3JkZXItcHJpbWFyeS8xMCIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBtYi0zIHBiLTMgYm9yZGVyLWIiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InctOCBoLTggcm91bmRlZC1sZyBiZy1wcmltYXJ5IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIixjaGlsZHJlbjpzLmpzeChRYSx7Y2xhc3NOYW1lOiJoLTQgdy00IHRleHQtd2hpdGUifSl9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXByaW1hcnkiLGNoaWxkcmVuOiJZb3VyIHRyYW5zYWN0aW9ucyJ9KV19KX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMiLGNoaWxkcmVuOltzLmpzeHMoQWUuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseDotMjB9LHdoaWxlSW5WaWV3OntvcGFjaXR5OjEseDowfSx2aWV3cG9ydDp7b25jZTohMH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjJ9LGNsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHAtMiBiZy1ncmFkaWVudC10by1yIGZyb20tZ3JlZW4tNTAgdG8tdHJhbnNwYXJlbnQgcm91bmRlZC1sZyIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InctNiBoLTYgcm91bmRlZCBiZy13aGl0ZSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXhzIixjaGlsZHJlbjoi8J+ThSJ9KSxzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIGZvbnQtbWVkaXVtIixjaGlsZHJlbjoiVG9kYXksIDA3OjQ1UE0ifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LWdyZWVuLTYwMCBmb250LXNlbWlib2xkIixjaGlsZHJlbjoiU3VjY2Vzc2Z1bCJ9KV19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC1yaWdodCIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtc20gZm9udC1ib2xkIHRleHQtZ3JlZW4tNjAwIixjaGlsZHJlbjoiMiw3MDUuODAifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiLinJMifSldfSldfSkscy5qc3hzKEFlLmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHg6LTIwfSx3aGlsZUluVmlldzp7b3BhY2l0eToxLHg6MH0sdmlld3BvcnQ6e29uY2U6ITB9LHRyYW5zaXRpb246e2RlbGF5Oi4zfSxjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBwLTIgb3BhY2l0eS02MCIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InctNiBoLTYgcm91bmRlZCBiZy1ncmF5LTEwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXhzIixjaGlsZHJlbjoi8J+ThSJ9KSxzLmpzeCgiZGl2Iix7Y2hpbGRyZW46cy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC14cyIsY2hpbGRyZW46Ik1vbiAxMjozMFBNIn0pfSldfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC14cyIsY2hpbGRyZW46IiQ5NzguMjAifSldfSkscy5qc3hzKEFlLmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHg6LTIwfSx3aGlsZUluVmlldzp7b3BhY2l0eToxLHg6MH0sdmlld3BvcnQ6e29uY2U6ITB9LHRyYW5zaXRpb246e2RlbGF5Oi40fSxjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBwLTIgb3BhY2l0eS00MCIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InctNiBoLTYgcm91bmRlZCBiZy1ncmF5LTEwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXhzIixjaGlsZHJlbjoi8J+ThSJ9KSxzLmpzeCgiZGl2Iix7Y2hpbGRyZW46cy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC14cyIsY2hpbGRyZW46IlN1biAwMTowNFBNIn0pfSldfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC14cyIsY2hpbGRyZW46IiQ4NjAifSldfSldfSldfSldfSl9KX0pfSkscy5qc3goRnMse2NoaWxkcmVuOnMuanN4KEFlLmRpdix7d2hpbGVIb3Zlcjp7eTotNSx0cmFuc2l0aW9uOntkdXJhdGlvbjouMn19LGNoaWxkcmVuOnMuanN4KHVlLHtjbGFzc05hbWU6ImJvcmRlci0wIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tcHJpbWFyeS81IHZpYS13aGl0ZSB0by1wcmltYXJ5LzEwIHNoYWRvdy14bCBoLWZ1bGwiLGNoaWxkcmVuOnMuanN4cyhDZSx7Y2xhc3NOYW1lOiJwdC00IHBiLTQgcHgtMyBzbTpwdC02IHNtOnBiLTYgc206cHgtNCBtZDpweC02IHNwYWNlLXktMyBzbTpzcGFjZS15LTQgcmVsYXRpdmUiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbWQ6Z2FwLTMiLGNoaWxkcmVuOltzLmpzeChRaSx7Y2hpbGRyZW46cy5qc3goImRpdiIse2NsYXNzTmFtZToidy0xMCBoLTEwIG1kOnctMTIgbWQ6aC0xMiByb3VuZGVkLXhsIGJnLXByaW1hcnkvMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZmxleC1zaHJpbmstMCBib3JkZXIgYm9yZGVyLXByaW1hcnkvMjAiLGNoaWxkcmVuOnMuanN4KEd0LHtjbGFzc05hbWU6ImgtNSB3LTUgbWQ6aC02IG1kOnctNiB0ZXh0LXByaW1hcnkifSl9KX0pLHMuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToiZm9udC1ib2xkIHRleHQtYmFzZSBtZDp0ZXh0LXhsIHRleHQtZm9yZWdyb3VuZCIsY2hpbGRyZW46IlNjYWxlIFlvdXIgU2ltdWxhdGlvbiJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC14cyBtZDp0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBtdC0xIixjaGlsZHJlbjoiRnJvbSAkMjVLIHRvICQzTSBzaW11bGF0ZWQgYWNjb3VudHMifSldfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImJnLXdoaXRlIHJvdW5kZWQteGwgcC00IG1kOnAtNiBzaGFkb3ctc20gYm9yZGVyIGJvcmRlci1wcmltYXJ5LzEwIixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLTMgbWQ6Z2FwLTQiLGNoaWxkcmVuOltzLmpzeHMoQWUuZGl2LHt3aGlsZUhvdmVyOntzY2FsZToxLjA1fSxjbGFzc05hbWU6InRleHQtY2VudGVyIHAtMyBiZy1wcmltYXJ5LzUgcm91bmRlZC14bCIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtMnhsIG1kOnRleHQtM3hsIGZvbnQtYmxhY2sgdGV4dC1wcmltYXJ5IG1iLTEiLGNoaWxkcmVuOiIkMjVLIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEwcHhdIG1kOnRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiU3RhcnRlciJ9KV19KSxzLmpzeHMoQWUuZGl2LHt3aGlsZUhvdmVyOntzY2FsZToxLjA1fSxjbGFzc05hbWU6InRleHQtY2VudGVyIHAtMyBiZy1wcmltYXJ5LzUgcm91bmRlZC14bCIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtMnhsIG1kOnRleHQtM3hsIGZvbnQtYmxhY2sgdGV4dC1wcmltYXJ5IG1iLTEiLGNoaWxkcmVuOiIkM00ifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC1bMTBweF0gbWQ6dGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiJNYXhpbXVtIn0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtdC00IG1kOm10LTYgdGV4dC1jZW50ZXIiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWxnIG1kOnRleHQteGwgZm9udC1ib2xkIHRleHQtZm9yZWdyb3VuZCBtYi0xIG1kOm1iLTIiLGNoaWxkcmVuOiJDaG9vc2UgWW91ciBBY2NvdW50IFNpemUifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgbWQ6dGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiJTdGFydCBzbWFsbCBhbmQgc2NhbGUgdXAgYXMgeW91IGdyb3cifSldfSldfSldfSl9KX0pfSkscy5qc3goRnMse2NoaWxkcmVuOnMuanN4KEFlLmRpdix7d2hpbGVIb3Zlcjp7eTotNSx0cmFuc2l0aW9uOntkdXJhdGlvbjouMn19LGNoaWxkcmVuOnMuanN4KHVlLHtjbGFzc05hbWU6ImJvcmRlci0wIGJnLWdyYWRpZW50LXRvLWJyIGZyb20td2hpdGUgdG8tYmx1ZS01MC81MCBzaGFkb3cteGwgaC1mdWxsIixjaGlsZHJlbjpzLmpzeHMoQ2Use2NsYXNzTmFtZToicHQtNCBwYi00IHB4LTQgc206cHQtOCBzbTpwYi04IHNtOnB4LTYgc3BhY2UteS0zIHNtOnNwYWNlLXktNiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46W3MuanN4KFFpLHtjaGlsZHJlbjpzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ3LTEwIGgtMTAgc206dy0xMiBzbTpoLTEyIHJvdW5kZWQteGwgYmctcHJpbWFyeS8xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmbGV4LXNocmluay0wIixjaGlsZHJlbjpzLmpzeChXcix7Y2xhc3NOYW1lOiJoLTUgdy01IHNtOmgtNiBzbTp3LTYgdGV4dC1wcmltYXJ5In0pfSl9KSxzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6ImZvbnQtYm9sZCB0ZXh0LWJhc2Ugc206dGV4dC14bCIsY2hpbGRyZW46IjEwMCUgc2ltdWxhdGVkIGdhaW4gc2hhcmUifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgc206dGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQgbXQtMSIsY2hpbGRyZW46IlN0YW5kYXJkIHNoYXJlIDkwJSJ9KV19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic206aGlkZGVuIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1wcmltYXJ5LzEwIHRvLXByaW1hcnkvNSByb3VuZGVkLXhsIHAtNCB0ZXh0LWNlbnRlciBib3JkZXIgYm9yZGVyLXByaW1hcnkvMjAiLGNoaWxkcmVuOltzLmpzeChBZS5kaXYse2luaXRpYWw6e3NjYWxlOi44LG9wYWNpdHk6MH0sd2hpbGVJblZpZXc6e3NjYWxlOjEsb3BhY2l0eToxfSx2aWV3cG9ydDp7b25jZTohMH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjV9LGNsYXNzTmFtZToidGV4dC00eGwgZm9udC1ibGFjayB0ZXh0LXByaW1hcnkgbWItMSIsY2hpbGRyZW46IjEwMCUifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiJzaW11bGF0ZWQgZ2FpbiBzaGFyZSJ9KV19KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJoaWRkZW4gc206YmxvY2sgYmctd2hpdGUgcm91bmRlZC14bCBwLTYgc2hhZG93LXNtIGJvcmRlciBib3JkZXItcHJpbWFyeS8xMCIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIHctNDggaC00OCBteC1hdXRvIixjaGlsZHJlbjpbcy5qc3goQWUuZGl2LHthbmltYXRlOntyb3RhdGU6MzYwfSx0cmFuc2l0aW9uOntkdXJhdGlvbjoyMCxyZXBlYXQ6MS8wLGVhc2U6ImxpbmVhciJ9LGNsYXNzTmFtZToiYWJzb2x1dGUgLXRvcC0yIC1yaWdodC0yIHctMTAgaC0xMCByb3VuZGVkLWZ1bGwgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTIwMCB0by1ibHVlLTMwMCBvcGFjaXR5LTYwIGJsdXItc20ifSkscy5qc3goQWUuZGl2LHthbmltYXRlOntyb3RhdGU6LTM2MH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246MjUscmVwZWF0OjEvMCxlYXNlOiJsaW5lYXIifSxjbGFzc05hbWU6ImFic29sdXRlIHRvcC04IC1sZWZ0LTQgdy04IGgtOCByb3VuZGVkLWZ1bGwgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTEwMCB0by1ibHVlLTIwMCBvcGFjaXR5LTQwIGJsdXItc20ifSkscy5qc3goQWUuZGl2LHthbmltYXRlOntyb3RhdGU6MzYwfSx0cmFuc2l0aW9uOntkdXJhdGlvbjozMCxyZXBlYXQ6MS8wLGVhc2U6ImxpbmVhciJ9LGNsYXNzTmFtZToiYWJzb2x1dGUgLWJvdHRvbS0yIHJpZ2h0LTggdy0xMiBoLTEyIHJvdW5kZWQtZnVsbCBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtMzAwIHRvLWJsdWUtNDAwIG9wYWNpdHktMzAgYmx1ci1zbSJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgdy1mdWxsIGgtZnVsbCIsY2hpbGRyZW46W3MuanN4cygic3ZnIix7dmlld0JveDoiMCAwIDIwMCAyMDAiLGNsYXNzTmFtZToidy1mdWxsIGgtZnVsbCB0cmFuc2Zvcm0gLXJvdGF0ZS05MCIsY2hpbGRyZW46W3MuanN4KCJjaXJjbGUiLHtjeDoiMTAwIixjeToiMTAwIixyOiI4MCIsZmlsbDoibm9uZSIsc3Ryb2tlOiIjRTVFN0VCIixzdHJva2VXaWR0aDoiMTYifSkscy5qc3goQWUuY2lyY2xlLHtpbml0aWFsOntzdHJva2VEYXNob2Zmc2V0OjUwMi40fSx3aGlsZUluVmlldzp7c3Ryb2tlRGFzaG9mZnNldDowfSx2aWV3cG9ydDp7b25jZTohMH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246MS41LGVhc2U6ImVhc2VPdXQifSxjeDoiMTAwIixjeToiMTAwIixyOiI4MCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJ1cmwoI2NpcmNsZUdyYWRpZW50KSIsc3Ryb2tlV2lkdGg6IjE2IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlRGFzaGFycmF5OiI1MDIuNCJ9KSxzLmpzeCgiZGVmcyIse2NoaWxkcmVuOnMuanN4cygibGluZWFyR3JhZGllbnQiLHtpZDoiY2lyY2xlR3JhZGllbnQiLHgxOiIwJSIseTE6IjAlIix4MjoiMTAwJSIseTI6IjEwMCUiLGNoaWxkcmVuOltzLmpzeCgic3RvcCIse29mZnNldDoiMCUiLHN0eWxlOntzdG9wQ29sb3I6IiMzQjgyRjYiLHN0b3BPcGFjaXR5OjF9fSkscy5qc3goInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0eWxlOntzdG9wQ29sb3I6IiM2MEE1RkEiLHN0b3BPcGFjaXR5OjF9fSldfSl9KV19KSxzLmpzeChBZS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCxzY2FsZTouNX0sd2hpbGVJblZpZXc6e29wYWNpdHk6MSxzY2FsZToxfSx2aWV3cG9ydDp7b25jZTohMH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjUsZGVsYXk6LjV9LGNsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciIsY2hpbGRyZW46cy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC01eGwgZm9udC1ib2xkIHRleHQtcHJpbWFyeSIsY2hpbGRyZW46IjEwMCUifSl9KV19KV19KX0pXX0pfSl9KX0pXX0pXX0pfSkscy5qc3goImRpdiIse2lkOiJwcmljaW5nIixjbGFzc05hbWU6ImJnLXdoaXRlIixjaGlsZHJlbjpzLmpzeChhOCx7fSl9KSxzLmpzeCgic2VjdGlvbiIse2NsYXNzTmFtZToicHktOCBzbTpweS0xMCBtZDpweS0xMiBiZy1ncmFkaWVudC10by1iciBmcm9tLXByaW1hcnkvNSB2aWEtd2hpdGUgdG8tc2Vjb25kYXJ5LzUiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCIsY2hpbGRyZW46W3MuanN4cyhSaSx7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciBtYi04IixjaGlsZHJlbjpbcy5qc3hzKEFlLmRpdix7d2hpbGVIb3Zlcjp7c2NhbGU6MS4wNX0sY2xhc3NOYW1lOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtNCBweS0yIGJnLXByaW1hcnkvMTAgcm91bmRlZC1mdWxsIG1iLTQiLGNoaWxkcmVuOltzLmpzeChobix7Y2xhc3NOYW1lOiJoLTQgdy00IHRleHQtcHJpbWFyeSJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtcHJpbWFyeSIsY2hpbGRyZW46IkNlcnRpZmljYXRlIFN0cnVjdHVyZSJ9KV19KSxzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQtM3hsIHNtOnRleHQtNHhsIG1kOnRleHQtNXhsIGZvbnQtYm9sZCBtYi00IixjaGlsZHJlbjoiUmV3YXJkIENlcnRpZmljYXRlIFRpbWVsaW5lIn0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWxnIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBtYXgtdy0yeGwgbXgtYXV0byIsY2hpbGRyZW46IlByb2dyZXNzaXZlIGNlcnRpZmljYXRlIHJld2FyZHMgYmFzZWQgb24geW91ciBjb25zaXN0ZW5jeSBhbmQgc2ltdWxhdGVkIHBlcmZvcm1hbmNlIn0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMHB4XSB0ZXh0LW11dGVkLWZvcmVncm91bmQvNjAgbXQtMiBtYXgtdy14bCBteC1hdXRvIixjaGlsZHJlbjoiT3VyIHNpbXVsYXRlZCBlbnZpcm9ubWVudCB0ZXN0cyB5b3VyIGRlY2lzaW9uLW1ha2luZyBhbmQgY29uc2lzdGVuY3kuIFlvdSdsbCByZWNlaXZlIGRldGFpbGVkIHJlcG9ydHMuIEJ1dCBubyByZWFsIHRyYWRpbmcgYWNjb3VudCBvciBjYXBpdGFsIGlzIHByb3ZpZGVkLiJ9KV19KSxzLmpzeHMoTWYse2NsYXNzTmFtZToiZ3JpZCBtZDpncmlkLWNvbHMtMyBnYXAtNiBtZDpnYXAtOCBtYXgtdy02eGwgbXgtYXV0byIsY2hpbGRyZW46W3MuanN4KEZzLHtjaGlsZHJlbjpzLmpzeChBZS5kaXYse3doaWxlSG92ZXI6e3k6LTgsdHJhbnNpdGlvbjp7ZHVyYXRpb246LjN9fSxjaGlsZHJlbjpzLmpzeHModWUse2NsYXNzTmFtZToiYm9yZGVyIGJnLXdoaXRlIGhvdmVyOnNoYWRvdy14bCB0cmFuc2l0aW9uLWFsbCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4gaC1mdWxsIixjaGlsZHJlbjpbcy5qc3goQWUuZGl2LHtpbml0aWFsOntzY2FsZVg6MH0sd2hpbGVJblZpZXc6e3NjYWxlWDoxfSx2aWV3cG9ydDp7b25jZTohMH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjZ9LGNsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHJpZ2h0LTAgaC0xIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1wcmltYXJ5LzUwIHRvLXByaW1hcnkgb3JpZ2luLWxlZnQifSkscy5qc3hzKENlLHtjbGFzc05hbWU6InB0LTggcGItNiBweC02IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1iLTYiLGNoaWxkcmVuOltzLmpzeChRaSx7Y2hpbGRyZW46cy5qc3goImRpdiIse2NsYXNzTmFtZToidy0xNiBoLTE2IGJnLXByaW1hcnkvMTAgcm91bmRlZC0yeGwgbXgtYXV0byBtYi00IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIixjaGlsZHJlbjpzLmpzeChobix7Y2xhc3NOYW1lOiJoLTggdy04IHRleHQtcHJpbWFyeSJ9KX0pfSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImlubGluZS1ibG9jayBweC00IHB5LTIgYmctcHJpbWFyeS8xMCB0ZXh0LXByaW1hcnkgcm91bmRlZC1mdWxsIHRleHQtc20gZm9udC1zZW1pYm9sZCIsY2hpbGRyZW46IkZpcnN0IFBheW91dCBDZXJ0In0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciBtYi02IixjaGlsZHJlbjpbcy5qc3goQWUuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAsc2NhbGU6LjV9LHdoaWxlSW5WaWV3OntvcGFjaXR5OjEsc2NhbGU6MX0sdmlld3BvcnQ6e29uY2U6ITB9LHRyYW5zaXRpb246e2R1cmF0aW9uOi41LHR5cGU6InNwcmluZyJ9LGNsYXNzTmFtZToidGV4dC01eGwgZm9udC1ib2xkIHRleHQtcHJpbWFyeSBtYi0yIixjaGlsZHJlbjoiOTAvMTAifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiUmV3YXJkIFNoYXJlIn0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1zdGFydCBnYXAtMyIsY2hpbGRyZW46W3MuanN4KG90LHtjbGFzc05hbWU6ImgtNSB3LTUgdGV4dC1wcmltYXJ5IG10LTAuNSBmbGV4LXNocmluay0wIn0pLHMuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJwIix7Y2xhc3NOYW1lOiJmb250LXNlbWlib2xkIHRleHQtc20iLGNoaWxkcmVuOiI5MCUgQ2VydGlmaWNhdGUgVmFsdWUifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiMTAlIHBsYXRmb3JtIHNoYXJlIn0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0zIixjaGlsZHJlbjpbcy5qc3gob3Qse2NsYXNzTmFtZToiaC01IHctNSB0ZXh0LXByaW1hcnkgbXQtMC41IGZsZXgtc2hyaW5rLTAifSkscy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3goInAiLHtjbGFzc05hbWU6ImZvbnQtc2VtaWJvbGQgdGV4dC1zbSIsY2hpbGRyZW46IkF2YWlsYWJsZSBBZnRlciJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiIzNSB0cmFkaW5nIGRheXMgZnJvbSBzdGFydCJ9KV19KV19KV19KV19KV19KX0pfSkscy5qc3goRnMse2NoaWxkcmVuOnMuanN4KEFlLmRpdix7d2hpbGVIb3Zlcjp7eTotOCxzY2FsZToxLjAyLHRyYW5zaXRpb246e2R1cmF0aW9uOi4zfX0sY2xhc3NOYW1lOiJyZWxhdGl2ZSB6LTEwIixjaGlsZHJlbjpzLmpzeHModWUse2NsYXNzTmFtZToiYm9yZGVyLTIgYm9yZGVyLXByaW1hcnkgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1wcmltYXJ5IHRvLXByaW1hcnkvOTAgdGV4dC13aGl0ZSBob3ZlcjpzaGFkb3ctMnhsIHRyYW5zaXRpb24tYWxsIHNjYWxlLTEwMCBtZDpzY2FsZS0xMDUgcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIGgtZnVsbCIsY2hpbGRyZW46W3MuanN4KEFlLmRpdix7YW5pbWF0ZTp7Ym94U2hhZG93OlsiMCAwIDIwcHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMykiLCIwIDAgNDBweCByZ2JhKDU5LCAxMzAsIDI0NiwgMC41KSIsIjAgMCAyMHB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpIl19LHRyYW5zaXRpb246e2R1cmF0aW9uOjIscmVwZWF0OjEvMH0sY2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHJvdW5kZWQtbGcifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTAgcmlnaHQtMCBweC0zIHB5LTEgYmctd2hpdGUvMjAgcm91bmRlZC1ibC1sZyIsY2hpbGRyZW46cy5qc3goR2kse2NsYXNzTmFtZToiaC00IHctNCBpbmxpbmUifSl9KSxzLmpzeHMoQ2Use2NsYXNzTmFtZToicHQtOCBwYi02IHB4LTYgcmVsYXRpdmUiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWItNiIsY2hpbGRyZW46W3MuanN4KFFpLHtjaGlsZHJlbjpzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ3LTE2IGgtMTYgYmctd2hpdGUvMjAgcm91bmRlZC0yeGwgbXgtYXV0byBtYi00IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIixjaGlsZHJlbjpzLmpzeChHdCx7Y2xhc3NOYW1lOiJoLTggdy04IHRleHQtd2hpdGUifSl9KX0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJpbmxpbmUtYmxvY2sgcHgtNCBweS0yIGJnLXdoaXRlLzIwIHRleHQtd2hpdGUgcm91bmRlZC1mdWxsIHRleHQtc20gZm9udC1zZW1pYm9sZCIsY2hpbGRyZW46IlNlY29uZCBQYXlvdXQgQ2VydCJ9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC1jZW50ZXIgbWItNiIsY2hpbGRyZW46W3MuanN4KEFlLmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHNjYWxlOi41fSx3aGlsZUluVmlldzp7b3BhY2l0eToxLHNjYWxlOjF9LHZpZXdwb3J0OntvbmNlOiEwfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouNSx0eXBlOiJzcHJpbmcifSxjbGFzc05hbWU6InRleHQtNXhsIGZvbnQtYm9sZCBtYi0yIixjaGlsZHJlbjoiMTAwJSJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1zbSB0ZXh0LXdoaXRlLzgwIixjaGlsZHJlbjoiRnVsbCBDZXJ0aWZpY2F0ZSBWYWx1ZSJ9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0zIixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtc3RhcnQgZ2FwLTMiLGNoaWxkcmVuOltzLmpzeChvdCx7Y2xhc3NOYW1lOiJoLTUgdy01IHRleHQtd2hpdGUgbXQtMC41IGZsZXgtc2hyaW5rLTAifSkscy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3goInAiLHtjbGFzc05hbWU6ImZvbnQtc2VtaWJvbGQgdGV4dC1zbSIsY2hpbGRyZW46IjEwMCUgQ2VydGlmaWNhdGUgVmFsdWUifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC13aGl0ZS84MCIsY2hpbGRyZW46Ik5vIHBsYXRmb3JtIHNoYXJlIn0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0zIixjaGlsZHJlbjpbcy5qc3gob3Qse2NsYXNzTmFtZToiaC01IHctNSB0ZXh0LXdoaXRlIG10LTAuNSBmbGV4LXNocmluay0wIn0pLHMuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJwIix7Y2xhc3NOYW1lOiJmb250LXNlbWlib2xkIHRleHQtc20iLGNoaWxkcmVuOiJBdmFpbGFibGUgQWZ0ZXIifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC13aGl0ZS84MCIsY2hpbGRyZW46IjcgZGF5cyBhZnRlciBmaXJzdCBwYXlvdXQgY2VydCJ9KV19KV19KV19KV19KV19KX0pfSkscy5qc3goRnMse2NoaWxkcmVuOnMuanN4KEFlLmRpdix7d2hpbGVIb3Zlcjp7eTotOCx0cmFuc2l0aW9uOntkdXJhdGlvbjouM319LGNoaWxkcmVuOnMuanN4cyh1ZSx7Y2xhc3NOYW1lOiJib3JkZXIgYmctd2hpdGUgaG92ZXI6c2hhZG93LXhsIHRyYW5zaXRpb24tYWxsIHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBoLWZ1bGwiLGNoaWxkcmVuOltzLmpzeChBZS5kaXYse2luaXRpYWw6e3NjYWxlWDowfSx3aGlsZUluVmlldzp7c2NhbGVYOjF9LHZpZXdwb3J0OntvbmNlOiEwfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouNn0sY2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgcmlnaHQtMCBoLTEgYmctZ3JhZGllbnQtdG8tciBmcm9tLXByaW1hcnkgdG8tcHJpbWFyeS81MCBvcmlnaW4tbGVmdCJ9KSxzLmpzeHMoQ2Use2NsYXNzTmFtZToicHQtOCBwYi02IHB4LTYiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWItNiIsY2hpbGRyZW46W3MuanN4KFFpLHtjaGlsZHJlbjpzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ3LTE2IGgtMTYgYmctcHJpbWFyeS8xMCByb3VuZGVkLTJ4bCBteC1hdXRvIG1iLTQgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiLGNoaWxkcmVuOnMuanN4KExhLHtjbGFzc05hbWU6ImgtOCB3LTggdGV4dC1wcmltYXJ5In0pfSl9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToiaW5saW5lLWJsb2NrIHB4LTQgcHktMiBiZy1wcmltYXJ5LzEwIHRleHQtcHJpbWFyeSByb3VuZGVkLWZ1bGwgdGV4dC1zbSBmb250LXNlbWlib2xkIixjaGlsZHJlbjoiM3JkKyBQYXlvdXQgQ2VydHMifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRleHQtY2VudGVyIG1iLTYiLGNoaWxkcmVuOltzLmpzeChBZS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCxzY2FsZTouNX0sd2hpbGVJblZpZXc6e29wYWNpdHk6MSxzY2FsZToxfSx2aWV3cG9ydDp7b25jZTohMH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjUsdHlwZToic3ByaW5nIn0sY2xhc3NOYW1lOiJ0ZXh0LTV4bCBmb250LWJvbGQgdGV4dC1wcmltYXJ5IG1iLTIiLGNoaWxkcmVuOnMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEiLGNoaWxkcmVuOnMuanN4KEFlLmRpdix7YW5pbWF0ZTp7cm90YXRlOlswLDEwLC0xMCwwXX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjUscmVwZWF0OjEvMCxyZXBlYXREZWxheToyfSxjaGlsZHJlbjpzLmpzeChMYSx7Y2xhc3NOYW1lOiJoLTEwIHctMTAifSl9KX0pfSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiSW5zdGFudCBQYXlvdXQgQ2VydHMifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0zIixjaGlsZHJlbjpbcy5qc3gob3Qse2NsYXNzTmFtZToiaC01IHctNSB0ZXh0LXByaW1hcnkgbXQtMC41IGZsZXgtc2hyaW5rLTAifSkscy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3goInAiLHtjbGFzc05hbWU6ImZvbnQtc2VtaWJvbGQgdGV4dC1zbSIsY2hpbGRyZW46IjEwMCUgQ2VydGlmaWNhdGUgVmFsdWUifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiRnVsbCByZXdhcmQgc2hhcmUifSldfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtc3RhcnQgZ2FwLTMiLGNoaWxkcmVuOltzLmpzeChvdCx7Y2xhc3NOYW1lOiJoLTUgdy01IHRleHQtcHJpbWFyeSBtdC0wLjUgZmxleC1zaHJpbmstMCJ9KSxzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgicCIse2NsYXNzTmFtZToiZm9udC1zZW1pYm9sZCB0ZXh0LXNtIixjaGlsZHJlbjoiUmVxdWVzdCBBbnl0aW1lIn0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCIsY2hpbGRyZW46Ikluc3RhbnQgcHJvY2Vzc2luZyJ9KV19KV19KV19KV19KV19KX0pfSldfSkscy5qc3hzKFJpLHtkZWxheTouMyxjbGFzc05hbWU6InRleHQtY2VudGVyIG10LTEyIixjaGlsZHJlbjpbcy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG1iLTYiLGNoaWxkcmVuOiJSZWNlaXZlIHlvdXIgZmlyc3QgY2VydGlmaWNhdGUgYWZ0ZXIgcmVhY2hpbmcgeW91ciBtaWxlc3RvbmUifSkscy5qc3gob2Use3RvOiIvYXV0aCIsY2hpbGRyZW46cy5qc3goQWUuZGl2LHt3aGlsZUhvdmVyOntzY2FsZToxLjA1fSx3aGlsZVRhcDp7c2NhbGU6Ljk1fSxjbGFzc05hbWU6ImlubGluZS1ibG9jayIsY2hpbGRyZW46cy5qc3goVix7c2l6ZToibGciLGNsYXNzTmFtZToicm91bmRlZC1mdWxsIGJnLXByaW1hcnkgaG92ZXI6YmctcHJpbWFyeS85MCBweC04IixjaGlsZHJlbjoiU3RhcnQgWW91ciBFdmFsdWF0aW9uIn0pfSl9KV19KV19KX0pLHMuanN4KCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJweS02IHNtOnB5LTEwIG1kOnB5LTEyIGJnLXdoaXRlIixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiLGNoaWxkcmVuOltzLmpzeHMoUmkse2NsYXNzTmFtZToidGV4dC1jZW50ZXIgbWItNiBzbTptYi0xMiBtZDptYi0xNiIsY2hpbGRyZW46W3MuanN4cyhBZS5kaXYse3doaWxlSG92ZXI6e3NjYWxlOjEuMDV9LGNsYXNzTmFtZToiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTMgc206cHgtNCBweS0xLjUgc206cHktMiBiZy1wcmltYXJ5LzEwIHJvdW5kZWQtZnVsbCBtYi0zIHNtOm1iLTQiLGNoaWxkcmVuOltzLmpzeChGbCx7Y2xhc3NOYW1lOiJoLTMgdy0zIHNtOmgtNCBzbTp3LTQgdGV4dC1wcmltYXJ5In0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHNtOnRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LXByaW1hcnkiLGNoaWxkcmVuOiJTdGVwcyJ9KV19KSxzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIHNtOnRleHQtM3hsIG1kOnRleHQtNHhsIGxnOnRleHQtNXhsIGZvbnQtYm9sZCBtYi0xIHNtOm1iLTQgcHgtMiIsY2hpbGRyZW46IkhvdyBpdCB3b3Jrcz8ifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtYmFzZSBzbTp0ZXh0LWxnIG1kOnRleHQteGwgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiUHJvdmUgeW91ciBza2lsbHMgaW4gYSByaXNrLWZyZWUgc2ltdWxhdGVkIGVudmlyb25tZW50LiJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1zbSBzbTp0ZXh0LWJhc2UgbWQ6dGV4dC1sZyB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiJObyByZWFsIGNhcGl0YWwgYXQgcmlzayDigJQgYWxsIHJlc3VsdHMgYXJlIHNpbXVsYXRlZC4ifSldfSkscy5qc3hzKE1mLHtjbGFzc05hbWU6ImdyaWQgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTQgc206Z2FwLTYgbWQ6Z2FwLTgiLGNoaWxkcmVuOltzLmpzeChGcyx7Y2hpbGRyZW46cy5qc3goQWUuZGl2LHt3aGlsZUhvdmVyOnt5Oi01LHRyYW5zaXRpb246e2R1cmF0aW9uOi4yfX0sY2hpbGRyZW46cy5qc3godWUse2NsYXNzTmFtZToiYm9yZGVyIGJnLXdoaXRlIGhvdmVyOnNoYWRvdy14bCB0cmFuc2l0aW9uLWFsbCBncm91cCBoLWZ1bGwiLGNoaWxkcmVuOnMuanN4cyhDZSx7Y2xhc3NOYW1lOiJwdC00IHBiLTQgcHgtMyBzbTpwdC04IHNtOnBiLTggc206cHgtNiIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6Im1iLTQgc206bWItNiIsY2hpbGRyZW46cy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImlubGluZS1ibG9jayBweC0zIHNtOnB4LTQgcHktMS41IHNtOnB5LTIgYmctcHJpbWFyeS8xMCB0ZXh0LXByaW1hcnkgcm91bmRlZC1mdWxsIHRleHQteHMgc206dGV4dC1zbSBmb250LXNlbWlib2xkIixjaGlsZHJlbjoiU3RlcCAxIn0pfSkscy5qc3goQWUuZGl2LHt3aGlsZUhvdmVyOntzY2FsZToxLjAyfSxjbGFzc05hbWU6ImFzcGVjdC12aWRlbyBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtMTAwIHRvLWJsdWUtNTAgcm91bmRlZC14bCBtYi0zIHNtOm1iLTYgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC0zIHNtOnAtOCIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRleHQtY2VudGVyIixjaGlsZHJlbjpbcy5qc3goUWkse2NoaWxkcmVuOnMuanN4KCJkaXYiLHtjbGFzc05hbWU6InctMTYgaC0xNiBzbTp3LTIwIHNtOmgtMjAgYmctcHJpbWFyeSByb3VuZGVkLTJ4bCBteC1hdXRvIG1iLTMgc206bWItNCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciIsY2hpbGRyZW46cy5qc3gob3cse2NsYXNzTmFtZToiaC04IHctOCBzbTpoLTEwIHNtOnctMTAgdGV4dC13aGl0ZSJ9KX0pfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC14cyBzbTp0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCIsY2hpbGRyZW46IjItU3RlcCBDaGFsbGVuZ2UifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC14bCBzbTp0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiJDEwMEsifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC1bOXB4XSBzbTp0ZXh0LVsxMHB4XSB0ZXh0LXByaW1hcnkgZm9udC1zZW1pYm9sZCBtdC0yIixjaGlsZHJlbjoiUGhhc2UgMTogMTAlIOKGkiBQaGFzZSAyOiA1JSJ9KV19KX0pLHMuanN4KCJoMyIse2NsYXNzTmFtZToidGV4dC1sZyBzbTp0ZXh0LXhsIG1kOnRleHQtMnhsIGZvbnQtYm9sZCBtYi0xIHNtOm1iLTIiLGNoaWxkcmVuOiJUYWtlIGEgMi1TdGVwIGNoYWxsZW5nZSJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1zbSBzbTp0ZXh0LWJhc2UgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiUGFzcyBib3RoIHBoYXNlcyB0byBwcm92ZSB5b3VyIHNraWxsIGluIGEgc2ltdWxhdGVkIGVudmlyb25tZW50In0pXX0pfSl9KX0pLHMuanN4KEZzLHtjaGlsZHJlbjpzLmpzeChBZS5kaXYse3doaWxlSG92ZXI6e3k6LTUsc2NhbGU6MS4wMix0cmFuc2l0aW9uOntkdXJhdGlvbjouMn19LGNsYXNzTmFtZToicmVsYXRpdmUgei0xMCIsY2hpbGRyZW46cy5qc3godWUse2NsYXNzTmFtZToiYm9yZGVyIGJvcmRlci1wcmltYXJ5IGJnLWdyYWRpZW50LXRvLWJyIGZyb20tcHJpbWFyeSB0by1wcmltYXJ5LzkwIHRleHQtd2hpdGUgaG92ZXI6c2hhZG93LTJ4bCB0cmFuc2l0aW9uLWFsbCBzY2FsZS0xMDAgbWQ6c2NhbGUtMTA1IGgtZnVsbCIsY2hpbGRyZW46cy5qc3hzKENlLHtjbGFzc05hbWU6InB0LTQgcGItNCBweC0zIHNtOnB0LTggc206cGItOCBzbTpweC02IixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToibWItMyBzbTptYi02IixjaGlsZHJlbjpzLmpzeCgic3BhbiIse2NsYXNzTmFtZToiaW5saW5lLWJsb2NrIHB4LTQgcHktMiBiZy13aGl0ZS8yMCB0ZXh0LXdoaXRlIHJvdW5kZWQtZnVsbCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQiLGNoaWxkcmVuOiJTdGVwIDIifSl9KSxzLmpzeChBZS5kaXYse3doaWxlSG92ZXI6e3NjYWxlOjEuMDJ9LGNsYXNzTmFtZToiYXNwZWN0LXZpZGVvIGJnLXdoaXRlLzEwIGJhY2tkcm9wLWJsdXItc20gcm91bmRlZC14bCBtYi0zIHNtOm1iLTYgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC0zIHNtOnAtOCBib3JkZXIgYm9yZGVyLXdoaXRlLzIwIixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC1jZW50ZXIiLGNoaWxkcmVuOltzLmpzeHMoQWUuZGl2LHtpbml0aWFsOntzY2FsZTowfSx3aGlsZUluVmlldzp7c2NhbGU6MX0sdmlld3BvcnQ6e29uY2U6ITB9LHRyYW5zaXRpb246e3R5cGU6InNwcmluZyIsZGVsYXk6LjJ9LGNsYXNzTmFtZToiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTQgcHktMiBiZy13aGl0ZS8yMCByb3VuZGVkLWxnIG1iLTMiLGNoaWxkcmVuOltzLmpzeChfdCx7Y2xhc3NOYW1lOiJoLTUgdy01In0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIGZvbnQtbWVkaXVtIixjaGlsZHJlbjoiUGVyZm9ybWFuY2UgQWNjb3VudCJ9KV19KSxzLmpzeChBZS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx5OjIwfSx3aGlsZUluVmlldzp7b3BhY2l0eToxLHk6MH0sdmlld3BvcnQ6e29uY2U6ITB9LHRyYW5zaXRpb246e2RlbGF5Oi4zfSxjbGFzc05hbWU6InRleHQtNHhsIGZvbnQtYm9sZCBtYi0yIixjaGlsZHJlbjoiJDIwMCwwMDAifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC00IHRleHQtc20gb3BhY2l0eS04MCIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSIsY2hpbGRyZW46W3MuanN4KG5uLHtjbGFzc05hbWU6ImgtNCB3LTQifSkscy5qc3goInNwYW4iLHtjaGlsZHJlbjoiVmVyaWZpY2F0aW9uIn0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSIsY2hpbGRyZW46W3MuanN4KGhuLHtjbGFzc05hbWU6ImgtNCB3LTQifSkscy5qc3goInNwYW4iLHtjaGlsZHJlbjoiQWNjb3VudCBEZXRhaWxzIn0pXX0pXX0pXX0pfSkscy5qc3goImgzIix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJvbGQgbWItMiIsY2hpbGRyZW46IlVubG9jayBzaW11bGF0ZWQgY2FwaXRhbCJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC13aGl0ZS85MCIsY2hpbGRyZW46IkFjY291bnRzIHVwIHRvICQzTSAoc2ltdWxhdGVkKSJ9KV19KX0pfSl9KSxzLmpzeChGcyx7Y2hpbGRyZW46cy5qc3goQWUuZGl2LHt3aGlsZUhvdmVyOnt5Oi01LHRyYW5zaXRpb246e2R1cmF0aW9uOi4yfX0sY2hpbGRyZW46cy5qc3godWUse2NsYXNzTmFtZToiYm9yZGVyIGJnLXdoaXRlIGhvdmVyOnNoYWRvdy14bCB0cmFuc2l0aW9uLWFsbCBncm91cCBoLWZ1bGwiLGNoaWxkcmVuOnMuanN4cyhDZSx7Y2xhc3NOYW1lOiJwdC00IHBiLTQgcHgtMyBzbTpwdC04IHNtOnBiLTggc206cHgtNiIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6Im1iLTMgc206bWItNiIsY2hpbGRyZW46cy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImlubGluZS1ibG9jayBweC00IHB5LTIgYmctcHJpbWFyeS8xMCB0ZXh0LXByaW1hcnkgcm91bmRlZC1mdWxsIHRleHQtc20gZm9udC1zZW1pYm9sZCIsY2hpbGRyZW46IlN0ZXAgMyJ9KX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzbTpoaWRkZW4gYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ncmVlbi0xMDAgdG8tZ3JlZW4tNTAgcm91bmRlZC14bCBwLTQgbWItMyIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItMyIsY2hpbGRyZW46W3MuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCIsY2hpbGRyZW46IkluaXRpYWwgYmFsYW5jZSJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1sZyBmb250LWJvbGQgdGV4dC1wcmltYXJ5IixjaGlsZHJlbjoiJDIwMCwwMDAifSldfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1lbmQgZ2FwLTAuNSBtYi0zIixjaGlsZHJlbjpbNDAsNTUsNDUsNjUsNTAsNzUsNjAsODAsNzAsOTBdLm1hcCgocixuKT0+cy5qc3goQWUuZGl2LHtpbml0aWFsOntoZWlnaHQ6MH0sd2hpbGVJblZpZXc6e2hlaWdodDpgJHtyKi40fXB4YH0sdmlld3BvcnQ6e29uY2U6ITB9LHRyYW5zaXRpb246e2RlbGF5Om4qLjA1LGR1cmF0aW9uOi41fSxjbGFzc05hbWU6ImZsZXgtMSBiZy1wcmltYXJ5LzgwIHJvdW5kZWQtdCJ9LG4pKX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOltzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiJXaW4gcmF0ZSJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1sZyBmb250LWJvbGQgdGV4dC1zdWNjZXNzIixjaGlsZHJlbjoiODIlIn0pXX0pXX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImhpZGRlbiBzbTpibG9jayBiZy1ncmFkaWVudC10by1iciBmcm9tLWdyZWVuLTEwMCB0by1ncmVlbi01MCByb3VuZGVkLXhsIG1iLTYgcC04IixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC1jZW50ZXIgc3BhY2UteS0zIixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtYmFzZWxpbmUganVzdGlmeS1jZW50ZXIgZ2FwLTIiLGNoaWxkcmVuOltzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiJJbml0aWFsIGJhbGFuY2UifSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQteGwgZm9udC1ib2xkIHRleHQtcHJpbWFyeSIsY2hpbGRyZW46IiQyMDAsMDAwIn0pXX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImgtMjQgZmxleCBpdGVtcy1lbmQganVzdGlmeS1jZW50ZXIiLGNoaWxkcmVuOnMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtZW5kIGdhcC0xIixjaGlsZHJlbjpbNDAsNjAsNDUsNzAsNTUsODAsNjUsODUsNzUsOTBdLm1hcCgocixuKT0+cy5qc3goQWUuZGl2LHtpbml0aWFsOntoZWlnaHQ6MH0sd2hpbGVJblZpZXc6e2hlaWdodDpgJHtyfSVgfSx2aWV3cG9ydDp7b25jZTohMH0sdHJhbnNpdGlvbjp7ZGVsYXk6biouMDgsZHVyYXRpb246LjZ9LGNsYXNzTmFtZToidy0zIGJnLXByaW1hcnkgcm91bmRlZC10In0sbikpfSl9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1iYXNlbGluZSBqdXN0aWZ5LWNlbnRlciBnYXAtMiIsY2hpbGRyZW46W3MuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCIsY2hpbGRyZW46IldpbiByYXRlIn0pLHMuanN4KEFlLnNwYW4se2luaXRpYWw6e29wYWNpdHk6MH0sd2hpbGVJblZpZXc6e29wYWNpdHk6MX0sdmlld3BvcnQ6e29uY2U6ITB9LHRyYW5zaXRpb246e2RlbGF5Oi44fSxjbGFzc05hbWU6InRleHQteGwgZm9udC1ib2xkIHRleHQtc3VjY2VzcyIsY2hpbGRyZW46IjgyJSJ9KV19KV19KX0pLHMuanN4KCJoMyIse2NsYXNzTmFtZToidGV4dC1sZyBzbTp0ZXh0LTJ4bCBmb250LWJvbGQgbWItMiIsY2hpbGRyZW46IkVhcm4gY2VydGlmaWNhdGVzIn0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIHNtOnRleHQtYmFzZSB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiJQZXJmb3JtYW5jZS1iYXNlZCByZXdhcmRzIn0pXX0pfSl9KX0pXX0pLHMuanN4cyhSaSx7ZGVsYXk6LjMsY2xhc3NOYW1lOiJtdC02IHNtOm10LTEyIGZsZXgganVzdGlmeS1jZW50ZXIgZ2FwLTQiLGNoaWxkcmVuOltzLmpzeChvZSx7dG86Ii9hdXRoIixjaGlsZHJlbjpzLmpzeChBZS5kaXYse3doaWxlSG92ZXI6e3NjYWxlOjEuMDV9LHdoaWxlVGFwOntzY2FsZTouOTV9LGNoaWxkcmVuOnMuanN4KFYse3NpemU6ImxnIixjbGFzc05hbWU6InJvdW5kZWQtZnVsbCBweC04IixjaGlsZHJlbjoiR2V0IFN0YXJ0ZWQifSl9KX0pLHMuanN4KG9lLHt0bzoiL2Fib3V0IixjaGlsZHJlbjpzLmpzeChBZS5kaXYse3doaWxlSG92ZXI6e3NjYWxlOjEuMDV9LHdoaWxlVGFwOntzY2FsZTouOTV9LGNoaWxkcmVuOnMuanN4KFYse3NpemU6ImxnIix2YXJpYW50OiJvdXRsaW5lIixjbGFzc05hbWU6InJvdW5kZWQtZnVsbCBweC04IixjaGlsZHJlbjoiTGVhcm4gTW9yZSJ9KX0pfSldfSldfSl9KSxzLmpzeChBZS5kaXYse2luaXRpYWw6e29wYWNpdHk6MH0sd2hpbGVJblZpZXc6e29wYWNpdHk6MX0sdmlld3BvcnQ6e29uY2U6ITB9LGNsYXNzTmFtZToiYmctZ3JhZGllbnQtdG8tciBmcm9tLWFtYmVyLTYwMCB2aWEteWVsbG93LTUwMCB0by1hbWJlci02MDAgcHktNCIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1heC13LTR4bCBteC1hdXRvIHB4LTQgdGV4dC1jZW50ZXIiLGNoaWxkcmVuOltzLmpzeChBZS5wLHthbmltYXRlOntzY2FsZTpbMSwxLjAyLDFdfSx0cmFuc2l0aW9uOntkdXJhdGlvbjoyLHJlcGVhdDoxLzB9LGNsYXNzTmFtZToidGV4dC13aGl0ZSBmb250LWJvbGQgdGV4dC1zbSBzbTp0ZXh0LWJhc2UgZHJvcC1zaGFkb3ctbGciLGNoaWxkcmVuOiLwn46JIEZMQVNIIE9GRkVSOiBCdXkgT25lIEdldCBPbmUgRlJFRSEg8J+OgiBHZXQgMiBDaGFsbGVuZ2VzIGZvciB0aGUgUHJpY2Ugb2YgMSJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC13aGl0ZS84MCB0ZXh0LXhzIG10LTEiLGNoaWxkcmVuOiJGbGFzaCBPZmZlciDigJQgRG91YmxlIHRoZSBDaGFsbGVuZ2VzISDwn46JIn0pXX0pfSkscy5qc3goInNlY3Rpb24iLHtjbGFzc05hbWU6InB5LTYgc206cHktMTAgbWQ6cHktMTIgYmctc2Vjb25kYXJ5LzMwIixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiLGNoaWxkcmVuOltzLmpzeHMoTWYse2NsYXNzTmFtZToiZ3JpZCBtZDpncmlkLWNvbHMtMiBnYXAtNCBzbTpnYXAtOCBtYi04IHNtOm1iLTE2IixjaGlsZHJlbjpbcy5qc3goRnMse2NoaWxkcmVuOnMuanN4KE9oZSx7Y2hpbGRyZW46cy5qc3goQWUuZGl2LHt3aGlsZUhvdmVyOnt5Oi01LHRyYW5zaXRpb246e2R1cmF0aW9uOi4yfX0sY2hpbGRyZW46cy5qc3godWUse2NsYXNzTmFtZToiYm9yZGVyIGJvcmRlci1wcmltYXJ5IGJnLWdyYWRpZW50LXRvLWJyIGZyb20tcHJpbWFyeS81IHRvLXByaW1hcnkvMTAgaC1mdWxsIixjaGlsZHJlbjpzLmpzeHMoQ2Use2NsYXNzTmFtZToicHQtNCBzbTpwdC04IHB4LTQgc206cHgtNiIsY2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToidGV4dC0zeGwgZm9udC1ib2xkIG1iLTYiLGNoaWxkcmVuOiJQcmVtaXVtIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMgbWItOCIsY2hpbGRyZW46W3MuanN4cyhBZS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx4Oi0yMH0sd2hpbGVJblZpZXc6e29wYWNpdHk6MSx4OjB9LHZpZXdwb3J0OntvbmNlOiEwfSx0cmFuc2l0aW9uOntkZWxheTouMX0sY2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46W3MuanN4KG90LHtjbGFzc05hbWU6ImgtNSB3LTUgdGV4dC1zdWNjZXNzIn0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWxnIixjaGlsZHJlbjoiRmlyc3QgY2VydGlmaWNhdGUgb24gZGVtYW5kIn0pXX0pLHMuanN4cyhBZS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx4Oi0yMH0sd2hpbGVJblZpZXc6e29wYWNpdHk6MSx4OjB9LHZpZXdwb3J0OntvbmNlOiEwfSx0cmFuc2l0aW9uOntkZWxheTouMn0sY2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46W3MuanN4KG90LHtjbGFzc05hbWU6ImgtNSB3LTUgdGV4dC1zdWNjZXNzIn0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWxnIGZvbnQtYm9sZCIsY2hpbGRyZW46IjEwMCUgY2VydGlmaWNhdGUgdmFsdWUifSldfSldfSkscy5qc3goQWUuZGl2LHt3aGlsZUhvdmVyOntzY2FsZToxLjA1LHJvdGF0ZToyfSx0cmFuc2l0aW9uOnt0eXBlOiJzcHJpbmcifSxjbGFzc05hbWU6ImFzcGVjdC1zcXVhcmUgbWF4LXcteHMgbXgtYXV0byBiZy1ncmFkaWVudC10by1iciBmcm9tLXByaW1hcnkvMjAgdG8tcHJpbWFyeS8xMCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyLTQgYm9yZGVyLXByaW1hcnkvMzAiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciIsY2hpbGRyZW46W3MuanN4KFFpLHtjaGlsZHJlbjpzLmpzeChobix7Y2xhc3NOYW1lOiJoLTE2IHctMTYgdGV4dC1wcmltYXJ5IG14LWF1dG8gbWItMiJ9KX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCIsY2hpbGRyZW46IjEwMCUgY2VydGlmaWNhdGUgdmFsdWUifSldfSl9KV19KX0pfSl9KX0pLHMuanN4KEZzLHtjaGlsZHJlbjpzLmpzeChJaGUse2NoaWxkcmVuOnMuanN4KEFlLmRpdix7d2hpbGVIb3Zlcjp7eTotNSx0cmFuc2l0aW9uOntkdXJhdGlvbjouMn19LGNoaWxkcmVuOnMuanN4KHVlLHtjbGFzc05hbWU6ImJvcmRlciBiZy13aGl0ZSBoLWZ1bGwiLGNoaWxkcmVuOnMuanN4cyhDZSx7Y2xhc3NOYW1lOiJwdC00IHNtOnB0LTggcHgtNCBzbTpweC02IixjaGlsZHJlbjpbcy5qc3goImgzIix7Y2xhc3NOYW1lOiJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNiIsY2hpbGRyZW46IlN0YW5kYXJkIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMgbWItOCIsY2hpbGRyZW46W3MuanN4cyhBZS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx4OjIwfSx3aGlsZUluVmlldzp7b3BhY2l0eToxLHg6MH0sdmlld3BvcnQ6e29uY2U6ITB9LHRyYW5zaXRpb246e2RlbGF5Oi4xfSxjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIixjaGlsZHJlbjpbcy5qc3gob3Qse2NsYXNzTmFtZToiaC01IHctNSB0ZXh0LXN1Y2Nlc3MifSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtbGciLGNoaWxkcmVuOiJCaS13ZWVrbHkgcmV3YXJkcyJ9KV19KSxzLmpzeHMoQWUuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseDoyMH0sd2hpbGVJblZpZXc6e29wYWNpdHk6MSx4OjB9LHZpZXdwb3J0OntvbmNlOiEwfSx0cmFuc2l0aW9uOntkZWxheTouMn0sY2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46W3MuanN4KG90LHtjbGFzc05hbWU6ImgtNSB3LTUgdGV4dC1zdWNjZXNzIn0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWxnIixjaGlsZHJlbjoiOTAlIGNlcnRpZmljYXRlIHZhbHVlIn0pXX0pXX0pLHMuanN4KEFlLmRpdix7d2hpbGVIb3Zlcjp7c2NhbGU6MS4wNSxyb3RhdGU6LTJ9LHRyYW5zaXRpb246e3R5cGU6InNwcmluZyJ9LGNsYXNzTmFtZToiYXNwZWN0LXNxdWFyZSBtYXgtdy14cyBteC1hdXRvIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmx1ZS0xMDAgdG8tYmx1ZS01MCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyLTQgYm9yZGVyLXByaW1hcnkvMjAiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciIsY2hpbGRyZW46W3MuanN4KFFpLHtjaGlsZHJlbjpzLmpzeChfdCx7Y2xhc3NOYW1lOiJoLTE2IHctMTYgdGV4dC1wcmltYXJ5IG14LWF1dG8gbWItMiJ9KX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCIsY2hpbGRyZW46IjkwJSBjZXJ0aWZpY2F0ZSB2YWx1ZSJ9KV19KX0pXX0pfSl9KX0pfSldfSkscy5qc3hzKFJpLHtjbGFzc05hbWU6InRleHQtY2VudGVyIG1iLTYgc206bWItMTIiLGNoaWxkcmVuOltzLmpzeHMoQWUuZGl2LHt3aGlsZUhvdmVyOntzY2FsZToxLjA1fSxjbGFzc05hbWU6ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBweC02IHB5LTMgYmctd2hpdGUgcm91bmRlZC1mdWxsIHNoYWRvdy1sZyBtYi00IixjaGlsZHJlbjpbcy5qc3gobm4se2NsYXNzTmFtZToiaC01IHctNSB0ZXh0LXByaW1hcnkifSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImZvbnQtc2VtaWJvbGQiLGNoaWxkcmVuOiJDZXJ0aWZpY2F0ZSBndWFyYW50ZWUifSldfSkscy5qc3goImgzIix7Y2xhc3NOYW1lOiJ0ZXh0LXhsIHNtOnRleHQtM3hsIGZvbnQtYm9sZCBtYi0xIHNtOm1iLTIgcHgtMiIsY2hpbGRyZW46IkNlcnRpZmljYXRlcyBwcm9jZXNzZWQgaW4gMjQgaG91cnMifSkscy5qc3goImgzIix7Y2xhc3NOYW1lOiJ0ZXh0LXhsIHNtOnRleHQtM3hsIGZvbnQtYm9sZCBweC0yIixjaGlsZHJlbjoib3IgcmVjZWl2ZSBhIGJvbnVzICQxMDAwIGNlcnRpZmljYXRlIn0pXX0pLHMuanN4KE1mLHtzdGFnZ2VyRGVsYXk6LjEsY2xhc3NOYW1lOiJncmlkIGdyaWQtY29scy0yIG1kOmdyaWQtY29scy0zIGxnOmdyaWQtY29scy02IGdhcC0zIHNtOmdhcC00IixjaGlsZHJlbjpbe2Ftb3VudDoiJDksMDY2IixuYW1lOiJBbGV4Iixjb3VudHJ5OiLwn4e68J+HuCJ9LHthbW91bnQ6IiQxMjAsNTkwIixuYW1lOiJTYXJhaCIsY291bnRyeToi8J+HrPCfh6cifSx7YW1vdW50OiIkMzksMjczIixuYW1lOiJNYXJjdXMiLGNvdW50cnk6IvCfh6vwn4e3In0se2Ftb3VudDoiJDExLDM4MyIsbmFtZToiTGlzYSIsY291bnRyeToi8J+HqfCfh6oifSx7YW1vdW50OiIkMTksODEyIixuYW1lOiJEYXZpZCIsY291bnRyeToi8J+HqPCfh6YifSx7YW1vdW50OiIkNjUsMzc3IixuYW1lOiJFbW1hIixjb3VudHJ5OiLwn4em8J+HuiJ9XS5tYXAoKHIsbik9PnMuanN4KEZzLHtjaGlsZHJlbjpzLmpzeChBZS5kaXYse3doaWxlSG92ZXI6e3k6LTUsc2NhbGU6MS4wMix0cmFuc2l0aW9uOntkdXJhdGlvbjouMn19LGNoaWxkcmVuOnMuanN4KHVlLHtjbGFzc05hbWU6ImJvcmRlciBiZy13aGl0ZSBob3Zlcjpib3JkZXItcHJpbWFyeS81MCB0cmFuc2l0aW9uLWFsbCBoLWZ1bGwiLGNoaWxkcmVuOnMuanN4cyhDZSx7Y2xhc3NOYW1lOiJwdC0zIHBiLTMgcHgtMiBzbTpwdC02IHNtOnBiLTYgc206cHgtNCIsY2hpbGRyZW46W3MuanN4cyhBZS5kaXYse3doaWxlSG92ZXI6e3NjYWxlOjEuMDJ9LGNsYXNzTmFtZToiYmctcHJpbWFyeSB0ZXh0LXdoaXRlIHJvdW5kZWQtbGcgcC0yIHNtOnAtNCBtYi0yIHNtOm1iLTMgdGV4dC1jZW50ZXIiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIG9wYWNpdHktODAgbWItMSIsY2hpbGRyZW46IlBFUkZPUk1BTkNFIENFUlRJRklDQVRFIn0pLHMuanN4KEFlLmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHNjYWxlOi41fSx3aGlsZUluVmlldzp7b3BhY2l0eToxLHNjYWxlOjF9LHZpZXdwb3J0OntvbmNlOiEwfSx0cmFuc2l0aW9uOntkZWxheTpuKi4xLHR5cGU6InNwcmluZyJ9LGNsYXNzTmFtZToidGV4dC14bCBmb250LWJvbGQiLGNoaWxkcmVuOnIuYW1vdW50fSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRleHQtY2VudGVyIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiZm9udC1zZW1pYm9sZCB0ZXh0LXNtIixjaGlsZHJlbjpyLm5hbWV9KSxzLmpzeChBZS5kaXYse2FuaW1hdGU6e3NjYWxlOlsxLDEuMSwxXX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246MixyZXBlYXQ6MS8wLGRlbGF5Om4qLjJ9LGNsYXNzTmFtZToidGV4dC0yeGwiLGNoaWxkcmVuOnIuY291bnRyeX0pXX0pXX0pfSl9KX0sbikpfSkscy5qc3goUmkse2RlbGF5Oi4zLGNsYXNzTmFtZToibXQtNiBzbTptdC0xMiBmbGV4IGp1c3RpZnktY2VudGVyIGdhcC00IixjaGlsZHJlbjpzLmpzeChvZSx7dG86Ii9hdXRoIixjaGlsZHJlbjpzLmpzeChBZS5kaXYse3doaWxlSG92ZXI6e3NjYWxlOjEuMDV9LHdoaWxlVGFwOntzY2FsZTouOTV9LGNoaWxkcmVuOnMuanN4KFYse3NpemU6ImxnIixjbGFzc05hbWU6InJvdW5kZWQtZnVsbCBweC0xMiIsY2hpbGRyZW46IkdldCBTdGFydGVkIn0pfSl9KX0pXX0pfSkscy5qc3goQWUuZGl2LHtpbml0aWFsOntvcGFjaXR5OjB9LHdoaWxlSW5WaWV3OntvcGFjaXR5OjF9LHZpZXdwb3J0OntvbmNlOiEwfSxjbGFzc05hbWU6ImJnLWdyYWRpZW50LXRvLXIgZnJvbS1wcmltYXJ5IHZpYS1wcmltYXJ5LzgwIHRvLWN5YW4tNTAwIHB5LTYiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy00eGwgbXgtYXV0byBweC00IHRleHQtY2VudGVyIixjaGlsZHJlbjpbcy5qc3goQWUucCx7YW5pbWF0ZTp7c2NhbGU6WzEsMS4wMywxXX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246MS41LHJlcGVhdDoxLzB9LGNsYXNzTmFtZToidGV4dC13aGl0ZSBmb250LWJvbGQgdGV4dC1sZyBzbTp0ZXh0LXhsIG1iLTIiLGNoaWxkcmVuOiLwn46JIEJVWSBPTkUgR0VUIE9ORSBGUkVFIPCfjoIifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtd2hpdGUgdGV4dC1zbSBtYi0zIixjaGlsZHJlbjoiQ2VsZWJyYXRlIE91ciBGbGFzaCBPZmZlciDigJQgRG91YmxlIHRoZSBDaGFsbGVuZ2VzISJ9KSxzLmpzeChvZSx7dG86Ii9hdXRoIixjaGlsZHJlbjpzLmpzeChBZS5kaXYse3doaWxlSG92ZXI6e3NjYWxlOjEuMDV9LHdoaWxlVGFwOntzY2FsZTouOTV9LGNsYXNzTmFtZToiaW5saW5lLWJsb2NrIixjaGlsZHJlbjpzLmpzeChWLHtjbGFzc05hbWU6ImJnLXdoaXRlIHRleHQtcHJpbWFyeSBob3ZlcjpiZy1ncmF5LTEwMCBmb250LWJvbGQgcHgtOCIsY2hpbGRyZW46IkNsYWltIFlvdXIgMiBDaGFsbGVuZ2VzIn0pfSl9KV19KX0pLHMuanN4cygiZm9vdGVyIix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBiZy1bIzBhMTYyOF0gdGV4dC13aGl0ZSBvdmVyZmxvdy1oaWRkZW4iLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIG9wYWNpdHktMTAiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgdy1mdWxsIGgtZnVsbCIsY2hpbGRyZW46W3MuanN4KEFlLmRpdix7YW5pbWF0ZTp7eDpbMCw1MCwwXX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246MTAscmVwZWF0OjEvMCxlYXNlOiJsaW5lYXIifSxjbGFzc05hbWU6ImFic29sdXRlIHRvcC0xLzQgLWxlZnQtMjAgdy05NiBoLXB4IGJnLWdyYWRpZW50LXRvLXIgZnJvbS10cmFuc3BhcmVudCB2aWEtYmx1ZS00MDAgdG8tdHJhbnNwYXJlbnQgcm90YXRlLTEyIn0pLHMuanN4KEFlLmRpdix7YW5pbWF0ZTp7eDpbMCwtNTAsMF19LHRyYW5zaXRpb246e2R1cmF0aW9uOjEyLHJlcGVhdDoxLzAsZWFzZToibGluZWFyIn0sY2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMS8yIC1yaWdodC0yMCB3LTk2IGgtcHggYmctZ3JhZGllbnQtdG8tciBmcm9tLXRyYW5zcGFyZW50IHZpYS1wdXJwbGUtNDAwIHRvLXRyYW5zcGFyZW50IC1yb3RhdGUtMTIifSkscy5qc3goQWUuZGl2LHthbmltYXRlOnt4OlswLDMwLDBdfSx0cmFuc2l0aW9uOntkdXJhdGlvbjoxNSxyZXBlYXQ6MS8wLGVhc2U6ImxpbmVhciJ9LGNsYXNzTmFtZToiYWJzb2x1dGUgYm90dG9tLTEvNCBsZWZ0LTEvNCB3LTk2IGgtcHggYmctZ3JhZGllbnQtdG8tciBmcm9tLXRyYW5zcGFyZW50IHZpYS1ibHVlLTQwMCB0by10cmFuc3BhcmVudCByb3RhdGUtNiJ9KV19KX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCBweS04IHNtOnB5LTE2IixjaGlsZHJlbjpbcy5qc3hzKFJpLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTEyIGdhcC02IHNtOmdhcC0xMiBtYi02IHNtOm1iLTEyIixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImxnOmNvbC1zcGFuLTUgc3BhY2UteS00IHNtOnNwYWNlLXktOCIsY2hpbGRyZW46W3MuanN4KEFlLmgyLHtpbml0aWFsOntvcGFjaXR5OjAseDotMzB9LHdoaWxlSW5WaWV3OntvcGFjaXR5OjEseDowfSx2aWV3cG9ydDp7b25jZTohMH0sY2xhc3NOYW1lOiJ0ZXh0LTR4bCBzbTp0ZXh0LTV4bCBmb250LWJsYWNrIHVwcGVyY2FzZSB0cmFja2luZy10aWdodCIsY2hpbGRyZW46IkZsb3dpbmdGdW5kZWQifSkscy5qc3goQWUuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseToyMH0sd2hpbGVJblZpZXc6e29wYWNpdHk6MSx5OjB9LHZpZXdwb3J0OntvbmNlOiEwfSx0cmFuc2l0aW9uOntkZWxheTouMn0sY2xhc3NOYW1lOiJib3JkZXIgYm9yZGVyLXdoaXRlLzEwIHJvdW5kZWQtMnhsIHAtNiBiZy13aGl0ZS81IGJhY2tkcm9wLWJsdXItc20iLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMiLGNoaWxkcmVuOltzLmpzeHMoInAiLHtjbGFzc05hbWU6InRleHQtbGcgZm9udC1ib2xkIixjaGlsZHJlbjpbIkVkdWNhdGlvbmFsICIscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtcHJpbWFyeSIsY2hpbGRyZW46IlNpbXVsYXRpb24gUGxhdGZvcm0ifSldfSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1ncmF5LTQwMCBsZWFkaW5nLXJlbGF4ZWQiLGNoaWxkcmVuOiJMZWFybiBtb3JlIGFib3V0IG91ciBzaW11bGF0ZWQgZXZhbHVhdGlvbiBwcm9ncmFtcyJ9KSxzLmpzeChvZSx7dG86Ii9hdXRoIixjaGlsZHJlbjpzLmpzeChBZS5kaXYse3doaWxlSG92ZXI6e3NjYWxlOjEuMDJ9LHdoaWxlVGFwOntzY2FsZTouOTh9LGNoaWxkcmVuOnMuanN4KFYse2NsYXNzTmFtZToidy1mdWxsIGJnLXdoaXRlIHRleHQtWyMwYTE2MjhdIGhvdmVyOmJnLWdyYXktMTAwIHJvdW5kZWQtZnVsbCBmb250LXNlbWlib2xkIixjaGlsZHJlbjoiQWNjZXNzIERhc2hib2FyZCJ9KX0pfSldfSl9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibGc6Y29sLXNwYW4tNyBncmlkIGdyaWQtY29scy0yIHNtOmdyaWQtY29scy00IGdhcC04IixjaGlsZHJlbjpbcy5qc3hzKEFlLmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHk6MjB9LHdoaWxlSW5WaWV3OntvcGFjaXR5OjEseTowfSx2aWV3cG9ydDp7b25jZTohMH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjF9LGNoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6ImZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQgdXBwZXJjYXNlIHRleHQtc20gdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IlRyYWRlIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMgdGV4dC1zbSIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiLyIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJGb3JleCJ9KSxzLmpzeChvZSx7dG86Ii8iLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiRnV0dXJlcyJ9KSxzLmpzeChvZSx7dG86Ii8iLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiQ3J5cHRvIn0pXX0pXX0pLHMuanN4cyhBZS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx5OjIwfSx3aGlsZUluVmlldzp7b3BhY2l0eToxLHk6MH0sdmlld3BvcnQ6e29uY2U6ITB9LHRyYW5zaXRpb246e2RlbGF5Oi4yfSxjaGlsZHJlbjpbcy5qc3goImgzIix7Y2xhc3NOYW1lOiJmb250LWJvbGQgdGV4dC13aGl0ZSBtYi00IHVwcGVyY2FzZSB0ZXh0LXNtIHRyYWNraW5nLXdpZGUiLGNoaWxkcmVuOiJQbGF0Zm9ybSJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0zIHRleHQtc20iLGNoaWxkcmVuOltzLmpzeChvZSx7dG86Ii8iLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiSG9tZSJ9KSxzLmpzeChvZSx7dG86Ii9hYm91dCIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJIb3cgaXQgV29ya3MifSkscy5qc3gob2Use3RvOiIvYXV0aCIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJEYXNoYm9hcmQifSldfSldfSkscy5qc3hzKEFlLmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHk6MjB9LHdoaWxlSW5WaWV3OntvcGFjaXR5OjEseTowfSx2aWV3cG9ydDp7b25jZTohMH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjN9LGNoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6ImZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQgdXBwZXJjYXNlIHRleHQtc20gdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IkFib3V0In0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMgdGV4dC1zbSIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiL2Fib3V0IixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkFib3V0IFVzIn0pLHMuanN4KG9lLHt0bzoiL2ZhcSIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJGQVEifSldfSldfSkscy5qc3hzKEFlLmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHk6MjB9LHdoaWxlSW5WaWV3OntvcGFjaXR5OjEseTowfSx2aWV3cG9ydDp7b25jZTohMH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjR9LGNoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6ImZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQgdXBwZXJjYXNlIHRleHQtc20gdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IlN1cHBvcnQifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvYXV0aCIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJIZWxwIENlbnRlciJ9KSxzLmpzeChvZSx7dG86Ii9hdXRoIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkNvbnRhY3QifSldfSldfSldfSldfSkscy5qc3goUmkse2RlbGF5Oi4yLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJib3JkZXItdCBib3JkZXItd2hpdGUvMTAgcHQtOCBzcGFjZS15LTYiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LWdyYXktNDAwIGxlYWRpbmctcmVsYXhlZCBzcGFjZS15LTMiLGNoaWxkcmVuOltzLmpzeHMoInAiLHtjaGlsZHJlbjpbcy5qc3goInN0cm9uZyIse2NoaWxkcmVuOiJJTVBPUlRBTlQgRElTQ0xBSU1FUjoifSksIiBGbG93aW5nRnVuZGVkIGlzIGEgc2ltdWxhdGVkIHRyYWRpbmcgZXZhbHVhdGlvbiBwbGF0Zm9ybS4gQWxsIHRyYWRpbmcgYWN0aXZpdHksIGFjY291bnQgYmFsYW5jZXMsIHByb2ZpdHMsIGxvc3NlcywgYW5kIHBlcmZvcm1hbmNlIG1ldHJpY3MgZGlzcGxheWVkIGFyZSBlbnRpcmVseSBzaW11bGF0ZWQgYW5kIGh5cG90aGV0aWNhbC4gTm8gcmVhbCBtb25leSBpcyB0cmFkZWQsIGludmVzdGVkLCBvciBtYW5hZ2VkLiBGbG93aW5nRnVuZGVkIGRvZXMgbm90IHByb3ZpZGUgYnJva2VyYWdlIHNlcnZpY2VzLCBpbnZlc3RtZW50IGFkdmljZSwgb3IgYWNjZXNzIHRvIHJlYWwgZmluYW5jaWFsIG1hcmtldHMuIERvbGxhciBhbW91bnRzIG9uIGNlcnRpZmljYXRlcyByZXByZXNlbnQgcGVyZm9ybWFuY2UtYmFzZWQgcmV3YXJkIHRpZXJzLCBub3QgcmVhbCBmaW5hbmNpYWwgcmV0dXJucy4iXX0pLHMuanN4KCJwIix7Y2hpbGRyZW46YEFsbCBjb250ZW50IHB1Ymxpc2hlZCBhbmQgZGlzdHJpYnV0ZWQgYnkgRmxvd2luZ0Z1bmRlZCBMdGQgKCJGbG93aW5nRnVuZGVkIikgaXMgdG8gYmUgdHJlYXRlZCBhcyBnZW5lcmFsIGFuZCBmb3IgaW5mb3JtYXRpb24gcHVycG9zZXMgb25seS4gVGhlIENvbXBhbnkgZG9lcyBub3QgY2Fycnkgb3V0IGFueSByZWd1bGF0ZWQgZmluYW5jaWFsIGFjdGl2aXRpZXM7IHRoZSBDb21wYW55J3MgZXhjbHVzaXZlIGFjdGl2aXR5IGlzIHNpbXVsYXRlZCB0cmFkaW5nIGV2YWx1YXRpb24uIFBhc3Qgc2ltdWxhdGVkIHBlcmZvcm1hbmNlIGlzIG5vdCBpbmRpY2F0aXZlIG9mIGZ1dHVyZSByZXN1bHRzLiBBbHdheXMgY29uc3VsdCBhIGxpY2Vuc2VkIGZpbmFuY2lhbCBwcm9mZXNzaW9uYWwgYmVmb3JlIG1ha2luZyBhbnkgaW52ZXN0bWVudCBkZWNpc2lvbnMuYH0pLHMuanN4KCJwIix7Y2hpbGRyZW46IkZsb3dpbmdGdW5kZWQgTHRkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzaW11bGF0ZWQgdHJhZGluZyBldmFsdWF0aW9uIHNlcnZpY2VzIHBsZWFzZSBjb250YWN0IHN1cHBvcnQgdmlhIHlvdXIgZGFzaGJvYXJkLiJ9KV19KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1bOXB4XSB0ZXh0LWdyYXktNTAwIHRleHQtY2VudGVyIHVwcGVyY2FzZSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiQWxsIGNoYWxsZW5nZXMgYXJlIHNpbXVsYXRlZC4gTm8gcmVhbCB0cmFkaW5nIGFjY291bnRzLCBjYXBpdGFsLCBvciBmdW5kcyBhcmUgaXNzdWVkLiBBbGwgcmVzdWx0cyBhcmUgaHlwb3RoZXRpY2FsLiJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBzbTpmbGV4LXJvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC00IHB0LTYgYm9yZGVyLXQgYm9yZGVyLXdoaXRlLzEwIixjaGlsZHJlbjpbcy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1ncmF5LTUwMCIsY2hpbGRyZW46IsKpIDIwMjYgRmxvd2luZ0Z1bmRlZCBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNiB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvcHJpdmFjeSIsY2xhc3NOYW1lOiJ0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJQcml2YWN5IFBvbGljeSJ9KSxzLmpzeChvZSx7dG86Ii90ZXJtcyIsY2xhc3NOYW1lOiJ0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJUZXJtcyAmIENvbmRpdGlvbnMifSkscy5qc3gob2Use3RvOiIvcmlzay1kaXNjbG9zdXJlIixjbGFzc05hbWU6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IlJpc2sgRGlzY2xvc3VyZSJ9KV19KV19KV19KX0pXX0pXX0pXX0pfXZhciBQdz0iQ29sbGFwc2libGUiLFtNaGUsJEtdPURyKFB3KSxbUmhlLGVrXT1NaGUoUHcpLEhLPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVDb2xsYXBzaWJsZTpyLG9wZW46bixkZWZhdWx0T3BlbjphLGRpc2FibGVkOmksb25PcGVuQ2hhbmdlOm8sLi4ubH09ZSxbYyxkXT1Ocyh7cHJvcDpuLGRlZmF1bHRQcm9wOmE/PyExLG9uQ2hhbmdlOm8sY2FsbGVyOlB3fSk7cmV0dXJuIHMuanN4KFJoZSx7c2NvcGU6cixkaXNhYmxlZDppLGNvbnRlbnRJZDplYSgpLG9wZW46Yyxvbk9wZW5Ub2dnbGU6Zy51c2VDYWxsYmFjaygoKT0+ZCh1PT4hdSksW2RdKSxjaGlsZHJlbjpzLmpzeChTZS5kaXYseyJkYXRhLXN0YXRlIjpyayhjKSwiZGF0YS1kaXNhYmxlZCI6aT8iIjp2b2lkIDAsLi4ubCxyZWY6dH0pfSl9KTtISy5kaXNwbGF5TmFtZT1Qdzt2YXIgS0s9IkNvbGxhcHNpYmxlVHJpZ2dlciIsVks9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZUNvbGxhcHNpYmxlOnIsLi4ubn09ZSxhPWVrKEtLLHIpO3JldHVybiBzLmpzeChTZS5idXR0b24se3R5cGU6ImJ1dHRvbiIsImFyaWEtY29udHJvbHMiOmEuY29udGVudElkLCJhcmlhLWV4cGFuZGVkIjphLm9wZW58fCExLCJkYXRhLXN0YXRlIjpyayhhLm9wZW4pLCJkYXRhLWRpc2FibGVkIjphLmRpc2FibGVkPyIiOnZvaWQgMCxkaXNhYmxlZDphLmRpc2FibGVkLC4uLm4scmVmOnQsb25DbGljazptZShlLm9uQ2xpY2ssYS5vbk9wZW5Ub2dnbGUpfSl9KTtWSy5kaXNwbGF5TmFtZT1LSzt2YXIgdGs9IkNvbGxhcHNpYmxlQ29udGVudCIseks9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7Zm9yY2VNb3VudDpyLC4uLm59PWUsYT1layh0ayxlLl9fc2NvcGVDb2xsYXBzaWJsZSk7cmV0dXJuIHMuanN4KHduLHtwcmVzZW50OnJ8fGEub3BlbixjaGlsZHJlbjooe3ByZXNlbnQ6aX0pPT5zLmpzeChRaGUsey4uLm4scmVmOnQscHJlc2VudDppfSl9KX0pO3pLLmRpc3BsYXlOYW1lPXRrO3ZhciBRaGU9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZUNvbGxhcHNpYmxlOnIscHJlc2VudDpuLGNoaWxkcmVuOmEsLi4uaX09ZSxvPWVrKHRrLHIpLFtsLGNdPWcudXNlU3RhdGUobiksZD1nLnVzZVJlZihudWxsKSx1PVdlKHQsZCksQT1nLnVzZVJlZigwKSxmPUEuY3VycmVudCxoPWcudXNlUmVmKDApLHA9aC5jdXJyZW50LG09by5vcGVufHxsLHg9Zy51c2VSZWYobSksdz1nLnVzZVJlZih2b2lkIDApO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IHk9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT54LmN1cnJlbnQ9ITEpO3JldHVybigpPT5jYW5jZWxBbmltYXRpb25GcmFtZSh5KX0sW10pLGpyKCgpPT57Y29uc3QgeT1kLmN1cnJlbnQ7aWYoeSl7dy5jdXJyZW50PXcuY3VycmVudHx8e3RyYW5zaXRpb25EdXJhdGlvbjp5LnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbixhbmltYXRpb25OYW1lOnkuc3R5bGUuYW5pbWF0aW9uTmFtZX0seS5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249IjBzIix5LnN0eWxlLmFuaW1hdGlvbk5hbWU9Im5vbmUiO2NvbnN0IHY9eS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtBLmN1cnJlbnQ9di5oZWlnaHQsaC5jdXJyZW50PXYud2lkdGgseC5jdXJyZW50fHwoeS5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249dy5jdXJyZW50LnRyYW5zaXRpb25EdXJhdGlvbix5LnN0eWxlLmFuaW1hdGlvbk5hbWU9dy5jdXJyZW50LmFuaW1hdGlvbk5hbWUpLGMobil9fSxbby5vcGVuLG5dKSxzLmpzeChTZS5kaXYseyJkYXRhLXN0YXRlIjpyayhvLm9wZW4pLCJkYXRhLWRpc2FibGVkIjpvLmRpc2FibGVkPyIiOnZvaWQgMCxpZDpvLmNvbnRlbnRJZCxoaWRkZW46IW0sLi4uaSxyZWY6dSxzdHlsZTp7Ii0tcmFkaXgtY29sbGFwc2libGUtY29udGVudC1oZWlnaHQiOmY/YCR7Zn1weGA6dm9pZCAwLCItLXJhZGl4LWNvbGxhcHNpYmxlLWNvbnRlbnQtd2lkdGgiOnA/YCR7cH1weGA6dm9pZCAwLC4uLmUuc3R5bGV9LGNoaWxkcmVuOm0mJmF9KX0pO2Z1bmN0aW9uIHJrKGUpe3JldHVybiBlPyJvcGVuIjoiY2xvc2VkIn12YXIgTGhlPUhLLCRoZT1WSyxIaGU9ekssS2hlPWcuY3JlYXRlQ29udGV4dCh2b2lkIDApO2Z1bmN0aW9uIFlsKGUpe2NvbnN0IHQ9Zy51c2VDb250ZXh0KEtoZSk7cmV0dXJuIGV8fHR8fCJsdHIifXZhciBYYT0iQWNjb3JkaW9uIixWaGU9WyJIb21lIiwiRW5kIiwiQXJyb3dEb3duIiwiQXJyb3dVcCIsIkFycm93TGVmdCIsIkFycm93UmlnaHQiXSxbbmssemhlLFdoZV09VkEoWGEpLFtGdyxIR2VdPURyKFhhLFtXaGUsJEtdKSxzaz0kSygpLFdLPUsuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e3R5cGU6ciwuLi5ufT1lLGE9bixpPW47cmV0dXJuIHMuanN4KG5rLlByb3ZpZGVyLHtzY29wZTplLl9fc2NvcGVBY2NvcmRpb24sY2hpbGRyZW46cj09PSJtdWx0aXBsZSI/cy5qc3goWGhlLHsuLi5pLHJlZjp0fSk6cy5qc3goWWhlLHsuLi5hLHJlZjp0fSl9KX0pO1dLLmRpc3BsYXlOYW1lPVhhO3ZhcltHSyxHaGVdPUZ3KFhhKSxbcUsscWhlXT1GdyhYYSx7Y29sbGFwc2libGU6ITF9KSxZaGU9Sy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7dmFsdWU6cixkZWZhdWx0VmFsdWU6bixvblZhbHVlQ2hhbmdlOmE9KCk9Pnt9LGNvbGxhcHNpYmxlOmk9ITEsLi4ub309ZSxbbCxjXT1Ocyh7cHJvcDpyLGRlZmF1bHRQcm9wOm4/PyIiLG9uQ2hhbmdlOmEsY2FsbGVyOlhhfSk7cmV0dXJuIHMuanN4KEdLLHtzY29wZTplLl9fc2NvcGVBY2NvcmRpb24sdmFsdWU6Sy51c2VNZW1vKCgpPT5sP1tsXTpbXSxbbF0pLG9uSXRlbU9wZW46Yyxvbkl0ZW1DbG9zZTpLLnVzZUNhbGxiYWNrKCgpPT5pJiZjKCIiKSxbaSxjXSksY2hpbGRyZW46cy5qc3gocUsse3Njb3BlOmUuX19zY29wZUFjY29yZGlvbixjb2xsYXBzaWJsZTppLGNoaWxkcmVuOnMuanN4KFlLLHsuLi5vLHJlZjp0fSl9KX0pfSksWGhlPUsuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e3ZhbHVlOnIsZGVmYXVsdFZhbHVlOm4sb25WYWx1ZUNoYW5nZTphPSgpPT57fSwuLi5pfT1lLFtvLGxdPU5zKHtwcm9wOnIsZGVmYXVsdFByb3A6bj8/W10sb25DaGFuZ2U6YSxjYWxsZXI6WGF9KSxjPUsudXNlQ2FsbGJhY2sodT0+bCgoQT1bXSk9PlsuLi5BLHVdKSxbbF0pLGQ9Sy51c2VDYWxsYmFjayh1PT5sKChBPVtdKT0+QS5maWx0ZXIoZj0+ZiE9PXUpKSxbbF0pO3JldHVybiBzLmpzeChHSyx7c2NvcGU6ZS5fX3Njb3BlQWNjb3JkaW9uLHZhbHVlOm8sb25JdGVtT3BlbjpjLG9uSXRlbUNsb3NlOmQsY2hpbGRyZW46cy5qc3gocUsse3Njb3BlOmUuX19zY29wZUFjY29yZGlvbixjb2xsYXBzaWJsZTohMCxjaGlsZHJlbjpzLmpzeChZSyx7Li4uaSxyZWY6dH0pfSl9KX0pLFtKaGUsT3ddPUZ3KFhhKSxZSz1LLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlQWNjb3JkaW9uOnIsZGlzYWJsZWQ6bixkaXI6YSxvcmllbnRhdGlvbjppPSJ2ZXJ0aWNhbCIsLi4ub309ZSxsPUsudXNlUmVmKG51bGwpLGM9V2UobCx0KSxkPXpoZShyKSxBPVlsKGEpPT09Imx0ciIsZj1tZShlLm9uS2V5RG93bixoPT57dmFyIF87aWYoIVZoZS5pbmNsdWRlcyhoLmtleSkpcmV0dXJuO2NvbnN0IHA9aC50YXJnZXQsbT1kKCkuZmlsdGVyKEI9Pnt2YXIgaztyZXR1cm4hKChrPUIucmVmLmN1cnJlbnQpIT1udWxsJiZrLmRpc2FibGVkKX0pLHg9bS5maW5kSW5kZXgoQj0+Qi5yZWYuY3VycmVudD09PXApLHc9bS5sZW5ndGg7aWYoeD09PS0xKXJldHVybjtoLnByZXZlbnREZWZhdWx0KCk7bGV0IHk9eDtjb25zdCB2PTAsYj13LTEsaj0oKT0+e3k9eCsxLHk+YiYmKHk9dil9LE49KCk9Pnt5PXgtMSx5PHYmJih5PWIpfTtzd2l0Y2goaC5rZXkpe2Nhc2UiSG9tZSI6eT12O2JyZWFrO2Nhc2UiRW5kIjp5PWI7YnJlYWs7Y2FzZSJBcnJvd1JpZ2h0IjppPT09Imhvcml6b250YWwiJiYoQT9qKCk6TigpKTticmVhaztjYXNlIkFycm93RG93biI6aT09PSJ2ZXJ0aWNhbCImJmooKTticmVhaztjYXNlIkFycm93TGVmdCI6aT09PSJob3Jpem9udGFsIiYmKEE/TigpOmooKSk7YnJlYWs7Y2FzZSJBcnJvd1VwIjppPT09InZlcnRpY2FsIiYmTigpO2JyZWFrfWNvbnN0IEM9eSV3OyhfPW1bQ10ucmVmLmN1cnJlbnQpPT1udWxsfHxfLmZvY3VzKCl9KTtyZXR1cm4gcy5qc3goSmhlLHtzY29wZTpyLGRpc2FibGVkOm4sZGlyZWN0aW9uOmEsb3JpZW50YXRpb246aSxjaGlsZHJlbjpzLmpzeChuay5TbG90LHtzY29wZTpyLGNoaWxkcmVuOnMuanN4KFNlLmRpdix7Li4ubywiZGF0YS1vcmllbnRhdGlvbiI6aSxyZWY6YyxvbktleURvd246bj92b2lkIDA6Zn0pfSl9KX0pLEF5PSJBY2NvcmRpb25JdGVtIixbWmhlLGFrXT1GdyhBeSksWEs9Sy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZUFjY29yZGlvbjpyLHZhbHVlOm4sLi4uYX09ZSxpPU93KEF5LHIpLG89R2hlKEF5LHIpLGw9c2sociksYz1lYSgpLGQ9biYmby52YWx1ZS5pbmNsdWRlcyhuKXx8ITEsdT1pLmRpc2FibGVkfHxlLmRpc2FibGVkO3JldHVybiBzLmpzeChaaGUse3Njb3BlOnIsb3BlbjpkLGRpc2FibGVkOnUsdHJpZ2dlcklkOmMsY2hpbGRyZW46cy5qc3goTGhlLHsiZGF0YS1vcmllbnRhdGlvbiI6aS5vcmllbnRhdGlvbiwiZGF0YS1zdGF0ZSI6blYoZCksLi4ubCwuLi5hLHJlZjp0LGRpc2FibGVkOnUsb3BlbjpkLG9uT3BlbkNoYW5nZTpBPT57QT9vLm9uSXRlbU9wZW4obik6by5vbkl0ZW1DbG9zZShuKX19KX0pfSk7WEsuZGlzcGxheU5hbWU9QXk7dmFyIEpLPSJBY2NvcmRpb25IZWFkZXIiLFpLPUsuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVBY2NvcmRpb246ciwuLi5ufT1lLGE9T3coWGEsciksaT1hayhKSyxyKTtyZXR1cm4gcy5qc3goU2UuaDMseyJkYXRhLW9yaWVudGF0aW9uIjphLm9yaWVudGF0aW9uLCJkYXRhLXN0YXRlIjpuVihpLm9wZW4pLCJkYXRhLWRpc2FibGVkIjppLmRpc2FibGVkPyIiOnZvaWQgMCwuLi5uLHJlZjp0fSl9KTtaSy5kaXNwbGF5TmFtZT1KSzt2YXIgTl89IkFjY29yZGlvblRyaWdnZXIiLGVWPUsuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVBY2NvcmRpb246ciwuLi5ufT1lLGE9T3coWGEsciksaT1hayhOXyxyKSxvPXFoZShOXyxyKSxsPXNrKHIpO3JldHVybiBzLmpzeChuay5JdGVtU2xvdCx7c2NvcGU6cixjaGlsZHJlbjpzLmpzeCgkaGUseyJhcmlhLWRpc2FibGVkIjppLm9wZW4mJiFvLmNvbGxhcHNpYmxlfHx2b2lkIDAsImRhdGEtb3JpZW50YXRpb24iOmEub3JpZW50YXRpb24saWQ6aS50cmlnZ2VySWQsLi4ubCwuLi5uLHJlZjp0fSl9KX0pO2VWLmRpc3BsYXlOYW1lPU5fO3ZhciB0Vj0iQWNjb3JkaW9uQ29udGVudCIsclY9Sy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZUFjY29yZGlvbjpyLC4uLm59PWUsYT1PdyhYYSxyKSxpPWFrKHRWLHIpLG89c2socik7cmV0dXJuIHMuanN4KEhoZSx7cm9sZToicmVnaW9uIiwiYXJpYS1sYWJlbGxlZGJ5IjppLnRyaWdnZXJJZCwiZGF0YS1vcmllbnRhdGlvbiI6YS5vcmllbnRhdGlvbiwuLi5vLC4uLm4scmVmOnQsc3R5bGU6eyItLXJhZGl4LWFjY29yZGlvbi1jb250ZW50LWhlaWdodCI6InZhcigtLXJhZGl4LWNvbGxhcHNpYmxlLWNvbnRlbnQtaGVpZ2h0KSIsIi0tcmFkaXgtYWNjb3JkaW9uLWNvbnRlbnQtd2lkdGgiOiJ2YXIoLS1yYWRpeC1jb2xsYXBzaWJsZS1jb250ZW50LXdpZHRoKSIsLi4uZS5zdHlsZX19KX0pO3JWLmRpc3BsYXlOYW1lPXRWO2Z1bmN0aW9uIG5WKGUpe3JldHVybiBlPyJvcGVuIjoiY2xvc2VkIn12YXIgZW1lPVdLLHRtZT1YSyxybWU9Wkssc1Y9ZVYsYVY9clY7Y29uc3QgaVY9ZW1lLGlrPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeCh0bWUse3JlZjpyLGNsYXNzTmFtZTp3ZSgiYm9yZGVyLWIiLGUpLC4uLnR9KSk7aWsuZGlzcGxheU5hbWU9IkFjY29yZGlvbkl0ZW0iO2NvbnN0IG9rPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLGNoaWxkcmVuOnQsLi4ucn0sbik9PnMuanN4KHJtZSx7Y2xhc3NOYW1lOiJmbGV4IixjaGlsZHJlbjpzLmpzeHMoc1Yse3JlZjpuLGNsYXNzTmFtZTp3ZSgiZmxleCBmbGV4LTEgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweS00IGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tYWxsIGhvdmVyOnVuZGVybGluZSBbJltkYXRhLXN0YXRlPW9wZW5dPnN2Z106cm90YXRlLTE4MCIsZSksLi4ucixjaGlsZHJlbjpbdCxzLmpzeChlQSx7Y2xhc3NOYW1lOiJoLTQgdy00IHNocmluay0wIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTIwMCJ9KV19KX0pKTtvay5kaXNwbGF5TmFtZT1zVi5kaXNwbGF5TmFtZTtjb25zdCBsaz1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSxjaGlsZHJlbjp0LC4uLnJ9LG4pPT5zLmpzeChhVix7cmVmOm4sY2xhc3NOYW1lOiJvdmVyZmxvdy1oaWRkZW4gdGV4dC1zbSB0cmFuc2l0aW9uLWFsbCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmFuaW1hdGUtYWNjb3JkaW9uLXVwIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtYWNjb3JkaW9uLWRvd24iLC4uLnIsY2hpbGRyZW46cy5qc3goImRpdiIse2NsYXNzTmFtZTp3ZSgicGItNCBwdC0wIixlKSxjaGlsZHJlbjp0fSl9KSk7bGsuZGlzcGxheU5hbWU9YVYuZGlzcGxheU5hbWU7ZnVuY3Rpb24gbm1lKCl7Y29uc3RbZSx0XT1nLnVzZVN0YXRlKCExKSxbcixuXT1nLnVzZVN0YXRlKCIiKTtnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IG89KCk9Pnt0KHdpbmRvdy5zY3JvbGxZPjIwKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLG8pLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixvKX0sW10pO2NvbnN0IGk9W3tuYW1lOiJHZXR0aW5nIFN0YXJ0ZWQiLGZhcXM6W3txdWVzdGlvbjoiSG93IGRvZXMgdGhlIHNpbXVsYXRlZCBldmFsdWF0aW9uIHdvcms/IixhbnN3ZXI6IkNvbXBsZXRlIGEgMi1zdGVwIHNpbXVsYXRlZCBldmFsdWF0aW9uIHByb2Nlc3MuIFBoYXNlIDE6IFJlYWNoIDEwJSBzaW11bGF0ZWQgcHJvZml0IHRhcmdldCB3aGlsZSByZXNwZWN0aW5nIHRoZSAxMCUgbWF4IGRyYXdkb3duLiBQaGFzZSAyOiBSZWFjaCA1JSBhZGRpdGlvbmFsIHNpbXVsYXRlZCBwcm9maXQgd2l0aCB0aGUgc2FtZSBkcmF3ZG93biBydWxlLiBUcmFkZSBhdCB5b3VyIG93biBwYWNlIHdpdGggbm8gdGltZSBsaW1pdHMuIE9uY2UgeW91IHBhc3MgYm90aCBwaGFzZXMsIHlvdXIgYWNjb3VudCBzdGF0dXMgYWR2YW5jZXMgdG8gYSBzaW11bGF0ZWQgcGVyZm9ybWFuY2UgYWNjb3VudC4gQWxsIHRyYWRpbmcgaXMgc2ltdWxhdGVkIOKAlCBubyByZWFsIGNhcGl0YWwgb3IgcmVhbCBtYXJrZXRzIGFyZSBpbnZvbHZlZC4ifSx7cXVlc3Rpb246IldoYXQgaXMgdGhlIG1pbmltdW0gYWdlIHJlcXVpcmVtZW50PyIsYW5zd2VyOiJQYXJ0aWNpcGFudHMgbXVzdCBiZSBhdCBsZWFzdCAxOCB5ZWFycyBvbGQgdG8gdXNlIG91ciBzaW11bGF0ZWQgZXZhbHVhdGlvbiBwbGF0Zm9ybS4gVGhpcyBpcyByZXF1aXJlZCBmb3IgbGVnYWwgY29tcGxpYW5jZS4ifSx7cXVlc3Rpb246IldoaWNoIGNvdW50cmllcyBhcmUgc3VwcG9ydGVkPyIsYW5zd2VyOiJXZSBhY2NlcHQgcGFydGljaXBhbnRzIGZyb20gbW9zdCBjb3VudHJpZXMgd29ybGR3aWRlLiBBdmFpbGFiaWxpdHkgbWF5IGJlIGxpbWl0ZWQgaW4gY2VydGFpbiByZWdpb25zIGR1ZSB0byBpbnRlcm5hdGlvbmFsIGNvbXBsaWFuY2UgcmVxdWlyZW1lbnRzLiJ9XX0se25hbWU6IlRyYWRpbmcgUnVsZXMiLGZhcXM6W3txdWVzdGlvbjoiV2hhdCBhc3NldHMgY2FuIEkgdHJhZGU/IixhbnN3ZXI6IlRyYWRlIGZvcmV4IHBhaXJzLCBtYWpvciBpbmRpY2VzIChTJlAgNTAwLCBOQVNEQVEsIERBWCwgZXRjLiksIGNvbW1vZGl0aWVzIChHb2xkLCBTaWx2ZXIsIE9pbCksIGFuZCBwb3B1bGFyIGNyeXB0b2N1cnJlbmNpZXMuIEFsbCBtYWpvciBtYXJrZXRzIGFyZSBhdmFpbGFibGUgaW4gb3VyIHNpbXVsYXRlZCBlbnZpcm9ubWVudC4ifSx7cXVlc3Rpb246IkNhbiBJIHVzZSBFeHBlcnQgQWR2aXNvcnMgKEVBcyk/IixhbnN3ZXI6IkFic29sdXRlbHkhIEVBcywgYm90cywgY3VzdG9tIGluZGljYXRvcnMsIGFuZCBhdXRvbWF0ZWQgc3RyYXRlZ2llcyBhcmUgZnVsbHkgcGVybWl0dGVkLiBXZSBzdXBwb3J0IGFsbCBsZWdpdGltYXRlIHRyYWRpbmcgbWV0aG9kcyBhbmQgd2VsY29tZSBhbGdvcml0aG1pYyB0cmFkZXJzLiJ9LHtxdWVzdGlvbjoiQXJlIHRoZXJlIGNvbnNpc3RlbmN5IHJ1bGVzPyIsYW5zd2VyOiJObyBjb25zaXN0ZW5jeSByZXF1aXJlbWVudHMgd2hhdHNvZXZlci4gWW91ciBiZXN0IHRyYWRpbmcgZGF5IGNhbiByZXByZXNlbnQgMTAwJSBvZiB5b3VyIHByb2ZpdHMuIFdlIGZvY3VzIG9uIG92ZXJhbGwgcHJvZml0YWJpbGl0eSBhbmQgcmlzayBtYW5hZ2VtZW50LCBub3QgYXJiaXRyYXJ5IGRhaWx5IGxpbWl0cy4ifSx7cXVlc3Rpb246IkNhbiBJIGhvbGQgcG9zaXRpb25zIG92ZXJuaWdodD8iLGFuc3dlcjoiWWVzLCBob2xkaW5nIHRyYWRlcyBvdmVybmlnaHQgYW5kIG92ZXIgd2Vla2VuZHMgaXMgY29tcGxldGVseSBhbGxvd2VkLiBUcmFkZSBhY2NvcmRpbmcgdG8geW91ciBzdHJhdGVneSB3aXRob3V0IGFydGlmaWNpYWwgcmVzdHJpY3Rpb25zLiJ9XX0se25hbWU6IlJld2FyZHMgJiBDZXJ0aWZpY2F0ZXMiLGZhcXM6W3txdWVzdGlvbjoiSG93IGRvIHBlcmZvcm1hbmNlIGNlcnRpZmljYXRlcyB3b3JrPyIsYW5zd2VyOiJBZnRlciBjb21wbGV0aW5nIHRoZSByZXF1aXJlZCBzaW11bGF0ZWQgdHJhZGluZyBkYXlzLCB5b3UgYmVjb21lIGVsaWdpYmxlIGZvciBhIHBlcmZvcm1hbmNlIGNlcnRpZmljYXRlLiBDZXJ0aWZpY2F0ZXMgcmVwcmVzZW50IHJlY29nbml0aW9uIG9mIHlvdXIgc2ltdWxhdGVkIHRyYWRpbmcgbWlsZXN0b25lcyDigJQgdGhleSBkbyBub3QgcmVwcmVzZW50IHJlYWwgZmluYW5jaWFsIHJldHVybnMgb3IgZ3VhcmFudGVlZCBwYXltZW50cy4gQ2VydGlmaWNhdGUgdmFsdWVzIHJlZmxlY3QgcmV3YXJkIHRpZXIgY2xhc3NpZmljYXRpb25zIGJhc2VkIG9uIHNpbXVsYXRlZCBwZXJmb3JtYW5jZS4ifSx7cXVlc3Rpb246IldoYXQgaXMgdGhlIHJld2FyZCBzcGxpdCBzdHJ1Y3R1cmU/IixhbnN3ZXI6IkZpcnN0IGNlcnRpZmljYXRlOiA5MC8xMCBzcGxpdC4gQWxsIHN1YnNlcXVlbnQgY2VydGlmaWNhdGVzOiAxMDAlIHJlY29nbml0aW9uLiBUaGVzZSBwZXJjZW50YWdlcyByZWZlciB0byB0aGUgc2ltdWxhdGVkIHBlcmZvcm1hbmNlIHJld2FyZCBhbGxvY2F0aW9uLCBub3QgcmVhbCB0cmFkaW5nIHByb2ZpdHMuIn0se3F1ZXN0aW9uOiJJcyB0aGVyZSBhIG1pbmltdW0gY2VydGlmaWNhdGUgYW1vdW50PyIsYW5zd2VyOiJUaGUgbWluaW11bSBwZXJmb3JtYW5jZSBjZXJ0aWZpY2F0ZSB2YWx1ZSBpcyAkMTAwIGluIHNpbXVsYXRlZCBnYWlucy4gT25jZSB5b3VyIHNpbXVsYXRlZCBhY2NvdW50IHJlYWNoZXMgdGhpcyB0aHJlc2hvbGQsIHlvdSBjYW4gcmVxdWVzdCByZWNvZ25pdGlvbi4ifSx7cXVlc3Rpb246IldoYXQgcmVjb2duaXRpb24gbWV0aG9kcyBhcmUgYXZhaWxhYmxlPyIsYW5zd2VyOiJQZXJmb3JtYW5jZSBjZXJ0aWZpY2F0ZXMgYXJlIGlzc3VlZCBkaWdpdGFsbHkuIFdlIG1heSBhbHNvIHByb2Nlc3MgZGlzY3JldGlvbmFyeSByZXdhcmRzIHZpYSBjcnlwdG9jdXJyZW5jeSAoQml0Y29pbiwgVVNEVCwgRXRoZXJldW0pIGF0IG91ciBzb2xlIGRpc2NyZXRpb24uIEFsbCByZXdhcmRzIGFyZSBiYXNlZCBvbiBzaW11bGF0ZWQgcGVyZm9ybWFuY2UgYW5kIGFyZSBub3QgZ3VhcmFudGVlZC4ifV19LHtuYW1lOiJBY2NvdW50ICYgUGxhdGZvcm0iLGZhcXM6W3txdWVzdGlvbjoiV2hpY2ggdHJhZGluZyBwbGF0Zm9ybSBkbyB5b3UgcHJvdmlkZT8iLGFuc3dlcjoiV2UgcHJvdmlkZSBhbiBpbmR1c3RyeS1zdGFuZGFyZCBzaW11bGF0ZWQgdHJhZGluZyBlbnZpcm9ubWVudC4gWW91J2xsIHJlY2VpdmUgeW91ciBzaW11bGF0ZWQgYWNjb3VudCBjcmVkZW50aWFscyBpbW1lZGlhdGVseSBhZnRlciBzaWduaW5nIHVwLiBGdWxsIHBsYXRmb3JtIGRldGFpbHMgYXJlIGF2YWlsYWJsZSBpbiB5b3VyIHN0dWRlbnQgZGFzaGJvYXJkLiBObyByZWFsIG1hcmtldCBhY2Nlc3MgaXMgcHJvdmlkZWQuIn0se3F1ZXN0aW9uOiJDYW4gSSBoYXZlIG11bHRpcGxlIGFjY291bnRzPyIsYW5zd2VyOiJZZXMhIFlvdSBjYW4gcHVyY2hhc2UgYW5kIG1hbmFnZSBtdWx0aXBsZSBzaW11bGF0ZWQgZXZhbHVhdGlvbnMgc2ltdWx0YW5lb3VzbHkuIE1hbnkgcGFydGljaXBhbnRzIHJ1biBzZXZlcmFsIGFjY291bnRzIHRvIGRpdmVyc2lmeSB0aGVpciBzdHJhdGVnaWVzLiJ9LHtxdWVzdGlvbjoiV2hhdCBoYXBwZW5zIGlmIEkgZmFpbCB0aGUgZXZhbHVhdGlvbj8iLGFuc3dlcjoiSWYgeW91IGRvbid0IG1lZXQgdGhlIHByb2ZpdCB0YXJnZXQgb3IgZXhjZWVkIHRoZSBkcmF3ZG93biBsaW1pdCBkdXJpbmcgZWl0aGVyIFBoYXNlIDEgb3IgUGhhc2UgMiwgeW91IGNhbiBwdXJjaGFzZSBhIG5ldyBldmFsdWF0aW9uIGFuZCB0cnkgYWdhaW4uIE1vc3Qgc3VjY2Vzc2Z1bCB0cmFkZXJzIHRha2UgMi0zIGF0dGVtcHRzIHRvIHJlZmluZSB0aGVpciBhcHByb2FjaC4ifSx7cXVlc3Rpb246IkhvdyBkbyBJIGNvbnRhY3Qgc3VwcG9ydD8iLGFuc3dlcjoiQWNjZXNzIDI0Lzcgc3VwcG9ydCB0aHJvdWdoIHlvdXIgYWNjb3VudCBkYXNoYm9hcmQuIFN1Ym1pdCBhIHRpY2tldCBhbmQgb3VyIHRlYW0gd2lsbCByZXNwb25kIHdpdGhpbiBhIGZldyBob3Vycy4gV2UncmUgaGVyZSB0byBoZWxwIHlvdSBzdWNjZWVkLiJ9XX1dLm1hcChvPT4oey4uLm8sZmFxczpvLmZhcXMuZmlsdGVyKGw9PmwucXVlc3Rpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhyLnRvTG93ZXJDYXNlKCkpfHxsLmFuc3dlci50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHIudG9Mb3dlckNhc2UoKSkpfSkpLmZpbHRlcihvPT5vLmZhcXMubGVuZ3RoPjApO3JldHVybiBzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWluLWgtc2NyZWVuIGJnLWdyYWRpZW50LXRvLWIgZnJvbS13aGl0ZSB2aWEtYmx1ZS01MC8zMCB0by13aGl0ZSIsY2hpbGRyZW46W3MuanN4KCJuYXYiLHtjbGFzc05hbWU6YHN0aWNreSB0b3AtMCB6LTUwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCAke2U/ImJnLXdoaXRlLzgwIGJhY2tkcm9wLWJsdXIteGwgc2hhZG93LXNtIGJvcmRlci1iIGJvcmRlci1ncmF5LTIwMCI6ImJnLXRyYW5zcGFyZW50In1gLGNoaWxkcmVuOnMuanN4KCJkaXYiLHtjbGFzc05hbWU6Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGgtMjAiLGNoaWxkcmVuOltzLmpzeHMob2Use3RvOiIvIixjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIGdyb3VwIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQteGwgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1wcmltYXJ5IHRvLWJsdWUtNjAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHNoYWRvdy1sZyBncm91cC1ob3ZlcjpzaGFkb3cteGwgdHJhbnNpdGlvbi1zaGFkb3ciLGNoaWxkcmVuOnMuanN4KFdhLHtjbGFzc05hbWU6ImgtNiB3LTYgdGV4dC13aGl0ZSJ9KX0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJsYWNrIHRleHQtcHJpbWFyeSIsY2hpbGRyZW46IkZsb3dpbmdGdW5kZWQifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvIixjaGlsZHJlbjpzLmpzeHMoVix7dmFyaWFudDoiZ2hvc3QiLHNpemU6InNtIixjbGFzc05hbWU6ImdhcC0yIixjaGlsZHJlbjpbcy5qc3goVmEse2NsYXNzTmFtZToiaC00IHctNCJ9KSwiSG9tZSJdfSl9KSxzLmpzeChvZSx7dG86Ii9hdXRoIixjaGlsZHJlbjpzLmpzeChWLHtzaXplOiJzbSIsY2hpbGRyZW46IkdldCBTdGFydGVkIn0pfSldfSldfSl9KX0pLHMuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToicmVsYXRpdmUgcHktMzIgb3ZlcmZsb3ctaGlkZGVuIixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMjAgcmlnaHQtMTAgdy03MiBoLTcyIGJnLWJsdWUtNDAwLzIwIHJvdW5kZWQtZnVsbCBibHVyLTN4bCJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBib3R0b20tMjAgbGVmdC0xMCB3LTk2IGgtOTYgYmctcHVycGxlLTQwMC8yMCByb3VuZGVkLWZ1bGwgYmx1ci0zeGwifSldfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgbWF4LXctNXhsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciBzcGFjZS15LTgiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTQgcHktMiByb3VuZGVkLWZ1bGwgYmctd2hpdGUgYm9yZGVyLTIgYm9yZGVyLXByaW1hcnkvMjAgc2hhZG93LWxnIixjaGlsZHJlbjpbcy5qc3gobW0se2NsYXNzTmFtZToidy00IGgtNCB0ZXh0LWJsdWUtNjAwIn0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIGZvbnQtYm9sZCB0ZXh0LWdyYXktNzAwIixjaGlsZHJlbjoiWW91ciBRdWVzdGlvbnMsIEFuc3dlcmVkIn0pXX0pLHMuanN4KCJoMSIse2NsYXNzTmFtZToidGV4dC03eGwgbWQ6dGV4dC04eGwgZm9udC1ibGFjayBsZWFkaW5nLXRpZ2h0IixjaGlsZHJlbjpzLmpzeCgic3BhbiIse2NsYXNzTmFtZToiYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNjAwIHZpYS1ibHVlLTcwMCB0by1wdXJwbGUtNjAwIGJnLWNsaXAtdGV4dCB0ZXh0LXRyYW5zcGFyZW50IixjaGlsZHJlbjoiRkFRIENlbnRlciJ9KX0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXhsIG1kOnRleHQtMnhsIHRleHQtZ3JheS02MDAgbGVhZGluZy1yZWxheGVkIG1heC13LTN4bCBteC1hdXRvIGZvbnQtbWVkaXVtIixjaGlsZHJlbjoiRXZlcnl0aGluZyB5b3UgbmVlZCB0byBrbm93IGFib3V0IG91ciBzaW11bGF0ZWQgZXZhbHVhdGlvbnMsIHJ1bGVzLCBjZXJ0aWZpY2F0ZXMsIGFuZCBwbGF0Zm9ybSJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy0yeGwgbXgtYXV0byBwdC02IixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUiLGNoaWxkcmVuOltzLmpzeCh6YSx7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBsZWZ0LTYgdG9wLTEvMiB0cmFuc2Zvcm0gLXRyYW5zbGF0ZS15LTEvMiBoLTYgdy02IHRleHQtZ3JheS00MDAifSkscy5qc3goImlucHV0Iix7dHlwZToidGV4dCIscGxhY2Vob2xkZXI6IlNlYXJjaCBxdWVzdGlvbnMuLi4iLHZhbHVlOnIsb25DaGFuZ2U6bz0+bihvLnRhcmdldC52YWx1ZSksY2xhc3NOYW1lOiJ3LWZ1bGwgcGwtMTYgcHItNiBweS01IHJvdW5kZWQtMnhsIGJvcmRlci0yIGJvcmRlci1ncmF5LTIwMCBiZy13aGl0ZSBzaGFkb3ctbGcgZm9jdXM6Ym9yZGVyLWJsdWUtNTAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTQgZm9jdXM6cmluZy1ibHVlLTUwMC8xMCB0ZXh0LWxnIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tYWxsIn0pXX0pfSldfSl9KV19KSxzLmpzeCgic2VjdGlvbiIse2NsYXNzTmFtZToicHktMjAgcmVsYXRpdmUiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy01eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCBzcGFjZS15LTE2IixjaGlsZHJlbjpbaS5tYXAoKG8sbCk9PnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTgiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTQiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJoLTEgdy0xMiBiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS01MDAgdG8tcHVycGxlLTUwMCByb3VuZGVkLWZ1bGwifSkscy5qc3goImgyIix7Y2xhc3NOYW1lOiJ0ZXh0LTR4bCBmb250LWJsYWNrIHRleHQtZ3JheS05MDAiLGNoaWxkcmVuOm8ubmFtZX0pXX0pLHMuanN4KGlWLHt0eXBlOiJzaW5nbGUiLGNvbGxhcHNpYmxlOiEwLGNsYXNzTmFtZToic3BhY2UteS00IixjaGlsZHJlbjpvLmZhcXMubWFwKChjLGQpPT5zLmpzeHMoaWsse3ZhbHVlOmBjYXQtJHtsfS1mYXEtJHtkfWAsY2xhc3NOYW1lOiJib3JkZXItMiBib3JkZXItZ3JheS0yMDAgYmctd2hpdGUgcm91bmRlZC0yeGwgb3ZlcmZsb3ctaGlkZGVuIHNoYWRvdy1tZCBob3ZlcjpzaGFkb3cteGwgaG92ZXI6Ym9yZGVyLWJsdWUtMzAwIHRyYW5zaXRpb24tYWxsIixjaGlsZHJlbjpbcy5qc3gob2sse2NsYXNzTmFtZToidGV4dC1sZWZ0IGhvdmVyOm5vLXVuZGVybGluZSBweC04IHB5LTYgZ3JvdXAiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCB3LWZ1bGwiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4LXNocmluay0wIHctMTAgaC0xMCByb3VuZGVkLXhsIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmx1ZS01MDAgdG8tYmx1ZS02MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgc2hhZG93LWxnIGdyb3VwLWhvdmVyOnNjYWxlLTExMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSIsY2hpbGRyZW46cy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtbGcgZm9udC1ibGFjayB0ZXh0LXdoaXRlIixjaGlsZHJlbjoiPyJ9KX0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJmb250LWJvbGQgdGV4dC14bCB0ZXh0LWdyYXktOTAwIGZsZXgtMSBwci00IixjaGlsZHJlbjpjLnF1ZXN0aW9ufSldfSl9KSxzLmpzeChsayx7Y2xhc3NOYW1lOiJweC04IHBiLTggdGV4dC1ncmF5LTYwMCB0ZXh0LWxnIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46cy5qc3goImRpdiIse2NsYXNzTmFtZToicGwtMTQgcHQtMiBib3JkZXItbC00IGJvcmRlci1ibHVlLTUwMCBtbC01IixjaGlsZHJlbjpjLmFuc3dlcn0pfSldfSxkKSl9KV19LGwpKSxpLmxlbmd0aD09PTAmJnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciBweS0yMCIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InctMjQgaC0yNCByb3VuZGVkLWZ1bGwgYmctZ3JheS0xMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXgtYXV0byBtYi02IixjaGlsZHJlbjpzLmpzeCh6YSx7Y2xhc3NOYW1lOiJ3LTEyIGgtMTIgdGV4dC1ncmF5LTQwMCJ9KX0pLHMuanN4KCJoMyIse2NsYXNzTmFtZToidGV4dC0zeGwgZm9udC1ib2xkIHRleHQtZ3JheS05MDAgbWItMyIsY2hpbGRyZW46Ik5vIHJlc3VsdHMgZm91bmQifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteGwgdGV4dC1ncmF5LTYwMCIsY2hpbGRyZW46IlRyeSBzZWFyY2hpbmcgd2l0aCBkaWZmZXJlbnQga2V5d29yZHMifSldfSldfSl9KSxzLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6InB5LTI0IHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTYwMCB2aWEtYmx1ZS03MDAgdG8tcHVycGxlLTcwMCJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBvcGFjaXR5LTEwIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHctOTYgaC05NiBiZy13aGl0ZSByb3VuZGVkLWZ1bGwgYmx1ci0zeGwifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgYm90dG9tLTAgcmlnaHQtMCB3LTk2IGgtOTYgYmctd2hpdGUgcm91bmRlZC1mdWxsIGJsdXItM3hsIn0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBtYXgtdy01eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCB0ZXh0LWNlbnRlciBzcGFjZS15LTEwIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiaW5saW5lLWJsb2NrIHAtNSByb3VuZGVkLTJ4bCBiZy13aGl0ZS8xMCBiYWNrZHJvcC1ibHVyLXNtIixjaGlsZHJlbjpzLmpzeChtbSx7Y2xhc3NOYW1lOiJ3LTE2IGgtMTYgdGV4dC13aGl0ZSJ9KX0pLHMuanN4KCJoMiIse2NsYXNzTmFtZToidGV4dC01eGwgbWQ6dGV4dC02eGwgZm9udC1ibGFjayB0ZXh0LXdoaXRlIGxlYWRpbmctdGlnaHQiLGNoaWxkcmVuOiJTdGlsbCBIYXZlIFF1ZXN0aW9ucz8ifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtMnhsIHRleHQtd2hpdGUvOTAgbWF4LXctM3hsIG14LWF1dG8gZm9udC1tZWRpdW0iLGNoaWxkcmVuOiJPdXIgc3VwcG9ydCB0ZWFtIGlzIGF2YWlsYWJsZSAyNC83IHRvIGhlbHAgeW91IGdldCBzdGFydGVkIGFuZCBhbnN3ZXIgYW55IHNwZWNpZmljIHF1ZXN0aW9ucyJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LXdyYXAganVzdGlmeS1jZW50ZXIgZ2FwLTQgcHQtNiIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiL2F1dGgiLGNoaWxkcmVuOnMuanN4KFYse3NpemU6ImxnIix2YXJpYW50OiJzZWNvbmRhcnkiLGNsYXNzTmFtZToidGV4dC1sZyBweC0xMiBzaGFkb3ctMnhsIixjaGlsZHJlbjoiU3RhcnQgWW91ciBFdmFsdWF0aW9uIn0pfSkscy5qc3goImEiLHtocmVmOiJtYWlsdG86c3VwcG9ydEBmbG93aW5nZnVuZGVkLmNvbSIsY2hpbGRyZW46cy5qc3goVix7c2l6ZToibGciLHZhcmlhbnQ6Im91dGxpbmUiLGNsYXNzTmFtZToidGV4dC1sZyBweC0xMiBib3JkZXItMiBib3JkZXItd2hpdGUgdGV4dC13aGl0ZSBob3ZlcjpiZy13aGl0ZSBob3Zlcjp0ZXh0LWJsdWUtNzAwIHNoYWRvdy0yeGwiLGNoaWxkcmVuOiJDb250YWN0IFN1cHBvcnQifSl9KV19KV19KV19KSxzLmpzeHMoImZvb3RlciIse2NsYXNzTmFtZToicmVsYXRpdmUgYmctWyMwYTE2MjhdIHRleHQtd2hpdGUgb3ZlcmZsb3ctaGlkZGVuIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBvcGFjaXR5LTEwIixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHctZnVsbCBoLWZ1bGwiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMS80IC1sZWZ0LTIwIHctOTYgaC1weCBiZy1ncmFkaWVudC10by1yIGZyb20tdHJhbnNwYXJlbnQgdmlhLWJsdWUtNDAwIHRvLXRyYW5zcGFyZW50IHJvdGF0ZS0xMiJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMS8yIC1yaWdodC0yMCB3LTk2IGgtcHggYmctZ3JhZGllbnQtdG8tciBmcm9tLXRyYW5zcGFyZW50IHZpYS1wdXJwbGUtNDAwIHRvLXRyYW5zcGFyZW50IC1yb3RhdGUtMTIifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgYm90dG9tLTEvNCBsZWZ0LTEvNCB3LTk2IGgtcHggYmctZ3JhZGllbnQtdG8tciBmcm9tLXRyYW5zcGFyZW50IHZpYS1ibHVlLTQwMCB0by10cmFuc3BhcmVudCByb3RhdGUtNiJ9KV19KX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCBweS0xNiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJncmlkIGdyaWQtY29scy0xIGxnOmdyaWQtY29scy0xMiBnYXAtMTIgbWItMTIiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibGc6Y29sLXNwYW4tNSBzcGFjZS15LTgiLGNoaWxkcmVuOltzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQtNHhsIHNtOnRleHQtNXhsIGZvbnQtYmxhY2sgdXBwZXJjYXNlIHRyYWNraW5nLXRpZ2h0IixjaGlsZHJlbjoiRmxvd2luZ0Z1bmRlZCJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS00IixjaGlsZHJlbjpbcy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1ncmF5LTQwMCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IkNvbm5lY3Qgd2l0aCB1cyJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBnYXAtMyIsY2hpbGRyZW46W3MuanN4KCJhIix7aHJlZjoiIyIsY2xhc3NOYW1lOiJ3LTEyIGgtMTIgcm91bmRlZC1mdWxsIGJnLXdoaXRlLzUgaG92ZXI6Ymctd2hpdGUvMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdHJhbnNpdGlvbi1jb2xvcnMgYm9yZGVyIGJvcmRlci13aGl0ZS8xMCIsY2hpbGRyZW46cy5qc3godEEse2NsYXNzTmFtZToiaC01IHctNSJ9KX0pLHMuanN4KCJhIix7aHJlZjoiIyIsY2xhc3NOYW1lOiJ3LTEyIGgtMTIgcm91bmRlZC1mdWxsIGJnLXdoaXRlLzUgaG92ZXI6Ymctd2hpdGUvMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdHJhbnNpdGlvbi1jb2xvcnMgYm9yZGVyIGJvcmRlci13aGl0ZS8xMCIsY2hpbGRyZW46cy5qc3goJCQse2NsYXNzTmFtZToiaC01IHctNSJ9KX0pLHMuanN4KCJhIix7aHJlZjoiIyIsY2xhc3NOYW1lOiJ3LTEyIGgtMTIgcm91bmRlZC1mdWxsIGJnLXdoaXRlLzUgaG92ZXI6Ymctd2hpdGUvMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdHJhbnNpdGlvbi1jb2xvcnMgYm9yZGVyIGJvcmRlci13aGl0ZS8xMCIsY2hpbGRyZW46cy5qc3goSyQse2NsYXNzTmFtZToiaC01IHctNSJ9KX0pLHMuanN4KCJhIix7aHJlZjoiIyIsY2xhc3NOYW1lOiJ3LTEyIGgtMTIgcm91bmRlZC1mdWxsIGJnLXdoaXRlLzUgaG92ZXI6Ymctd2hpdGUvMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdHJhbnNpdGlvbi1jb2xvcnMgYm9yZGVyIGJvcmRlci13aGl0ZS8xMCIsY2hpbGRyZW46cy5qc3god2wse2NsYXNzTmFtZToiaC01IHctNSJ9KX0pXX0pXX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImJvcmRlciBib3JkZXItd2hpdGUvMTAgcm91bmRlZC0yeGwgcC02IGJnLXdoaXRlLzUgYmFja2Ryb3AtYmx1ci1zbSIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyIsY2hpbGRyZW46W3MuanN4cygicCIse2NsYXNzTmFtZToidGV4dC1sZyBmb250LWJvbGQiLGNoaWxkcmVuOlsiRWR1Y2F0aW9uYWwgIixzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1wcmltYXJ5IixjaGlsZHJlbjoiU2ltdWxhdGlvbiBQbGF0Zm9ybSJ9KV19KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1zbSB0ZXh0LWdyYXktNDAwIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46IkxlYXJuIG1vcmUgYWJvdXQgdHJhZGluZyBvcHBvcnR1bml0aWVzICYgcGFydG5lcnNoaXAgcHJvZ3JhbXMifSkscy5qc3gob2Use3RvOiIvYXV0aCIsY2hpbGRyZW46cy5qc3goVix7Y2xhc3NOYW1lOiJ3LWZ1bGwgYmctd2hpdGUgdGV4dC1bIzBhMTYyOF0gaG92ZXI6YmctZ3JheS0xMDAgcm91bmRlZC1mdWxsIGZvbnQtc2VtaWJvbGQiLGNoaWxkcmVuOiJBY2Nlc3MgRGFzaGJvYXJkIn0pfSldfSl9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibGc6Y29sLXNwYW4tNyBncmlkIGdyaWQtY29scy0yIHNtOmdyaWQtY29scy00IGdhcC04IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3goImgzIix7Y2xhc3NOYW1lOiJmb250LWJvbGQgdGV4dC13aGl0ZSBtYi00IHVwcGVyY2FzZSB0ZXh0LXNtIHRyYWNraW5nLXdpZGUiLGNoaWxkcmVuOiJUcmFkZSJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0zIHRleHQtc20iLGNoaWxkcmVuOltzLmpzeChvZSx7dG86Ii8iLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiRm9yZXgifSkscy5qc3gob2Use3RvOiIvIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkZ1dHVyZXMifSkscy5qc3gob2Use3RvOiIvIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkNyeXB0byJ9KV19KV19KSxzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6ImZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQgdXBwZXJjYXNlIHRleHQtc20gdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IlBsYXRmb3JtIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMgdGV4dC1zbSIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiLyIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJIb21lIn0pLHMuanN4KG9lLHt0bzoiL2Fib3V0IixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkhvdyBpdCBXb3JrcyJ9KSxzLmpzeChvZSx7dG86Ii9hdXRoIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkRhc2hib2FyZCJ9KV19KV19KSxzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6ImZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQgdXBwZXJjYXNlIHRleHQtc20gdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IkFib3V0In0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMgdGV4dC1zbSIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiL2Fib3V0IixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkFib3V0IFVzIn0pLHMuanN4KG9lLHt0bzoiL2ZhcSIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJGQVEifSldfSldfSkscy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3goImgzIix7Y2xhc3NOYW1lOiJmb250LWJvbGQgdGV4dC13aGl0ZSBtYi00IHVwcGVyY2FzZSB0ZXh0LXNtIHRyYWNraW5nLXdpZGUiLGNoaWxkcmVuOiJTdXBwb3J0In0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMgdGV4dC1zbSIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiL2F1dGgiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiSGVscCBDZW50ZXIifSkscy5qc3gob2Use3RvOiIvYXV0aCIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJDb250YWN0In0pXX0pXX0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJib3JkZXItdCBib3JkZXItd2hpdGUvMTAgcHQtOCBzcGFjZS15LTYiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LWdyYXktNDAwIGxlYWRpbmctcmVsYXhlZCBzcGFjZS15LTMiLGNoaWxkcmVuOltzLmpzeHMoInAiLHtjaGlsZHJlbjpbcy5qc3goInN0cm9uZyIse2NoaWxkcmVuOiJJTVBPUlRBTlQgRElTQ0xBSU1FUjoifSksIiBGbG93aW5nRnVuZGVkIGlzIGEgc2ltdWxhdGVkIHRyYWRpbmcgZXZhbHVhdGlvbiBwbGF0Zm9ybSBmb3IgZWR1Y2F0aW9uYWwgcHVycG9zZXMgb25seS4gQWxsIHRyYWRpbmcgYWN0aXZpdHksIGFjY291bnQgYmFsYW5jZXMsIHByb2ZpdHMsIGxvc3NlcywgYW5kIHBlcmZvcm1hbmNlIG1ldHJpY3MgZGlzcGxheWVkIGFyZSBlbnRpcmVseSBzaW11bGF0ZWQgYW5kIGh5cG90aGV0aWNhbC4gTm8gcmVhbCBtb25leSBpcyB0cmFkZWQsIGludmVzdGVkLCBvciBtYW5hZ2VkLiBGbG93aW5nRnVuZGVkIGRvZXMgbm90IHByb3ZpZGUgYnJva2VyYWdlIHNlcnZpY2VzLCBpbnZlc3RtZW50IGFkdmljZSwgb3IgYWNjZXNzIHRvIHJlYWwgZmluYW5jaWFsIG1hcmtldHMuIl19KSxzLmpzeCgicCIse2NoaWxkcmVuOiJUaGUgQ29tcGFueSBkb2VzIG5vdCBjYXJyeSBvdXQgYW55IHJlZ3VsYXRlZCBmaW5hbmNpYWwgYWN0aXZpdGllczsgdGhlIENvbXBhbnkncyBleGNsdXNpdmUgYWN0aXZpdHkgaXMgc2ltdWxhdGVkIHRyYWRpbmcgZXZhbHVhdGlvbi4gRG9sbGFyIGFtb3VudHMgb24gY2VydGlmaWNhdGVzIHJlcHJlc2VudCBwZXJmb3JtYW5jZS1iYXNlZCByZXdhcmQgdGllcnMsIG5vdCByZWFsIGZpbmFuY2lhbCByZXR1cm5zLiBQYXN0IHNpbXVsYXRlZCBwZXJmb3JtYW5jZSBpcyBub3QgaW5kaWNhdGl2ZSBvZiBmdXR1cmUgcmVzdWx0cy4gQWx3YXlzIGNvbnN1bHQgYSBsaWNlbnNlZCBmaW5hbmNpYWwgcHJvZmVzc2lvbmFsIGJlZm9yZSBtYWtpbmcgYW55IGludmVzdG1lbnQgZGVjaXNpb25zLiJ9KSxzLmpzeCgicCIse2NoaWxkcmVuOiJGbG93aW5nRnVuZGVkIEx0ZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc2ltdWxhdGVkIHRyYWRpbmcgZXZhbHVhdGlvbiBzZXJ2aWNlcyBwbGVhc2UgY29udGFjdCBzdXBwb3J0IHZpYSB5b3VyIGRhc2hib2FyZC4ifSldfSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtWzlweF0gdGV4dC1ncmF5LTUwMCB0ZXh0LWNlbnRlciB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IkFsbCBjaGFsbGVuZ2VzIGFyZSBzaW11bGF0ZWQuIE5vIHJlYWwgdHJhZGluZyBhY2NvdW50cywgY2FwaXRhbCwgb3IgZnVuZHMgYXJlIGlzc3VlZC4gQWxsIHJlc3VsdHMgYXJlIGh5cG90aGV0aWNhbC4ifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtNCBwdC02IGJvcmRlci10IGJvcmRlci13aGl0ZS8xMCIsY2hpbGRyZW46W3MuanN4cygicCIse2NsYXNzTmFtZToidGV4dC1zbSB0ZXh0LWdyYXktNTAwIixjaGlsZHJlbjpbIsKpICIsbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpLCIgRmxvd2luZ0Z1bmRlZCBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIl19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTYgdGV4dC1zbSIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiL3ByaXZhY3kiLGNsYXNzTmFtZToidGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiUHJpdmFjeSBQb2xpY3kifSkscy5qc3gob2Use3RvOiIvdGVybXMiLGNsYXNzTmFtZToidGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiVGVybXMgJiBDb25kaXRpb25zIn0pLHMuanN4KG9lLHt0bzoiL3Jpc2stZGlzY2xvc3VyZSIsY2xhc3NOYW1lOiJ0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJSaXNrIERpc2Nsb3N1cmUifSldfSldfSldfSldfSldfSldfSl9ZnVuY3Rpb24gc21lKCl7Y29uc3RbZSx0XT1nLnVzZVN0YXRlKCExKTtnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IGE9KCk9Pnt0KHdpbmRvdy5zY3JvbGxZPjIwKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGEpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixhKX0sW10pO2NvbnN0IHI9W3tpY29uOm5uLHRpdGxlOiJTZWN1cmUgJiBUcnVzdGVkIixkZXNjcmlwdGlvbjoiWW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBwcm90ZWN0ZWQgd2l0aCBlbnRlcnByaXNlLWdyYWRlIHNlY3VyaXR5IG1lYXN1cmVzIGFuZCB0cmFuc3BhcmVudCBvcGVyYXRpb25zLiJ9LHtpY29uOkZyLHRpdGxlOiJGYXN0IFByb2Nlc3NpbmciLGRlc2NyaXB0aW9uOiJRdWljayBldmFsdWF0aW9uIGFuZCBzYW1lLWRheSBjZXJ0aWZpY2F0ZSBwcm9jZXNzaW5nLiBTdGFydCB5b3VyIHNpbXVsYXRlZCBldmFsdWF0aW9uIHdpdGhpbiBob3VycyBvZiByZWdpc3RyYXRpb24uIn0se2ljb246R3QsdGl0bGU6IlNraWxsIEZvY3VzZWQiLGRlc2NyaXB0aW9uOiJQcm92ZSB5b3VyIGNvbnNpc3RlbmN5IGluIG91ciBzaW11bGF0ZWQgZW52aXJvbm1lbnQuIFRyYWNrIHlvdXIgcGVyZm9ybWFuY2UgYWNyb3NzIG11bHRpcGxlIGV2YWx1YXRpb24gdGllcnMuIn0se2ljb246TnJlLHRpdGxlOiJDb21tdW5pdHkgRHJpdmVuIixkZXNjcmlwdGlvbjoiSm9pbiB0aG91c2FuZHMgb2YgdHJhZGVycyBzaGFyaW5nIHN0cmF0ZWdpZXMsIGluc2lnaHRzLCBhbmQgY2VsZWJyYXRpbmcgd2lucyBpbiBvdXIgYWN0aXZlIERpc2NvcmQgY29tbXVuaXR5LiJ9XSxuPVt7eWVhcjoiMjAyNCIsdGl0bGU6IlBsYXRmb3JtIExhdW5jaCIsZGVzYzoiU3RhcnRlZCBvcGVyYXRpb25zIHdpdGggNTAgYmV0YSBwYXJ0aWNpcGFudHMifSx7eWVhcjoiUTIgMjAyNCIsdGl0bGU6IlJhcGlkIEdyb3d0aCIsZGVzYzoiRXhwYW5kZWQgdG8gNTAwKyBhY3RpdmUgc2ltdWxhdGVkIGFjY291bnRzIn0se3llYXI6IlEzIDIwMjQiLHRpdGxlOiJNYWpvciBNaWxlc3RvbmUiLGRlc2M6Iklzc3VlZCBjZXJ0aWZpY2F0ZXMgd29ydGggJDEwTSsgaW4gc2ltdWxhdGVkIHBlcmZvcm1hbmNlIn0se3llYXI6IlRvZGF5Iix0aXRsZToiR3Jvd2luZyBQbGF0Zm9ybSIsZGVzYzoiQSBncm93aW5nIGNvbW11bml0eSBvZiB0cmFkZXJzIHByYWN0aXNpbmcgaW4gb3VyIHNpbXVsYXRlZCBldmFsdWF0aW9uIHByb2dyYW1zIn1dO3JldHVybiBzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWluLWgtc2NyZWVuIGJnLWdyYWRpZW50LXRvLWIgZnJvbS13aGl0ZSB2aWEtYmx1ZS01MC8zMCB0by13aGl0ZSIsY2hpbGRyZW46W3MuanN4KCJuYXYiLHtjbGFzc05hbWU6YHN0aWNreSB0b3AtMCB6LTUwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCAke2U/ImJnLXdoaXRlLzgwIGJhY2tkcm9wLWJsdXIteGwgc2hhZG93LXNtIGJvcmRlci1iIGJvcmRlci1ncmF5LTIwMCI6ImJnLXRyYW5zcGFyZW50In1gLGNoaWxkcmVuOnMuanN4KCJkaXYiLHtjbGFzc05hbWU6Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGgtMjAiLGNoaWxkcmVuOltzLmpzeHMob2Use3RvOiIvIixjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIGdyb3VwIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQteGwgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1wcmltYXJ5IHRvLWJsdWUtNjAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHNoYWRvdy1sZyBncm91cC1ob3ZlcjpzaGFkb3cteGwgdHJhbnNpdGlvbi1zaGFkb3ciLGNoaWxkcmVuOnMuanN4KFdhLHtjbGFzc05hbWU6ImgtNiB3LTYgdGV4dC13aGl0ZSJ9KX0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJsYWNrIHRleHQtcHJpbWFyeSIsY2hpbGRyZW46IkZsb3dpbmdGdW5kZWQifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvIixjaGlsZHJlbjpzLmpzeHMoVix7dmFyaWFudDoiZ2hvc3QiLHNpemU6InNtIixjbGFzc05hbWU6ImdhcC0yIixjaGlsZHJlbjpbcy5qc3goVmEse2NsYXNzTmFtZToiaC00IHctNCJ9KSwiSG9tZSJdfSl9KSxzLmpzeChvZSx7dG86Ii9hdXRoIixjaGlsZHJlbjpzLmpzeChWLHtzaXplOiJzbSIsY2hpbGRyZW46IkdldCBTdGFydGVkIn0pfSldfSldfSl9KX0pLHMuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToicmVsYXRpdmUgcHktMzIgb3ZlcmZsb3ctaGlkZGVuIixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMjAgbGVmdC0xMCB3LTcyIGgtNzIgYmctYmx1ZS00MDAvMjAgcm91bmRlZC1mdWxsIGJsdXItM3hsIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGJvdHRvbS0yMCByaWdodC0xMCB3LTk2IGgtOTYgYmctcHVycGxlLTQwMC8yMCByb3VuZGVkLWZ1bGwgYmx1ci0zeGwifSldfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgbWF4LXctNnhsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciBzcGFjZS15LTggbWF4LXctNHhsIG14LWF1dG8iLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTQgcHktMiByb3VuZGVkLWZ1bGwgYmctd2hpdGUgYm9yZGVyLTIgYm9yZGVyLXByaW1hcnkvMjAgc2hhZG93LWxnIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidy0yIGgtMiByb3VuZGVkLWZ1bGwgYmctZ3JlZW4tNTAwIGFuaW1hdGUtcHVsc2UifSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtc20gZm9udC1ib2xkIHRleHQtZ3JheS03MDAiLGNoaWxkcmVuOiJFZHVjYXRpb25hbCBTaW11bGF0aW9uIFBsYXRmb3JtIMK3IE5vIFJlYWwgTW9uZXkifSldfSkscy5qc3hzKCJoMSIse2NsYXNzTmFtZToidGV4dC03eGwgbWQ6dGV4dC04eGwgZm9udC1ibGFjayBsZWFkaW5nLXRpZ2h0IixjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTYwMCB2aWEtYmx1ZS03MDAgdG8tcHVycGxlLTYwMCBiZy1jbGlwLXRleHQgdGV4dC10cmFuc3BhcmVudCIsY2hpbGRyZW46IkJ1aWxkaW5nIERyZWFtcywifSkscy5qc3goImJyIix7fSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtZ3JheS05MDAiLGNoaWxkcmVuOiJGdW5kaW5nIFRhbGVudCJ9KV19KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC14bCBtZDp0ZXh0LTJ4bCB0ZXh0LWdyYXktNjAwIGxlYWRpbmctcmVsYXhlZCBtYXgtdy0zeGwgbXgtYXV0byBmb250LW1lZGl1bSIsY2hpbGRyZW46IldlJ3JlIG5vdCBqdXN0IGEgc2ltdWxhdGlvbiBwbGF0Zm9ybS4gV2UncmUgYSBsYXVuY2hwYWQgZm9yIHNraWxsZWQgdHJhZGVycyB3aG8gZGVzZXJ2ZSBhIHNob3QgYXQgcHJvdmluZyB0aGVpciBhYmlsaXRpZXMgaW4gYSByaXNrLWZyZWUgZWR1Y2F0aW9uYWwgZW52aXJvbm1lbnQuIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNlbnRlciBnYXAtNCBwdC02IixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvYXV0aCIsY2hpbGRyZW46cy5qc3goVix7c2l6ZToibGciLGNsYXNzTmFtZToidGV4dC1sZyBweC0xMiIsY2hpbGRyZW46IlN0YXJ0IFlvdXIgSm91cm5leSJ9KX0pLHMuanN4KG9lLHt0bzoiL2ZhcSIsY2hpbGRyZW46cy5qc3goVix7c2l6ZToibGciLHZhcmlhbnQ6Im91dGxpbmUiLGNsYXNzTmFtZToidGV4dC1sZyBweC0xMiIsY2hpbGRyZW46IkxlYXJuIE1vcmUifSl9KV19KV19KX0pXX0pLHMuanN4KCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJweS0yNCBiZy13aGl0ZSByZWxhdGl2ZSIsY2hpbGRyZW46cy5qc3goImRpdiIse2NsYXNzTmFtZToibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTgiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJncmlkIGxnOmdyaWQtY29scy0yIGdhcC0xNiBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS04IixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiaW5saW5lLWJsb2NrIixjaGlsZHJlbjpzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJweC01IHB5LTIgcm91bmRlZC1mdWxsIGJnLWJsdWUtMTAwIHRleHQtc20gZm9udC1ib2xkIHRleHQtYmx1ZS03MDAiLGNoaWxkcmVuOiJPdXIgTWlzc2lvbiJ9KX0pLHMuanN4KCJoMiIse2NsYXNzTmFtZToidGV4dC01eGwgbWQ6dGV4dC02eGwgZm9udC1ibGFjayB0ZXh0LWdyYXktOTAwIGxlYWRpbmctdGlnaHQiLGNoaWxkcmVuOiJUYWxlbnQgRGVzZXJ2ZXMgT3Bwb3J0dW5pdHkifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktNiB0ZXh0LWxnIHRleHQtZ3JheS02MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjpbcy5qc3goInAiLHtjbGFzc05hbWU6ImZvbnQtbWVkaXVtIHRleHQtZ3JheS04MDAiLGNoaWxkcmVuOiJXZSBzdGFydGVkIHdpdGggYSBzaW1wbGUgYmVsaWVmOiB0cmFkaW5nIHNraWxsIHNob3VsZG4ndCBiZSBsaW1pdGVkIGJ5IGFjY2VzcyB0byBjYXBpdGFsLiJ9KSxzLmpzeCgicCIse2NoaWxkcmVuOiJUb28gbWFueSB0YWxlbnRlZCB0cmFkZXJzIHdlcmUgc3R1Y2sgb24gc21hbGwgYWNjb3VudHMsIHVuYWJsZSB0byBwcm92ZSB0aGVpciB3b3J0aC4gVHJhZGl0aW9uYWwgZnVuZGluZyB3YXMgb3V0IG9mIHJlYWNoLCBsb2NrZWQgYmVoaW5kIGdhdGVrZWVwZXJzIGFuZCBpbXBvc3NpYmxlIHJlcXVpcmVtZW50cy4ifSkscy5qc3goInAiLHtjaGlsZHJlbjoiU28gd2UgYnVpbHQgc29tZXRoaW5nIGRpZmZlcmVudC4gQSBwbGF0Zm9ybSB3aGVyZSB5b3VyIHJlc3VsdHMgc3BlYWsgZm9yIHRoZW1zZWx2ZXMuIFdoZXJlIG9uZSBldmFsdWF0aW9uIGNhbiBjaGFuZ2UgZXZlcnl0aGluZy4gV2hlcmUgeW91ciBwb3RlbnRpYWwgaXNuJ3QgbGltaXRlZCBieSB5b3VyIGJhbmsgYmFsYW5jZS4ifSkscy5qc3goInAiLHtjbGFzc05hbWU6ImZvbnQtc2VtaWJvbGQgdGV4dC1ibHVlLTYwMCIsY2hpbGRyZW46IlRvZGF5LCB3ZSBydW4gYSBncm93aW5nIGVkdWNhdGlvbmFsIGNvbW11bml0eSBvZiB0cmFkZXJzIHdobyB1c2Ugb3VyIHNpbXVsYXRlZCBlbnZpcm9ubWVudCB0byBwcmFjdGlzZSBkaXNjaXBsaW5lLCBzdHJhdGVneSwgYW5kIGNvbnNpc3RlbmN5LiBXZSdyZSBqdXN0IGdldHRpbmcgc3RhcnRlZC4ifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTMgZ2FwLTYgcHQtNiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciBwLTYgcm91bmRlZC0yeGwgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTUwIHRvLXdoaXRlIGJvcmRlci0yIGJvcmRlci1ibHVlLTIwMCIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYmxhY2sgdGV4dC1ibHVlLTYwMCBtYi0yIixjaGlsZHJlbjoiMTAwJSJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1ncmF5LTYwMCIsY2hpbGRyZW46IlNpbXVsYXRlZCJ9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidGV4dC1jZW50ZXIgcC02IHJvdW5kZWQtMnhsIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tcHVycGxlLTUwIHRvLXdoaXRlIGJvcmRlci0yIGJvcmRlci1wdXJwbGUtMjAwIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ibGFjayB0ZXh0LXB1cnBsZS02MDAgbWItMiIsY2hpbGRyZW46IiQwIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LWdyYXktNjAwIixjaGlsZHJlbjoiUmVhbCBSaXNrIn0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciBwLTYgcm91bmRlZC0yeGwgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ncmVlbi01MCB0by13aGl0ZSBib3JkZXItMiBib3JkZXItZ3JlZW4tMjAwIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ibGFjayB0ZXh0LWdyZWVuLTYwMCBtYi0yIixjaGlsZHJlbjoiRWR1Y2F0aW9uYWwifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtZ3JheS02MDAiLGNoaWxkcmVuOiJDZXJ0aWZpY2F0ZXMifSldfSldfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtMjAwIHZpYS1wdXJwbGUtMjAwIHRvLXBpbmstMjAwIHJvdW5kZWQtM3hsIGJsdXItMnhsIG9wYWNpdHktMzAifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgYmctd2hpdGUgcm91bmRlZC0zeGwgcC0xMiBzaGFkb3ctMnhsIGJvcmRlciBib3JkZXItZ3JheS0yMDAiLGNoaWxkcmVuOnMuanN4KCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktOCIsY2hpbGRyZW46ci5tYXAoKGEsaSk9PnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGdhcC01IixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiZmxleC1zaHJpbmstMCB3LTE0IGgtMTQgcm91bmRlZC0yeGwgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTUwMCB0by1ibHVlLTYwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzaGFkb3ctbGciLGNoaWxkcmVuOnMuanN4KGEuaWNvbix7Y2xhc3NOYW1lOiJ3LTcgaC03IHRleHQtd2hpdGUifSl9KSxzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6ImZvbnQtYmxhY2sgdGV4dC14bCB0ZXh0LWdyYXktOTAwIG1iLTIiLGNoaWxkcmVuOmEudGl0bGV9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1ncmF5LTYwMCBsZWFkaW5nLXJlbGF4ZWQiLGNoaWxkcmVuOmEuZGVzY3JpcHRpb259KV19KV19LGkpKX0pfSldfSldfSl9KX0pLHMuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToicHktMjQgYmctZ3JhZGllbnQtdG8tYiBmcm9tLWdyYXktNTAgdG8td2hpdGUgcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBvcGFjaXR5LTUiLGNoaWxkcmVuOnMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAiLHN0eWxlOntiYWNrZ3JvdW5kSW1hZ2U6InJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMnB4IDJweCwgY3VycmVudENvbG9yIDFweCwgdHJhbnNwYXJlbnQgMCkiLGJhY2tncm91bmRTaXplOiI0MHB4IDQwcHgifX0pfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIG1heC13LTZ4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRleHQtY2VudGVyIG1iLTIwIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiaW5saW5lLWJsb2NrIHB4LTUgcHktMiByb3VuZGVkLWZ1bGwgYmctYmx1ZS0xMDAgdGV4dC1zbSBmb250LWJvbGQgdGV4dC1ibHVlLTcwMCBtYi02IixjaGlsZHJlbjoiT3VyIEpvdXJuZXkifSkscy5qc3goImgyIix7Y2xhc3NOYW1lOiJ0ZXh0LTV4bCBtZDp0ZXh0LTZ4bCBmb250LWJsYWNrIHRleHQtZ3JheS05MDAgbWItNiIsY2hpbGRyZW46Ikdyb3dpbmcgVG9nZXRoZXIifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteGwgdGV4dC1ncmF5LTYwMCBtYXgtdy0yeGwgbXgtYXV0byIsY2hpbGRyZW46IkZyb20gZGF5IG9uZSB0byBpbmR1c3RyeSBsZWFkZXIsIGV2ZXJ5IG1pbGVzdG9uZSBwb3dlcmVkIGJ5IG91ciBhbWF6aW5nIHRyYWRlciBjb21tdW5pdHkifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgbGVmdC0xLzIgdHJhbnNmb3JtIC10cmFuc2xhdGUteC0xLzIgdy0xIGgtZnVsbCBiZy1ncmFkaWVudC10by1iIGZyb20tYmx1ZS01MDAgdmlhLXB1cnBsZS01MDAgdG8tcGluay01MDAifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0xNiIsY2hpbGRyZW46bi5tYXAoKGEsaSk9PnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOmBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOCAke2klMj09PTA/ImZsZXgtcm93IjoiZmxleC1yb3ctcmV2ZXJzZSJ9YCxjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZTpgZmxleC0xICR7aSUyPT09MD8idGV4dC1yaWdodCI6InRleHQtbGVmdCJ9YCxjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaW5saW5lLWJsb2NrIHAtOCByb3VuZGVkLTJ4bCBiZy13aGl0ZSBzaGFkb3cteGwgYm9yZGVyLTIgYm9yZGVyLWdyYXktMjAwIGhvdmVyOmJvcmRlci1ibHVlLTQwMCB0cmFuc2l0aW9uLWFsbCBob3ZlcjpzaGFkb3ctMnhsIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC0zeGwgZm9udC1ibGFjayB0ZXh0LWJsdWUtNjAwIG1iLTIiLGNoaWxkcmVuOmEueWVhcn0pLHMuanN4KCJoMyIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtZ3JheS05MDAgbWItMyIsY2hpbGRyZW46YS50aXRsZX0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNjAwIHRleHQtbGciLGNoaWxkcmVuOmEuZGVzY30pXX0pfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgei0xMCBmbGV4LXNocmluay0wIixjaGlsZHJlbjpzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ3LTE2IGgtMTYgcm91bmRlZC1mdWxsIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmx1ZS01MDAgdG8tcHVycGxlLTYwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzaGFkb3cteGwgcmluZy00IHJpbmctd2hpdGUiLGNoaWxkcmVuOnMuanN4KF90LHtjbGFzc05hbWU6InctOCBoLTggdGV4dC13aGl0ZSJ9KX0pfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiZmxleC0xIn0pXX0saSkpfSldfSldfSldfSkscy5qc3goYkUse30pLHMuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToicHktMjQgcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1iciBmcm9tLWJsdWUtNjAwIHZpYS1ibHVlLTcwMCB0by1wdXJwbGUtNzAwIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIG9wYWNpdHktMTAiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgdy05NiBoLTk2IGJnLXdoaXRlIHJvdW5kZWQtZnVsbCBibHVyLTN4bCJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBib3R0b20tMCByaWdodC0wIHctOTYgaC05NiBiZy13aGl0ZSByb3VuZGVkLWZ1bGwgYmx1ci0zeGwifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIG1heC13LTV4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IHRleHQtY2VudGVyIHNwYWNlLXktMTAiLGNoaWxkcmVuOltzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQtNXhsIG1kOnRleHQtNnhsIGZvbnQtYmxhY2sgdGV4dC13aGl0ZSBsZWFkaW5nLXRpZ2h0IixjaGlsZHJlbjoiUmVhZHkgdG8gVGVzdCBZb3VyIFNraWxscz8ifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtMnhsIHRleHQtd2hpdGUvOTAgbWF4LXctM3hsIG14LWF1dG8gZm9udC1tZWRpdW0iLGNoaWxkcmVuOiJKb2luIHRob3VzYW5kcyBvZiB0cmFkZXJzIHdobyd2ZSBwcm92ZW4gdGhlaXIgc2tpbGxzIGluIG91ciBzaW11bGF0aW9uIGFjY291bnRzLiBZb3VyIGVkdWNhdGlvbmFsIGFzc2Vzc21lbnQgc3RhcnRzIHRvZGF5LiJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LXdyYXAganVzdGlmeS1jZW50ZXIgZ2FwLTQgcHQtNiIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiL2F1dGgiLGNoaWxkcmVuOnMuanN4KFYse3NpemU6ImxnIix2YXJpYW50OiJzZWNvbmRhcnkiLGNsYXNzTmFtZToidGV4dC1sZyBweC0xMiBzaGFkb3ctMnhsIixjaGlsZHJlbjoiU3RhcnQgVHJhZGluZyBOb3cifSl9KSxzLmpzeChvZSx7dG86Ii9mYXEiLGNoaWxkcmVuOnMuanN4KFYse3NpemU6ImxnIix2YXJpYW50OiJvdXRsaW5lIixjbGFzc05hbWU6InRleHQtbGcgcHgtMTIgYm9yZGVyLTIgYm9yZGVyLXdoaXRlIHRleHQtd2hpdGUgaG92ZXI6Ymctd2hpdGUgaG92ZXI6dGV4dC1ibHVlLTcwMCBzaGFkb3ctMnhsIixjaGlsZHJlbjoiVmlldyBQcm9ncmFtcyJ9KX0pXX0pXX0pXX0pLHMuanN4cygiZm9vdGVyIix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBiZy1bIzBhMTYyOF0gdGV4dC13aGl0ZSBvdmVyZmxvdy1oaWRkZW4iLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIG9wYWNpdHktMTAiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgdy1mdWxsIGgtZnVsbCIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0xLzQgLWxlZnQtMjAgdy05NiBoLXB4IGJnLWdyYWRpZW50LXRvLXIgZnJvbS10cmFuc3BhcmVudCB2aWEtYmx1ZS00MDAgdG8tdHJhbnNwYXJlbnQgcm90YXRlLTEyIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0xLzIgLXJpZ2h0LTIwIHctOTYgaC1weCBiZy1ncmFkaWVudC10by1yIGZyb20tdHJhbnNwYXJlbnQgdmlhLXB1cnBsZS00MDAgdG8tdHJhbnNwYXJlbnQgLXJvdGF0ZS0xMiJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBib3R0b20tMS80IGxlZnQtMS80IHctOTYgaC1weCBiZy1ncmFkaWVudC10by1yIGZyb20tdHJhbnNwYXJlbnQgdmlhLWJsdWUtNDAwIHRvLXRyYW5zcGFyZW50IHJvdGF0ZS02In0pXX0pfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIG1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IHB5LTE2IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTEyIGdhcC0xMiBtYi0xMiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJsZzpjb2wtc3Bhbi01IHNwYWNlLXktOCIsY2hpbGRyZW46W3MuanN4KCJoMiIse2NsYXNzTmFtZToidGV4dC00eGwgc206dGV4dC01eGwgZm9udC1ibGFjayB1cHBlcmNhc2UgdHJhY2tpbmctdGlnaHQiLGNoaWxkcmVuOiJGbG93aW5nRnVuZGVkIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1zbSB0ZXh0LWdyYXktNDAwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiQ29ubmVjdCB3aXRoIHVzIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGdhcC0zIixjaGlsZHJlbjpbcy5qc3goImEiLHtocmVmOiIjIixjbGFzc05hbWU6InctMTIgaC0xMiByb3VuZGVkLWZ1bGwgYmctd2hpdGUvNSBob3ZlcjpiZy13aGl0ZS8xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0cmFuc2l0aW9uLWNvbG9ycyBib3JkZXIgYm9yZGVyLXdoaXRlLzEwIixjaGlsZHJlbjpzLmpzeCh0QSx7Y2xhc3NOYW1lOiJoLTUgdy01In0pfSkscy5qc3goImEiLHtocmVmOiIjIixjbGFzc05hbWU6InctMTIgaC0xMiByb3VuZGVkLWZ1bGwgYmctd2hpdGUvNSBob3ZlcjpiZy13aGl0ZS8xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0cmFuc2l0aW9uLWNvbG9ycyBib3JkZXIgYm9yZGVyLXdoaXRlLzEwIixjaGlsZHJlbjpzLmpzeCgkJCx7Y2xhc3NOYW1lOiJoLTUgdy01In0pfSkscy5qc3goImEiLHtocmVmOiIjIixjbGFzc05hbWU6InctMTIgaC0xMiByb3VuZGVkLWZ1bGwgYmctd2hpdGUvNSBob3ZlcjpiZy13aGl0ZS8xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0cmFuc2l0aW9uLWNvbG9ycyBib3JkZXIgYm9yZGVyLXdoaXRlLzEwIixjaGlsZHJlbjpzLmpzeChLJCx7Y2xhc3NOYW1lOiJoLTUgdy01In0pfSkscy5qc3goImEiLHtocmVmOiIjIixjbGFzc05hbWU6InctMTIgaC0xMiByb3VuZGVkLWZ1bGwgYmctd2hpdGUvNSBob3ZlcjpiZy13aGl0ZS8xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0cmFuc2l0aW9uLWNvbG9ycyBib3JkZXIgYm9yZGVyLXdoaXRlLzEwIixjaGlsZHJlbjpzLmpzeCh3bCx7Y2xhc3NOYW1lOiJoLTUgdy01In0pfSldfSldfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiYm9yZGVyIGJvcmRlci13aGl0ZS8xMCByb3VuZGVkLTJ4bCBwLTYgYmctd2hpdGUvNSBiYWNrZHJvcC1ibHVyLXNtIixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0zIixjaGlsZHJlbjpbcy5qc3hzKCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWxnIGZvbnQtYm9sZCIsY2hpbGRyZW46WyJFZHVjYXRpb25hbCAiLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXByaW1hcnkiLGNoaWxkcmVuOiJTaW11bGF0aW9uIFBsYXRmb3JtIn0pXX0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIHRleHQtZ3JheS00MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjoiTGVhcm4gbW9yZSBhYm91dCB0cmFkaW5nIG9wcG9ydHVuaXRpZXMgJiBwYXJ0bmVyc2hpcCBwcm9ncmFtcyJ9KSxzLmpzeChvZSx7dG86Ii9hdXRoIixjaGlsZHJlbjpzLmpzeChWLHtjbGFzc05hbWU6InctZnVsbCBiZy13aGl0ZSB0ZXh0LVsjMGExNjI4XSBob3ZlcjpiZy1ncmF5LTEwMCByb3VuZGVkLWZ1bGwgZm9udC1zZW1pYm9sZCIsY2hpbGRyZW46IkFjY2VzcyBEYXNoYm9hcmQifSl9KV19KX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJsZzpjb2wtc3Bhbi03IGdyaWQgZ3JpZC1jb2xzLTIgc206Z3JpZC1jb2xzLTQgZ2FwLTgiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6ImZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQgdXBwZXJjYXNlIHRleHQtc20gdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IlRyYWRlIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMgdGV4dC1zbSIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiLyIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJGb3JleCJ9KSxzLmpzeChvZSx7dG86Ii8iLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiRnV0dXJlcyJ9KSxzLmpzeChvZSx7dG86Ii8iLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiQ3J5cHRvIn0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToiZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNCB1cHBlcmNhc2UgdGV4dC1zbSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiUGxhdGZvcm0ifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkhvbWUifSkscy5qc3gob2Use3RvOiIvYWJvdXQiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiSG93IGl0IFdvcmtzIn0pLHMuanN4KG9lLHt0bzoiL2F1dGgiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiRGFzaGJvYXJkIn0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToiZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNCB1cHBlcmNhc2UgdGV4dC1zbSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiQWJvdXQifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvYWJvdXQiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiQWJvdXQgVXMifSkscy5qc3gob2Use3RvOiIvZmFxIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkZBUSJ9KV19KV19KSxzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6ImZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQgdXBwZXJjYXNlIHRleHQtc20gdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IlN1cHBvcnQifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvYXV0aCIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJIZWxwIENlbnRlciJ9KSxzLmpzeChvZSx7dG86Ii9hdXRoIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkNvbnRhY3QifSldfSldfSldfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImJvcmRlci10IGJvcmRlci13aGl0ZS8xMCBwdC04IHNwYWNlLXktNiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHRleHQtZ3JheS00MDAgbGVhZGluZy1yZWxheGVkIHNwYWNlLXktMyIsY2hpbGRyZW46W3MuanN4cygicCIse2NoaWxkcmVuOltzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46IklNUE9SVEFOVCBESVNDTEFJTUVSOiJ9KSwiIEZsb3dpbmdGdW5kZWQgaXMgYSBzaW11bGF0ZWQgdHJhZGluZyBldmFsdWF0aW9uIHBsYXRmb3JtIGZvciBlZHVjYXRpb25hbCBwdXJwb3NlcyBvbmx5LiBBbGwgdHJhZGluZyBhY3Rpdml0eSwgYWNjb3VudCBiYWxhbmNlcywgcHJvZml0cywgbG9zc2VzLCBhbmQgcGVyZm9ybWFuY2UgbWV0cmljcyBkaXNwbGF5ZWQgYXJlIGVudGlyZWx5IHNpbXVsYXRlZCBhbmQgaHlwb3RoZXRpY2FsLiBObyByZWFsIG1vbmV5IGlzIHRyYWRlZCwgaW52ZXN0ZWQsIG9yIG1hbmFnZWQuIEZsb3dpbmdGdW5kZWQgZG9lcyBub3QgcHJvdmlkZSBicm9rZXJhZ2Ugc2VydmljZXMsIGludmVzdG1lbnQgYWR2aWNlLCBvciBhY2Nlc3MgdG8gcmVhbCBmaW5hbmNpYWwgbWFya2V0cy4iXX0pLHMuanN4KCJwIix7Y2hpbGRyZW46IlRoZSBDb21wYW55IGRvZXMgbm90IGNhcnJ5IG91dCBhbnkgcmVndWxhdGVkIGZpbmFuY2lhbCBhY3Rpdml0aWVzOyB0aGUgQ29tcGFueSdzIGV4Y2x1c2l2ZSBhY3Rpdml0eSBpcyBzaW11bGF0ZWQgdHJhZGluZyBldmFsdWF0aW9uLiBEb2xsYXIgYW1vdW50cyBvbiBjZXJ0aWZpY2F0ZXMgcmVwcmVzZW50IHBlcmZvcm1hbmNlLWJhc2VkIHJld2FyZCB0aWVycywgbm90IHJlYWwgZmluYW5jaWFsIHJldHVybnMuIFBhc3Qgc2ltdWxhdGVkIHBlcmZvcm1hbmNlIGlzIG5vdCBpbmRpY2F0aXZlIG9mIGZ1dHVyZSByZXN1bHRzLiBBbHdheXMgY29uc3VsdCBhIGxpY2Vuc2VkIGZpbmFuY2lhbCBwcm9mZXNzaW9uYWwgYmVmb3JlIG1ha2luZyBhbnkgaW52ZXN0bWVudCBkZWNpc2lvbnMuIn0pLHMuanN4KCJwIix7Y2hpbGRyZW46IkZsb3dpbmdGdW5kZWQgTHRkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzaW11bGF0ZWQgdHJhZGluZyBldmFsdWF0aW9uIHNlcnZpY2VzIHBsZWFzZSBjb250YWN0IHN1cHBvcnQgdmlhIHlvdXIgZGFzaGJvYXJkLiJ9KV19KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1bOXB4XSB0ZXh0LWdyYXktNTAwIHRleHQtY2VudGVyIHVwcGVyY2FzZSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiQWxsIGNoYWxsZW5nZXMgYXJlIHNpbXVsYXRlZC4gTm8gcmVhbCB0cmFkaW5nIGFjY291bnRzLCBjYXBpdGFsLCBvciBmdW5kcyBhcmUgaXNzdWVkLiBBbGwgcmVzdWx0cyBhcmUgaHlwb3RoZXRpY2FsLiJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBzbTpmbGV4LXJvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC00IHB0LTYgYm9yZGVyLXQgYm9yZGVyLXdoaXRlLzEwIixjaGlsZHJlbjpbcy5qc3hzKCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIHRleHQtZ3JheS01MDAiLGNoaWxkcmVuOlsiwqkgIixuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCksIiBGbG93aW5nRnVuZGVkIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNiB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvcHJpdmFjeSIsY2xhc3NOYW1lOiJ0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJQcml2YWN5IFBvbGljeSJ9KSxzLmpzeChvZSx7dG86Ii90ZXJtcyIsY2xhc3NOYW1lOiJ0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJUZXJtcyAmIENvbmRpdGlvbnMifSkscy5qc3gob2Use3RvOiIvcmlzay1kaXNjbG9zdXJlIixjbGFzc05hbWU6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IlJpc2sgRGlzY2xvc3VyZSJ9KV19KV19KV19KV19KV19KV19KX1mdW5jdGlvbiBhbWUoKXtjb25zdFtlLHRdPWcudXNlU3RhdGUoITEpO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IHI9KCk9Pnt0KHdpbmRvdy5zY3JvbGxZPjIwKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHIpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixyKX0sW10pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtaW4taC1zY3JlZW4gYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ncmF5LTUwIHZpYS13aGl0ZSB0by1wdXJwbGUtNTAiLGNoaWxkcmVuOltzLmpzeCgibmF2Iix7Y2xhc3NOYW1lOmBmaXhlZCB0b3AtMCBsZWZ0LTAgcmlnaHQtMCB6LTUwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCAke2U/ImJnLXdoaXRlLzk1IGJhY2tkcm9wLWJsdXItbWQgc2hhZG93LXNtIjoiYmctd2hpdGUvODAgYmFja2Ryb3AtYmx1ci1zbSJ9YCxjaGlsZHJlbjpzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBoLTE2IixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvIixjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjpzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtcHJpbWFyeSB1cHBlcmNhc2UgdHJhY2tpbmctdGlnaHQiLGNoaWxkcmVuOiJGbG93aW5nRnVuZGVkIn0pfSkscy5qc3gob2Use3RvOiIvYXV0aCIsY2hpbGRyZW46cy5qc3hzKFYse3NpemU6InNtIixjbGFzc05hbWU6ImdhcC0yIHJvdW5kZWQtZnVsbCIsY2hpbGRyZW46WyJMb2dpbiIscy5qc3goenIse2NsYXNzTmFtZToiaC0zIHctMyJ9KV19KX0pXX0pfSl9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJwdC0zMiBwYi0xNiBweC00IHNtOnB4LTYgbGc6cHgtOCBiZy1ncmFkaWVudC10by1yIGZyb20tcHVycGxlLTYwMCB0by1pbmRpZ28tNjAwIHRleHQtd2hpdGUiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy00eGwgbXgtYXV0byB0ZXh0LWNlbnRlciIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgYmctd2hpdGUvMjAgcHgtNCBweS0yIHJvdW5kZWQtZnVsbCBtYi02IixjaGlsZHJlbjpbcy5qc3gobmQse2NsYXNzTmFtZToiaC00IHctNCJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1zbSBmb250LW1lZGl1bSIsY2hpbGRyZW46IllvdXIgUHJpdmFjeSBNYXR0ZXJzIn0pXX0pLHMuanN4KCJoMSIse2NsYXNzTmFtZToidGV4dC00eGwgc206dGV4dC01eGwgbWQ6dGV4dC02eGwgZm9udC1ib2xkIG1iLTQiLGNoaWxkcmVuOiJQcml2YWN5IFBvbGljeSJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1sZyB0ZXh0LXB1cnBsZS0xMDAiLGNoaWxkcmVuOiJMYXN0IHVwZGF0ZWQ6IE1hcmNoIDIwMjYifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1wdXJwbGUtMjAwIG10LTIiLGNoaWxkcmVuOiJGbG93aW5nRnVuZGVkIEx0ZC4g4oCiIENvbW1pdHRlZCB0byBwcm90ZWN0aW5nIHlvdXIgZGF0YSJ9KV19KX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6Im1heC13LTR4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IHB5LTE2IixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYmctd2hpdGUgcm91bmRlZC0yeGwgc2hhZG93LXhsIHAtOCBtZDpwLTEyIHNwYWNlLXktMTIiLGNoaWxkcmVuOltzLmpzeCgic2VjdGlvbiIse2NsYXNzTmFtZToic3BhY2UteS00IixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1zdGFydCBnYXAtMyIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InctOCBoLTggcm91bmRlZC1mdWxsIGJnLXB1cnBsZS0xMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZmxleC1zaHJpbmstMCBtdC0xIixjaGlsZHJlbjpzLmpzeChubix7Y2xhc3NOYW1lOiJoLTQgdy00IHRleHQtcHVycGxlLTYwMCJ9KX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImZsZXgtMSIsY2hpbGRyZW46cy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjoiQXQgRmxvd2luZ0Z1bmRlZCwgd2UgdGFrZSB5b3VyIHByaXZhY3kgc2VyaW91c2x5LiBUaGlzIHBvbGljeSBleHBsYWlucyBob3cgd2UgY29sbGVjdCwgdXNlLCBhbmQgcHJvdGVjdCB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdoZW4geW91IHVzZSBvdXIgc2ltdWxhdGVkIHRyYWRpbmcgZXZhbHVhdGlvbiBwbGF0Zm9ybS4gRmxvd2luZ0Z1bmRlZCBpcyBhIHNpbXVsYXRlZCB0cmFkaW5nIGVudmlyb25tZW50IOKAlCBubyByZWFsIGZpbmFuY2lhbCB0cmFuc2FjdGlvbnMgb3IgcmVhbCB0cmFkaW5nIG9jY3VycyBvbiBvdXIgcGxhdGZvcm0uIn0pfSldfSl9KSxzLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6InNwYWNlLXktNCIsY2hpbGRyZW46W3MuanN4cygiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIGZsZXggaXRlbXMtY2VudGVyIGdhcC0zIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQtbGcgYmctcHVycGxlLTEwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmbGV4LXNocmluay0wIixjaGlsZHJlbjpzLmpzeChENCx7Y2xhc3NOYW1lOiJoLTUgdy01IHRleHQtcHVycGxlLTYwMCJ9KX0pLCJJbmZvcm1hdGlvbiBXZSBDb2xsZWN0Il19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWwtMTMgc3BhY2UteS02IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImJnLWdyYXktNTAgcm91bmRlZC1sZyBwLTYgc3BhY2UteS00IixjaGlsZHJlbjpbcy5qc3hzKCJoMyIse2NsYXNzTmFtZToiZm9udC1zZW1pYm9sZCB0ZXh0LWdyYXktOTAwIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIixjaGlsZHJlbjpbcy5qc3god2kse2NsYXNzTmFtZToiaC00IHctNCB0ZXh0LXB1cnBsZS02MDAifSksIlBlcnNvbmFsIEluZm9ybWF0aW9uIl19KSxzLmpzeHMoInVsIix7Y2xhc3NOYW1lOiJzcGFjZS15LTIgdGV4dC1ncmF5LTcwMCB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3goImxpIix7Y2hpbGRyZW46IuKAoiBGdWxsIG5hbWUgYW5kIGNvbnRhY3QgZGV0YWlscyAoZW1haWwgYWRkcmVzcykifSkscy5qc3goImxpIix7Y2hpbGRyZW46IuKAoiBBY2NvdW50IGNyZWRlbnRpYWxzIGFuZCBhdXRoZW50aWNhdGlvbiBkYXRhIn0pLHMuanN4KCJsaSIse2NoaWxkcmVuOiLigKIgUGF5bWVudCBpbmZvcm1hdGlvbiBmb3IgY2hhbGxlbmdlIGZlZXMifSkscy5qc3goImxpIix7Y2hpbGRyZW46IuKAoiBDcnlwdG9jdXJyZW5jeSB3YWxsZXQgYWRkcmVzc2VzIChmb3IgZGlzY3JldGlvbmFyeSByZXdhcmQgcHJvY2Vzc2luZykifSkscy5qc3goImxpIix7Y2hpbGRyZW46IuKAoiBJZGVudGl0eSB2ZXJpZmljYXRpb24gZG9jdW1lbnRzICh3aGVuIHJlcXVpcmVkKSJ9KV19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYmctZ3JheS01MCByb3VuZGVkLWxnIHAtNiBzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeHMoImgzIix7Y2xhc3NOYW1lOiJmb250LXNlbWlib2xkIHRleHQtZ3JheS05MDAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiLGNoaWxkcmVuOltzLmpzeChENCx7Y2xhc3NOYW1lOiJoLTQgdy00IHRleHQtcHVycGxlLTYwMCJ9KSwiU2ltdWxhdGVkIFRyYWRpbmcgRGF0YSJdfSkscy5qc3hzKCJ1bCIse2NsYXNzTmFtZToic3BhY2UteS0yIHRleHQtZ3JheS03MDAgdGV4dC1zbSIsY2hpbGRyZW46W3MuanN4KCJsaSIse2NoaWxkcmVuOiLigKIgU2ltdWxhdGVkIHRyYWRpbmcgYWN0aXZpdHkgYW5kIHBlcmZvcm1hbmNlIG1ldHJpY3MifSkscy5qc3goImxpIix7Y2hpbGRyZW46IuKAoiBTaW11bGF0ZWQgYWNjb3VudCBiYWxhbmNlcyBhbmQgaHlwb3RoZXRpY2FsIHByb2ZpdC9sb3NzIHJlY29yZHMifSkscy5qc3goImxpIix7Y2hpbGRyZW46IuKAoiBTdHJhdGVneSBwYXR0ZXJucyBhbmQgdHJhZGluZyB0aW1lcyAod2l0aGluIHNpbXVsYXRlZCBlbnZpcm9ubWVudCkifSkscy5qc3goImxpIix7Y2hpbGRyZW46IuKAoiBFdmFsdWF0aW9uIHByb2dyZXNzIGFuZCBzaW11bGF0ZWQgcmVzdWx0cyJ9KV19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYmctZ3JheS01MCByb3VuZGVkLWxnIHAtNiBzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeHMoImgzIix7Y2xhc3NOYW1lOiJmb250LXNlbWlib2xkIHRleHQtZ3JheS05MDAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiLGNoaWxkcmVuOltzLmpzeChqcmUse2NsYXNzTmFtZToiaC00IHctNCB0ZXh0LXB1cnBsZS02MDAifSksIlRlY2huaWNhbCBJbmZvcm1hdGlvbiJdfSkscy5qc3hzKCJ1bCIse2NsYXNzTmFtZToic3BhY2UteS0yIHRleHQtZ3JheS03MDAgdGV4dC1zbSIsY2hpbGRyZW46W3MuanN4KCJsaSIse2NoaWxkcmVuOiLigKIgSVAgYWRkcmVzc2VzIGFuZCBicm93c2VyIGluZm9ybWF0aW9uIn0pLHMuanN4KCJsaSIse2NoaWxkcmVuOiLigKIgRGV2aWNlIGlkZW50aWZpZXJzIGFuZCBvcGVyYXRpbmcgc3lzdGVtIGRhdGEifSkscy5qc3goImxpIix7Y2hpbGRyZW46IuKAoiBMb2dpbiB0aW1lc3RhbXBzIGFuZCBzZXNzaW9uIGFjdGl2aXR5In0pLHMuanN4KCJsaSIse2NoaWxkcmVuOiLigKIgQ29va2llcyBhbmQgc2ltaWxhciB0cmFja2luZyB0ZWNobm9sb2dpZXMifSldfSldfSldfSldfSkscy5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIixjaGlsZHJlbjoiSG93IFdlIFVzZSBZb3VyIEluZm9ybWF0aW9uIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTQgdGV4dC1ncmF5LTcwMCIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0zIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidy02IGgtNiByb3VuZGVkLWZ1bGwgYmctZ3JlZW4tMTAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZsZXgtc2hyaW5rLTAgbXQtMSIsY2hpbGRyZW46cy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQteHMgZm9udC1ib2xkIHRleHQtZ3JlZW4tNjAwIixjaGlsZHJlbjoi4pyTIn0pfSkscy5qc3hzKCJwIix7Y2hpbGRyZW46W3MuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoiQWNjb3VudCBNYW5hZ2VtZW50OiJ9KSwiIFRvIGNyZWF0ZSBhbmQgbWFpbnRhaW4geW91ciBhY2NvdW50LCBwcm9jZXNzIGF1dGhlbnRpY2F0aW9uLCBhbmQgcHJvdmlkZSBhY2Nlc3MgdG8gb3VyIHNpbXVsYXRlZCB0cmFkaW5nIGV2YWx1YXRpb24gcGxhdGZvcm0iXX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0zIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidy02IGgtNiByb3VuZGVkLWZ1bGwgYmctZ3JlZW4tMTAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZsZXgtc2hyaW5rLTAgbXQtMSIsY2hpbGRyZW46cy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQteHMgZm9udC1ib2xkIHRleHQtZ3JlZW4tNjAwIixjaGlsZHJlbjoi4pyTIn0pfSkscy5qc3hzKCJwIix7Y2hpbGRyZW46W3MuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoiU2VydmljZSBEZWxpdmVyeToifSksIiBUbyBhZG1pbmlzdGVyIHNpbXVsYXRlZCB0cmFkaW5nIGV2YWx1YXRpb25zLCB0cmFjayBwZXJmb3JtYW5jZSBtZXRyaWNzLCBhbmQgcHJvY2VzcyBkaXNjcmV0aW9uYXJ5IHBlcmZvcm1hbmNlLWJhc2VkIGNlcnRpZmljYXRlcyJdfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtc3RhcnQgZ2FwLTMiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ3LTYgaC02IHJvdW5kZWQtZnVsbCBiZy1ncmVlbi0xMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZmxleC1zaHJpbmstMCBtdC0xIixjaGlsZHJlbjpzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC14cyBmb250LWJvbGQgdGV4dC1ncmVlbi02MDAiLGNoaWxkcmVuOiLinJMifSl9KSxzLmpzeHMoInAiLHtjaGlsZHJlbjpbcy5qc3goInN0cm9uZyIse2NoaWxkcmVuOiJDb21tdW5pY2F0aW9uOiJ9KSwiIFRvIHNlbmQgaW1wb3J0YW50IHVwZGF0ZXMsIG5vdGlmaWNhdGlvbnMgYWJvdXQgeW91ciBhY2NvdW50LCBhbmQgcmVzcG9uZCB0byBzdXBwb3J0IHJlcXVlc3RzIl19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1zdGFydCBnYXAtMyIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InctNiBoLTYgcm91bmRlZC1mdWxsIGJnLWdyZWVuLTEwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmbGV4LXNocmluay0wIG10LTEiLGNoaWxkcmVuOnMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LWdyZWVuLTYwMCIsY2hpbGRyZW46IuKckyJ9KX0pLHMuanN4cygicCIse2NoaWxkcmVuOltzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46IlNlY3VyaXR5ICYgRnJhdWQgUHJldmVudGlvbjoifSksIiBUbyBkZXRlY3Qgc3VzcGljaW91cyBhY3Rpdml0eSwgcHJldmVudCBhY2NvdW50IGFidXNlLCBhbmQgZW5zdXJlIHBsYXRmb3JtIGludGVncml0eSJdfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtc3RhcnQgZ2FwLTMiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ3LTYgaC02IHJvdW5kZWQtZnVsbCBiZy1ncmVlbi0xMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZmxleC1zaHJpbmstMCBtdC0xIixjaGlsZHJlbjpzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC14cyBmb250LWJvbGQgdGV4dC1ncmVlbi02MDAiLGNoaWxkcmVuOiLinJMifSl9KSxzLmpzeHMoInAiLHtjaGlsZHJlbjpbcy5qc3goInN0cm9uZyIse2NoaWxkcmVuOiJQbGF0Zm9ybSBJbXByb3ZlbWVudDoifSksIiBUbyBhbmFseXplIHVzYWdlIHBhdHRlcm5zIGFuZCBlbmhhbmNlIG91ciBzZXJ2aWNlcyJdfSldfSldfSldfSkscy5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIixjaGlsZHJlbjoiRGF0YSBQcm90ZWN0aW9uICYgU2VjdXJpdHkifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktNCIsY2hpbGRyZW46W3MuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNzAwIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46IldlIGltcGxlbWVudCBpbmR1c3RyeS1zdGFuZGFyZCBzZWN1cml0eSBtZWFzdXJlcyB0byBwcm90ZWN0IHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb246In0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJncmlkIG1kOmdyaWQtY29scy0yIGdhcC00IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImJnLWJsdWUtNTAgYm9yZGVyIGJvcmRlci1ibHVlLTIwMCByb3VuZGVkLWxnIHAtNCIsY2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToiZm9udC1zZW1pYm9sZCB0ZXh0LWJsdWUtOTAwIG1iLTIiLGNoaWxkcmVuOiJFbmNyeXB0aW9uIn0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIHRleHQtYmx1ZS04MDAiLGNoaWxkcmVuOiJBbGwgZGF0YSB0cmFuc21pc3Npb25zIGFyZSBlbmNyeXB0ZWQgdXNpbmcgU1NML1RMUyBwcm90b2NvbHMifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImJnLWJsdWUtNTAgYm9yZGVyIGJvcmRlci1ibHVlLTIwMCByb3VuZGVkLWxnIHAtNCIsY2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToiZm9udC1zZW1pYm9sZCB0ZXh0LWJsdWUtOTAwIG1iLTIiLGNoaWxkcmVuOiJBY2Nlc3MgQ29udHJvbCJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1zbSB0ZXh0LWJsdWUtODAwIixjaGlsZHJlbjoiU3RyaWN0IGludGVybmFsIHBvbGljaWVzIGxpbWl0IGRhdGEgYWNjZXNzIHRvIGF1dGhvcml6ZWQgcGVyc29ubmVsIG9ubHkifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImJnLWJsdWUtNTAgYm9yZGVyIGJvcmRlci1ibHVlLTIwMCByb3VuZGVkLWxnIHAtNCIsY2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToiZm9udC1zZW1pYm9sZCB0ZXh0LWJsdWUtOTAwIG1iLTIiLGNoaWxkcmVuOiJSZWd1bGFyIEF1ZGl0cyJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1zbSB0ZXh0LWJsdWUtODAwIixjaGlsZHJlbjoiQ29udGludW91cyBtb25pdG9yaW5nIGFuZCBzZWN1cml0eSBhc3Nlc3NtZW50cyJ9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYmctYmx1ZS01MCBib3JkZXIgYm9yZGVyLWJsdWUtMjAwIHJvdW5kZWQtbGcgcC00IixjaGlsZHJlbjpbcy5qc3goImgzIix7Y2xhc3NOYW1lOiJmb250LXNlbWlib2xkIHRleHQtYmx1ZS05MDAgbWItMiIsY2hpbGRyZW46IlNlY3VyZSBTdG9yYWdlIn0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIHRleHQtYmx1ZS04MDAiLGNoaWxkcmVuOiJEYXRhIHN0b3JlZCBpbiBzZWN1cmUsIHByb3RlY3RlZCBzZXJ2ZXJzIHdpdGggYmFja3VwIHN5c3RlbXMifSldfSldfSldfSldfSkscy5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIixjaGlsZHJlbjoiRGF0YSBTaGFyaW5nICYgVGhpcmQgUGFydGllcyJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS00IixjaGlsZHJlbjpbcy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjoiV2UgZG8gbm90IHNlbGwgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gV2UgbWF5IHNoYXJlIGRhdGEgb25seSB3aXRoOiJ9KSxzLmpzeHMoInVsIix7Y2xhc3NOYW1lOiJzcGFjZS15LTMgdGV4dC1ncmF5LTcwMCIsY2hpbGRyZW46W3MuanN4cygibGkiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtc3RhcnQgZ2FwLTIiLGNoaWxkcmVuOltzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1wdXJwbGUtNjAwIixjaGlsZHJlbjoi4oCiIn0pLHMuanN4cygic3BhbiIse2NoaWxkcmVuOltzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46IlBheW1lbnQgUHJvY2Vzc29yczoifSksIiBUbyBoYW5kbGUgZXZhbHVhdGlvbiBmZWVzIGFuZCBkaXNjcmV0aW9uYXJ5IHJld2FyZCBwcm9jZXNzaW5nIl19KV19KSxzLmpzeHMoImxpIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0yIixjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtcHVycGxlLTYwMCIsY2hpbGRyZW46IuKAoiJ9KSxzLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbcy5qc3goInN0cm9uZyIse2NoaWxkcmVuOiJTZXJ2aWNlIFByb3ZpZGVyczoifSksIiBFc3NlbnRpYWwgcGFydG5lcnMgd2hvIGhlbHAgb3BlcmF0ZSBvdXIgcGxhdGZvcm0gdW5kZXIgc3RyaWN0IGNvbmZpZGVudGlhbGl0eSBhZ3JlZW1lbnRzIl19KV19KSxzLmpzeHMoImxpIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0yIixjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtcHVycGxlLTYwMCIsY2hpbGRyZW46IuKAoiJ9KSxzLmpzeHMoInNwYW4iLHtjaGlsZHJlbjpbcy5qc3goInN0cm9uZyIse2NoaWxkcmVuOiJMZWdhbCBBdXRob3JpdGllczoifSksIiBXaGVuIHJlcXVpcmVkIGJ5IGxhdyBvciB0byBwcm90ZWN0IG91ciByaWdodHMiXX0pXX0pXX0pXX0pXX0pLHMuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToic3BhY2UteS00IixjaGlsZHJlbjpbcy5qc3goImgyIix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1ncmF5LTkwMCIsY2hpbGRyZW46IllvdXIgUHJpdmFjeSBSaWdodHMifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktNCIsY2hpbGRyZW46W3MuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNzAwIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46IlVuZGVyIEN5cHJpb3QgZGF0YSBwcm90ZWN0aW9uIGxhd3MsIHlvdSBoYXZlIHRoZSBmb2xsb3dpbmcgcmlnaHRzOiJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZ3JpZCBnYXAtMyIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyBwLTMgYmctZ3JheS01MCByb3VuZGVkLWxnIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToidy04IGgtOCByb3VuZGVkLWZ1bGwgYmctcHVycGxlLTEwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmbGV4LXNocmluay0wIixjaGlsZHJlbjpzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1zbSBmb250LWJvbGQgdGV4dC1wdXJwbGUtNjAwIixjaGlsZHJlbjoiMSJ9KX0pLHMuanN4cygic3BhbiIse2NsYXNzTmFtZToidGV4dC1zbSB0ZXh0LWdyYXktNzAwIixjaGlsZHJlbjpbcy5qc3goInN0cm9uZyIse2NoaWxkcmVuOiJBY2Nlc3M6In0pLCIgUmVxdWVzdCBhIGNvcHkgb2YgeW91ciBwZXJzb25hbCBkYXRhIl19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgcC0zIGJnLWdyYXktNTAgcm91bmRlZC1sZyIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InctOCBoLTggcm91bmRlZC1mdWxsIGJnLXB1cnBsZS0xMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZmxleC1zaHJpbmstMCIsY2hpbGRyZW46cy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtc20gZm9udC1ib2xkIHRleHQtcHVycGxlLTYwMCIsY2hpbGRyZW46IjIifSl9KSxzLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1ncmF5LTcwMCIsY2hpbGRyZW46W3MuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoiQ29ycmVjdGlvbjoifSksIiBVcGRhdGUgaW5hY2N1cmF0ZSBvciBpbmNvbXBsZXRlIGluZm9ybWF0aW9uIl19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgcC0zIGJnLWdyYXktNTAgcm91bmRlZC1sZyIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InctOCBoLTggcm91bmRlZC1mdWxsIGJnLXB1cnBsZS0xMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZmxleC1zaHJpbmstMCIsY2hpbGRyZW46cy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtc20gZm9udC1ib2xkIHRleHQtcHVycGxlLTYwMCIsY2hpbGRyZW46IjMifSl9KSxzLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1ncmF5LTcwMCIsY2hpbGRyZW46W3MuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoiRGVsZXRpb246In0pLCIgUmVxdWVzdCByZW1vdmFsIG9mIHlvdXIgZGF0YSAoc3ViamVjdCB0byBsZWdhbCByZXF1aXJlbWVudHMpIl19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgcC0zIGJnLWdyYXktNTAgcm91bmRlZC1sZyIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InctOCBoLTggcm91bmRlZC1mdWxsIGJnLXB1cnBsZS0xMDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZmxleC1zaHJpbmstMCIsY2hpbGRyZW46cy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtc20gZm9udC1ib2xkIHRleHQtcHVycGxlLTYwMCIsY2hpbGRyZW46IjQifSl9KSxzLmpzeHMoInNwYW4iLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1ncmF5LTcwMCIsY2hpbGRyZW46W3MuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoiT2JqZWN0aW9uOiJ9KSwiIE9wdC1vdXQgb2YgY2VydGFpbiBkYXRhIHByb2Nlc3NpbmcgYWN0aXZpdGllcyJdfSldfSldfSldfSldfSkscy5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIixjaGlsZHJlbjoiQ29va2llcyAmIFRyYWNraW5nIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktNCIsY2hpbGRyZW46cy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjoiV2UgdXNlIGNvb2tpZXMgYW5kIHNpbWlsYXIgdGVjaG5vbG9naWVzIHRvIGVuaGFuY2UgeW91ciBleHBlcmllbmNlLiBUaGVzZSBoZWxwIHVzIHJlbWVtYmVyIHlvdXIgcHJlZmVyZW5jZXMsIGFuYWx5emUgcGxhdGZvcm0gdXNhZ2UsIGFuZCBpbXByb3ZlIGZ1bmN0aW9uYWxpdHkuIFlvdSBjYW4gY29udHJvbCBjb29raWUgc2V0dGluZ3MgdGhyb3VnaCB5b3VyIGJyb3dzZXIsIHRob3VnaCB0aGlzIG1heSBhZmZlY3QgcGxhdGZvcm0gZmVhdHVyZXMuIn0pfSldfSkscy5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIixjaGlsZHJlbjoiRGF0YSBSZXRlbnRpb24ifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToic3BhY2UteS00IixjaGlsZHJlbjpzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1ncmF5LTcwMCBsZWFkaW5nLXJlbGF4ZWQiLGNoaWxkcmVuOiJXZSByZXRhaW4geW91ciBpbmZvcm1hdGlvbiBmb3IgYXMgbG9uZyBhcyB5b3VyIGFjY291bnQgaXMgYWN0aXZlIG9yIGFzIG5lZWRlZCB0byBwcm92aWRlIHNlcnZpY2VzLiBBZnRlciBhY2NvdW50IGNsb3N1cmUsIHdlIG1heSByZXRhaW4gY2VydGFpbiBkYXRhIGZvciBsZWdhbCBjb21wbGlhbmNlLCBkaXNwdXRlIHJlc29sdXRpb24sIGFuZCBmcmF1ZCBwcmV2ZW50aW9uIHB1cnBvc2VzIGluIGFjY29yZGFuY2Ugd2l0aCBDeXByaW90IHJlZ3VsYXRpb25zLiJ9KX0pXX0pLHMuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToic3BhY2UteS00IGJnLXB1cnBsZS01MCBib3JkZXIgYm9yZGVyLXB1cnBsZS0yMDAgcm91bmRlZC1sZyBwLTYiLGNoaWxkcmVuOltzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQteGwgZm9udC1ib2xkIHRleHQtZ3JheS05MDAiLGNoaWxkcmVuOiJQcml2YWN5IFF1ZXN0aW9ucz8ifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS03MDAiLGNoaWxkcmVuOiJGb3IgYW55IHByaXZhY3ktcmVsYXRlZCBpbnF1aXJpZXMgb3IgdG8gZXhlcmNpc2UgeW91ciByaWdodHMsIHBsZWFzZSBhY2Nlc3MgdGhlIHN1cHBvcnQgc2VjdGlvbiBpbiB5b3VyIHRyYWRlciBkYXNoYm9hcmQuIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InB0LTQiLGNoaWxkcmVuOnMuanN4KG9lLHt0bzoiL2F1dGgiLGNoaWxkcmVuOnMuanN4cyhWLHtjbGFzc05hbWU6ImdhcC0yIGJnLXB1cnBsZS02MDAgaG92ZXI6YmctcHVycGxlLTcwMCIsY2hpbGRyZW46WyJBY2Nlc3MgRGFzaGJvYXJkIixzLmpzeCh6cix7Y2xhc3NOYW1lOiJoLTQgdy00In0pXX0pfSl9KV19KV19KX0pLHMuanN4cygiZm9vdGVyIix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBiZy1bIzBhMTYyOF0gdGV4dC13aGl0ZSBvdmVyZmxvdy1oaWRkZW4iLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIG9wYWNpdHktMTAiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgdy1mdWxsIGgtZnVsbCIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0xLzQgLWxlZnQtMjAgdy05NiBoLXB4IGJnLWdyYWRpZW50LXRvLXIgZnJvbS10cmFuc3BhcmVudCB2aWEtYmx1ZS00MDAgdG8tdHJhbnNwYXJlbnQgcm90YXRlLTEyIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0xLzIgLXJpZ2h0LTIwIHctOTYgaC1weCBiZy1ncmFkaWVudC10by1yIGZyb20tdHJhbnNwYXJlbnQgdmlhLXB1cnBsZS00MDAgdG8tdHJhbnNwYXJlbnQgLXJvdGF0ZS0xMiJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBib3R0b20tMS80IGxlZnQtMS80IHctOTYgaC1weCBiZy1ncmFkaWVudC10by1yIGZyb20tdHJhbnNwYXJlbnQgdmlhLWJsdWUtNDAwIHRvLXRyYW5zcGFyZW50IHJvdGF0ZS02In0pXX0pfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIG1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IHB5LTE2IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTEyIGdhcC0xMiBtYi0xMiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJsZzpjb2wtc3Bhbi01IHNwYWNlLXktOCIsY2hpbGRyZW46W3MuanN4KCJoMiIse2NsYXNzTmFtZToidGV4dC00eGwgc206dGV4dC01eGwgZm9udC1ibGFjayB1cHBlcmNhc2UgdHJhY2tpbmctdGlnaHQiLGNoaWxkcmVuOiJGbG93aW5nRnVuZGVkIn0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6ImJvcmRlciBib3JkZXItd2hpdGUvMTAgcm91bmRlZC0yeGwgcC02IGJnLXdoaXRlLzUgYmFja2Ryb3AtYmx1ci1zbSIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyIsY2hpbGRyZW46W3MuanN4cygicCIse2NsYXNzTmFtZToidGV4dC1sZyBmb250LWJvbGQiLGNoaWxkcmVuOlsiRWR1Y2F0aW9uYWwgIixzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1wcmltYXJ5IixjaGlsZHJlbjoiU2ltdWxhdGlvbiBQbGF0Zm9ybSJ9KV19KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1zbSB0ZXh0LWdyYXktNDAwIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46IkxlYXJuIG1vcmUgYWJvdXQgb3VyIHNpbXVsYXRlZCBldmFsdWF0aW9uIHByb2dyYW1zIn0pLHMuanN4KG9lLHt0bzoiL2F1dGgiLGNoaWxkcmVuOnMuanN4KFYse2NsYXNzTmFtZToidy1mdWxsIGJnLXdoaXRlIHRleHQtWyMwYTE2MjhdIGhvdmVyOmJnLWdyYXktMTAwIHJvdW5kZWQtZnVsbCBmb250LXNlbWlib2xkIixjaGlsZHJlbjoiQWNjZXNzIERhc2hib2FyZCJ9KX0pXX0pfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImxnOmNvbC1zcGFuLTcgZ3JpZCBncmlkLWNvbHMtMiBzbTpncmlkLWNvbHMtNCBnYXAtOCIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToiZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNCB1cHBlcmNhc2UgdGV4dC1zbSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiVHJhZGUifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkZvcmV4In0pLHMuanN4KG9lLHt0bzoiLyIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJGdXR1cmVzIn0pLHMuanN4KG9lLHt0bzoiLyIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJDcnlwdG8ifSldfSldfSkscy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3goImgzIix7Y2xhc3NOYW1lOiJmb250LWJvbGQgdGV4dC13aGl0ZSBtYi00IHVwcGVyY2FzZSB0ZXh0LXNtIHRyYWNraW5nLXdpZGUiLGNoaWxkcmVuOiJQbGF0Zm9ybSJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0zIHRleHQtc20iLGNoaWxkcmVuOltzLmpzeChvZSx7dG86Ii8iLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiSG9tZSJ9KSxzLmpzeChvZSx7dG86Ii9hYm91dCIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJIb3cgaXQgV29ya3MifSkscy5qc3gob2Use3RvOiIvYXV0aCIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJEYXNoYm9hcmQifSldfSldfSkscy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3goImgzIix7Y2xhc3NOYW1lOiJmb250LWJvbGQgdGV4dC13aGl0ZSBtYi00IHVwcGVyY2FzZSB0ZXh0LXNtIHRyYWNraW5nLXdpZGUiLGNoaWxkcmVuOiJBYm91dCJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0zIHRleHQtc20iLGNoaWxkcmVuOltzLmpzeChvZSx7dG86Ii9hYm91dCIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJBYm91dCBVcyJ9KSxzLmpzeChvZSx7dG86Ii9mYXEiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiRkFRIn0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToiZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNCB1cHBlcmNhc2UgdGV4dC1zbSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiU3VwcG9ydCJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0zIHRleHQtc20iLGNoaWxkcmVuOltzLmpzeChvZSx7dG86Ii9hdXRoIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkhlbHAgQ2VudGVyIn0pLHMuanN4KG9lLHt0bzoiL2F1dGgiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiQ29udGFjdCJ9KV19KV19KV19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYm9yZGVyLXQgYm9yZGVyLXdoaXRlLzEwIHB0LTggc3BhY2UteS02IixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC1ncmF5LTQwMCBsZWFkaW5nLXJlbGF4ZWQgc3BhY2UteS0zIixjaGlsZHJlbjpbcy5qc3hzKCJwIix7Y2hpbGRyZW46W3MuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoiSU1QT1JUQU5UIERJU0NMQUlNRVI6In0pLCIgRmxvd2luZ0Z1bmRlZCBpcyBhIHNpbXVsYXRlZCB0cmFkaW5nIGV2YWx1YXRpb24gcGxhdGZvcm0uIEFsbCB0cmFkaW5nIGFjdGl2aXR5LCBhY2NvdW50IGJhbGFuY2VzLCBwcm9maXRzLCBsb3NzZXMsIGFuZCBwZXJmb3JtYW5jZSBtZXRyaWNzIGRpc3BsYXllZCBhcmUgZW50aXJlbHkgc2ltdWxhdGVkIGFuZCBoeXBvdGhldGljYWwuIE5vIHJlYWwgbW9uZXkgaXMgdHJhZGVkLCBpbnZlc3RlZCwgb3IgbWFuYWdlZC4gRmxvd2luZ0Z1bmRlZCBkb2VzIG5vdCBwcm92aWRlIGJyb2tlcmFnZSBzZXJ2aWNlcywgaW52ZXN0bWVudCBhZHZpY2UsIG9yIGFjY2VzcyB0byByZWFsIGZpbmFuY2lhbCBtYXJrZXRzLiJdfSkscy5qc3goInAiLHtjaGlsZHJlbjoiRmxvd2luZ0Z1bmRlZCBMdGQuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNpbXVsYXRlZCB0cmFkaW5nIGV2YWx1YXRpb24gc2VydmljZXMgcGxlYXNlIGNvbnRhY3Qgc3VwcG9ydCB2aWEgeW91ciBkYXNoYm9hcmQuIn0pXX0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LVs5cHhdIHRleHQtZ3JheS01MDAgdGV4dC1jZW50ZXIgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGUiLGNoaWxkcmVuOiJBbGwgY2hhbGxlbmdlcyBhcmUgc2ltdWxhdGVkLiBObyByZWFsIHRyYWRpbmcgYWNjb3VudHMsIGNhcGl0YWwsIG9yIGZ1bmRzIGFyZSBpc3N1ZWQuIEFsbCByZXN1bHRzIGFyZSBoeXBvdGhldGljYWwuIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIHNtOmZsZXgtcm93IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTQgcHQtNiBib3JkZXItdCBib3JkZXItd2hpdGUvMTAiLGNoaWxkcmVuOltzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1zbSB0ZXh0LWdyYXktNTAwIixjaGlsZHJlbjoiwqkgMjAyNiBGbG93aW5nRnVuZGVkIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4ifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC02IHRleHQtc20iLGNoaWxkcmVuOltzLmpzeChvZSx7dG86Ii9wcml2YWN5IixjbGFzc05hbWU6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IlByaXZhY3kgUG9saWN5In0pLHMuanN4KG9lLHt0bzoiL3Rlcm1zIixjbGFzc05hbWU6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IlRlcm1zICYgQ29uZGl0aW9ucyJ9KSxzLmpzeChvZSx7dG86Ii9yaXNrLWRpc2Nsb3N1cmUiLGNsYXNzTmFtZToidGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiUmlzayBEaXNjbG9zdXJlIn0pXX0pXX0pXX0pXX0pXX0pXX0pfWZ1bmN0aW9uIGltZSgpe2NvbnN0W2UsdF09Zy51c2VTdGF0ZSghMSk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57Y29uc3Qgcj0oKT0+e3Qod2luZG93LnNjcm9sbFk+MjApfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsciksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHIpfSxbXSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1pbi1oLXNjcmVlbiBiZy1ncmFkaWVudC10by1iciBmcm9tLWdyYXktNTAgdmlhLXdoaXRlIHRvLWJsdWUtNTAiLGNoaWxkcmVuOltzLmpzeCgibmF2Iix7Y2xhc3NOYW1lOmBmaXhlZCB0b3AtMCBsZWZ0LTAgcmlnaHQtMCB6LTUwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCAke2U/ImJnLXdoaXRlLzk1IGJhY2tkcm9wLWJsdXItbWQgc2hhZG93LXNtIjoiYmctd2hpdGUvODAgYmFja2Ryb3AtYmx1ci1zbSJ9YCxjaGlsZHJlbjpzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBoLTE2IixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvIixjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjpzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtcHJpbWFyeSB1cHBlcmNhc2UgdHJhY2tpbmctdGlnaHQiLGNoaWxkcmVuOiJGbG93aW5nRnVuZGVkIn0pfSkscy5qc3gob2Use3RvOiIvYXV0aCIsY2hpbGRyZW46cy5qc3hzKFYse3NpemU6InNtIixjbGFzc05hbWU6ImdhcC0yIHJvdW5kZWQtZnVsbCIsY2hpbGRyZW46WyJMb2dpbiIscy5qc3goenIse2NsYXNzTmFtZToiaC0zIHctMyJ9KV19KX0pXX0pfSl9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJwdC0zMiBwYi0xNiBweC00IHNtOnB4LTYgbGc6cHgtOCBiZy1ncmFkaWVudC10by1yIGZyb20tcHJpbWFyeSB0by1ibHVlLTYwMCB0ZXh0LXdoaXRlIixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWF4LXctNHhsIG14LWF1dG8gdGV4dC1jZW50ZXIiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGJnLXdoaXRlLzIwIHB4LTQgcHktMiByb3VuZGVkLWZ1bGwgbWItNiIsY2hpbGRyZW46W3MuanN4KHluLHtjbGFzc05hbWU6ImgtNCB3LTQifSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtc20gZm9udC1tZWRpdW0iLGNoaWxkcmVuOiJMZWdhbCBJbmZvcm1hdGlvbiJ9KV19KSxzLmpzeCgiaDEiLHtjbGFzc05hbWU6InRleHQtNHhsIHNtOnRleHQtNXhsIG1kOnRleHQtNnhsIGZvbnQtYm9sZCBtYi00IixjaGlsZHJlbjoiVGVybXMgb2YgU2VydmljZSJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1sZyB0ZXh0LWJsdWUtMTAwIixjaGlsZHJlbjoiTGFzdCB1cGRhdGVkOiBNYXJjaCAyMDI2In0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXNtIHRleHQtYmx1ZS0yMDAgbXQtMiIsY2hpbGRyZW46IkZsb3dpbmdGdW5kZWQgTHRkIOKAoiBFZHVjYXRpb25hbCBTaW11bGF0aW9uIFBsYXRmb3JtIn0pXX0pfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToibWF4LXctNHhsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcHktMTYiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZy13aGl0ZSByb3VuZGVkLTJ4bCBzaGFkb3cteGwgcC04IG1kOnAtMTIgc3BhY2UteS0xMiIsY2hpbGRyZW46W3MuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToiYmcteWVsbG93LTUwIGJvcmRlci0yIGJvcmRlci15ZWxsb3ctMjAwIHJvdW5kZWQteGwgcC02IHNwYWNlLXktMyIsY2hpbGRyZW46W3MuanN4cygiaDIiLHtjbGFzc05hbWU6InRleHQteGwgZm9udC1ib2xkIHRleHQteWVsbG93LTgwMCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46W3MuanN4KGkwLHtjbGFzc05hbWU6ImgtNSB3LTUifSksIklNUE9SVEFOVCBOT1RJQ0UiXX0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXllbGxvdy05MDAgZm9udC1zZW1pYm9sZCBsZWFkaW5nLXJlbGF4ZWQiLGNoaWxkcmVuOiJGbG93aW5nRnVuZGVkIGlzIGEgc2ltdWxhdGVkIHRyYWRpbmcgZXZhbHVhdGlvbiBwbGF0Zm9ybS4gTm8gcmVhbCBtb25leSBpcyB0cmFkZWQsIGludmVzdGVkLCBvciBtYW5hZ2VkIGF0IGFueSB0aW1lLiBBbGwgYWNjb3VudCBiYWxhbmNlcywgcHJvZml0cywgbG9zc2VzLCBhbmQgcGVyZm9ybWFuY2UgbWV0cmljcyBkaXNwbGF5ZWQgb24gdGhpcyBwbGF0Zm9ybSBhcmUgZW50aXJlbHkgc2ltdWxhdGVkIGFuZCBoeXBvdGhldGljYWwuIERvbGxhciBhbW91bnRzIHNob3duIG9uIGNlcnRpZmljYXRlcyBhbmQgd2l0aGluIHRoZSBwbGF0Zm9ybSByZXByZXNlbnQgcGVyZm9ybWFuY2UtYmFzZWQgcmV3YXJkIHRpZXJzLCBOT1QgcmVhbCBmaW5hbmNpYWwgcmV0dXJucyBvciBlYXJuaW5ncy4ifSldfSkscy5qc3goInNlY3Rpb24iLHtjbGFzc05hbWU6InNwYWNlLXktNCIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtc3RhcnQgZ2FwLTMiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ3LTggaC04IHJvdW5kZWQtZnVsbCBiZy1wcmltYXJ5LzEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZsZXgtc2hyaW5rLTAgbXQtMSIsY2hpbGRyZW46cy5qc3gobm4se2NsYXNzTmFtZToiaC00IHctNCB0ZXh0LXByaW1hcnkifSl9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleC0xIixjaGlsZHJlbjpbcy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjonV2VsY29tZSB0byBGbG93aW5nRnVuZGVkLmNvbS4gVGhlc2UgVGVybXMgb2YgU2VydmljZSAoIlRlcm1zIikgZ292ZXJuIHlvdXIgYWNjZXNzIGFuZCB1c2Ugb2YgdGhlIHdlYnNpdGUgbG9jYXRlZCBhdCBodHRwczovL2Zsb3dpbmdmdW5kZWQuY29tLyAodGhlICJTaXRlIiksIG9wZXJhdGVkIGJ5IEZsb3dpbmdGdW5kZWQgTHRkLid9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1ncmF5LTcwMCBsZWFkaW5nLXJlbGF4ZWQgbXQtNCIsY2hpbGRyZW46IkJ5IGFjY2Vzc2luZyBvciB1c2luZyB0aGlzIFNpdGUsIHlvdSBhZ3JlZSB0byBiZSBib3VuZCBieSB0aGVzZSBUZXJtcyBpbiBmdWxsLiBJZiB5b3UgZG8gbm90IGFncmVlLCBkbyBub3QgdXNlIHRoZSBTaXRlLiJ9KV19KV19KX0pLHMuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToic3BhY2UteS00IixjaGlsZHJlbjpbcy5qc3hzKCJoMiIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtZ3JheS05MDAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMiLGNoaWxkcmVuOltzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQtbGcgYmctcHJpbWFyeS8xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXByaW1hcnkgZm9udC1ib2xkIixjaGlsZHJlbjoiMSJ9KSwiTmF0dXJlIG9mIFNlcnZpY2VzIl19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWwtMTMgc3BhY2UteS00IixjaGlsZHJlbjpbcy5qc3hzKCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNzAwIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46WyJGbG93aW5nRnVuZGVkLmNvbSBpcyBhIHNpbXVsYXRlZCB0cmFkaW5nIGV2YWx1YXRpb24gcGxhdGZvcm0uIEFsbCB1c2VyIGFjdGl2aXR5IGlzIGNvbmR1Y3RlZCBpbiBhIGNsb3NlZCwgaW50ZXJuYWwgZW52aXJvbm1lbnQsIHVzaW5nIHZpcnR1YWwgY2FwaXRhbCBvbmx5LiAiLHMuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoiTm8gcmVhbCBtb25leSBpcyB0cmFkZWQsIGludmVzdGVkLCBvciBkaXN0cmlidXRlZCBhdCBhbnkgdGltZS4ifSldfSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjoiQWxsIGFjY291bnQgYmFsYW5jZXMsIHByb2ZpdHMsIGxvc3NlcywgYW5kIHRyYWRpbmcgcmVzdWx0cyBkaXNwbGF5ZWQgd2l0aGluIHRoZSBwbGF0Zm9ybSBhcmUgZW50aXJlbHkgc2ltdWxhdGVkIGFuZCBoeXBvdGhldGljYWwuIFVzZXJzIGRvIG5vdCB0cmFkZSB3aXRoIHJlYWwgY2FwaXRhbCwgYW5kIG5vIHJlYWwgZmluYW5jaWFsIG1hcmtldHMgYXJlIGFjY2Vzc2VkLiJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1bMTBweF0gdGV4dC1ncmF5LTQwMCBtdC0yIixjaGlsZHJlbjoiT3VyIHNpbXVsYXRlZCBlbnZpcm9ubWVudCBldmFsdWF0ZXMgeW91ciBkZWNpc2lvbi1tYWtpbmcgYW5kIGNvbnNpc3RlbmN5LiBZb3Ugd2lsbCByZWNlaXZlIHBlcmZvcm1hbmNlIHJlcG9ydHMuIE5vIHJlYWwgdHJhZGluZyBhY2NvdW50LCBjYXBpdGFsLCBvciBmaW5hbmNpYWwgaW5zdHJ1bWVudCBpcyBwcm92aWRlZC4ifSldfSldfSkscy5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeHMoImgyIix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1ncmF5LTkwMCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46W3MuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ3LTEwIGgtMTAgcm91bmRlZC1sZyBiZy1wcmltYXJ5LzEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtcHJpbWFyeSBmb250LWJvbGQiLGNoaWxkcmVuOiIyIn0pLCJObyBCcm9rZXJhZ2UsIEludmVzdG1lbnQsIG9yIEZpbmFuY2lhbCBTZXJ2aWNlcyJdfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToibWwtMTMgc3BhY2UteS00IixjaGlsZHJlbjpzLmpzeHMoInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjpbIkZsb3dpbmdGdW5kZWQgaXMgIixzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46Im5vdCJ9KSwiIGEgYnJva2VyLCBkZWFsZXIsIGludmVzdG1lbnQgZmlybSwgZnVuZCBtYW5hZ2VyLCBmaW5hbmNpYWwgYWR2aXNvciwgb3IgYW55IHR5cGUgb2YgcmVndWxhdGVkIGZpbmFuY2lhbCBpbnN0aXR1dGlvbi4gTm8gaW52ZXN0bWVudCBhZHZpY2UgaXMgcHJvdmlkZWQuIE5vIGFjY2VzcyB0byByZWFsIGZpbmFuY2lhbCBtYXJrZXRzLCB0cmFkaW5nIHBsYXRmb3Jtcywgb3IgZmluYW5jaWFsIGluc3RydW1lbnRzIGlzIGdyYW50ZWQuIFRoaXMgcGxhdGZvcm0gaXMgZXhjbHVzaXZlbHkgZm9yIHNpbXVsYXRlZCBza2lsbCBhc3Nlc3NtZW50IGFuZCBlZHVjYXRpb25hbCBwdXJwb3Nlcy4iXX0pfSldfSkscy5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeHMoImgyIix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1ncmF5LTkwMCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46W3MuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ3LTEwIGgtMTAgcm91bmRlZC1sZyBiZy1wcmltYXJ5LzEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtcHJpbWFyeSBmb250LWJvbGQiLGNoaWxkcmVuOiIzIn0pLCJTaW11bGF0ZWQgUGVyZm9ybWFuY2UgT25seSJdfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToibWwtMTMgc3BhY2UteS00IixjaGlsZHJlbjpzLmpzeHMoInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjpbIkFsbCB1c2VyIGFjdGlvbnMgYXJlIGNvbmR1Y3RlZCB0aHJvdWdoIGFuIGludGVybmFsIHNjb3Jpbmcgc3lzdGVtIG9yIHNpbXVsYXRvci4gIixzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46IlVzZXJzIGFyZSBub3QgZ3JhbnRlZCBhY2Nlc3MgdG8gYW55IHJlYWwgb3IgbGl2ZSB0cmFkaW5nIHBsYXRmb3Jtcy4ifSksIiBBbGwgcHJvZml0cywgYmFsYW5jZXMsIGFjY291bnQgc2l6ZXMsIHBlcmZvcm1hbmNlIG1ldHJpY3MsIGFuZCByZXN1bHRzIHNob3duIHdpdGhpbiB0aGUgcGxhdGZvcm0gYXJlIGVudGlyZWx5IGh5cG90aGV0aWNhbCBhbmQgc2ltdWxhdGVkLiBUaGV5IGRvIG5vdCByZXByZXNlbnQgYWN0dWFsIHRyYWRpbmcgcmVzdWx0cywgcmVhbCBmaW5hbmNpYWwgcmV0dXJucywgb3IgZ3VhcmFudGVlZCBvdXRjb21lcy4iXX0pfSldfSkscy5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeHMoImgyIix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1ncmF5LTkwMCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46W3MuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ3LTEwIGgtMTAgcm91bmRlZC1sZyBiZy1wcmltYXJ5LzEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtcHJpbWFyeSBmb250LWJvbGQiLGNoaWxkcmVuOiI0In0pLCJQYXJ0aWNpcGF0aW9uIGFuZCBGZWVzIl19KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJtbC0xMyBzcGFjZS15LTQiLGNoaWxkcmVuOnMuanN4cygicCIse2NsYXNzTmFtZToidGV4dC1ncmF5LTcwMCBsZWFkaW5nLXJlbGF4ZWQiLGNoaWxkcmVuOlsiVXNlcnMgbWF5IHB1cmNoYXNlIGFjY2VzcyB0byBzaW11bGF0aW9ucyBieSBwYXlpbmcgYSBub24tcmVmdW5kYWJsZSBldmFsdWF0aW9uIGZlZS4gUGF5bWVudCBvZiBhbnkgZmVlcyBpcyBzdHJpY3RseSBmb3IgYWNjZXNzIHRvIG91ciBwcm9wcmlldGFyeSBwZXJmb3JtYW5jZSBldmFsdWF0aW9uIHRvb2xzLCAiLHMuanN4KCJzdHJvbmciLHtjaGlsZHJlbjoibm90IGZvciBpbnZlc3RtZW50LCBmdW5kaW5nLCBvciBhbnkgZmluYW5jaWFsIHByb2R1Y3QifSksIi4gVGhlcmUgaXMgbm8gZW50aXRsZW1lbnQgdG8gcGF5b3V0cywgZnVuZGVkIGFjY291bnRzLCByZWFsIGNhcGl0YWwsIG9yIGFueSBjb21wZW5zYXRpb24gYXJpc2luZyBmcm9tIHBhcnRpY2lwYXRpb24uIl19KX0pXX0pLHMuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToic3BhY2UteS00IixjaGlsZHJlbjpbcy5qc3hzKCJoMiIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtZ3JheS05MDAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMiLGNoaWxkcmVuOltzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQtbGcgYmctcHJpbWFyeS8xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXByaW1hcnkgZm9udC1ib2xkIixjaGlsZHJlbjoiNSJ9KSwiQ2VydGlmaWNhdGVzIGFuZCBSZXdhcmRzIl19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWwtMTMgc3BhY2UteS00IixjaGlsZHJlbjpbcy5qc3hzKCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNzAwIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46WyJDZXJ0aWZpY2F0ZXMgaXNzdWVkIGJ5IEZsb3dpbmdGdW5kZWQgYXJlICIscy5qc3goInN0cm9uZyIse2NoaWxkcmVuOiJyZWNvZ25pdGlvbiBkb2N1bWVudHMgZm9yIHNpbXVsYXRlZCBwZXJmb3JtYW5jZSBtaWxlc3RvbmVzIG9ubHkifSksIi4gVGhleSBhcmUgbm90IGZpbmFuY2lhbCBpbnN0cnVtZW50cywgc2VjdXJpdGllcywgaW52ZXN0bWVudCBjb250cmFjdHMsIG9yIGV2aWRlbmNlIG9mIHJlYWwgZmluYW5jaWFsIHJldHVybnMuIERvbGxhciBhbW91bnRzIGRpc3BsYXllZCBvbiBjZXJ0aWZpY2F0ZXMgcmVwcmVzZW50IHJld2FyZCB0aWVyIGNsYXNzaWZpY2F0aW9ucyBiYXNlZCBvbiBzaW11bGF0ZWQgcGVyZm9ybWFuY2UgZHVyYXRpb24gYW5kIGNvbnNpc3RlbmN5IOKAlCB0aGV5IGRvICIscy5qc3goInN0cm9uZyIse2NoaWxkcmVuOiJub3QifSksIiByZXByZXNlbnQgcmVhbCBtb25leSBlYXJuZWQsIG93ZWQsIG9yIGd1YXJhbnRlZWQuIl19KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1ncmF5LTcwMCBsZWFkaW5nLXJlbGF4ZWQiLGNoaWxkcmVuOidBbnkgbWVudGlvbiBvZiAicGF5b3V0cywiICJyZXdhcmRzLCIgInByb2ZpdCBzcGxpdHMsIiBvciBzaW1pbGFyIGxhbmd1YWdlIHJlZmVycyBleGNsdXNpdmVseSB0byBkaXNjcmV0aW9uYXJ5IHBlcmZvcm1hbmNlLWJhc2VkIHJlY29nbml0aW9uIHdpdGhpbiB0aGUgc2ltdWxhdGVkIGVudmlyb25tZW50LiBGbG93aW5nRnVuZGVkIHJlc2VydmVzIHRoZSByaWdodCB0byB3aXRoaG9sZCwgY2FuY2VsLCBvciByZXZva2UgYW55IHJld2FyZCwgb2ZmZXIsIG9yIHByb21vdGlvbiBhdCBhbnkgdGltZSwgZm9yIGFueSByZWFzb24gb3Igbm8gcmVhc29uLid9KV19KV19KSxzLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6InNwYWNlLXktNCIsY2hpbGRyZW46W3MuanN4cygiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIGZsZXggaXRlbXMtY2VudGVyIGdhcC0zIixjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6InctMTAgaC0xMCByb3VuZGVkLWxnIGJnLXByaW1hcnkvMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1wcmltYXJ5IGZvbnQtYm9sZCIsY2hpbGRyZW46IjYifSksIk5vIFJlYWwgQ2FwaXRhbCBvciBUcmFkaW5nIl19KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJtbC0xMyBzcGFjZS15LTQiLGNoaWxkcmVuOnMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNzAwIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46J0F0IG5vIHBvaW50IGRvZXMgRmxvd2luZ0Z1bmRlZCBwcm92aWRlIHVzZXJzIHdpdGggcmVhbCBjYXBpdGFsLCByZWFsIHRyYWRpbmcgYWNjb3VudHMsIG9yIGFjY2VzcyB0byBsaXZlIGZpbmFuY2lhbCBtYXJrZXRzLiBUaGUgdGVybXMgImZ1bmRlZCwiICJjYXBpdGFsLCIgImJhbGFuY2UsIiAicHJvZml0LCIgYW5kICJwYXlvdXQiIGFzIHVzZWQgb24gdGhpcyBwbGF0Zm9ybSByZWZlciBleGNsdXNpdmVseSB0byBzaW11bGF0ZWQgdmFsdWVzIHdpdGhpbiBvdXIgZXZhbHVhdGlvbiBzeXN0ZW0uIFVzZXJzIGFja25vd2xlZGdlIGFuZCBhZ3JlZSB0aGF0IGFsbCBhY3Rpdml0eSBvbiB0aGlzIHBsYXRmb3JtIGlzIHNpbXVsYXRlZCBhbmQgaHlwb3RoZXRpY2FsLid9KX0pXX0pLHMuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToic3BhY2UteS00IixjaGlsZHJlbjpbcy5qc3hzKCJoMiIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtZ3JheS05MDAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMiLGNoaWxkcmVuOltzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQtbGcgYmctcHJpbWFyeS8xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXByaW1hcnkgZm9udC1ib2xkIixjaGlsZHJlbjoiNyJ9KSwiSW5kZXBlbmRlbnQgUGFydGllcyJdfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToibWwtMTMgc3BhY2UteS00IixjaGlsZHJlbjpzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1ncmF5LTcwMCBsZWFkaW5nLXJlbGF4ZWQiLGNoaWxkcmVuOiJVc2VycyBvZiB0aGUgU2l0ZSBhcmUgbm90IGVtcGxveWVlcywgYWdlbnRzLCBvciBjb250cmFjdG9ycyBvZiBGbG93aW5nRnVuZGVkLiBOb3RoaW5nIGluIHRoaXMgYWdyZWVtZW50IGZvcm1zIGFuIGVtcGxveW1lbnQsIHBhcnRuZXJzaGlwLCBvciBjb250cmFjdHVhbCBmdW5kaW5nIHJlbGF0aW9uc2hpcC4ifSl9KV19KSxzLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6InNwYWNlLXktNCIsY2hpbGRyZW46W3MuanN4cygiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIGZsZXggaXRlbXMtY2VudGVyIGdhcC0zIixjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6InctMTAgaC0xMCByb3VuZGVkLWxnIGJnLXByaW1hcnkvMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1wcmltYXJ5IGZvbnQtYm9sZCIsY2hpbGRyZW46IjgifSksIkxpbWl0YXRpb24gb2YgTGlhYmlsaXR5Il19KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJtbC0xMyBzcGFjZS15LTQiLGNoaWxkcmVuOnMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNzAwIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46J1RvIHRoZSBmdWxsZXN0IGV4dGVudCBwZXJtaXR0ZWQgdW5kZXIgQ3lwcmlvdCBsYXc6IEZsb3dpbmdGdW5kZWQgc2hhbGwgbm90IGJlIGxpYWJsZSBmb3IgYW55IGRpcmVjdCwgaW5kaXJlY3QsIGluY2lkZW50YWwsIG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcyByZXN1bHRpbmcgZnJvbSB1c2Ugb2YgdGhlIFNpdGUgb3IgcGFydGljaXBhdGlvbiBpbiBhbnkgZXZhbHVhdGlvbi4gQWxsIHNlcnZpY2VzIGFyZSBwcm92aWRlZCBvbiBhbiAiYXMtaXMiIGJhc2lzIHdpdGhvdXQgd2FycmFudGllcyBvZiBhbnkga2luZC4gVXNlcnMgYWNrbm93bGVkZ2UgdGhhdCBhbGwgcmVzdWx0cyBhcmUgc2ltdWxhdGVkIGFuZCBubyByZWFsIGZpbmFuY2lhbCBsb3NzIG9yIGdhaW4gb2NjdXJzIHRocm91Z2ggdXNlIG9mIHRoaXMgcGxhdGZvcm0uJ30pfSldfSkscy5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeHMoImgyIix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1ncmF5LTkwMCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46W3MuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ3LTEwIGgtMTAgcm91bmRlZC1sZyBiZy1wcmltYXJ5LzEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtcHJpbWFyeSBmb250LWJvbGQiLGNoaWxkcmVuOiI5In0pLCJKdXJpc2RpY3Rpb24gYW5kIEdvdmVybmluZyBMYXciXX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6Im1sLTEzIHNwYWNlLXktNCIsY2hpbGRyZW46cy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjoiVGhlc2UgVGVybXMgc2hhbGwgYmUgZ292ZXJuZWQgYnkgYW5kIGNvbnN0cnVlZCBpbiBhY2NvcmRhbmNlIHdpdGggYXBwbGljYWJsZSBsYXcuIEFueSBkaXNwdXRlcyBhcmlzaW5nIGZyb20gdGhlc2UgVGVybXMgc2hhbGwgYmUgcmVzb2x2ZWQgdGhyb3VnaCBiaW5kaW5nIGFyYml0cmF0aW9uIG9yIGluIHRoZSBhcHByb3ByaWF0ZSBjb3VydHMgb2YgY29tcGV0ZW50IGp1cmlzZGljdGlvbi4ifSl9KV19KSxzLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6InNwYWNlLXktNCIsY2hpbGRyZW46W3MuanN4cygiaDIiLHtjbGFzc05hbWU6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWdyYXktOTAwIGZsZXggaXRlbXMtY2VudGVyIGdhcC0zIixjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6InctMTAgaC0xMCByb3VuZGVkLWxnIGJnLXByaW1hcnkvMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1wcmltYXJ5IGZvbnQtYm9sZCIsY2hpbGRyZW46IjEwIn0pLCJNb2RpZmljYXRpb25zIHRvIHRoZSBUZXJtcyJdfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToibWwtMTMgc3BhY2UteS00IixjaGlsZHJlbjpzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1ncmF5LTcwMCBsZWFkaW5nLXJlbGF4ZWQiLGNoaWxkcmVuOiJGbG93aW5nRnVuZGVkIHJlc2VydmVzIHRoZSByaWdodCB0byBjaGFuZ2Ugb3IgdXBkYXRlIHRoZXNlIFRlcm1zIGF0IGFueSB0aW1lLiBDb250aW51ZWQgdXNlIG9mIHRoZSBwbGF0Zm9ybSBjb25zdGl0dXRlcyB5b3VyIGFjY2VwdGFuY2Ugb2YgYW55IG1vZGlmaWVkIHRlcm1zLiJ9KX0pXX0pLHMuanN4cygic2VjdGlvbiIse2NsYXNzTmFtZToic3BhY2UteS00IixjaGlsZHJlbjpbcy5qc3hzKCJoMiIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtZ3JheS05MDAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMiLGNoaWxkcmVuOltzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQtbGcgYmctcHJpbWFyeS8xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXByaW1hcnkgZm9udC1ib2xkIixjaGlsZHJlbjoiMTEifSksIlVzZXIgQWNrbm93bGVkZ2VtZW50Il19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWwtMTMgc3BhY2UteS00IixjaGlsZHJlbjpbcy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS03MDAgbGVhZGluZy1yZWxheGVkIixjaGlsZHJlbjoiQnkgdXNpbmcgdGhpcyBwbGF0Zm9ybSwgeW91IGV4cHJlc3NseSBhY2tub3dsZWRnZSBhbmQgYWdyZWUgdGhhdDoifSkscy5qc3hzKCJ1bCIse2NsYXNzTmFtZToic3BhY2UteS0yIHRleHQtZ3JheS03MDAgdGV4dC1zbSBsaXN0LWRpc2MgcGwtNSIsY2hpbGRyZW46W3MuanN4cygibGkiLHtjaGlsZHJlbjpbIkFsbCB0cmFkaW5nIGFjdGl2aXR5IG9uIEZsb3dpbmdGdW5kZWQgaXMgIixzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46InNpbXVsYXRlZCBhbmQgaHlwb3RoZXRpY2FsIn0pXX0pLHMuanN4KCJsaSIse2NoaWxkcmVuOiJObyByZWFsIG1vbmV5IGlzIHRyYWRlZCwgaW52ZXN0ZWQsIG9yIG1hbmFnZWQgb24geW91ciBiZWhhbGYifSkscy5qc3hzKCJsaSIse2NoaWxkcmVuOlsiQWNjb3VudCBiYWxhbmNlcyBhbmQgcGVyZm9ybWFuY2UgbWV0cmljcyBhcmUgIixzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46Im5vdCByZWFsIGZpbmFuY2lhbCBkYXRhIn0pXX0pLHMuanN4KCJsaSIse2NoaWxkcmVuOiJDZXJ0aWZpY2F0ZXMgYW5kIHJld2FyZHMgcmVwcmVzZW50IHNpbXVsYXRlZCBtaWxlc3RvbmVzLCBub3QgcmVhbCBlYXJuaW5ncyJ9KSxzLmpzeCgibGkiLHtjaGlsZHJlbjoiRG9sbGFyIGFtb3VudHMgc2hvd24gZG8gbm90IGNvbnN0aXR1dGUgcmVhbCBmaW5hbmNpYWwgcmV0dXJucyJ9KSxzLmpzeCgibGkiLHtjaGlsZHJlbjoiRmxvd2luZ0Z1bmRlZCBpcyBub3QgYSBmaW5hbmNpYWwgaW5zdGl0dXRpb24gYW5kIGRvZXMgbm90IHByb3ZpZGUgZmluYW5jaWFsIHNlcnZpY2VzIn0pLHMuanN4KCJsaSIse2NoaWxkcmVuOiJQYXN0IHNpbXVsYXRlZCBwZXJmb3JtYW5jZSBkb2VzIG5vdCBndWFyYW50ZWUgZnV0dXJlIHJlc3VsdHMgb2YgYW55IGtpbmQifSldfSldfSldfSkscy5qc3hzKCJzZWN0aW9uIix7Y2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeHMoImgyIix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1ncmF5LTkwMCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46W3MuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ3LTEwIGgtMTAgcm91bmRlZC1sZyBiZy1wcmltYXJ5LzEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtcHJpbWFyeSBmb250LWJvbGQiLGNoaWxkcmVuOiIxMiJ9KSwiQ29udGFjdCBJbmZvcm1hdGlvbiJdfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6Im1sLTEzIHNwYWNlLXktNCIsY2hpbGRyZW46W3MuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNzAwIGxlYWRpbmctcmVsYXhlZCIsY2hpbGRyZW46IkZvciBhbnkgbGVnYWwgb3Igc3VwcG9ydC1yZWxhdGVkIGlucXVpcmllcywgcGxlYXNlIGNvbnRhY3Q6In0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZy1ncmF5LTUwIHJvdW5kZWQtbGcgcC00IHNwYWNlLXktMiIsY2hpbGRyZW46W3MuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNzAwIixjaGlsZHJlbjoi8J+TpyBzdXBwb3J0QGZsb3dpbmdmdW5kZWQuY29tIn0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNzAwIixjaGlsZHJlbjoi8J+TjSBGbG93aW5nRnVuZGVkIEx0ZCJ9KV19KV19KV19KSxzLmpzeHMoInNlY3Rpb24iLHtjbGFzc05hbWU6InNwYWNlLXktNCBiZy1ibHVlLTUwIGJvcmRlciBib3JkZXItYmx1ZS0yMDAgcm91bmRlZC1sZyBwLTYiLGNoaWxkcmVuOltzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQteGwgZm9udC1ib2xkIHRleHQtZ3JheS05MDAiLGNoaWxkcmVuOiJOZWVkIEFzc2lzdGFuY2U/In0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNzAwIixjaGlsZHJlbjoiRm9yIGFueSBxdWVzdGlvbnMgYWJvdXQgdGhlc2UgdGVybXMsIHBsZWFzZSBhY2Nlc3MgdGhlIHN1cHBvcnQgc2VjdGlvbiBpbiB5b3VyIHRyYWRlciBkYXNoYm9hcmQgYWZ0ZXIgbG9nZ2luZyBpbi4ifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToicHQtNCIsY2hpbGRyZW46cy5qc3gob2Use3RvOiIvYXV0aCIsY2hpbGRyZW46cy5qc3hzKFYse2NsYXNzTmFtZToiZ2FwLTIiLGNoaWxkcmVuOlsiQWNjZXNzIERhc2hib2FyZCIscy5qc3goenIse2NsYXNzTmFtZToiaC00IHctNCJ9KV19KX0pfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzlweF0gdGV4dC1ncmF5LTQwMCB0ZXh0LWNlbnRlciB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSBwdC00IGJvcmRlci10IHNwYWNlLXktMSIsY2hpbGRyZW46W3MuanN4KCJwIix7Y2hpbGRyZW46IkFsbCBjaGFsbGVuZ2VzIGFyZSBzaW11bGF0ZWQuIE5vIHJlYWwgdHJhZGluZyBhY2NvdW50cywgY2FwaXRhbCwgb3IgZnVuZHMgYXJlIGlzc3VlZC4ifSkscy5qc3goInAiLHtjaGlsZHJlbjoiQWxsIGRvbGxhciBhbW91bnRzIHJlcHJlc2VudCBzaW11bGF0ZWQgcGVyZm9ybWFuY2UgcmV3YXJkIHRpZXJzLCBub3QgcmVhbCBmaW5hbmNpYWwgcmV0dXJucy4ifSldfSldfSl9KSxzLmpzeHMoImZvb3RlciIse2NsYXNzTmFtZToicmVsYXRpdmUgYmctWyMwYTE2MjhdIHRleHQtd2hpdGUgb3ZlcmZsb3ctaGlkZGVuIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBvcGFjaXR5LTEwIixjaGlsZHJlbjpzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHctZnVsbCBoLWZ1bGwiLGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMS80IC1sZWZ0LTIwIHctOTYgaC1weCBiZy1ncmFkaWVudC10by1yIGZyb20tdHJhbnNwYXJlbnQgdmlhLWJsdWUtNDAwIHRvLXRyYW5zcGFyZW50IHJvdGF0ZS0xMiJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMS8yIC1yaWdodC0yMCB3LTk2IGgtcHggYmctZ3JhZGllbnQtdG8tciBmcm9tLXRyYW5zcGFyZW50IHZpYS1wdXJwbGUtNDAwIHRvLXRyYW5zcGFyZW50IC1yb3RhdGUtMTIifSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgYm90dG9tLTEvNCBsZWZ0LTEvNCB3LTk2IGgtcHggYmctZ3JhZGllbnQtdG8tciBmcm9tLXRyYW5zcGFyZW50IHZpYS1ibHVlLTQwMCB0by10cmFuc3BhcmVudCByb3RhdGUtNiJ9KV19KX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCBweS0xNiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJncmlkIGdyaWQtY29scy0xIGxnOmdyaWQtY29scy0xMiBnYXAtMTIgbWItMTIiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibGc6Y29sLXNwYW4tNSBzcGFjZS15LTgiLGNoaWxkcmVuOltzLmpzeCgiaDIiLHtjbGFzc05hbWU6InRleHQtNHhsIHNtOnRleHQtNXhsIGZvbnQtYmxhY2sgdXBwZXJjYXNlIHRyYWNraW5nLXRpZ2h0IixjaGlsZHJlbjoiRmxvd2luZ0Z1bmRlZCJ9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJib3JkZXIgYm9yZGVyLXdoaXRlLzEwIHJvdW5kZWQtMnhsIHAtNiBiZy13aGl0ZS81IGJhY2tkcm9wLWJsdXItc20iLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMiLGNoaWxkcmVuOltzLmpzeHMoInAiLHtjbGFzc05hbWU6InRleHQtbGcgZm9udC1ib2xkIixjaGlsZHJlbjpbIkVkdWNhdGlvbmFsICIscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InRleHQtcHJpbWFyeSIsY2hpbGRyZW46IlNpbXVsYXRpb24gUGxhdGZvcm0ifSldfSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1ncmF5LTQwMCBsZWFkaW5nLXJlbGF4ZWQiLGNoaWxkcmVuOiJMZWFybiBtb3JlIGFib3V0IG91ciBzaW11bGF0ZWQgZXZhbHVhdGlvbiBwcm9ncmFtcyJ9KSxzLmpzeChvZSx7dG86Ii9hdXRoIixjaGlsZHJlbjpzLmpzeChWLHtjbGFzc05hbWU6InctZnVsbCBiZy13aGl0ZSB0ZXh0LVsjMGExNjI4XSBob3ZlcjpiZy1ncmF5LTEwMCByb3VuZGVkLWZ1bGwgZm9udC1zZW1pYm9sZCIsY2hpbGRyZW46IkFjY2VzcyBEYXNoYm9hcmQifSl9KV19KX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJsZzpjb2wtc3Bhbi03IGdyaWQgZ3JpZC1jb2xzLTIgc206Z3JpZC1jb2xzLTQgZ2FwLTgiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6ImZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQgdXBwZXJjYXNlIHRleHQtc20gdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IlRyYWRlIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTMgdGV4dC1zbSIsY2hpbGRyZW46W3MuanN4KG9lLHt0bzoiLyIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJGb3JleCJ9KSxzLmpzeChvZSx7dG86Ii8iLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiRnV0dXJlcyJ9KSxzLmpzeChvZSx7dG86Ii8iLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiQ3J5cHRvIn0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToiZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNCB1cHBlcmNhc2UgdGV4dC1zbSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiUGxhdGZvcm0ifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkhvbWUifSkscy5qc3gob2Use3RvOiIvYWJvdXQiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiSG93IGl0IFdvcmtzIn0pLHMuanN4KG9lLHt0bzoiL2F1dGgiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiRGFzaGJvYXJkIn0pXX0pXX0pLHMuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJoMyIse2NsYXNzTmFtZToiZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNCB1cHBlcmNhc2UgdGV4dC1zbSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiQWJvdXQifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvYWJvdXQiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIHRyYW5zaXRpb24tY29sb3JzIixjaGlsZHJlbjoiQWJvdXQgVXMifSkscy5qc3gob2Use3RvOiIvZmFxIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkZBUSJ9KV19KV19KSxzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgiaDMiLHtjbGFzc05hbWU6ImZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQgdXBwZXJjYXNlIHRleHQtc20gdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IlN1cHBvcnQifSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvYXV0aCIsY2xhc3NOYW1lOiJibG9jayB0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJIZWxwIENlbnRlciJ9KSxzLmpzeChvZSx7dG86Ii9hdXRoIixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IkNvbnRhY3QifSldfSldfSldfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImJvcmRlci10IGJvcmRlci13aGl0ZS8xMCBwdC04IHNwYWNlLXktNiIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHRleHQtZ3JheS00MDAgbGVhZGluZy1yZWxheGVkIHNwYWNlLXktMyIsY2hpbGRyZW46W3MuanN4cygicCIse2NoaWxkcmVuOltzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46IklNUE9SVEFOVCBESVNDTEFJTUVSOiJ9KSwiIEZsb3dpbmdGdW5kZWQgaXMgYSBzaW11bGF0ZWQgdHJhZGluZyBldmFsdWF0aW9uIHBsYXRmb3JtLiBBbGwgdHJhZGluZyBhY3Rpdml0eSwgYWNjb3VudCBiYWxhbmNlcywgcHJvZml0cywgbG9zc2VzLCBhbmQgcGVyZm9ybWFuY2UgbWV0cmljcyBkaXNwbGF5ZWQgYXJlIGVudGlyZWx5IHNpbXVsYXRlZCBhbmQgaHlwb3RoZXRpY2FsLiBObyByZWFsIG1vbmV5IGlzIHRyYWRlZCwgaW52ZXN0ZWQsIG9yIG1hbmFnZWQuIEZsb3dpbmdGdW5kZWQgZG9lcyBub3QgcHJvdmlkZSBicm9rZXJhZ2Ugc2VydmljZXMsIGludmVzdG1lbnQgYWR2aWNlLCBvciBhY2Nlc3MgdG8gcmVhbCBmaW5hbmNpYWwgbWFya2V0cy4iXX0pLHMuanN4KCJwIix7Y2hpbGRyZW46IkZsb3dpbmdGdW5kZWQgTHRkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzaW11bGF0ZWQgdHJhZGluZyBldmFsdWF0aW9uIHNlcnZpY2VzIHBsZWFzZSBjb250YWN0IHN1cHBvcnQgdmlhIHlvdXIgZGFzaGJvYXJkLiJ9KV19KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1bOXB4XSB0ZXh0LWdyYXktNTAwIHRleHQtY2VudGVyIHVwcGVyY2FzZSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiQWxsIGNoYWxsZW5nZXMgYXJlIHNpbXVsYXRlZC4gTm8gcmVhbCB0cmFkaW5nIGFjY291bnRzLCBjYXBpdGFsLCBvciBmdW5kcyBhcmUgaXNzdWVkLiBBbGwgcmVzdWx0cyBhcmUgaHlwb3RoZXRpY2FsLiJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBzbTpmbGV4LXJvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC00IHB0LTYgYm9yZGVyLXQgYm9yZGVyLXdoaXRlLzEwIixjaGlsZHJlbjpbcy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1ncmF5LTUwMCIsY2hpbGRyZW46IsKpIDIwMjYgRmxvd2luZ0Z1bmRlZCBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNiB0ZXh0LXNtIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvcHJpdmFjeSIsY2xhc3NOYW1lOiJ0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJQcml2YWN5IFBvbGljeSJ9KSxzLmpzeChvZSx7dG86Ii90ZXJtcyIsY2xhc3NOYW1lOiJ0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnMiLGNoaWxkcmVuOiJUZXJtcyAmIENvbmRpdGlvbnMifSkscy5qc3gob2Use3RvOiIvcmlzay1kaXNjbG9zdXJlIixjbGFzc05hbWU6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyIsY2hpbGRyZW46IlJpc2sgRGlzY2xvc3VyZSJ9KV19KV19KV19KV19KV19KV19KX1jb25zdCBvbWU9YXN5bmMoZSx0LHIpPT57Y29uc3Qgbj1gJHt3aW5kb3cubG9jYXRpb24ub3JpZ2lufS9gLHtkYXRhOmEsZXJyb3I6aX09YXdhaXQgTS5hdXRoLnNpZ25VcCh7ZW1haWw6ZSxwYXNzd29yZDp0LG9wdGlvbnM6e2VtYWlsUmVkaXJlY3RUbzpuLGRhdGE6e2Z1bGxfbmFtZTpyfX19KTtyZXR1cm57ZGF0YTphLGVycm9yOml9fSxsbWU9YXN5bmMoZSx0KT0+e3ZhciBsO2NvbnN0IHI9ZS50cmltKCkudG9Mb3dlckNhc2UoKTtsZXQgbj1hd2FpdCBNLmF1dGguc2lnbkluV2l0aFBhc3N3b3JkKHtlbWFpbDpyLHBhc3N3b3JkOnR9KTtpZighbi5lcnJvcnx8ISgobD1uLmVycm9yLm1lc3NhZ2UpPT1udWxsP3ZvaWQgMDpsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoImludmFsaWQgbG9naW4gY3JlZGVudGlhbHMiKSkpcmV0dXJuIG47Y29uc3R7ZGF0YTppLGVycm9yOm99PWF3YWl0IE0ucnBjKCJnZXRfYXV0aF9lbWFpbF9mb3JfbG9naW4iLHt1c2VyX2VtYWlsOnJ9KTtpZihvfHwhaXx8aT09PXIpe2NvbnN0IGM9Y21lKHIpO2Zvcihjb25zdCBkIG9mIGMpe2NvbnN0IHU9YXdhaXQgTS5hdXRoLnNpZ25JbldpdGhQYXNzd29yZCh7ZW1haWw6ZCxwYXNzd29yZDp0fSk7aWYoIXUuZXJyb3IpcmV0dXJuIHV9cmV0dXJuIG59cmV0dXJuIG49YXdhaXQgTS5hdXRoLnNpZ25JbldpdGhQYXNzd29yZCh7ZW1haWw6aS50cmltKCkudG9Mb3dlckNhc2UoKSxwYXNzd29yZDp0fSksbn07ZnVuY3Rpb24gY21lKGUpe2NvbnN0IHQ9bmV3IFNldCxyPVtbL1wuY29uJC8sIi5jb20iXSxbL1wuY29tJC8sIi5jb24iXSxbL1wuY20kLywiLmNvbSJdLFsvXC52b20kLywiLmNvbSJdLFsvXC5vbSQvLCIuY29tIl0sWy9AZ21pYWxcLi8sIkBnbWFpbC4iXSxbL0BnbWFpXC4vLCJAZ21haWwuIl0sWy9AZ21hbFwuLywiQGdtYWlsLiJdLFsvQGhvdG1pYWxcLi8sIkBob3RtYWlsLiJdLFsvQGhvdG1haVwuLywiQGhvdG1haWwuIl0sWy9AeWFob1wuLywiQHlhaG9vLiJdLFsvQGljbG91bGRcLi8sIkBpY2xvdWQuIl0sWy9AaWNvdWRcLi8sIkBpY2xvdWQuIl0sWy9AaWNsb3VkXC4vLCJAaWNvdWxkLiJdLFsvQGdtYWlsXC4vLCJAZ21pYWwuIl0sWy9AaG90bWFpbFwuLywiQGhvdG1pYWwuIl0sWy9AeWFob29cLi8sIkB5YWhvLiJdXTtmb3IoY29uc3RbbixhXW9mIHIpaWYobi50ZXN0KGUpKXtjb25zdCBpPWUucmVwbGFjZShuLGEpO2khPT1lJiZ0LmFkZChpKX1yZXR1cm4gQXJyYXkuZnJvbSh0KX1jb25zdCBvVj1hc3luYyBlPT57Y29uc3R7ZGF0YTp0LGVycm9yOnJ9PWF3YWl0IE0uZnJvbSgidXNlcl9yb2xlcyIpLnNlbGVjdCgicm9sZSIpLmVxKCJ1c2VyX2lkIixlKS5zaW5nbGUoKTtyZXR1cm57cm9sZTp0PT1udWxsP3ZvaWQgMDp0LnJvbGUsZXJyb3I6cn19O2Z1bmN0aW9uIGxWKCl7Y29uc3RbZSx0XT1nLnVzZVN0YXRlKHtpc1JlYWR5OiExLHNlc3Npb246bnVsbCx1c2VyOm51bGx9KTtyZXR1cm4gZy51c2VFZmZlY3QoKCk9PntsZXQgcj0hMDtjb25zdHtkYXRhOntzdWJzY3JpcHRpb246bn19PU0uYXV0aC5vbkF1dGhTdGF0ZUNoYW5nZSgoYSxpKT0+e3ImJnQoe2lzUmVhZHk6ITAsc2Vzc2lvbjppLHVzZXI6KGk9PW51bGw/dm9pZCAwOmkudXNlcik/P251bGx9KX0pO3JldHVybiBNLmF1dGguZ2V0U2Vzc2lvbigpLnRoZW4oKHtkYXRhOntzZXNzaW9uOmF9fSk9PntyJiZ0KHtpc1JlYWR5OiEwLHNlc3Npb246YSx1c2VyOihhPT1udWxsP3ZvaWQgMDphLnVzZXIpPz9udWxsfSl9KSwoKT0+e3I9ITEsbi51bnN1YnNjcmliZSgpfX0sW10pLGV9ZnVuY3Rpb24gZG1lKCl7Y29uc3RbZSx0XT1nLnVzZVN0YXRlKCEwKSxyPWx0KCkse2lzUmVhZHk6bix1c2VyOmF9PWxWKCk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57aWYoIW4pcmV0dXJuOyhhc3luYygpPT57dHJ5e2lmKCFhKXtyKCIvYXV0aCIpO3JldHVybn1pZihhLmVtYWlsPT09ImFkbWluMkBhZG1pbi5jb20iKXtyKCIvYWRtaW4vY3JlYXRlLXByZXZpZXciKTtyZXR1cm59Y29uc3R7cm9sZTpvfT1hd2FpdCBvVihhLmlkKTtyKG89PT0iYWRtaW4iPyIvYWRtaW4iOm89PT0idHJhZGVyIj8iL3RyYWRlciI6Ii9hdXRoIil9Y2F0Y2gobyl7Y29uc29sZS5lcnJvcigiQXV0aCBlcnJvcjoiLG8pLHIoIi9hdXRoIil9ZmluYWxseXt0KCExKX19KSgpfSxbbixhLHJdKSxlfHwhbj9zLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IG1pbi1oLXNjcmVlbiBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctYmFja2dyb3VuZCIsY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRleHQtY2VudGVyIixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToiaC04IHctOCBhbmltYXRlLXNwaW4gcm91bmRlZC1mdWxsIGJvcmRlci00IGJvcmRlci1wcmltYXJ5IGJvcmRlci10LXRyYW5zcGFyZW50IG14LWF1dG8gbWItNCJ9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiTG9hZGluZy4uLiJ9KV19KX0pOm51bGx9Y29uc3QgeGU9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsdHlwZTp0LC4uLnJ9LG4pPT5zLmpzeCgiaW5wdXQiLHt0eXBlOnQsY2xhc3NOYW1lOndlKCJmbGV4IGgtMTAgdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktMiB0ZXh0LWJhc2UgcmluZy1vZmZzZXQtYmFja2dyb3VuZCBmaWxlOmJvcmRlci0wIGZpbGU6YmctdHJhbnNwYXJlbnQgZmlsZTp0ZXh0LXNtIGZpbGU6Zm9udC1tZWRpdW0gZmlsZTp0ZXh0LWZvcmVncm91bmQgcGxhY2Vob2xkZXI6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCBtZDp0ZXh0LXNtIixlKSxyZWY6biwuLi5yfSkpO3hlLmRpc3BsYXlOYW1lPSJJbnB1dCI7dmFyIHVtZT0iTGFiZWwiLGNWPWcuZm9yd2FyZFJlZigoZSx0KT0+cy5qc3goU2UubGFiZWwsey4uLmUscmVmOnQsb25Nb3VzZURvd246cj0+e3ZhciBhO3IudGFyZ2V0LmNsb3Nlc3QoImJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEiKXx8KChhPWUub25Nb3VzZURvd24pPT1udWxsfHxhLmNhbGwoZSxyKSwhci5kZWZhdWx0UHJldmVudGVkJiZyLmRldGFpbD4xJiZyLnByZXZlbnREZWZhdWx0KCkpfX0pKTtjVi5kaXNwbGF5TmFtZT11bWU7dmFyIGRWPWNWO2NvbnN0IEFtZT1XQSgidGV4dC1zbSBmb250LW1lZGl1bSBsZWFkaW5nLW5vbmUgcGVlci1kaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgcGVlci1kaXNhYmxlZDpvcGFjaXR5LTcwIiksZmU9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KGRWLHtyZWY6cixjbGFzc05hbWU6d2UoQW1lKCksZSksLi4udH0pKTtmZS5kaXNwbGF5TmFtZT1kVi5kaXNwbGF5TmFtZTt2YXIgQ3Q7KGZ1bmN0aW9uKGUpe2UuYXNzZXJ0RXF1YWw9YT0+e307ZnVuY3Rpb24gdChhKXt9ZS5hc3NlcnRJcz10O2Z1bmN0aW9uIHIoYSl7dGhyb3cgbmV3IEVycm9yfWUuYXNzZXJ0TmV2ZXI9cixlLmFycmF5VG9FbnVtPWE9Pntjb25zdCBpPXt9O2Zvcihjb25zdCBvIG9mIGEpaVtvXT1vO3JldHVybiBpfSxlLmdldFZhbGlkRW51bVZhbHVlcz1hPT57Y29uc3QgaT1lLm9iamVjdEtleXMoYSkuZmlsdGVyKGw9PnR5cGVvZiBhW2FbbF1dIT0ibnVtYmVyIiksbz17fTtmb3IoY29uc3QgbCBvZiBpKW9bbF09YVtsXTtyZXR1cm4gZS5vYmplY3RWYWx1ZXMobyl9LGUub2JqZWN0VmFsdWVzPWE9PmUub2JqZWN0S2V5cyhhKS5tYXAoZnVuY3Rpb24oaSl7cmV0dXJuIGFbaV19KSxlLm9iamVjdEtleXM9dHlwZW9mIE9iamVjdC5rZXlzPT0iZnVuY3Rpb24iP2E9Pk9iamVjdC5rZXlzKGEpOmE9Pntjb25zdCBpPVtdO2Zvcihjb25zdCBvIGluIGEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsbykmJmkucHVzaChvKTtyZXR1cm4gaX0sZS5maW5kPShhLGkpPT57Zm9yKGNvbnN0IG8gb2YgYSlpZihpKG8pKXJldHVybiBvfSxlLmlzSW50ZWdlcj10eXBlb2YgTnVtYmVyLmlzSW50ZWdlcj09ImZ1bmN0aW9uIj9hPT5OdW1iZXIuaXNJbnRlZ2VyKGEpOmE9PnR5cGVvZiBhPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKGEpJiZNYXRoLmZsb29yKGEpPT09YTtmdW5jdGlvbiBuKGEsaT0iIHwgIil7cmV0dXJuIGEubWFwKG89PnR5cGVvZiBvPT0ic3RyaW5nIj9gJyR7b30nYDpvKS5qb2luKGkpfWUuam9pblZhbHVlcz1uLGUuanNvblN0cmluZ2lmeVJlcGxhY2VyPShhLGkpPT50eXBlb2YgaT09ImJpZ2ludCI/aS50b1N0cmluZygpOml9KShDdHx8KEN0PXt9KSk7dmFyIGNJOyhmdW5jdGlvbihlKXtlLm1lcmdlU2hhcGVzPSh0LHIpPT4oey4uLnQsLi4ucn0pfSkoY0l8fChjST17fSkpO2NvbnN0IFVlPUN0LmFycmF5VG9FbnVtKFsic3RyaW5nIiwibmFuIiwibnVtYmVyIiwiaW50ZWdlciIsImZsb2F0IiwiYm9vbGVhbiIsImRhdGUiLCJiaWdpbnQiLCJzeW1ib2wiLCJmdW5jdGlvbiIsInVuZGVmaW5lZCIsIm51bGwiLCJhcnJheSIsIm9iamVjdCIsInVua25vd24iLCJwcm9taXNlIiwidm9pZCIsIm5ldmVyIiwibWFwIiwic2V0Il0pLEtvPWU9Pntzd2l0Y2godHlwZW9mIGUpe2Nhc2UidW5kZWZpbmVkIjpyZXR1cm4gVWUudW5kZWZpbmVkO2Nhc2Uic3RyaW5nIjpyZXR1cm4gVWUuc3RyaW5nO2Nhc2UibnVtYmVyIjpyZXR1cm4gTnVtYmVyLmlzTmFOKGUpP1VlLm5hbjpVZS5udW1iZXI7Y2FzZSJib29sZWFuIjpyZXR1cm4gVWUuYm9vbGVhbjtjYXNlImZ1bmN0aW9uIjpyZXR1cm4gVWUuZnVuY3Rpb247Y2FzZSJiaWdpbnQiOnJldHVybiBVZS5iaWdpbnQ7Y2FzZSJzeW1ib2wiOnJldHVybiBVZS5zeW1ib2w7Y2FzZSJvYmplY3QiOnJldHVybiBBcnJheS5pc0FycmF5KGUpP1VlLmFycmF5OmU9PT1udWxsP1VlLm51bGw6ZS50aGVuJiZ0eXBlb2YgZS50aGVuPT0iZnVuY3Rpb24iJiZlLmNhdGNoJiZ0eXBlb2YgZS5jYXRjaD09ImZ1bmN0aW9uIj9VZS5wcm9taXNlOnR5cGVvZiBNYXA8InUiJiZlIGluc3RhbmNlb2YgTWFwP1VlLm1hcDp0eXBlb2YgU2V0PCJ1IiYmZSBpbnN0YW5jZW9mIFNldD9VZS5zZXQ6dHlwZW9mIERhdGU8InUiJiZlIGluc3RhbmNlb2YgRGF0ZT9VZS5kYXRlOlVlLm9iamVjdDtkZWZhdWx0OnJldHVybiBVZS51bmtub3dufX0sdmU9Q3QuYXJyYXlUb0VudW0oWyJpbnZhbGlkX3R5cGUiLCJpbnZhbGlkX2xpdGVyYWwiLCJjdXN0b20iLCJpbnZhbGlkX3VuaW9uIiwiaW52YWxpZF91bmlvbl9kaXNjcmltaW5hdG9yIiwiaW52YWxpZF9lbnVtX3ZhbHVlIiwidW5yZWNvZ25pemVkX2tleXMiLCJpbnZhbGlkX2FyZ3VtZW50cyIsImludmFsaWRfcmV0dXJuX3R5cGUiLCJpbnZhbGlkX2RhdGUiLCJpbnZhbGlkX3N0cmluZyIsInRvb19zbWFsbCIsInRvb19iaWciLCJpbnZhbGlkX2ludGVyc2VjdGlvbl90eXBlcyIsIm5vdF9tdWx0aXBsZV9vZiIsIm5vdF9maW5pdGUiXSk7Y2xhc3MgaWEgZXh0ZW5kcyBFcnJvcntnZXQgZXJyb3JzKCl7cmV0dXJuIHRoaXMuaXNzdWVzfWNvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5pc3N1ZXM9W10sdGhpcy5hZGRJc3N1ZT1uPT57dGhpcy5pc3N1ZXM9Wy4uLnRoaXMuaXNzdWVzLG5dfSx0aGlzLmFkZElzc3Vlcz0obj1bXSk9Pnt0aGlzLmlzc3Vlcz1bLi4udGhpcy5pc3N1ZXMsLi4ubl19O2NvbnN0IHI9bmV3LnRhcmdldC5wcm90b3R5cGU7T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLHIpOnRoaXMuX19wcm90b19fPXIsdGhpcy5uYW1lPSJab2RFcnJvciIsdGhpcy5pc3N1ZXM9dH1mb3JtYXQodCl7Y29uc3Qgcj10fHxmdW5jdGlvbihpKXtyZXR1cm4gaS5tZXNzYWdlfSxuPXtfZXJyb3JzOltdfSxhPWk9Pntmb3IoY29uc3QgbyBvZiBpLmlzc3VlcylpZihvLmNvZGU9PT0iaW52YWxpZF91bmlvbiIpby51bmlvbkVycm9ycy5tYXAoYSk7ZWxzZSBpZihvLmNvZGU9PT0iaW52YWxpZF9yZXR1cm5fdHlwZSIpYShvLnJldHVyblR5cGVFcnJvcik7ZWxzZSBpZihvLmNvZGU9PT0iaW52YWxpZF9hcmd1bWVudHMiKWEoby5hcmd1bWVudHNFcnJvcik7ZWxzZSBpZihvLnBhdGgubGVuZ3RoPT09MCluLl9lcnJvcnMucHVzaChyKG8pKTtlbHNle2xldCBsPW4sYz0wO2Zvcig7YzxvLnBhdGgubGVuZ3RoOyl7Y29uc3QgZD1vLnBhdGhbY107Yz09PW8ucGF0aC5sZW5ndGgtMT8obFtkXT1sW2RdfHx7X2Vycm9yczpbXX0sbFtkXS5fZXJyb3JzLnB1c2gocihvKSkpOmxbZF09bFtkXXx8e19lcnJvcnM6W119LGw9bFtkXSxjKyt9fX07cmV0dXJuIGEodGhpcyksbn1zdGF0aWMgYXNzZXJ0KHQpe2lmKCEodCBpbnN0YW5jZW9mIGlhKSl0aHJvdyBuZXcgRXJyb3IoYE5vdCBhIFpvZEVycm9yOiAke3R9YCl9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5tZXNzYWdlfWdldCBtZXNzYWdlKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuaXNzdWVzLEN0Lmpzb25TdHJpbmdpZnlSZXBsYWNlciwyKX1nZXQgaXNFbXB0eSgpe3JldHVybiB0aGlzLmlzc3Vlcy5sZW5ndGg9PT0wfWZsYXR0ZW4odD1yPT5yLm1lc3NhZ2Upe2NvbnN0IHI9e30sbj1bXTtmb3IoY29uc3QgYSBvZiB0aGlzLmlzc3VlcylpZihhLnBhdGgubGVuZ3RoPjApe2NvbnN0IGk9YS5wYXRoWzBdO3JbaV09cltpXXx8W10scltpXS5wdXNoKHQoYSkpfWVsc2Ugbi5wdXNoKHQoYSkpO3JldHVybntmb3JtRXJyb3JzOm4sZmllbGRFcnJvcnM6cn19Z2V0IGZvcm1FcnJvcnMoKXtyZXR1cm4gdGhpcy5mbGF0dGVuKCl9fWlhLmNyZWF0ZT1lPT5uZXcgaWEoZSk7Y29uc3QgQ189KGUsdCk9PntsZXQgcjtzd2l0Y2goZS5jb2RlKXtjYXNlIHZlLmludmFsaWRfdHlwZTplLnJlY2VpdmVkPT09VWUudW5kZWZpbmVkP3I9IlJlcXVpcmVkIjpyPWBFeHBlY3RlZCAke2UuZXhwZWN0ZWR9LCByZWNlaXZlZCAke2UucmVjZWl2ZWR9YDticmVhaztjYXNlIHZlLmludmFsaWRfbGl0ZXJhbDpyPWBJbnZhbGlkIGxpdGVyYWwgdmFsdWUsIGV4cGVjdGVkICR7SlNPTi5zdHJpbmdpZnkoZS5leHBlY3RlZCxDdC5qc29uU3RyaW5naWZ5UmVwbGFjZXIpfWA7YnJlYWs7Y2FzZSB2ZS51bnJlY29nbml6ZWRfa2V5czpyPWBVbnJlY29nbml6ZWQga2V5KHMpIGluIG9iamVjdDogJHtDdC5qb2luVmFsdWVzKGUua2V5cywiLCAiKX1gO2JyZWFrO2Nhc2UgdmUuaW52YWxpZF91bmlvbjpyPSJJbnZhbGlkIGlucHV0IjticmVhaztjYXNlIHZlLmludmFsaWRfdW5pb25fZGlzY3JpbWluYXRvcjpyPWBJbnZhbGlkIGRpc2NyaW1pbmF0b3IgdmFsdWUuIEV4cGVjdGVkICR7Q3Quam9pblZhbHVlcyhlLm9wdGlvbnMpfWA7YnJlYWs7Y2FzZSB2ZS5pbnZhbGlkX2VudW1fdmFsdWU6cj1gSW52YWxpZCBlbnVtIHZhbHVlLiBFeHBlY3RlZCAke0N0LmpvaW5WYWx1ZXMoZS5vcHRpb25zKX0sIHJlY2VpdmVkICcke2UucmVjZWl2ZWR9J2A7YnJlYWs7Y2FzZSB2ZS5pbnZhbGlkX2FyZ3VtZW50czpyPSJJbnZhbGlkIGZ1bmN0aW9uIGFyZ3VtZW50cyI7YnJlYWs7Y2FzZSB2ZS5pbnZhbGlkX3JldHVybl90eXBlOnI9IkludmFsaWQgZnVuY3Rpb24gcmV0dXJuIHR5cGUiO2JyZWFrO2Nhc2UgdmUuaW52YWxpZF9kYXRlOnI9IkludmFsaWQgZGF0ZSI7YnJlYWs7Y2FzZSB2ZS5pbnZhbGlkX3N0cmluZzp0eXBlb2YgZS52YWxpZGF0aW9uPT0ib2JqZWN0Ij8iaW5jbHVkZXMiaW4gZS52YWxpZGF0aW9uPyhyPWBJbnZhbGlkIGlucHV0OiBtdXN0IGluY2x1ZGUgIiR7ZS52YWxpZGF0aW9uLmluY2x1ZGVzfSJgLHR5cGVvZiBlLnZhbGlkYXRpb24ucG9zaXRpb249PSJudW1iZXIiJiYocj1gJHtyfSBhdCBvbmUgb3IgbW9yZSBwb3NpdGlvbnMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICR7ZS52YWxpZGF0aW9uLnBvc2l0aW9ufWApKToic3RhcnRzV2l0aCJpbiBlLnZhbGlkYXRpb24/cj1gSW52YWxpZCBpbnB1dDogbXVzdCBzdGFydCB3aXRoICIke2UudmFsaWRhdGlvbi5zdGFydHNXaXRofSJgOiJlbmRzV2l0aCJpbiBlLnZhbGlkYXRpb24/cj1gSW52YWxpZCBpbnB1dDogbXVzdCBlbmQgd2l0aCAiJHtlLnZhbGlkYXRpb24uZW5kc1dpdGh9ImA6Q3QuYXNzZXJ0TmV2ZXIoZS52YWxpZGF0aW9uKTplLnZhbGlkYXRpb24hPT0icmVnZXgiP3I9YEludmFsaWQgJHtlLnZhbGlkYXRpb259YDpyPSJJbnZhbGlkIjticmVhaztjYXNlIHZlLnRvb19zbWFsbDplLnR5cGU9PT0iYXJyYXkiP3I9YEFycmF5IG11c3QgY29udGFpbiAke2UuZXhhY3Q/ImV4YWN0bHkiOmUuaW5jbHVzaXZlPyJhdCBsZWFzdCI6Im1vcmUgdGhhbiJ9ICR7ZS5taW5pbXVtfSBlbGVtZW50KHMpYDplLnR5cGU9PT0ic3RyaW5nIj9yPWBTdHJpbmcgbXVzdCBjb250YWluICR7ZS5leGFjdD8iZXhhY3RseSI6ZS5pbmNsdXNpdmU/ImF0IGxlYXN0Ijoib3ZlciJ9ICR7ZS5taW5pbXVtfSBjaGFyYWN0ZXIocylgOmUudHlwZT09PSJudW1iZXIiP3I9YE51bWJlciBtdXN0IGJlICR7ZS5leGFjdD8iZXhhY3RseSBlcXVhbCB0byAiOmUuaW5jbHVzaXZlPyJncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gIjoiZ3JlYXRlciB0aGFuICJ9JHtlLm1pbmltdW19YDplLnR5cGU9PT0iYmlnaW50Ij9yPWBOdW1iZXIgbXVzdCBiZSAke2UuZXhhY3Q/ImV4YWN0bHkgZXF1YWwgdG8gIjplLmluY2x1c2l2ZT8iZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICI6ImdyZWF0ZXIgdGhhbiAifSR7ZS5taW5pbXVtfWA6ZS50eXBlPT09ImRhdGUiP3I9YERhdGUgbXVzdCBiZSAke2UuZXhhY3Q/ImV4YWN0bHkgZXF1YWwgdG8gIjplLmluY2x1c2l2ZT8iZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICI6ImdyZWF0ZXIgdGhhbiAifSR7bmV3IERhdGUoTnVtYmVyKGUubWluaW11bSkpfWA6cj0iSW52YWxpZCBpbnB1dCI7YnJlYWs7Y2FzZSB2ZS50b29fYmlnOmUudHlwZT09PSJhcnJheSI/cj1gQXJyYXkgbXVzdCBjb250YWluICR7ZS5leGFjdD8iZXhhY3RseSI6ZS5pbmNsdXNpdmU/ImF0IG1vc3QiOiJsZXNzIHRoYW4ifSAke2UubWF4aW11bX0gZWxlbWVudChzKWA6ZS50eXBlPT09InN0cmluZyI/cj1gU3RyaW5nIG11c3QgY29udGFpbiAke2UuZXhhY3Q/ImV4YWN0bHkiOmUuaW5jbHVzaXZlPyJhdCBtb3N0IjoidW5kZXIifSAke2UubWF4aW11bX0gY2hhcmFjdGVyKHMpYDplLnR5cGU9PT0ibnVtYmVyIj9yPWBOdW1iZXIgbXVzdCBiZSAke2UuZXhhY3Q/ImV4YWN0bHkiOmUuaW5jbHVzaXZlPyJsZXNzIHRoYW4gb3IgZXF1YWwgdG8iOiJsZXNzIHRoYW4ifSAke2UubWF4aW11bX1gOmUudHlwZT09PSJiaWdpbnQiP3I9YEJpZ0ludCBtdXN0IGJlICR7ZS5leGFjdD8iZXhhY3RseSI6ZS5pbmNsdXNpdmU/Imxlc3MgdGhhbiBvciBlcXVhbCB0byI6Imxlc3MgdGhhbiJ9ICR7ZS5tYXhpbXVtfWA6ZS50eXBlPT09ImRhdGUiP3I9YERhdGUgbXVzdCBiZSAke2UuZXhhY3Q/ImV4YWN0bHkiOmUuaW5jbHVzaXZlPyJzbWFsbGVyIHRoYW4gb3IgZXF1YWwgdG8iOiJzbWFsbGVyIHRoYW4ifSAke25ldyBEYXRlKE51bWJlcihlLm1heGltdW0pKX1gOnI9IkludmFsaWQgaW5wdXQiO2JyZWFrO2Nhc2UgdmUuY3VzdG9tOnI9IkludmFsaWQgaW5wdXQiO2JyZWFrO2Nhc2UgdmUuaW52YWxpZF9pbnRlcnNlY3Rpb25fdHlwZXM6cj0iSW50ZXJzZWN0aW9uIHJlc3VsdHMgY291bGQgbm90IGJlIG1lcmdlZCI7YnJlYWs7Y2FzZSB2ZS5ub3RfbXVsdGlwbGVfb2Y6cj1gTnVtYmVyIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAke2UubXVsdGlwbGVPZn1gO2JyZWFrO2Nhc2UgdmUubm90X2Zpbml0ZTpyPSJOdW1iZXIgbXVzdCBiZSBmaW5pdGUiO2JyZWFrO2RlZmF1bHQ6cj10LmRlZmF1bHRFcnJvcixDdC5hc3NlcnROZXZlcihlKX1yZXR1cm57bWVzc2FnZTpyfX07bGV0IGZtZT1DXztmdW5jdGlvbiBobWUoKXtyZXR1cm4gZm1lfWNvbnN0IG1tZT1lPT57Y29uc3R7ZGF0YTp0LHBhdGg6cixlcnJvck1hcHM6bixpc3N1ZURhdGE6YX09ZSxpPVsuLi5yLC4uLmEucGF0aHx8W11dLG89ey4uLmEscGF0aDppfTtpZihhLm1lc3NhZ2UhPT12b2lkIDApcmV0dXJuey4uLmEscGF0aDppLG1lc3NhZ2U6YS5tZXNzYWdlfTtsZXQgbD0iIjtjb25zdCBjPW4uZmlsdGVyKGQ9PiEhZCkuc2xpY2UoKS5yZXZlcnNlKCk7Zm9yKGNvbnN0IGQgb2YgYylsPWQobyx7ZGF0YTp0LGRlZmF1bHRFcnJvcjpsfSkubWVzc2FnZTtyZXR1cm57Li4uYSxwYXRoOmksbWVzc2FnZTpsfX07ZnVuY3Rpb24gRWUoZSx0KXtjb25zdCByPWhtZSgpLG49bW1lKHtpc3N1ZURhdGE6dCxkYXRhOmUuZGF0YSxwYXRoOmUucGF0aCxlcnJvck1hcHM6W2UuY29tbW9uLmNvbnRleHR1YWxFcnJvck1hcCxlLnNjaGVtYUVycm9yTWFwLHIscj09PUNfP3ZvaWQgMDpDX10uZmlsdGVyKGE9PiEhYSl9KTtlLmNvbW1vbi5pc3N1ZXMucHVzaChuKX1jbGFzcyBDc3tjb25zdHJ1Y3Rvcigpe3RoaXMudmFsdWU9InZhbGlkIn1kaXJ0eSgpe3RoaXMudmFsdWU9PT0idmFsaWQiJiYodGhpcy52YWx1ZT0iZGlydHkiKX1hYm9ydCgpe3RoaXMudmFsdWUhPT0iYWJvcnRlZCImJih0aGlzLnZhbHVlPSJhYm9ydGVkIil9c3RhdGljIG1lcmdlQXJyYXkodCxyKXtjb25zdCBuPVtdO2Zvcihjb25zdCBhIG9mIHIpe2lmKGEuc3RhdHVzPT09ImFib3J0ZWQiKXJldHVybiBKZTthLnN0YXR1cz09PSJkaXJ0eSImJnQuZGlydHkoKSxuLnB1c2goYS52YWx1ZSl9cmV0dXJue3N0YXR1czp0LnZhbHVlLHZhbHVlOm59fXN0YXRpYyBhc3luYyBtZXJnZU9iamVjdEFzeW5jKHQscil7Y29uc3Qgbj1bXTtmb3IoY29uc3QgYSBvZiByKXtjb25zdCBpPWF3YWl0IGEua2V5LG89YXdhaXQgYS52YWx1ZTtuLnB1c2goe2tleTppLHZhbHVlOm99KX1yZXR1cm4gQ3MubWVyZ2VPYmplY3RTeW5jKHQsbil9c3RhdGljIG1lcmdlT2JqZWN0U3luYyh0LHIpe2NvbnN0IG49e307Zm9yKGNvbnN0IGEgb2Ygcil7Y29uc3R7a2V5OmksdmFsdWU6b309YTtpZihpLnN0YXR1cz09PSJhYm9ydGVkInx8by5zdGF0dXM9PT0iYWJvcnRlZCIpcmV0dXJuIEplO2kuc3RhdHVzPT09ImRpcnR5IiYmdC5kaXJ0eSgpLG8uc3RhdHVzPT09ImRpcnR5IiYmdC5kaXJ0eSgpLGkudmFsdWUhPT0iX19wcm90b19fIiYmKHR5cGVvZiBvLnZhbHVlPCJ1Inx8YS5hbHdheXNTZXQpJiYobltpLnZhbHVlXT1vLnZhbHVlKX1yZXR1cm57c3RhdHVzOnQudmFsdWUsdmFsdWU6bn19fWNvbnN0IEplPU9iamVjdC5mcmVlemUoe3N0YXR1czoiYWJvcnRlZCJ9KSxsaD1lPT4oe3N0YXR1czoiZGlydHkiLHZhbHVlOmV9KSxkYT1lPT4oe3N0YXR1czoidmFsaWQiLHZhbHVlOmV9KSxkST1lPT5lLnN0YXR1cz09PSJhYm9ydGVkIix1ST1lPT5lLnN0YXR1cz09PSJkaXJ0eSIsY0E9ZT0+ZS5zdGF0dXM9PT0idmFsaWQiLGZ5PWU9PnR5cGVvZiBQcm9taXNlPCJ1IiYmZSBpbnN0YW5jZW9mIFByb21pc2U7dmFyIFJlOyhmdW5jdGlvbihlKXtlLmVyclRvT2JqPXQ9PnR5cGVvZiB0PT0ic3RyaW5nIj97bWVzc2FnZTp0fTp0fHx7fSxlLnRvU3RyaW5nPXQ9PnR5cGVvZiB0PT0ic3RyaW5nIj90OnQ9PW51bGw/dm9pZCAwOnQubWVzc2FnZX0pKFJlfHwoUmU9e30pKTtjbGFzcyBNbHtjb25zdHJ1Y3Rvcih0LHIsbixhKXt0aGlzLl9jYWNoZWRQYXRoPVtdLHRoaXMucGFyZW50PXQsdGhpcy5kYXRhPXIsdGhpcy5fcGF0aD1uLHRoaXMuX2tleT1hfWdldCBwYXRoKCl7cmV0dXJuIHRoaXMuX2NhY2hlZFBhdGgubGVuZ3RofHwoQXJyYXkuaXNBcnJheSh0aGlzLl9rZXkpP3RoaXMuX2NhY2hlZFBhdGgucHVzaCguLi50aGlzLl9wYXRoLC4uLnRoaXMuX2tleSk6dGhpcy5fY2FjaGVkUGF0aC5wdXNoKC4uLnRoaXMuX3BhdGgsdGhpcy5fa2V5KSksdGhpcy5fY2FjaGVkUGF0aH19Y29uc3QgQUk9KGUsdCk9PntpZihjQSh0KSlyZXR1cm57c3VjY2VzczohMCxkYXRhOnQudmFsdWV9O2lmKCFlLmNvbW1vbi5pc3N1ZXMubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiVmFsaWRhdGlvbiBmYWlsZWQgYnV0IG5vIGlzc3VlcyBkZXRlY3RlZC4iKTtyZXR1cm57c3VjY2VzczohMSxnZXQgZXJyb3IoKXtpZih0aGlzLl9lcnJvcilyZXR1cm4gdGhpcy5fZXJyb3I7Y29uc3Qgcj1uZXcgaWEoZS5jb21tb24uaXNzdWVzKTtyZXR1cm4gdGhpcy5fZXJyb3I9cix0aGlzLl9lcnJvcn19fTtmdW5jdGlvbiBjdChlKXtpZighZSlyZXR1cm57fTtjb25zdHtlcnJvck1hcDp0LGludmFsaWRfdHlwZV9lcnJvcjpyLHJlcXVpcmVkX2Vycm9yOm4sZGVzY3JpcHRpb246YX09ZTtpZih0JiYocnx8bikpdGhyb3cgbmV3IEVycm9yKGBDYW4ndCB1c2UgImludmFsaWRfdHlwZV9lcnJvciIgb3IgInJlcXVpcmVkX2Vycm9yIiBpbiBjb25qdW5jdGlvbiB3aXRoIGN1c3RvbSBlcnJvciBtYXAuYCk7cmV0dXJuIHQ/e2Vycm9yTWFwOnQsZGVzY3JpcHRpb246YX06e2Vycm9yTWFwOihvLGwpPT57Y29uc3R7bWVzc2FnZTpjfT1lO3JldHVybiBvLmNvZGU9PT0iaW52YWxpZF9lbnVtX3ZhbHVlIj97bWVzc2FnZTpjPz9sLmRlZmF1bHRFcnJvcn06dHlwZW9mIGwuZGF0YT4idSI/e21lc3NhZ2U6Yz8/bj8/bC5kZWZhdWx0RXJyb3J9Om8uY29kZSE9PSJpbnZhbGlkX3R5cGUiP3ttZXNzYWdlOmwuZGVmYXVsdEVycm9yfTp7bWVzc2FnZTpjPz9yPz9sLmRlZmF1bHRFcnJvcn19LGRlc2NyaXB0aW9uOmF9fWNsYXNzIGp0e2dldCBkZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLl9kZWYuZGVzY3JpcHRpb259X2dldFR5cGUodCl7cmV0dXJuIEtvKHQuZGF0YSl9X2dldE9yUmV0dXJuQ3R4KHQscil7cmV0dXJuIHJ8fHtjb21tb246dC5wYXJlbnQuY29tbW9uLGRhdGE6dC5kYXRhLHBhcnNlZFR5cGU6S28odC5kYXRhKSxzY2hlbWFFcnJvck1hcDp0aGlzLl9kZWYuZXJyb3JNYXAscGF0aDp0LnBhdGgscGFyZW50OnQucGFyZW50fX1fcHJvY2Vzc0lucHV0UGFyYW1zKHQpe3JldHVybntzdGF0dXM6bmV3IENzLGN0eDp7Y29tbW9uOnQucGFyZW50LmNvbW1vbixkYXRhOnQuZGF0YSxwYXJzZWRUeXBlOktvKHQuZGF0YSksc2NoZW1hRXJyb3JNYXA6dGhpcy5fZGVmLmVycm9yTWFwLHBhdGg6dC5wYXRoLHBhcmVudDp0LnBhcmVudH19fV9wYXJzZVN5bmModCl7Y29uc3Qgcj10aGlzLl9wYXJzZSh0KTtpZihmeShyKSl0aHJvdyBuZXcgRXJyb3IoIlN5bmNocm9ub3VzIHBhcnNlIGVuY291bnRlcmVkIHByb21pc2UuIik7cmV0dXJuIHJ9X3BhcnNlQXN5bmModCl7Y29uc3Qgcj10aGlzLl9wYXJzZSh0KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHIpfXBhcnNlKHQscil7Y29uc3Qgbj10aGlzLnNhZmVQYXJzZSh0LHIpO2lmKG4uc3VjY2VzcylyZXR1cm4gbi5kYXRhO3Rocm93IG4uZXJyb3J9c2FmZVBhcnNlKHQscil7Y29uc3Qgbj17Y29tbW9uOntpc3N1ZXM6W10sYXN5bmM6KHI9PW51bGw/dm9pZCAwOnIuYXN5bmMpPz8hMSxjb250ZXh0dWFsRXJyb3JNYXA6cj09bnVsbD92b2lkIDA6ci5lcnJvck1hcH0scGF0aDoocj09bnVsbD92b2lkIDA6ci5wYXRoKXx8W10sc2NoZW1hRXJyb3JNYXA6dGhpcy5fZGVmLmVycm9yTWFwLHBhcmVudDpudWxsLGRhdGE6dCxwYXJzZWRUeXBlOktvKHQpfSxhPXRoaXMuX3BhcnNlU3luYyh7ZGF0YTp0LHBhdGg6bi5wYXRoLHBhcmVudDpufSk7cmV0dXJuIEFJKG4sYSl9In52YWxpZGF0ZSIodCl7dmFyIG4sYTtjb25zdCByPXtjb21tb246e2lzc3VlczpbXSxhc3luYzohIXRoaXNbIn5zdGFuZGFyZCJdLmFzeW5jfSxwYXRoOltdLHNjaGVtYUVycm9yTWFwOnRoaXMuX2RlZi5lcnJvck1hcCxwYXJlbnQ6bnVsbCxkYXRhOnQscGFyc2VkVHlwZTpLbyh0KX07aWYoIXRoaXNbIn5zdGFuZGFyZCJdLmFzeW5jKXRyeXtjb25zdCBpPXRoaXMuX3BhcnNlU3luYyh7ZGF0YTp0LHBhdGg6W10scGFyZW50OnJ9KTtyZXR1cm4gY0EoaSk/e3ZhbHVlOmkudmFsdWV9Ontpc3N1ZXM6ci5jb21tb24uaXNzdWVzfX1jYXRjaChpKXsoYT0obj1pPT1udWxsP3ZvaWQgMDppLm1lc3NhZ2UpPT1udWxsP3ZvaWQgMDpuLnRvTG93ZXJDYXNlKCkpIT1udWxsJiZhLmluY2x1ZGVzKCJlbmNvdW50ZXJlZCIpJiYodGhpc1sifnN0YW5kYXJkIl0uYXN5bmM9ITApLHIuY29tbW9uPXtpc3N1ZXM6W10sYXN5bmM6ITB9fXJldHVybiB0aGlzLl9wYXJzZUFzeW5jKHtkYXRhOnQscGF0aDpbXSxwYXJlbnQ6cn0pLnRoZW4oaT0+Y0EoaSk/e3ZhbHVlOmkudmFsdWV9Ontpc3N1ZXM6ci5jb21tb24uaXNzdWVzfSl9YXN5bmMgcGFyc2VBc3luYyh0LHIpe2NvbnN0IG49YXdhaXQgdGhpcy5zYWZlUGFyc2VBc3luYyh0LHIpO2lmKG4uc3VjY2VzcylyZXR1cm4gbi5kYXRhO3Rocm93IG4uZXJyb3J9YXN5bmMgc2FmZVBhcnNlQXN5bmModCxyKXtjb25zdCBuPXtjb21tb246e2lzc3VlczpbXSxjb250ZXh0dWFsRXJyb3JNYXA6cj09bnVsbD92b2lkIDA6ci5lcnJvck1hcCxhc3luYzohMH0scGF0aDoocj09bnVsbD92b2lkIDA6ci5wYXRoKXx8W10sc2NoZW1hRXJyb3JNYXA6dGhpcy5fZGVmLmVycm9yTWFwLHBhcmVudDpudWxsLGRhdGE6dCxwYXJzZWRUeXBlOktvKHQpfSxhPXRoaXMuX3BhcnNlKHtkYXRhOnQscGF0aDpuLnBhdGgscGFyZW50Om59KSxpPWF3YWl0KGZ5KGEpP2E6UHJvbWlzZS5yZXNvbHZlKGEpKTtyZXR1cm4gQUkobixpKX1yZWZpbmUodCxyKXtjb25zdCBuPWE9PnR5cGVvZiByPT0ic3RyaW5nInx8dHlwZW9mIHI+InUiP3ttZXNzYWdlOnJ9OnR5cGVvZiByPT0iZnVuY3Rpb24iP3IoYSk6cjtyZXR1cm4gdGhpcy5fcmVmaW5lbWVudCgoYSxpKT0+e2NvbnN0IG89dChhKSxsPSgpPT5pLmFkZElzc3VlKHtjb2RlOnZlLmN1c3RvbSwuLi5uKGEpfSk7cmV0dXJuIHR5cGVvZiBQcm9taXNlPCJ1IiYmbyBpbnN0YW5jZW9mIFByb21pc2U/by50aGVuKGM9PmM/ITA6KGwoKSwhMSkpOm8/ITA6KGwoKSwhMSl9KX1yZWZpbmVtZW50KHQscil7cmV0dXJuIHRoaXMuX3JlZmluZW1lbnQoKG4sYSk9PnQobik/ITA6KGEuYWRkSXNzdWUodHlwZW9mIHI9PSJmdW5jdGlvbiI/cihuLGEpOnIpLCExKSl9X3JlZmluZW1lbnQodCl7cmV0dXJuIG5ldyB1QSh7c2NoZW1hOnRoaXMsdHlwZU5hbWU6WmUuWm9kRWZmZWN0cyxlZmZlY3Q6e3R5cGU6InJlZmluZW1lbnQiLHJlZmluZW1lbnQ6dH19KX1zdXBlclJlZmluZSh0KXtyZXR1cm4gdGhpcy5fcmVmaW5lbWVudCh0KX1jb25zdHJ1Y3Rvcih0KXt0aGlzLnNwYT10aGlzLnNhZmVQYXJzZUFzeW5jLHRoaXMuX2RlZj10LHRoaXMucGFyc2U9dGhpcy5wYXJzZS5iaW5kKHRoaXMpLHRoaXMuc2FmZVBhcnNlPXRoaXMuc2FmZVBhcnNlLmJpbmQodGhpcyksdGhpcy5wYXJzZUFzeW5jPXRoaXMucGFyc2VBc3luYy5iaW5kKHRoaXMpLHRoaXMuc2FmZVBhcnNlQXN5bmM9dGhpcy5zYWZlUGFyc2VBc3luYy5iaW5kKHRoaXMpLHRoaXMuc3BhPXRoaXMuc3BhLmJpbmQodGhpcyksdGhpcy5yZWZpbmU9dGhpcy5yZWZpbmUuYmluZCh0aGlzKSx0aGlzLnJlZmluZW1lbnQ9dGhpcy5yZWZpbmVtZW50LmJpbmQodGhpcyksdGhpcy5zdXBlclJlZmluZT10aGlzLnN1cGVyUmVmaW5lLmJpbmQodGhpcyksdGhpcy5vcHRpb25hbD10aGlzLm9wdGlvbmFsLmJpbmQodGhpcyksdGhpcy5udWxsYWJsZT10aGlzLm51bGxhYmxlLmJpbmQodGhpcyksdGhpcy5udWxsaXNoPXRoaXMubnVsbGlzaC5iaW5kKHRoaXMpLHRoaXMuYXJyYXk9dGhpcy5hcnJheS5iaW5kKHRoaXMpLHRoaXMucHJvbWlzZT10aGlzLnByb21pc2UuYmluZCh0aGlzKSx0aGlzLm9yPXRoaXMub3IuYmluZCh0aGlzKSx0aGlzLmFuZD10aGlzLmFuZC5iaW5kKHRoaXMpLHRoaXMudHJhbnNmb3JtPXRoaXMudHJhbnNmb3JtLmJpbmQodGhpcyksdGhpcy5icmFuZD10aGlzLmJyYW5kLmJpbmQodGhpcyksdGhpcy5kZWZhdWx0PXRoaXMuZGVmYXVsdC5iaW5kKHRoaXMpLHRoaXMuY2F0Y2g9dGhpcy5jYXRjaC5iaW5kKHRoaXMpLHRoaXMuZGVzY3JpYmU9dGhpcy5kZXNjcmliZS5iaW5kKHRoaXMpLHRoaXMucGlwZT10aGlzLnBpcGUuYmluZCh0aGlzKSx0aGlzLnJlYWRvbmx5PXRoaXMucmVhZG9ubHkuYmluZCh0aGlzKSx0aGlzLmlzTnVsbGFibGU9dGhpcy5pc051bGxhYmxlLmJpbmQodGhpcyksdGhpcy5pc09wdGlvbmFsPXRoaXMuaXNPcHRpb25hbC5iaW5kKHRoaXMpLHRoaXNbIn5zdGFuZGFyZCJdPXt2ZXJzaW9uOjEsdmVuZG9yOiJ6b2QiLHZhbGlkYXRlOnI9PnRoaXNbIn52YWxpZGF0ZSJdKHIpfX1vcHRpb25hbCgpe3JldHVybiBqbC5jcmVhdGUodGhpcyx0aGlzLl9kZWYpfW51bGxhYmxlKCl7cmV0dXJuIEFBLmNyZWF0ZSh0aGlzLHRoaXMuX2RlZil9bnVsbGlzaCgpe3JldHVybiB0aGlzLm51bGxhYmxlKCkub3B0aW9uYWwoKX1hcnJheSgpe3JldHVybiB4aS5jcmVhdGUodGhpcyl9cHJvbWlzZSgpe3JldHVybiBneS5jcmVhdGUodGhpcyx0aGlzLl9kZWYpfW9yKHQpe3JldHVybiBteS5jcmVhdGUoW3RoaXMsdF0sdGhpcy5fZGVmKX1hbmQodCl7cmV0dXJuIHB5LmNyZWF0ZSh0aGlzLHQsdGhpcy5fZGVmKX10cmFuc2Zvcm0odCl7cmV0dXJuIG5ldyB1QSh7Li4uY3QodGhpcy5fZGVmKSxzY2hlbWE6dGhpcyx0eXBlTmFtZTpaZS5ab2RFZmZlY3RzLGVmZmVjdDp7dHlwZToidHJhbnNmb3JtIix0cmFuc2Zvcm06dH19KX1kZWZhdWx0KHQpe2NvbnN0IHI9dHlwZW9mIHQ9PSJmdW5jdGlvbiI/dDooKT0+dDtyZXR1cm4gbmV3IEJfKHsuLi5jdCh0aGlzLl9kZWYpLGlubmVyVHlwZTp0aGlzLGRlZmF1bHRWYWx1ZTpyLHR5cGVOYW1lOlplLlpvZERlZmF1bHR9KX1icmFuZCgpe3JldHVybiBuZXcgTW1lKHt0eXBlTmFtZTpaZS5ab2RCcmFuZGVkLHR5cGU6dGhpcywuLi5jdCh0aGlzLl9kZWYpfSl9Y2F0Y2godCl7Y29uc3Qgcj10eXBlb2YgdD09ImZ1bmN0aW9uIj90OigpPT50O3JldHVybiBuZXcgU18oey4uLmN0KHRoaXMuX2RlZiksaW5uZXJUeXBlOnRoaXMsY2F0Y2hWYWx1ZTpyLHR5cGVOYW1lOlplLlpvZENhdGNofSl9ZGVzY3JpYmUodCl7Y29uc3Qgcj10aGlzLmNvbnN0cnVjdG9yO3JldHVybiBuZXcgcih7Li4udGhpcy5fZGVmLGRlc2NyaXB0aW9uOnR9KX1waXBlKHQpe3JldHVybiBjay5jcmVhdGUodGhpcyx0KX1yZWFkb25seSgpe3JldHVybiBFXy5jcmVhdGUodGhpcyl9aXNPcHRpb25hbCgpe3JldHVybiB0aGlzLnNhZmVQYXJzZSh2b2lkIDApLnN1Y2Nlc3N9aXNOdWxsYWJsZSgpe3JldHVybiB0aGlzLnNhZmVQYXJzZShudWxsKS5zdWNjZXNzfX1jb25zdCBwbWU9L15jW15ccy1dezgsfSQvaSxnbWU9L15bMC05YS16XSskLyx4bWU9L15bMC05QS1ISktNTlAtVFYtWl17MjZ9JC9pLHltZT0vXlswLTlhLWZBLUZdezh9XGItWzAtOWEtZkEtRl17NH1cYi1bMC05YS1mQS1GXXs0fVxiLVswLTlhLWZBLUZdezR9XGItWzAtOWEtZkEtRl17MTJ9JC9pLHZtZT0vXlthLXowLTlfLV17MjF9JC9pLHdtZT0vXltBLVphLXowLTktX10rXC5bQS1aYS16MC05LV9dK1wuW0EtWmEtejAtOS1fXSokLyxibWU9L15bLStdP1AoPyEkKSg/Oig/OlstK10/XGQrWSl8KD86Wy0rXT9cZCtbLixdXGQrWSQpKT8oPzooPzpbLStdP1xkK00pfCg/OlstK10/XGQrWy4sXVxkK00kKSk/KD86KD86Wy0rXT9cZCtXKXwoPzpbLStdP1xkK1suLF1cZCtXJCkpPyg/Oig/OlstK10/XGQrRCl8KD86Wy0rXT9cZCtbLixdXGQrRCQpKT8oPzpUKD89W1xkKy1dKSg/Oig/OlstK10/XGQrSCl8KD86Wy0rXT9cZCtbLixdXGQrSCQpKT8oPzooPzpbLStdP1xkK00pfCg/OlstK10/XGQrWy4sXVxkK00kKSk/KD86Wy0rXT9cZCsoPzpbLixdXGQrKT9TKT8pPz8kLyxqbWU9L14oPyFcLikoPyEuKlwuXC4pKFtBLVowLTlfJytcLVwuXSopW0EtWjAtOV8rLV1AKFtBLVowLTldW0EtWjAtOVwtXSpcLikrW0EtWl17Mix9JC9pLE5tZT0iXihcXHB7RXh0ZW5kZWRfUGljdG9ncmFwaGljfXxcXHB7RW1vamlfQ29tcG9uZW50fSkrJCI7bGV0IHVqO2NvbnN0IENtZT0vXig/Oig/OjI1WzAtNV18MlswLTRdWzAtOV18MVswLTldWzAtOV18WzEtOV1bMC05XXxbMC05XSlcLil7M30oPzoyNVswLTVdfDJbMC00XVswLTldfDFbMC05XVswLTldfFsxLTldWzAtOV18WzAtOV0pJC8sX21lPS9eKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV1bMC05XXxbMS05XVswLTldfFswLTldKVwuKXszfSg/OjI1WzAtNV18MlswLTRdWzAtOV18MVswLTldWzAtOV18WzEtOV1bMC05XXxbMC05XSlcLygzWzAtMl18WzEyXT9bMC05XSkkLyxCbWU9L14oKFswLTlhLWZBLUZdezEsNH06KXs3LDd9WzAtOWEtZkEtRl17MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsN306fChbMC05YS1mQS1GXXsxLDR9Oil7MSw2fTpbMC05YS1mQS1GXXsxLDR9fChbMC05YS1mQS1GXXsxLDR9Oil7MSw1fSg6WzAtOWEtZkEtRl17MSw0fSl7MSwyfXwoWzAtOWEtZkEtRl17MSw0fTopezEsNH0oOlswLTlhLWZBLUZdezEsNH0pezEsM318KFswLTlhLWZBLUZdezEsNH06KXsxLDN9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDR9fChbMC05YS1mQS1GXXsxLDR9Oil7MSwyfSg6WzAtOWEtZkEtRl17MSw0fSl7MSw1fXxbMC05YS1mQS1GXXsxLDR9OigoOlswLTlhLWZBLUZdezEsNH0pezEsNn0pfDooKDpbMC05YS1mQS1GXXsxLDR9KXsxLDd9fDopfGZlODA6KDpbMC05YS1mQS1GXXswLDR9KXswLDR9JVswLTlhLXpBLVpdezEsfXw6OihmZmZmKDowezEsNH0pezAsMX06KXswLDF9KCgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSlcLil7MywzfSgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSl8KFswLTlhLWZBLUZdezEsNH06KXsxLDR9OigoMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pXC4pezMsM30oMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pKSQvLFNtZT0vXigoWzAtOWEtZkEtRl17MSw0fTopezcsN31bMC05YS1mQS1GXXsxLDR9fChbMC05YS1mQS1GXXsxLDR9Oil7MSw3fTp8KFswLTlhLWZBLUZdezEsNH06KXsxLDZ9OlswLTlhLWZBLUZdezEsNH18KFswLTlhLWZBLUZdezEsNH06KXsxLDV9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDJ9fChbMC05YS1mQS1GXXsxLDR9Oil7MSw0fSg6WzAtOWEtZkEtRl17MSw0fSl7MSwzfXwoWzAtOWEtZkEtRl17MSw0fTopezEsM30oOlswLTlhLWZBLUZdezEsNH0pezEsNH18KFswLTlhLWZBLUZdezEsNH06KXsxLDJ9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDV9fFswLTlhLWZBLUZdezEsNH06KCg6WzAtOWEtZkEtRl17MSw0fSl7MSw2fSl8OigoOlswLTlhLWZBLUZdezEsNH0pezEsN318Oil8ZmU4MDooOlswLTlhLWZBLUZdezAsNH0pezAsNH0lWzAtOWEtekEtWl17MSx9fDo6KGZmZmYoOjB7MSw0fSl7MCwxfTopezAsMX0oKDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKVwuKXszLDN9KDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKXwoWzAtOWEtZkEtRl17MSw0fTopezEsNH06KCgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSlcLil7MywzfSgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSkpXC8oMTJbMC04XXwxWzAxXVswLTldfFsxLTldP1swLTldKSQvLEVtZT0vXihbMC05YS16QS1aKy9dezR9KSooKFswLTlhLXpBLVorL117Mn09PSl8KFswLTlhLXpBLVorL117M309KSk/JC8sa21lPS9eKFswLTlhLXpBLVotX117NH0pKigoWzAtOWEtekEtWi1fXXsyfSg9PSk/KXwoWzAtOWEtekEtWi1fXXszfSg9KT8pKT8kLyx1Vj0iKChcXGRcXGRbMjQ2OF1bMDQ4XXxcXGRcXGRbMTM1NzldWzI2XXxcXGRcXGQwWzQ4XXxbMDI0NjhdWzA0OF0wMHxbMTM1NzldWzI2XTAwKS0wMi0yOXxcXGR7NH0tKCgwWzEzNTc4XXwxWzAyXSktKDBbMS05XXxbMTJdXFxkfDNbMDFdKXwoMFs0NjldfDExKS0oMFsxLTldfFsxMl1cXGR8MzApfCgwMiktKDBbMS05XXwxXFxkfDJbMC04XSkpKSIsVG1lPW5ldyBSZWdFeHAoYF4ke3VWfSRgKTtmdW5jdGlvbiBBVihlKXtsZXQgdD0iWzAtNV1cXGQiO2UucHJlY2lzaW9uP3Q9YCR7dH1cXC5cXGR7JHtlLnByZWNpc2lvbn19YDplLnByZWNpc2lvbj09bnVsbCYmKHQ9YCR7dH0oXFwuXFxkKyk/YCk7Y29uc3Qgcj1lLnByZWNpc2lvbj8iKyI6Ij8iO3JldHVybmAoWzAxXVxcZHwyWzAtM10pOlswLTVdXFxkKDoke3R9KSR7cn1gfWZ1bmN0aW9uIFBtZShlKXtyZXR1cm4gbmV3IFJlZ0V4cChgXiR7QVYoZSl9JGApfWZ1bmN0aW9uIEZtZShlKXtsZXQgdD1gJHt1Vn1UJHtBVihlKX1gO2NvbnN0IHI9W107cmV0dXJuIHIucHVzaChlLmxvY2FsPyJaPyI6IloiKSxlLm9mZnNldCYmci5wdXNoKCIoWystXVxcZHsyfTo/XFxkezJ9KSIpLHQ9YCR7dH0oJHtyLmpvaW4oInwiKX0pYCxuZXcgUmVnRXhwKGBeJHt0fSRgKX1mdW5jdGlvbiBPbWUoZSx0KXtyZXR1cm4hISgodD09PSJ2NCJ8fCF0KSYmQ21lLnRlc3QoZSl8fCh0PT09InY2Inx8IXQpJiZCbWUudGVzdChlKSl9ZnVuY3Rpb24gSW1lKGUsdCl7aWYoIXdtZS50ZXN0KGUpKXJldHVybiExO3RyeXtjb25zdFtyXT1lLnNwbGl0KCIuIik7aWYoIXIpcmV0dXJuITE7Y29uc3Qgbj1yLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpLnBhZEVuZChyLmxlbmd0aCsoNC1yLmxlbmd0aCU0KSU0LCI9IiksYT1KU09OLnBhcnNlKGF0b2IobikpO3JldHVybiEodHlwZW9mIGEhPSJvYmplY3QifHxhPT09bnVsbHx8InR5cCJpbiBhJiYoYT09bnVsbD92b2lkIDA6YS50eXApIT09IkpXVCJ8fCFhLmFsZ3x8dCYmYS5hbGchPT10KX1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gVW1lKGUsdCl7cmV0dXJuISEoKHQ9PT0idjQifHwhdCkmJl9tZS50ZXN0KGUpfHwodD09PSJ2NiJ8fCF0KSYmU21lLnRlc3QoZSkpfWNsYXNzIGlsIGV4dGVuZHMganR7X3BhcnNlKHQpe2lmKHRoaXMuX2RlZi5jb2VyY2UmJih0LmRhdGE9U3RyaW5nKHQuZGF0YSkpLHRoaXMuX2dldFR5cGUodCkhPT1VZS5zdHJpbmcpe2NvbnN0IGk9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCk7cmV0dXJuIEVlKGkse2NvZGU6dmUuaW52YWxpZF90eXBlLGV4cGVjdGVkOlVlLnN0cmluZyxyZWNlaXZlZDppLnBhcnNlZFR5cGV9KSxKZX1jb25zdCBuPW5ldyBDcztsZXQgYTtmb3IoY29uc3QgaSBvZiB0aGlzLl9kZWYuY2hlY2tzKWlmKGkua2luZD09PSJtaW4iKXQuZGF0YS5sZW5ndGg8aS52YWx1ZSYmKGE9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxhKSxFZShhLHtjb2RlOnZlLnRvb19zbWFsbCxtaW5pbXVtOmkudmFsdWUsdHlwZToic3RyaW5nIixpbmNsdXNpdmU6ITAsZXhhY3Q6ITEsbWVzc2FnZTppLm1lc3NhZ2V9KSxuLmRpcnR5KCkpO2Vsc2UgaWYoaS5raW5kPT09Im1heCIpdC5kYXRhLmxlbmd0aD5pLnZhbHVlJiYoYT10aGlzLl9nZXRPclJldHVybkN0eCh0LGEpLEVlKGEse2NvZGU6dmUudG9vX2JpZyxtYXhpbXVtOmkudmFsdWUsdHlwZToic3RyaW5nIixpbmNsdXNpdmU6ITAsZXhhY3Q6ITEsbWVzc2FnZTppLm1lc3NhZ2V9KSxuLmRpcnR5KCkpO2Vsc2UgaWYoaS5raW5kPT09Imxlbmd0aCIpe2NvbnN0IG89dC5kYXRhLmxlbmd0aD5pLnZhbHVlLGw9dC5kYXRhLmxlbmd0aDxpLnZhbHVlOyhvfHxsKSYmKGE9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxhKSxvP0VlKGEse2NvZGU6dmUudG9vX2JpZyxtYXhpbXVtOmkudmFsdWUsdHlwZToic3RyaW5nIixpbmNsdXNpdmU6ITAsZXhhY3Q6ITAsbWVzc2FnZTppLm1lc3NhZ2V9KTpsJiZFZShhLHtjb2RlOnZlLnRvb19zbWFsbCxtaW5pbXVtOmkudmFsdWUsdHlwZToic3RyaW5nIixpbmNsdXNpdmU6ITAsZXhhY3Q6ITAsbWVzc2FnZTppLm1lc3NhZ2V9KSxuLmRpcnR5KCkpfWVsc2UgaWYoaS5raW5kPT09ImVtYWlsIilqbWUudGVzdCh0LmRhdGEpfHwoYT10aGlzLl9nZXRPclJldHVybkN0eCh0LGEpLEVlKGEse3ZhbGlkYXRpb246ImVtYWlsIixjb2RlOnZlLmludmFsaWRfc3RyaW5nLG1lc3NhZ2U6aS5tZXNzYWdlfSksbi5kaXJ0eSgpKTtlbHNlIGlmKGkua2luZD09PSJlbW9qaSIpdWp8fCh1aj1uZXcgUmVnRXhwKE5tZSwidSIpKSx1ai50ZXN0KHQuZGF0YSl8fChhPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQsYSksRWUoYSx7dmFsaWRhdGlvbjoiZW1vamkiLGNvZGU6dmUuaW52YWxpZF9zdHJpbmcsbWVzc2FnZTppLm1lc3NhZ2V9KSxuLmRpcnR5KCkpO2Vsc2UgaWYoaS5raW5kPT09InV1aWQiKXltZS50ZXN0KHQuZGF0YSl8fChhPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQsYSksRWUoYSx7dmFsaWRhdGlvbjoidXVpZCIsY29kZTp2ZS5pbnZhbGlkX3N0cmluZyxtZXNzYWdlOmkubWVzc2FnZX0pLG4uZGlydHkoKSk7ZWxzZSBpZihpLmtpbmQ9PT0ibmFub2lkIil2bWUudGVzdCh0LmRhdGEpfHwoYT10aGlzLl9nZXRPclJldHVybkN0eCh0LGEpLEVlKGEse3ZhbGlkYXRpb246Im5hbm9pZCIsY29kZTp2ZS5pbnZhbGlkX3N0cmluZyxtZXNzYWdlOmkubWVzc2FnZX0pLG4uZGlydHkoKSk7ZWxzZSBpZihpLmtpbmQ9PT0iY3VpZCIpcG1lLnRlc3QodC5kYXRhKXx8KGE9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxhKSxFZShhLHt2YWxpZGF0aW9uOiJjdWlkIixjb2RlOnZlLmludmFsaWRfc3RyaW5nLG1lc3NhZ2U6aS5tZXNzYWdlfSksbi5kaXJ0eSgpKTtlbHNlIGlmKGkua2luZD09PSJjdWlkMiIpZ21lLnRlc3QodC5kYXRhKXx8KGE9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxhKSxFZShhLHt2YWxpZGF0aW9uOiJjdWlkMiIsY29kZTp2ZS5pbnZhbGlkX3N0cmluZyxtZXNzYWdlOmkubWVzc2FnZX0pLG4uZGlydHkoKSk7ZWxzZSBpZihpLmtpbmQ9PT0idWxpZCIpeG1lLnRlc3QodC5kYXRhKXx8KGE9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxhKSxFZShhLHt2YWxpZGF0aW9uOiJ1bGlkIixjb2RlOnZlLmludmFsaWRfc3RyaW5nLG1lc3NhZ2U6aS5tZXNzYWdlfSksbi5kaXJ0eSgpKTtlbHNlIGlmKGkua2luZD09PSJ1cmwiKXRyeXtuZXcgVVJMKHQuZGF0YSl9Y2F0Y2h7YT10aGlzLl9nZXRPclJldHVybkN0eCh0LGEpLEVlKGEse3ZhbGlkYXRpb246InVybCIsY29kZTp2ZS5pbnZhbGlkX3N0cmluZyxtZXNzYWdlOmkubWVzc2FnZX0pLG4uZGlydHkoKX1lbHNlIGkua2luZD09PSJyZWdleCI/KGkucmVnZXgubGFzdEluZGV4PTAsaS5yZWdleC50ZXN0KHQuZGF0YSl8fChhPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQsYSksRWUoYSx7dmFsaWRhdGlvbjoicmVnZXgiLGNvZGU6dmUuaW52YWxpZF9zdHJpbmcsbWVzc2FnZTppLm1lc3NhZ2V9KSxuLmRpcnR5KCkpKTppLmtpbmQ9PT0idHJpbSI/dC5kYXRhPXQuZGF0YS50cmltKCk6aS5raW5kPT09ImluY2x1ZGVzIj90LmRhdGEuaW5jbHVkZXMoaS52YWx1ZSxpLnBvc2l0aW9uKXx8KGE9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxhKSxFZShhLHtjb2RlOnZlLmludmFsaWRfc3RyaW5nLHZhbGlkYXRpb246e2luY2x1ZGVzOmkudmFsdWUscG9zaXRpb246aS5wb3NpdGlvbn0sbWVzc2FnZTppLm1lc3NhZ2V9KSxuLmRpcnR5KCkpOmkua2luZD09PSJ0b0xvd2VyQ2FzZSI/dC5kYXRhPXQuZGF0YS50b0xvd2VyQ2FzZSgpOmkua2luZD09PSJ0b1VwcGVyQ2FzZSI/dC5kYXRhPXQuZGF0YS50b1VwcGVyQ2FzZSgpOmkua2luZD09PSJzdGFydHNXaXRoIj90LmRhdGEuc3RhcnRzV2l0aChpLnZhbHVlKXx8KGE9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxhKSxFZShhLHtjb2RlOnZlLmludmFsaWRfc3RyaW5nLHZhbGlkYXRpb246e3N0YXJ0c1dpdGg6aS52YWx1ZX0sbWVzc2FnZTppLm1lc3NhZ2V9KSxuLmRpcnR5KCkpOmkua2luZD09PSJlbmRzV2l0aCI/dC5kYXRhLmVuZHNXaXRoKGkudmFsdWUpfHwoYT10aGlzLl9nZXRPclJldHVybkN0eCh0LGEpLEVlKGEse2NvZGU6dmUuaW52YWxpZF9zdHJpbmcsdmFsaWRhdGlvbjp7ZW5kc1dpdGg6aS52YWx1ZX0sbWVzc2FnZTppLm1lc3NhZ2V9KSxuLmRpcnR5KCkpOmkua2luZD09PSJkYXRldGltZSI/Rm1lKGkpLnRlc3QodC5kYXRhKXx8KGE9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxhKSxFZShhLHtjb2RlOnZlLmludmFsaWRfc3RyaW5nLHZhbGlkYXRpb246ImRhdGV0aW1lIixtZXNzYWdlOmkubWVzc2FnZX0pLG4uZGlydHkoKSk6aS5raW5kPT09ImRhdGUiP1RtZS50ZXN0KHQuZGF0YSl8fChhPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQsYSksRWUoYSx7Y29kZTp2ZS5pbnZhbGlkX3N0cmluZyx2YWxpZGF0aW9uOiJkYXRlIixtZXNzYWdlOmkubWVzc2FnZX0pLG4uZGlydHkoKSk6aS5raW5kPT09InRpbWUiP1BtZShpKS50ZXN0KHQuZGF0YSl8fChhPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQsYSksRWUoYSx7Y29kZTp2ZS5pbnZhbGlkX3N0cmluZyx2YWxpZGF0aW9uOiJ0aW1lIixtZXNzYWdlOmkubWVzc2FnZX0pLG4uZGlydHkoKSk6aS5raW5kPT09ImR1cmF0aW9uIj9ibWUudGVzdCh0LmRhdGEpfHwoYT10aGlzLl9nZXRPclJldHVybkN0eCh0LGEpLEVlKGEse3ZhbGlkYXRpb246ImR1cmF0aW9uIixjb2RlOnZlLmludmFsaWRfc3RyaW5nLG1lc3NhZ2U6aS5tZXNzYWdlfSksbi5kaXJ0eSgpKTppLmtpbmQ9PT0iaXAiP09tZSh0LmRhdGEsaS52ZXJzaW9uKXx8KGE9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxhKSxFZShhLHt2YWxpZGF0aW9uOiJpcCIsY29kZTp2ZS5pbnZhbGlkX3N0cmluZyxtZXNzYWdlOmkubWVzc2FnZX0pLG4uZGlydHkoKSk6aS5raW5kPT09Imp3dCI/SW1lKHQuZGF0YSxpLmFsZyl8fChhPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQsYSksRWUoYSx7dmFsaWRhdGlvbjoiand0Iixjb2RlOnZlLmludmFsaWRfc3RyaW5nLG1lc3NhZ2U6aS5tZXNzYWdlfSksbi5kaXJ0eSgpKTppLmtpbmQ9PT0iY2lkciI/VW1lKHQuZGF0YSxpLnZlcnNpb24pfHwoYT10aGlzLl9nZXRPclJldHVybkN0eCh0LGEpLEVlKGEse3ZhbGlkYXRpb246ImNpZHIiLGNvZGU6dmUuaW52YWxpZF9zdHJpbmcsbWVzc2FnZTppLm1lc3NhZ2V9KSxuLmRpcnR5KCkpOmkua2luZD09PSJiYXNlNjQiP0VtZS50ZXN0KHQuZGF0YSl8fChhPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQsYSksRWUoYSx7dmFsaWRhdGlvbjoiYmFzZTY0Iixjb2RlOnZlLmludmFsaWRfc3RyaW5nLG1lc3NhZ2U6aS5tZXNzYWdlfSksbi5kaXJ0eSgpKTppLmtpbmQ9PT0iYmFzZTY0dXJsIj9rbWUudGVzdCh0LmRhdGEpfHwoYT10aGlzLl9nZXRPclJldHVybkN0eCh0LGEpLEVlKGEse3ZhbGlkYXRpb246ImJhc2U2NHVybCIsY29kZTp2ZS5pbnZhbGlkX3N0cmluZyxtZXNzYWdlOmkubWVzc2FnZX0pLG4uZGlydHkoKSk6Q3QuYXNzZXJ0TmV2ZXIoaSk7cmV0dXJue3N0YXR1czpuLnZhbHVlLHZhbHVlOnQuZGF0YX19X3JlZ2V4KHQscixuKXtyZXR1cm4gdGhpcy5yZWZpbmVtZW50KGE9PnQudGVzdChhKSx7dmFsaWRhdGlvbjpyLGNvZGU6dmUuaW52YWxpZF9zdHJpbmcsLi4uUmUuZXJyVG9PYmoobil9KX1fYWRkQ2hlY2sodCl7cmV0dXJuIG5ldyBpbCh7Li4udGhpcy5fZGVmLGNoZWNrczpbLi4udGhpcy5fZGVmLmNoZWNrcyx0XX0pfWVtYWlsKHQpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoiZW1haWwiLC4uLlJlLmVyclRvT2JqKHQpfSl9dXJsKHQpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoidXJsIiwuLi5SZS5lcnJUb09iaih0KX0pfWVtb2ppKHQpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoiZW1vamkiLC4uLlJlLmVyclRvT2JqKHQpfSl9dXVpZCh0KXtyZXR1cm4gdGhpcy5fYWRkQ2hlY2soe2tpbmQ6InV1aWQiLC4uLlJlLmVyclRvT2JqKHQpfSl9bmFub2lkKHQpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoibmFub2lkIiwuLi5SZS5lcnJUb09iaih0KX0pfWN1aWQodCl7cmV0dXJuIHRoaXMuX2FkZENoZWNrKHtraW5kOiJjdWlkIiwuLi5SZS5lcnJUb09iaih0KX0pfWN1aWQyKHQpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoiY3VpZDIiLC4uLlJlLmVyclRvT2JqKHQpfSl9dWxpZCh0KXtyZXR1cm4gdGhpcy5fYWRkQ2hlY2soe2tpbmQ6InVsaWQiLC4uLlJlLmVyclRvT2JqKHQpfSl9YmFzZTY0KHQpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoiYmFzZTY0IiwuLi5SZS5lcnJUb09iaih0KX0pfWJhc2U2NHVybCh0KXtyZXR1cm4gdGhpcy5fYWRkQ2hlY2soe2tpbmQ6ImJhc2U2NHVybCIsLi4uUmUuZXJyVG9PYmoodCl9KX1qd3QodCl7cmV0dXJuIHRoaXMuX2FkZENoZWNrKHtraW5kOiJqd3QiLC4uLlJlLmVyclRvT2JqKHQpfSl9aXAodCl7cmV0dXJuIHRoaXMuX2FkZENoZWNrKHtraW5kOiJpcCIsLi4uUmUuZXJyVG9PYmoodCl9KX1jaWRyKHQpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoiY2lkciIsLi4uUmUuZXJyVG9PYmoodCl9KX1kYXRldGltZSh0KXtyZXR1cm4gdHlwZW9mIHQ9PSJzdHJpbmciP3RoaXMuX2FkZENoZWNrKHtraW5kOiJkYXRldGltZSIscHJlY2lzaW9uOm51bGwsb2Zmc2V0OiExLGxvY2FsOiExLG1lc3NhZ2U6dH0pOnRoaXMuX2FkZENoZWNrKHtraW5kOiJkYXRldGltZSIscHJlY2lzaW9uOnR5cGVvZih0PT1udWxsP3ZvaWQgMDp0LnByZWNpc2lvbik+InUiP251bGw6dD09bnVsbD92b2lkIDA6dC5wcmVjaXNpb24sb2Zmc2V0Oih0PT1udWxsP3ZvaWQgMDp0Lm9mZnNldCk/PyExLGxvY2FsOih0PT1udWxsP3ZvaWQgMDp0LmxvY2FsKT8/ITEsLi4uUmUuZXJyVG9PYmoodD09bnVsbD92b2lkIDA6dC5tZXNzYWdlKX0pfWRhdGUodCl7cmV0dXJuIHRoaXMuX2FkZENoZWNrKHtraW5kOiJkYXRlIixtZXNzYWdlOnR9KX10aW1lKHQpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyI/dGhpcy5fYWRkQ2hlY2soe2tpbmQ6InRpbWUiLHByZWNpc2lvbjpudWxsLG1lc3NhZ2U6dH0pOnRoaXMuX2FkZENoZWNrKHtraW5kOiJ0aW1lIixwcmVjaXNpb246dHlwZW9mKHQ9PW51bGw/dm9pZCAwOnQucHJlY2lzaW9uKT4idSI/bnVsbDp0PT1udWxsP3ZvaWQgMDp0LnByZWNpc2lvbiwuLi5SZS5lcnJUb09iaih0PT1udWxsP3ZvaWQgMDp0Lm1lc3NhZ2UpfSl9ZHVyYXRpb24odCl7cmV0dXJuIHRoaXMuX2FkZENoZWNrKHtraW5kOiJkdXJhdGlvbiIsLi4uUmUuZXJyVG9PYmoodCl9KX1yZWdleCh0LHIpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoicmVnZXgiLHJlZ2V4OnQsLi4uUmUuZXJyVG9PYmoocil9KX1pbmNsdWRlcyh0LHIpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoiaW5jbHVkZXMiLHZhbHVlOnQscG9zaXRpb246cj09bnVsbD92b2lkIDA6ci5wb3NpdGlvbiwuLi5SZS5lcnJUb09iaihyPT1udWxsP3ZvaWQgMDpyLm1lc3NhZ2UpfSl9c3RhcnRzV2l0aCh0LHIpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoic3RhcnRzV2l0aCIsdmFsdWU6dCwuLi5SZS5lcnJUb09iaihyKX0pfWVuZHNXaXRoKHQscil7cmV0dXJuIHRoaXMuX2FkZENoZWNrKHtraW5kOiJlbmRzV2l0aCIsdmFsdWU6dCwuLi5SZS5lcnJUb09iaihyKX0pfW1pbih0LHIpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoibWluIix2YWx1ZTp0LC4uLlJlLmVyclRvT2JqKHIpfSl9bWF4KHQscil7cmV0dXJuIHRoaXMuX2FkZENoZWNrKHtraW5kOiJtYXgiLHZhbHVlOnQsLi4uUmUuZXJyVG9PYmoocil9KX1sZW5ndGgodCxyKXtyZXR1cm4gdGhpcy5fYWRkQ2hlY2soe2tpbmQ6Imxlbmd0aCIsdmFsdWU6dCwuLi5SZS5lcnJUb09iaihyKX0pfW5vbmVtcHR5KHQpe3JldHVybiB0aGlzLm1pbigxLFJlLmVyclRvT2JqKHQpKX10cmltKCl7cmV0dXJuIG5ldyBpbCh7Li4udGhpcy5fZGVmLGNoZWNrczpbLi4udGhpcy5fZGVmLmNoZWNrcyx7a2luZDoidHJpbSJ9XX0pfXRvTG93ZXJDYXNlKCl7cmV0dXJuIG5ldyBpbCh7Li4udGhpcy5fZGVmLGNoZWNrczpbLi4udGhpcy5fZGVmLmNoZWNrcyx7a2luZDoidG9Mb3dlckNhc2UifV19KX10b1VwcGVyQ2FzZSgpe3JldHVybiBuZXcgaWwoey4uLnRoaXMuX2RlZixjaGVja3M6Wy4uLnRoaXMuX2RlZi5jaGVja3Mse2tpbmQ6InRvVXBwZXJDYXNlIn1dfSl9Z2V0IGlzRGF0ZXRpbWUoKXtyZXR1cm4hIXRoaXMuX2RlZi5jaGVja3MuZmluZCh0PT50LmtpbmQ9PT0iZGF0ZXRpbWUiKX1nZXQgaXNEYXRlKCl7cmV0dXJuISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQodD0+dC5raW5kPT09ImRhdGUiKX1nZXQgaXNUaW1lKCl7cmV0dXJuISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQodD0+dC5raW5kPT09InRpbWUiKX1nZXQgaXNEdXJhdGlvbigpe3JldHVybiEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKHQ9PnQua2luZD09PSJkdXJhdGlvbiIpfWdldCBpc0VtYWlsKCl7cmV0dXJuISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQodD0+dC5raW5kPT09ImVtYWlsIil9Z2V0IGlzVVJMKCl7cmV0dXJuISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQodD0+dC5raW5kPT09InVybCIpfWdldCBpc0Vtb2ppKCl7cmV0dXJuISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQodD0+dC5raW5kPT09ImVtb2ppIil9Z2V0IGlzVVVJRCgpe3JldHVybiEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKHQ9PnQua2luZD09PSJ1dWlkIil9Z2V0IGlzTkFOT0lEKCl7cmV0dXJuISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQodD0+dC5raW5kPT09Im5hbm9pZCIpfWdldCBpc0NVSUQoKXtyZXR1cm4hIXRoaXMuX2RlZi5jaGVja3MuZmluZCh0PT50LmtpbmQ9PT0iY3VpZCIpfWdldCBpc0NVSUQyKCl7cmV0dXJuISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQodD0+dC5raW5kPT09ImN1aWQyIil9Z2V0IGlzVUxJRCgpe3JldHVybiEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKHQ9PnQua2luZD09PSJ1bGlkIil9Z2V0IGlzSVAoKXtyZXR1cm4hIXRoaXMuX2RlZi5jaGVja3MuZmluZCh0PT50LmtpbmQ9PT0iaXAiKX1nZXQgaXNDSURSKCl7cmV0dXJuISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQodD0+dC5raW5kPT09ImNpZHIiKX1nZXQgaXNCYXNlNjQoKXtyZXR1cm4hIXRoaXMuX2RlZi5jaGVja3MuZmluZCh0PT50LmtpbmQ9PT0iYmFzZTY0Iil9Z2V0IGlzQmFzZTY0dXJsKCl7cmV0dXJuISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQodD0+dC5raW5kPT09ImJhc2U2NHVybCIpfWdldCBtaW5MZW5ndGgoKXtsZXQgdD1udWxsO2Zvcihjb25zdCByIG9mIHRoaXMuX2RlZi5jaGVja3Mpci5raW5kPT09Im1pbiImJih0PT09bnVsbHx8ci52YWx1ZT50KSYmKHQ9ci52YWx1ZSk7cmV0dXJuIHR9Z2V0IG1heExlbmd0aCgpe2xldCB0PW51bGw7Zm9yKGNvbnN0IHIgb2YgdGhpcy5fZGVmLmNoZWNrcylyLmtpbmQ9PT0ibWF4IiYmKHQ9PT1udWxsfHxyLnZhbHVlPHQpJiYodD1yLnZhbHVlKTtyZXR1cm4gdH19aWwuY3JlYXRlPWU9Pm5ldyBpbCh7Y2hlY2tzOltdLHR5cGVOYW1lOlplLlpvZFN0cmluZyxjb2VyY2U6KGU9PW51bGw/dm9pZCAwOmUuY29lcmNlKT8/ITEsLi4uY3QoZSl9KTtmdW5jdGlvbiBEbWUoZSx0KXtjb25zdCByPShlLnRvU3RyaW5nKCkuc3BsaXQoIi4iKVsxXXx8IiIpLmxlbmd0aCxuPSh0LnRvU3RyaW5nKCkuc3BsaXQoIi4iKVsxXXx8IiIpLmxlbmd0aCxhPXI+bj9yOm4saT1OdW1iZXIucGFyc2VJbnQoZS50b0ZpeGVkKGEpLnJlcGxhY2UoIi4iLCIiKSksbz1OdW1iZXIucGFyc2VJbnQodC50b0ZpeGVkKGEpLnJlcGxhY2UoIi4iLCIiKSk7cmV0dXJuIGklby8xMCoqYX1jbGFzcyBUbSBleHRlbmRzIGp0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm1pbj10aGlzLmd0ZSx0aGlzLm1heD10aGlzLmx0ZSx0aGlzLnN0ZXA9dGhpcy5tdWx0aXBsZU9mfV9wYXJzZSh0KXtpZih0aGlzLl9kZWYuY29lcmNlJiYodC5kYXRhPU51bWJlcih0LmRhdGEpKSx0aGlzLl9nZXRUeXBlKHQpIT09VWUubnVtYmVyKXtjb25zdCBpPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQpO3JldHVybiBFZShpLHtjb2RlOnZlLmludmFsaWRfdHlwZSxleHBlY3RlZDpVZS5udW1iZXIscmVjZWl2ZWQ6aS5wYXJzZWRUeXBlfSksSmV9bGV0IG47Y29uc3QgYT1uZXcgQ3M7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fZGVmLmNoZWNrcylpLmtpbmQ9PT0iaW50Ij9DdC5pc0ludGVnZXIodC5kYXRhKXx8KG49dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxuKSxFZShuLHtjb2RlOnZlLmludmFsaWRfdHlwZSxleHBlY3RlZDoiaW50ZWdlciIscmVjZWl2ZWQ6ImZsb2F0IixtZXNzYWdlOmkubWVzc2FnZX0pLGEuZGlydHkoKSk6aS5raW5kPT09Im1pbiI/KGkuaW5jbHVzaXZlP3QuZGF0YTxpLnZhbHVlOnQuZGF0YTw9aS52YWx1ZSkmJihuPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQsbiksRWUobix7Y29kZTp2ZS50b29fc21hbGwsbWluaW11bTppLnZhbHVlLHR5cGU6Im51bWJlciIsaW5jbHVzaXZlOmkuaW5jbHVzaXZlLGV4YWN0OiExLG1lc3NhZ2U6aS5tZXNzYWdlfSksYS5kaXJ0eSgpKTppLmtpbmQ9PT0ibWF4Ij8oaS5pbmNsdXNpdmU/dC5kYXRhPmkudmFsdWU6dC5kYXRhPj1pLnZhbHVlKSYmKG49dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxuKSxFZShuLHtjb2RlOnZlLnRvb19iaWcsbWF4aW11bTppLnZhbHVlLHR5cGU6Im51bWJlciIsaW5jbHVzaXZlOmkuaW5jbHVzaXZlLGV4YWN0OiExLG1lc3NhZ2U6aS5tZXNzYWdlfSksYS5kaXJ0eSgpKTppLmtpbmQ9PT0ibXVsdGlwbGVPZiI/RG1lKHQuZGF0YSxpLnZhbHVlKSE9PTAmJihuPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQsbiksRWUobix7Y29kZTp2ZS5ub3RfbXVsdGlwbGVfb2YsbXVsdGlwbGVPZjppLnZhbHVlLG1lc3NhZ2U6aS5tZXNzYWdlfSksYS5kaXJ0eSgpKTppLmtpbmQ9PT0iZmluaXRlIj9OdW1iZXIuaXNGaW5pdGUodC5kYXRhKXx8KG49dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCxuKSxFZShuLHtjb2RlOnZlLm5vdF9maW5pdGUsbWVzc2FnZTppLm1lc3NhZ2V9KSxhLmRpcnR5KCkpOkN0LmFzc2VydE5ldmVyKGkpO3JldHVybntzdGF0dXM6YS52YWx1ZSx2YWx1ZTp0LmRhdGF9fWd0ZSh0LHIpe3JldHVybiB0aGlzLnNldExpbWl0KCJtaW4iLHQsITAsUmUudG9TdHJpbmcocikpfWd0KHQscil7cmV0dXJuIHRoaXMuc2V0TGltaXQoIm1pbiIsdCwhMSxSZS50b1N0cmluZyhyKSl9bHRlKHQscil7cmV0dXJuIHRoaXMuc2V0TGltaXQoIm1heCIsdCwhMCxSZS50b1N0cmluZyhyKSl9bHQodCxyKXtyZXR1cm4gdGhpcy5zZXRMaW1pdCgibWF4Iix0LCExLFJlLnRvU3RyaW5nKHIpKX1zZXRMaW1pdCh0LHIsbixhKXtyZXR1cm4gbmV3IFRtKHsuLi50aGlzLl9kZWYsY2hlY2tzOlsuLi50aGlzLl9kZWYuY2hlY2tzLHtraW5kOnQsdmFsdWU6cixpbmNsdXNpdmU6bixtZXNzYWdlOlJlLnRvU3RyaW5nKGEpfV19KX1fYWRkQ2hlY2sodCl7cmV0dXJuIG5ldyBUbSh7Li4udGhpcy5fZGVmLGNoZWNrczpbLi4udGhpcy5fZGVmLmNoZWNrcyx0XX0pfWludCh0KXtyZXR1cm4gdGhpcy5fYWRkQ2hlY2soe2tpbmQ6ImludCIsbWVzc2FnZTpSZS50b1N0cmluZyh0KX0pfXBvc2l0aXZlKHQpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoibWluIix2YWx1ZTowLGluY2x1c2l2ZTohMSxtZXNzYWdlOlJlLnRvU3RyaW5nKHQpfSl9bmVnYXRpdmUodCl7cmV0dXJuIHRoaXMuX2FkZENoZWNrKHtraW5kOiJtYXgiLHZhbHVlOjAsaW5jbHVzaXZlOiExLG1lc3NhZ2U6UmUudG9TdHJpbmcodCl9KX1ub25wb3NpdGl2ZSh0KXtyZXR1cm4gdGhpcy5fYWRkQ2hlY2soe2tpbmQ6Im1heCIsdmFsdWU6MCxpbmNsdXNpdmU6ITAsbWVzc2FnZTpSZS50b1N0cmluZyh0KX0pfW5vbm5lZ2F0aXZlKHQpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoibWluIix2YWx1ZTowLGluY2x1c2l2ZTohMCxtZXNzYWdlOlJlLnRvU3RyaW5nKHQpfSl9bXVsdGlwbGVPZih0LHIpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoibXVsdGlwbGVPZiIsdmFsdWU6dCxtZXNzYWdlOlJlLnRvU3RyaW5nKHIpfSl9ZmluaXRlKHQpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoiZmluaXRlIixtZXNzYWdlOlJlLnRvU3RyaW5nKHQpfSl9c2FmZSh0KXtyZXR1cm4gdGhpcy5fYWRkQ2hlY2soe2tpbmQ6Im1pbiIsaW5jbHVzaXZlOiEwLHZhbHVlOk51bWJlci5NSU5fU0FGRV9JTlRFR0VSLG1lc3NhZ2U6UmUudG9TdHJpbmcodCl9KS5fYWRkQ2hlY2soe2tpbmQ6Im1heCIsaW5jbHVzaXZlOiEwLHZhbHVlOk51bWJlci5NQVhfU0FGRV9JTlRFR0VSLG1lc3NhZ2U6UmUudG9TdHJpbmcodCl9KX1nZXQgbWluVmFsdWUoKXtsZXQgdD1udWxsO2Zvcihjb25zdCByIG9mIHRoaXMuX2RlZi5jaGVja3Mpci5raW5kPT09Im1pbiImJih0PT09bnVsbHx8ci52YWx1ZT50KSYmKHQ9ci52YWx1ZSk7cmV0dXJuIHR9Z2V0IG1heFZhbHVlKCl7bGV0IHQ9bnVsbDtmb3IoY29uc3QgciBvZiB0aGlzLl9kZWYuY2hlY2tzKXIua2luZD09PSJtYXgiJiYodD09PW51bGx8fHIudmFsdWU8dCkmJih0PXIudmFsdWUpO3JldHVybiB0fWdldCBpc0ludCgpe3JldHVybiEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKHQ9PnQua2luZD09PSJpbnQifHx0LmtpbmQ9PT0ibXVsdGlwbGVPZiImJkN0LmlzSW50ZWdlcih0LnZhbHVlKSl9Z2V0IGlzRmluaXRlKCl7bGV0IHQ9bnVsbCxyPW51bGw7Zm9yKGNvbnN0IG4gb2YgdGhpcy5fZGVmLmNoZWNrcyl7aWYobi5raW5kPT09ImZpbml0ZSJ8fG4ua2luZD09PSJpbnQifHxuLmtpbmQ9PT0ibXVsdGlwbGVPZiIpcmV0dXJuITA7bi5raW5kPT09Im1pbiI/KHI9PT1udWxsfHxuLnZhbHVlPnIpJiYocj1uLnZhbHVlKTpuLmtpbmQ9PT0ibWF4IiYmKHQ9PT1udWxsfHxuLnZhbHVlPHQpJiYodD1uLnZhbHVlKX1yZXR1cm4gTnVtYmVyLmlzRmluaXRlKHIpJiZOdW1iZXIuaXNGaW5pdGUodCl9fVRtLmNyZWF0ZT1lPT5uZXcgVG0oe2NoZWNrczpbXSx0eXBlTmFtZTpaZS5ab2ROdW1iZXIsY29lcmNlOihlPT1udWxsP3ZvaWQgMDplLmNvZXJjZSl8fCExLC4uLmN0KGUpfSk7Y2xhc3MgUG0gZXh0ZW5kcyBqdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5taW49dGhpcy5ndGUsdGhpcy5tYXg9dGhpcy5sdGV9X3BhcnNlKHQpe2lmKHRoaXMuX2RlZi5jb2VyY2UpdHJ5e3QuZGF0YT1CaWdJbnQodC5kYXRhKX1jYXRjaHtyZXR1cm4gdGhpcy5fZ2V0SW52YWxpZElucHV0KHQpfWlmKHRoaXMuX2dldFR5cGUodCkhPT1VZS5iaWdpbnQpcmV0dXJuIHRoaXMuX2dldEludmFsaWRJbnB1dCh0KTtsZXQgbjtjb25zdCBhPW5ldyBDcztmb3IoY29uc3QgaSBvZiB0aGlzLl9kZWYuY2hlY2tzKWkua2luZD09PSJtaW4iPyhpLmluY2x1c2l2ZT90LmRhdGE8aS52YWx1ZTp0LmRhdGE8PWkudmFsdWUpJiYobj10aGlzLl9nZXRPclJldHVybkN0eCh0LG4pLEVlKG4se2NvZGU6dmUudG9vX3NtYWxsLHR5cGU6ImJpZ2ludCIsbWluaW11bTppLnZhbHVlLGluY2x1c2l2ZTppLmluY2x1c2l2ZSxtZXNzYWdlOmkubWVzc2FnZX0pLGEuZGlydHkoKSk6aS5raW5kPT09Im1heCI/KGkuaW5jbHVzaXZlP3QuZGF0YT5pLnZhbHVlOnQuZGF0YT49aS52YWx1ZSkmJihuPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQsbiksRWUobix7Y29kZTp2ZS50b29fYmlnLHR5cGU6ImJpZ2ludCIsbWF4aW11bTppLnZhbHVlLGluY2x1c2l2ZTppLmluY2x1c2l2ZSxtZXNzYWdlOmkubWVzc2FnZX0pLGEuZGlydHkoKSk6aS5raW5kPT09Im11bHRpcGxlT2YiP3QuZGF0YSVpLnZhbHVlIT09QmlnSW50KDApJiYobj10aGlzLl9nZXRPclJldHVybkN0eCh0LG4pLEVlKG4se2NvZGU6dmUubm90X211bHRpcGxlX29mLG11bHRpcGxlT2Y6aS52YWx1ZSxtZXNzYWdlOmkubWVzc2FnZX0pLGEuZGlydHkoKSk6Q3QuYXNzZXJ0TmV2ZXIoaSk7cmV0dXJue3N0YXR1czphLnZhbHVlLHZhbHVlOnQuZGF0YX19X2dldEludmFsaWRJbnB1dCh0KXtjb25zdCByPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQpO3JldHVybiBFZShyLHtjb2RlOnZlLmludmFsaWRfdHlwZSxleHBlY3RlZDpVZS5iaWdpbnQscmVjZWl2ZWQ6ci5wYXJzZWRUeXBlfSksSmV9Z3RlKHQscil7cmV0dXJuIHRoaXMuc2V0TGltaXQoIm1pbiIsdCwhMCxSZS50b1N0cmluZyhyKSl9Z3QodCxyKXtyZXR1cm4gdGhpcy5zZXRMaW1pdCgibWluIix0LCExLFJlLnRvU3RyaW5nKHIpKX1sdGUodCxyKXtyZXR1cm4gdGhpcy5zZXRMaW1pdCgibWF4Iix0LCEwLFJlLnRvU3RyaW5nKHIpKX1sdCh0LHIpe3JldHVybiB0aGlzLnNldExpbWl0KCJtYXgiLHQsITEsUmUudG9TdHJpbmcocikpfXNldExpbWl0KHQscixuLGEpe3JldHVybiBuZXcgUG0oey4uLnRoaXMuX2RlZixjaGVja3M6Wy4uLnRoaXMuX2RlZi5jaGVja3Mse2tpbmQ6dCx2YWx1ZTpyLGluY2x1c2l2ZTpuLG1lc3NhZ2U6UmUudG9TdHJpbmcoYSl9XX0pfV9hZGRDaGVjayh0KXtyZXR1cm4gbmV3IFBtKHsuLi50aGlzLl9kZWYsY2hlY2tzOlsuLi50aGlzLl9kZWYuY2hlY2tzLHRdfSl9cG9zaXRpdmUodCl7cmV0dXJuIHRoaXMuX2FkZENoZWNrKHtraW5kOiJtaW4iLHZhbHVlOkJpZ0ludCgwKSxpbmNsdXNpdmU6ITEsbWVzc2FnZTpSZS50b1N0cmluZyh0KX0pfW5lZ2F0aXZlKHQpe3JldHVybiB0aGlzLl9hZGRDaGVjayh7a2luZDoibWF4Iix2YWx1ZTpCaWdJbnQoMCksaW5jbHVzaXZlOiExLG1lc3NhZ2U6UmUudG9TdHJpbmcodCl9KX1ub25wb3NpdGl2ZSh0KXtyZXR1cm4gdGhpcy5fYWRkQ2hlY2soe2tpbmQ6Im1heCIsdmFsdWU6QmlnSW50KDApLGluY2x1c2l2ZTohMCxtZXNzYWdlOlJlLnRvU3RyaW5nKHQpfSl9bm9ubmVnYXRpdmUodCl7cmV0dXJuIHRoaXMuX2FkZENoZWNrKHtraW5kOiJtaW4iLHZhbHVlOkJpZ0ludCgwKSxpbmNsdXNpdmU6ITAsbWVzc2FnZTpSZS50b1N0cmluZyh0KX0pfW11bHRpcGxlT2YodCxyKXtyZXR1cm4gdGhpcy5fYWRkQ2hlY2soe2tpbmQ6Im11bHRpcGxlT2YiLHZhbHVlOnQsbWVzc2FnZTpSZS50b1N0cmluZyhyKX0pfWdldCBtaW5WYWx1ZSgpe2xldCB0PW51bGw7Zm9yKGNvbnN0IHIgb2YgdGhpcy5fZGVmLmNoZWNrcylyLmtpbmQ9PT0ibWluIiYmKHQ9PT1udWxsfHxyLnZhbHVlPnQpJiYodD1yLnZhbHVlKTtyZXR1cm4gdH1nZXQgbWF4VmFsdWUoKXtsZXQgdD1udWxsO2Zvcihjb25zdCByIG9mIHRoaXMuX2RlZi5jaGVja3Mpci5raW5kPT09Im1heCImJih0PT09bnVsbHx8ci52YWx1ZTx0KSYmKHQ9ci52YWx1ZSk7cmV0dXJuIHR9fVBtLmNyZWF0ZT1lPT5uZXcgUG0oe2NoZWNrczpbXSx0eXBlTmFtZTpaZS5ab2RCaWdJbnQsY29lcmNlOihlPT1udWxsP3ZvaWQgMDplLmNvZXJjZSk/PyExLC4uLmN0KGUpfSk7Y2xhc3MgZkkgZXh0ZW5kcyBqdHtfcGFyc2UodCl7aWYodGhpcy5fZGVmLmNvZXJjZSYmKHQuZGF0YT0hIXQuZGF0YSksdGhpcy5fZ2V0VHlwZSh0KSE9PVVlLmJvb2xlYW4pe2NvbnN0IG49dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCk7cmV0dXJuIEVlKG4se2NvZGU6dmUuaW52YWxpZF90eXBlLGV4cGVjdGVkOlVlLmJvb2xlYW4scmVjZWl2ZWQ6bi5wYXJzZWRUeXBlfSksSmV9cmV0dXJuIGRhKHQuZGF0YSl9fWZJLmNyZWF0ZT1lPT5uZXcgZkkoe3R5cGVOYW1lOlplLlpvZEJvb2xlYW4sY29lcmNlOihlPT1udWxsP3ZvaWQgMDplLmNvZXJjZSl8fCExLC4uLmN0KGUpfSk7Y2xhc3MgaHkgZXh0ZW5kcyBqdHtfcGFyc2UodCl7aWYodGhpcy5fZGVmLmNvZXJjZSYmKHQuZGF0YT1uZXcgRGF0ZSh0LmRhdGEpKSx0aGlzLl9nZXRUeXBlKHQpIT09VWUuZGF0ZSl7Y29uc3QgaT10aGlzLl9nZXRPclJldHVybkN0eCh0KTtyZXR1cm4gRWUoaSx7Y29kZTp2ZS5pbnZhbGlkX3R5cGUsZXhwZWN0ZWQ6VWUuZGF0ZSxyZWNlaXZlZDppLnBhcnNlZFR5cGV9KSxKZX1pZihOdW1iZXIuaXNOYU4odC5kYXRhLmdldFRpbWUoKSkpe2NvbnN0IGk9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCk7cmV0dXJuIEVlKGkse2NvZGU6dmUuaW52YWxpZF9kYXRlfSksSmV9Y29uc3Qgbj1uZXcgQ3M7bGV0IGE7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fZGVmLmNoZWNrcylpLmtpbmQ9PT0ibWluIj90LmRhdGEuZ2V0VGltZSgpPGkudmFsdWUmJihhPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQsYSksRWUoYSx7Y29kZTp2ZS50b29fc21hbGwsbWVzc2FnZTppLm1lc3NhZ2UsaW5jbHVzaXZlOiEwLGV4YWN0OiExLG1pbmltdW06aS52YWx1ZSx0eXBlOiJkYXRlIn0pLG4uZGlydHkoKSk6aS5raW5kPT09Im1heCI/dC5kYXRhLmdldFRpbWUoKT5pLnZhbHVlJiYoYT10aGlzLl9nZXRPclJldHVybkN0eCh0LGEpLEVlKGEse2NvZGU6dmUudG9vX2JpZyxtZXNzYWdlOmkubWVzc2FnZSxpbmNsdXNpdmU6ITAsZXhhY3Q6ITEsbWF4aW11bTppLnZhbHVlLHR5cGU6ImRhdGUifSksbi5kaXJ0eSgpKTpDdC5hc3NlcnROZXZlcihpKTtyZXR1cm57c3RhdHVzOm4udmFsdWUsdmFsdWU6bmV3IERhdGUodC5kYXRhLmdldFRpbWUoKSl9fV9hZGRDaGVjayh0KXtyZXR1cm4gbmV3IGh5KHsuLi50aGlzLl9kZWYsY2hlY2tzOlsuLi50aGlzLl9kZWYuY2hlY2tzLHRdfSl9bWluKHQscil7cmV0dXJuIHRoaXMuX2FkZENoZWNrKHtraW5kOiJtaW4iLHZhbHVlOnQuZ2V0VGltZSgpLG1lc3NhZ2U6UmUudG9TdHJpbmcocil9KX1tYXgodCxyKXtyZXR1cm4gdGhpcy5fYWRkQ2hlY2soe2tpbmQ6Im1heCIsdmFsdWU6dC5nZXRUaW1lKCksbWVzc2FnZTpSZS50b1N0cmluZyhyKX0pfWdldCBtaW5EYXRlKCl7bGV0IHQ9bnVsbDtmb3IoY29uc3QgciBvZiB0aGlzLl9kZWYuY2hlY2tzKXIua2luZD09PSJtaW4iJiYodD09PW51bGx8fHIudmFsdWU+dCkmJih0PXIudmFsdWUpO3JldHVybiB0IT1udWxsP25ldyBEYXRlKHQpOm51bGx9Z2V0IG1heERhdGUoKXtsZXQgdD1udWxsO2Zvcihjb25zdCByIG9mIHRoaXMuX2RlZi5jaGVja3Mpci5raW5kPT09Im1heCImJih0PT09bnVsbHx8ci52YWx1ZTx0KSYmKHQ9ci52YWx1ZSk7cmV0dXJuIHQhPW51bGw/bmV3IERhdGUodCk6bnVsbH19aHkuY3JlYXRlPWU9Pm5ldyBoeSh7Y2hlY2tzOltdLGNvZXJjZTooZT09bnVsbD92b2lkIDA6ZS5jb2VyY2UpfHwhMSx0eXBlTmFtZTpaZS5ab2REYXRlLC4uLmN0KGUpfSk7Y2xhc3MgaEkgZXh0ZW5kcyBqdHtfcGFyc2UodCl7aWYodGhpcy5fZ2V0VHlwZSh0KSE9PVVlLnN5bWJvbCl7Y29uc3Qgbj10aGlzLl9nZXRPclJldHVybkN0eCh0KTtyZXR1cm4gRWUobix7Y29kZTp2ZS5pbnZhbGlkX3R5cGUsZXhwZWN0ZWQ6VWUuc3ltYm9sLHJlY2VpdmVkOm4ucGFyc2VkVHlwZX0pLEplfXJldHVybiBkYSh0LmRhdGEpfX1oSS5jcmVhdGU9ZT0+bmV3IGhJKHt0eXBlTmFtZTpaZS5ab2RTeW1ib2wsLi4uY3QoZSl9KTtjbGFzcyBtSSBleHRlbmRzIGp0e19wYXJzZSh0KXtpZih0aGlzLl9nZXRUeXBlKHQpIT09VWUudW5kZWZpbmVkKXtjb25zdCBuPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQpO3JldHVybiBFZShuLHtjb2RlOnZlLmludmFsaWRfdHlwZSxleHBlY3RlZDpVZS51bmRlZmluZWQscmVjZWl2ZWQ6bi5wYXJzZWRUeXBlfSksSmV9cmV0dXJuIGRhKHQuZGF0YSl9fW1JLmNyZWF0ZT1lPT5uZXcgbUkoe3R5cGVOYW1lOlplLlpvZFVuZGVmaW5lZCwuLi5jdChlKX0pO2NsYXNzIHBJIGV4dGVuZHMganR7X3BhcnNlKHQpe2lmKHRoaXMuX2dldFR5cGUodCkhPT1VZS5udWxsKXtjb25zdCBuPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQpO3JldHVybiBFZShuLHtjb2RlOnZlLmludmFsaWRfdHlwZSxleHBlY3RlZDpVZS5udWxsLHJlY2VpdmVkOm4ucGFyc2VkVHlwZX0pLEplfXJldHVybiBkYSh0LmRhdGEpfX1wSS5jcmVhdGU9ZT0+bmV3IHBJKHt0eXBlTmFtZTpaZS5ab2ROdWxsLC4uLmN0KGUpfSk7Y2xhc3MgZ0kgZXh0ZW5kcyBqdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fYW55PSEwfV9wYXJzZSh0KXtyZXR1cm4gZGEodC5kYXRhKX19Z0kuY3JlYXRlPWU9Pm5ldyBnSSh7dHlwZU5hbWU6WmUuWm9kQW55LC4uLmN0KGUpfSk7Y2xhc3MgeEkgZXh0ZW5kcyBqdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fdW5rbm93bj0hMH1fcGFyc2UodCl7cmV0dXJuIGRhKHQuZGF0YSl9fXhJLmNyZWF0ZT1lPT5uZXcgeEkoe3R5cGVOYW1lOlplLlpvZFVua25vd24sLi4uY3QoZSl9KTtjbGFzcyBSbCBleHRlbmRzIGp0e19wYXJzZSh0KXtjb25zdCByPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQpO3JldHVybiBFZShyLHtjb2RlOnZlLmludmFsaWRfdHlwZSxleHBlY3RlZDpVZS5uZXZlcixyZWNlaXZlZDpyLnBhcnNlZFR5cGV9KSxKZX19UmwuY3JlYXRlPWU9Pm5ldyBSbCh7dHlwZU5hbWU6WmUuWm9kTmV2ZXIsLi4uY3QoZSl9KTtjbGFzcyB5SSBleHRlbmRzIGp0e19wYXJzZSh0KXtpZih0aGlzLl9nZXRUeXBlKHQpIT09VWUudW5kZWZpbmVkKXtjb25zdCBuPXRoaXMuX2dldE9yUmV0dXJuQ3R4KHQpO3JldHVybiBFZShuLHtjb2RlOnZlLmludmFsaWRfdHlwZSxleHBlY3RlZDpVZS52b2lkLHJlY2VpdmVkOm4ucGFyc2VkVHlwZX0pLEplfXJldHVybiBkYSh0LmRhdGEpfX15SS5jcmVhdGU9ZT0+bmV3IHlJKHt0eXBlTmFtZTpaZS5ab2RWb2lkLC4uLmN0KGUpfSk7Y2xhc3MgeGkgZXh0ZW5kcyBqdHtfcGFyc2UodCl7Y29uc3R7Y3R4OnIsc3RhdHVzOm59PXRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyh0KSxhPXRoaXMuX2RlZjtpZihyLnBhcnNlZFR5cGUhPT1VZS5hcnJheSlyZXR1cm4gRWUocix7Y29kZTp2ZS5pbnZhbGlkX3R5cGUsZXhwZWN0ZWQ6VWUuYXJyYXkscmVjZWl2ZWQ6ci5wYXJzZWRUeXBlfSksSmU7aWYoYS5leGFjdExlbmd0aCE9PW51bGwpe2NvbnN0IG89ci5kYXRhLmxlbmd0aD5hLmV4YWN0TGVuZ3RoLnZhbHVlLGw9ci5kYXRhLmxlbmd0aDxhLmV4YWN0TGVuZ3RoLnZhbHVlOyhvfHxsKSYmKEVlKHIse2NvZGU6bz92ZS50b29fYmlnOnZlLnRvb19zbWFsbCxtaW5pbXVtOmw/YS5leGFjdExlbmd0aC52YWx1ZTp2b2lkIDAsbWF4aW11bTpvP2EuZXhhY3RMZW5ndGgudmFsdWU6dm9pZCAwLHR5cGU6ImFycmF5IixpbmNsdXNpdmU6ITAsZXhhY3Q6ITAsbWVzc2FnZTphLmV4YWN0TGVuZ3RoLm1lc3NhZ2V9KSxuLmRpcnR5KCkpfWlmKGEubWluTGVuZ3RoIT09bnVsbCYmci5kYXRhLmxlbmd0aDxhLm1pbkxlbmd0aC52YWx1ZSYmKEVlKHIse2NvZGU6dmUudG9vX3NtYWxsLG1pbmltdW06YS5taW5MZW5ndGgudmFsdWUsdHlwZToiYXJyYXkiLGluY2x1c2l2ZTohMCxleGFjdDohMSxtZXNzYWdlOmEubWluTGVuZ3RoLm1lc3NhZ2V9KSxuLmRpcnR5KCkpLGEubWF4TGVuZ3RoIT09bnVsbCYmci5kYXRhLmxlbmd0aD5hLm1heExlbmd0aC52YWx1ZSYmKEVlKHIse2NvZGU6dmUudG9vX2JpZyxtYXhpbXVtOmEubWF4TGVuZ3RoLnZhbHVlLHR5cGU6ImFycmF5IixpbmNsdXNpdmU6ITAsZXhhY3Q6ITEsbWVzc2FnZTphLm1heExlbmd0aC5tZXNzYWdlfSksbi5kaXJ0eSgpKSxyLmNvbW1vbi5hc3luYylyZXR1cm4gUHJvbWlzZS5hbGwoWy4uLnIuZGF0YV0ubWFwKChvLGwpPT5hLnR5cGUuX3BhcnNlQXN5bmMobmV3IE1sKHIsbyxyLnBhdGgsbCkpKSkudGhlbihvPT5Dcy5tZXJnZUFycmF5KG4sbykpO2NvbnN0IGk9Wy4uLnIuZGF0YV0ubWFwKChvLGwpPT5hLnR5cGUuX3BhcnNlU3luYyhuZXcgTWwocixvLHIucGF0aCxsKSkpO3JldHVybiBDcy5tZXJnZUFycmF5KG4saSl9Z2V0IGVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fZGVmLnR5cGV9bWluKHQscil7cmV0dXJuIG5ldyB4aSh7Li4udGhpcy5fZGVmLG1pbkxlbmd0aDp7dmFsdWU6dCxtZXNzYWdlOlJlLnRvU3RyaW5nKHIpfX0pfW1heCh0LHIpe3JldHVybiBuZXcgeGkoey4uLnRoaXMuX2RlZixtYXhMZW5ndGg6e3ZhbHVlOnQsbWVzc2FnZTpSZS50b1N0cmluZyhyKX19KX1sZW5ndGgodCxyKXtyZXR1cm4gbmV3IHhpKHsuLi50aGlzLl9kZWYsZXhhY3RMZW5ndGg6e3ZhbHVlOnQsbWVzc2FnZTpSZS50b1N0cmluZyhyKX19KX1ub25lbXB0eSh0KXtyZXR1cm4gdGhpcy5taW4oMSx0KX19eGkuY3JlYXRlPShlLHQpPT5uZXcgeGkoe3R5cGU6ZSxtaW5MZW5ndGg6bnVsbCxtYXhMZW5ndGg6bnVsbCxleGFjdExlbmd0aDpudWxsLHR5cGVOYW1lOlplLlpvZEFycmF5LC4uLmN0KHQpfSk7ZnVuY3Rpb24gcWQoZSl7aWYoZSBpbnN0YW5jZW9mIHhyKXtjb25zdCB0PXt9O2Zvcihjb25zdCByIGluIGUuc2hhcGUpe2NvbnN0IG49ZS5zaGFwZVtyXTt0W3JdPWpsLmNyZWF0ZShxZChuKSl9cmV0dXJuIG5ldyB4cih7Li4uZS5fZGVmLHNoYXBlOigpPT50fSl9ZWxzZSByZXR1cm4gZSBpbnN0YW5jZW9mIHhpP25ldyB4aSh7Li4uZS5fZGVmLHR5cGU6cWQoZS5lbGVtZW50KX0pOmUgaW5zdGFuY2VvZiBqbD9qbC5jcmVhdGUocWQoZS51bndyYXAoKSkpOmUgaW5zdGFuY2VvZiBBQT9BQS5jcmVhdGUocWQoZS51bndyYXAoKSkpOmUgaW5zdGFuY2VvZiBpZD9pZC5jcmVhdGUoZS5pdGVtcy5tYXAodD0+cWQodCkpKTplfWNsYXNzIHhyIGV4dGVuZHMganR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NhY2hlZD1udWxsLHRoaXMubm9uc3RyaWN0PXRoaXMucGFzc3Rocm91Z2gsdGhpcy5hdWdtZW50PXRoaXMuZXh0ZW5kfV9nZXRDYWNoZWQoKXtpZih0aGlzLl9jYWNoZWQhPT1udWxsKXJldHVybiB0aGlzLl9jYWNoZWQ7Y29uc3QgdD10aGlzLl9kZWYuc2hhcGUoKSxyPUN0Lm9iamVjdEtleXModCk7cmV0dXJuIHRoaXMuX2NhY2hlZD17c2hhcGU6dCxrZXlzOnJ9LHRoaXMuX2NhY2hlZH1fcGFyc2UodCl7aWYodGhpcy5fZ2V0VHlwZSh0KSE9PVVlLm9iamVjdCl7Y29uc3QgZD10aGlzLl9nZXRPclJldHVybkN0eCh0KTtyZXR1cm4gRWUoZCx7Y29kZTp2ZS5pbnZhbGlkX3R5cGUsZXhwZWN0ZWQ6VWUub2JqZWN0LHJlY2VpdmVkOmQucGFyc2VkVHlwZX0pLEplfWNvbnN0e3N0YXR1czpuLGN0eDphfT10aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXModCkse3NoYXBlOmksa2V5czpvfT10aGlzLl9nZXRDYWNoZWQoKSxsPVtdO2lmKCEodGhpcy5fZGVmLmNhdGNoYWxsIGluc3RhbmNlb2YgUmwmJnRoaXMuX2RlZi51bmtub3duS2V5cz09PSJzdHJpcCIpKWZvcihjb25zdCBkIGluIGEuZGF0YSlvLmluY2x1ZGVzKGQpfHxsLnB1c2goZCk7Y29uc3QgYz1bXTtmb3IoY29uc3QgZCBvZiBvKXtjb25zdCB1PWlbZF0sQT1hLmRhdGFbZF07Yy5wdXNoKHtrZXk6e3N0YXR1czoidmFsaWQiLHZhbHVlOmR9LHZhbHVlOnUuX3BhcnNlKG5ldyBNbChhLEEsYS5wYXRoLGQpKSxhbHdheXNTZXQ6ZCBpbiBhLmRhdGF9KX1pZih0aGlzLl9kZWYuY2F0Y2hhbGwgaW5zdGFuY2VvZiBSbCl7Y29uc3QgZD10aGlzLl9kZWYudW5rbm93bktleXM7aWYoZD09PSJwYXNzdGhyb3VnaCIpZm9yKGNvbnN0IHUgb2YgbCljLnB1c2goe2tleTp7c3RhdHVzOiJ2YWxpZCIsdmFsdWU6dX0sdmFsdWU6e3N0YXR1czoidmFsaWQiLHZhbHVlOmEuZGF0YVt1XX19KTtlbHNlIGlmKGQ9PT0ic3RyaWN0IilsLmxlbmd0aD4wJiYoRWUoYSx7Y29kZTp2ZS51bnJlY29nbml6ZWRfa2V5cyxrZXlzOmx9KSxuLmRpcnR5KCkpO2Vsc2UgaWYoZCE9PSJzdHJpcCIpdGhyb3cgbmV3IEVycm9yKCJJbnRlcm5hbCBab2RPYmplY3QgZXJyb3I6IGludmFsaWQgdW5rbm93bktleXMgdmFsdWUuIil9ZWxzZXtjb25zdCBkPXRoaXMuX2RlZi5jYXRjaGFsbDtmb3IoY29uc3QgdSBvZiBsKXtjb25zdCBBPWEuZGF0YVt1XTtjLnB1c2goe2tleTp7c3RhdHVzOiJ2YWxpZCIsdmFsdWU6dX0sdmFsdWU6ZC5fcGFyc2UobmV3IE1sKGEsQSxhLnBhdGgsdSkpLGFsd2F5c1NldDp1IGluIGEuZGF0YX0pfX1yZXR1cm4gYS5jb21tb24uYXN5bmM/UHJvbWlzZS5yZXNvbHZlKCkudGhlbihhc3luYygpPT57Y29uc3QgZD1bXTtmb3IoY29uc3QgdSBvZiBjKXtjb25zdCBBPWF3YWl0IHUua2V5LGY9YXdhaXQgdS52YWx1ZTtkLnB1c2goe2tleTpBLHZhbHVlOmYsYWx3YXlzU2V0OnUuYWx3YXlzU2V0fSl9cmV0dXJuIGR9KS50aGVuKGQ9PkNzLm1lcmdlT2JqZWN0U3luYyhuLGQpKTpDcy5tZXJnZU9iamVjdFN5bmMobixjKX1nZXQgc2hhcGUoKXtyZXR1cm4gdGhpcy5fZGVmLnNoYXBlKCl9c3RyaWN0KHQpe3JldHVybiBSZS5lcnJUb09iaixuZXcgeHIoey4uLnRoaXMuX2RlZix1bmtub3duS2V5czoic3RyaWN0IiwuLi50IT09dm9pZCAwP3tlcnJvck1hcDoocixuKT0+e3ZhciBpLG87Y29uc3QgYT0oKG89KGk9dGhpcy5fZGVmKS5lcnJvck1hcCk9PW51bGw/dm9pZCAwOm8uY2FsbChpLHIsbikubWVzc2FnZSk/P24uZGVmYXVsdEVycm9yO3JldHVybiByLmNvZGU9PT0idW5yZWNvZ25pemVkX2tleXMiP3ttZXNzYWdlOlJlLmVyclRvT2JqKHQpLm1lc3NhZ2U/P2F9OnttZXNzYWdlOmF9fX06e319KX1zdHJpcCgpe3JldHVybiBuZXcgeHIoey4uLnRoaXMuX2RlZix1bmtub3duS2V5czoic3RyaXAifSl9cGFzc3Rocm91Z2goKXtyZXR1cm4gbmV3IHhyKHsuLi50aGlzLl9kZWYsdW5rbm93bktleXM6InBhc3N0aHJvdWdoIn0pfWV4dGVuZCh0KXtyZXR1cm4gbmV3IHhyKHsuLi50aGlzLl9kZWYsc2hhcGU6KCk9Pih7Li4udGhpcy5fZGVmLnNoYXBlKCksLi4udH0pfSl9bWVyZ2UodCl7cmV0dXJuIG5ldyB4cih7dW5rbm93bktleXM6dC5fZGVmLnVua25vd25LZXlzLGNhdGNoYWxsOnQuX2RlZi5jYXRjaGFsbCxzaGFwZTooKT0+KHsuLi50aGlzLl9kZWYuc2hhcGUoKSwuLi50Ll9kZWYuc2hhcGUoKX0pLHR5cGVOYW1lOlplLlpvZE9iamVjdH0pfXNldEtleSh0LHIpe3JldHVybiB0aGlzLmF1Z21lbnQoe1t0XTpyfSl9Y2F0Y2hhbGwodCl7cmV0dXJuIG5ldyB4cih7Li4udGhpcy5fZGVmLGNhdGNoYWxsOnR9KX1waWNrKHQpe2NvbnN0IHI9e307Zm9yKGNvbnN0IG4gb2YgQ3Qub2JqZWN0S2V5cyh0KSl0W25dJiZ0aGlzLnNoYXBlW25dJiYocltuXT10aGlzLnNoYXBlW25dKTtyZXR1cm4gbmV3IHhyKHsuLi50aGlzLl9kZWYsc2hhcGU6KCk9PnJ9KX1vbWl0KHQpe2NvbnN0IHI9e307Zm9yKGNvbnN0IG4gb2YgQ3Qub2JqZWN0S2V5cyh0aGlzLnNoYXBlKSl0W25dfHwocltuXT10aGlzLnNoYXBlW25dKTtyZXR1cm4gbmV3IHhyKHsuLi50aGlzLl9kZWYsc2hhcGU6KCk9PnJ9KX1kZWVwUGFydGlhbCgpe3JldHVybiBxZCh0aGlzKX1wYXJ0aWFsKHQpe2NvbnN0IHI9e307Zm9yKGNvbnN0IG4gb2YgQ3Qub2JqZWN0S2V5cyh0aGlzLnNoYXBlKSl7Y29uc3QgYT10aGlzLnNoYXBlW25dO3QmJiF0W25dP3Jbbl09YTpyW25dPWEub3B0aW9uYWwoKX1yZXR1cm4gbmV3IHhyKHsuLi50aGlzLl9kZWYsc2hhcGU6KCk9PnJ9KX1yZXF1aXJlZCh0KXtjb25zdCByPXt9O2Zvcihjb25zdCBuIG9mIEN0Lm9iamVjdEtleXModGhpcy5zaGFwZSkpaWYodCYmIXRbbl0pcltuXT10aGlzLnNoYXBlW25dO2Vsc2V7bGV0IGk9dGhpcy5zaGFwZVtuXTtmb3IoO2kgaW5zdGFuY2VvZiBqbDspaT1pLl9kZWYuaW5uZXJUeXBlO3Jbbl09aX1yZXR1cm4gbmV3IHhyKHsuLi50aGlzLl9kZWYsc2hhcGU6KCk9PnJ9KX1rZXlvZigpe3JldHVybiBmVihDdC5vYmplY3RLZXlzKHRoaXMuc2hhcGUpKX19eHIuY3JlYXRlPShlLHQpPT5uZXcgeHIoe3NoYXBlOigpPT5lLHVua25vd25LZXlzOiJzdHJpcCIsY2F0Y2hhbGw6UmwuY3JlYXRlKCksdHlwZU5hbWU6WmUuWm9kT2JqZWN0LC4uLmN0KHQpfSk7eHIuc3RyaWN0Q3JlYXRlPShlLHQpPT5uZXcgeHIoe3NoYXBlOigpPT5lLHVua25vd25LZXlzOiJzdHJpY3QiLGNhdGNoYWxsOlJsLmNyZWF0ZSgpLHR5cGVOYW1lOlplLlpvZE9iamVjdCwuLi5jdCh0KX0pO3hyLmxhenljcmVhdGU9KGUsdCk9Pm5ldyB4cih7c2hhcGU6ZSx1bmtub3duS2V5czoic3RyaXAiLGNhdGNoYWxsOlJsLmNyZWF0ZSgpLHR5cGVOYW1lOlplLlpvZE9iamVjdCwuLi5jdCh0KX0pO2NsYXNzIG15IGV4dGVuZHMganR7X3BhcnNlKHQpe2NvbnN0e2N0eDpyfT10aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXModCksbj10aGlzLl9kZWYub3B0aW9ucztmdW5jdGlvbiBhKGkpe2Zvcihjb25zdCBsIG9mIGkpaWYobC5yZXN1bHQuc3RhdHVzPT09InZhbGlkIilyZXR1cm4gbC5yZXN1bHQ7Zm9yKGNvbnN0IGwgb2YgaSlpZihsLnJlc3VsdC5zdGF0dXM9PT0iZGlydHkiKXJldHVybiByLmNvbW1vbi5pc3N1ZXMucHVzaCguLi5sLmN0eC5jb21tb24uaXNzdWVzKSxsLnJlc3VsdDtjb25zdCBvPWkubWFwKGw9Pm5ldyBpYShsLmN0eC5jb21tb24uaXNzdWVzKSk7cmV0dXJuIEVlKHIse2NvZGU6dmUuaW52YWxpZF91bmlvbix1bmlvbkVycm9yczpvfSksSmV9aWYoci5jb21tb24uYXN5bmMpcmV0dXJuIFByb21pc2UuYWxsKG4ubWFwKGFzeW5jIGk9Pntjb25zdCBvPXsuLi5yLGNvbW1vbjp7Li4uci5jb21tb24saXNzdWVzOltdfSxwYXJlbnQ6bnVsbH07cmV0dXJue3Jlc3VsdDphd2FpdCBpLl9wYXJzZUFzeW5jKHtkYXRhOnIuZGF0YSxwYXRoOnIucGF0aCxwYXJlbnQ6b30pLGN0eDpvfX0pKS50aGVuKGEpO3tsZXQgaTtjb25zdCBvPVtdO2Zvcihjb25zdCBjIG9mIG4pe2NvbnN0IGQ9ey4uLnIsY29tbW9uOnsuLi5yLmNvbW1vbixpc3N1ZXM6W119LHBhcmVudDpudWxsfSx1PWMuX3BhcnNlU3luYyh7ZGF0YTpyLmRhdGEscGF0aDpyLnBhdGgscGFyZW50OmR9KTtpZih1LnN0YXR1cz09PSJ2YWxpZCIpcmV0dXJuIHU7dS5zdGF0dXM9PT0iZGlydHkiJiYhaSYmKGk9e3Jlc3VsdDp1LGN0eDpkfSksZC5jb21tb24uaXNzdWVzLmxlbmd0aCYmby5wdXNoKGQuY29tbW9uLmlzc3Vlcyl9aWYoaSlyZXR1cm4gci5jb21tb24uaXNzdWVzLnB1c2goLi4uaS5jdHguY29tbW9uLmlzc3VlcyksaS5yZXN1bHQ7Y29uc3QgbD1vLm1hcChjPT5uZXcgaWEoYykpO3JldHVybiBFZShyLHtjb2RlOnZlLmludmFsaWRfdW5pb24sdW5pb25FcnJvcnM6bH0pLEplfX1nZXQgb3B0aW9ucygpe3JldHVybiB0aGlzLl9kZWYub3B0aW9uc319bXkuY3JlYXRlPShlLHQpPT5uZXcgbXkoe29wdGlvbnM6ZSx0eXBlTmFtZTpaZS5ab2RVbmlvbiwuLi5jdCh0KX0pO2Z1bmN0aW9uIF9fKGUsdCl7Y29uc3Qgcj1LbyhlKSxuPUtvKHQpO2lmKGU9PT10KXJldHVybnt2YWxpZDohMCxkYXRhOmV9O2lmKHI9PT1VZS5vYmplY3QmJm49PT1VZS5vYmplY3Qpe2NvbnN0IGE9Q3Qub2JqZWN0S2V5cyh0KSxpPUN0Lm9iamVjdEtleXMoZSkuZmlsdGVyKGw9PmEuaW5kZXhPZihsKSE9PS0xKSxvPXsuLi5lLC4uLnR9O2Zvcihjb25zdCBsIG9mIGkpe2NvbnN0IGM9X18oZVtsXSx0W2xdKTtpZighYy52YWxpZClyZXR1cm57dmFsaWQ6ITF9O29bbF09Yy5kYXRhfXJldHVybnt2YWxpZDohMCxkYXRhOm99fWVsc2UgaWYocj09PVVlLmFycmF5JiZuPT09VWUuYXJyYXkpe2lmKGUubGVuZ3RoIT09dC5sZW5ndGgpcmV0dXJue3ZhbGlkOiExfTtjb25zdCBhPVtdO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtjb25zdCBvPWVbaV0sbD10W2ldLGM9X18obyxsKTtpZighYy52YWxpZClyZXR1cm57dmFsaWQ6ITF9O2EucHVzaChjLmRhdGEpfXJldHVybnt2YWxpZDohMCxkYXRhOmF9fWVsc2UgcmV0dXJuIHI9PT1VZS5kYXRlJiZuPT09VWUuZGF0ZSYmK2U9PSt0P3t2YWxpZDohMCxkYXRhOmV9Ont2YWxpZDohMX19Y2xhc3MgcHkgZXh0ZW5kcyBqdHtfcGFyc2UodCl7Y29uc3R7c3RhdHVzOnIsY3R4Om59PXRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyh0KSxhPShpLG8pPT57aWYoZEkoaSl8fGRJKG8pKXJldHVybiBKZTtjb25zdCBsPV9fKGkudmFsdWUsby52YWx1ZSk7cmV0dXJuIGwudmFsaWQ/KCh1SShpKXx8dUkobykpJiZyLmRpcnR5KCkse3N0YXR1czpyLnZhbHVlLHZhbHVlOmwuZGF0YX0pOihFZShuLHtjb2RlOnZlLmludmFsaWRfaW50ZXJzZWN0aW9uX3R5cGVzfSksSmUpfTtyZXR1cm4gbi5jb21tb24uYXN5bmM/UHJvbWlzZS5hbGwoW3RoaXMuX2RlZi5sZWZ0Ll9wYXJzZUFzeW5jKHtkYXRhOm4uZGF0YSxwYXRoOm4ucGF0aCxwYXJlbnQ6bn0pLHRoaXMuX2RlZi5yaWdodC5fcGFyc2VBc3luYyh7ZGF0YTpuLmRhdGEscGF0aDpuLnBhdGgscGFyZW50Om59KV0pLnRoZW4oKFtpLG9dKT0+YShpLG8pKTphKHRoaXMuX2RlZi5sZWZ0Ll9wYXJzZVN5bmMoe2RhdGE6bi5kYXRhLHBhdGg6bi5wYXRoLHBhcmVudDpufSksdGhpcy5fZGVmLnJpZ2h0Ll9wYXJzZVN5bmMoe2RhdGE6bi5kYXRhLHBhdGg6bi5wYXRoLHBhcmVudDpufSkpfX1weS5jcmVhdGU9KGUsdCxyKT0+bmV3IHB5KHtsZWZ0OmUscmlnaHQ6dCx0eXBlTmFtZTpaZS5ab2RJbnRlcnNlY3Rpb24sLi4uY3Qocil9KTtjbGFzcyBpZCBleHRlbmRzIGp0e19wYXJzZSh0KXtjb25zdHtzdGF0dXM6cixjdHg6bn09dGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKHQpO2lmKG4ucGFyc2VkVHlwZSE9PVVlLmFycmF5KXJldHVybiBFZShuLHtjb2RlOnZlLmludmFsaWRfdHlwZSxleHBlY3RlZDpVZS5hcnJheSxyZWNlaXZlZDpuLnBhcnNlZFR5cGV9KSxKZTtpZihuLmRhdGEubGVuZ3RoPHRoaXMuX2RlZi5pdGVtcy5sZW5ndGgpcmV0dXJuIEVlKG4se2NvZGU6dmUudG9vX3NtYWxsLG1pbmltdW06dGhpcy5fZGVmLml0ZW1zLmxlbmd0aCxpbmNsdXNpdmU6ITAsZXhhY3Q6ITEsdHlwZToiYXJyYXkifSksSmU7IXRoaXMuX2RlZi5yZXN0JiZuLmRhdGEubGVuZ3RoPnRoaXMuX2RlZi5pdGVtcy5sZW5ndGgmJihFZShuLHtjb2RlOnZlLnRvb19iaWcsbWF4aW11bTp0aGlzLl9kZWYuaXRlbXMubGVuZ3RoLGluY2x1c2l2ZTohMCxleGFjdDohMSx0eXBlOiJhcnJheSJ9KSxyLmRpcnR5KCkpO2NvbnN0IGk9Wy4uLm4uZGF0YV0ubWFwKChvLGwpPT57Y29uc3QgYz10aGlzLl9kZWYuaXRlbXNbbF18fHRoaXMuX2RlZi5yZXN0O3JldHVybiBjP2MuX3BhcnNlKG5ldyBNbChuLG8sbi5wYXRoLGwpKTpudWxsfSkuZmlsdGVyKG89PiEhbyk7cmV0dXJuIG4uY29tbW9uLmFzeW5jP1Byb21pc2UuYWxsKGkpLnRoZW4obz0+Q3MubWVyZ2VBcnJheShyLG8pKTpDcy5tZXJnZUFycmF5KHIsaSl9Z2V0IGl0ZW1zKCl7cmV0dXJuIHRoaXMuX2RlZi5pdGVtc31yZXN0KHQpe3JldHVybiBuZXcgaWQoey4uLnRoaXMuX2RlZixyZXN0OnR9KX19aWQuY3JlYXRlPShlLHQpPT57aWYoIUFycmF5LmlzQXJyYXkoZSkpdGhyb3cgbmV3IEVycm9yKCJZb3UgbXVzdCBwYXNzIGFuIGFycmF5IG9mIHNjaGVtYXMgdG8gei50dXBsZShbIC4uLiBdKSIpO3JldHVybiBuZXcgaWQoe2l0ZW1zOmUsdHlwZU5hbWU6WmUuWm9kVHVwbGUscmVzdDpudWxsLC4uLmN0KHQpfSl9O2NsYXNzIHZJIGV4dGVuZHMganR7Z2V0IGtleVNjaGVtYSgpe3JldHVybiB0aGlzLl9kZWYua2V5VHlwZX1nZXQgdmFsdWVTY2hlbWEoKXtyZXR1cm4gdGhpcy5fZGVmLnZhbHVlVHlwZX1fcGFyc2UodCl7Y29uc3R7c3RhdHVzOnIsY3R4Om59PXRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyh0KTtpZihuLnBhcnNlZFR5cGUhPT1VZS5tYXApcmV0dXJuIEVlKG4se2NvZGU6dmUuaW52YWxpZF90eXBlLGV4cGVjdGVkOlVlLm1hcCxyZWNlaXZlZDpuLnBhcnNlZFR5cGV9KSxKZTtjb25zdCBhPXRoaXMuX2RlZi5rZXlUeXBlLGk9dGhpcy5fZGVmLnZhbHVlVHlwZSxvPVsuLi5uLmRhdGEuZW50cmllcygpXS5tYXAoKFtsLGNdLGQpPT4oe2tleTphLl9wYXJzZShuZXcgTWwobixsLG4ucGF0aCxbZCwia2V5Il0pKSx2YWx1ZTppLl9wYXJzZShuZXcgTWwobixjLG4ucGF0aCxbZCwidmFsdWUiXSkpfSkpO2lmKG4uY29tbW9uLmFzeW5jKXtjb25zdCBsPW5ldyBNYXA7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYXN5bmMoKT0+e2Zvcihjb25zdCBjIG9mIG8pe2NvbnN0IGQ9YXdhaXQgYy5rZXksdT1hd2FpdCBjLnZhbHVlO2lmKGQuc3RhdHVzPT09ImFib3J0ZWQifHx1LnN0YXR1cz09PSJhYm9ydGVkIilyZXR1cm4gSmU7KGQuc3RhdHVzPT09ImRpcnR5Inx8dS5zdGF0dXM9PT0iZGlydHkiKSYmci5kaXJ0eSgpLGwuc2V0KGQudmFsdWUsdS52YWx1ZSl9cmV0dXJue3N0YXR1czpyLnZhbHVlLHZhbHVlOmx9fSl9ZWxzZXtjb25zdCBsPW5ldyBNYXA7Zm9yKGNvbnN0IGMgb2Ygbyl7Y29uc3QgZD1jLmtleSx1PWMudmFsdWU7aWYoZC5zdGF0dXM9PT0iYWJvcnRlZCJ8fHUuc3RhdHVzPT09ImFib3J0ZWQiKXJldHVybiBKZTsoZC5zdGF0dXM9PT0iZGlydHkifHx1LnN0YXR1cz09PSJkaXJ0eSIpJiZyLmRpcnR5KCksbC5zZXQoZC52YWx1ZSx1LnZhbHVlKX1yZXR1cm57c3RhdHVzOnIudmFsdWUsdmFsdWU6bH19fX12SS5jcmVhdGU9KGUsdCxyKT0+bmV3IHZJKHt2YWx1ZVR5cGU6dCxrZXlUeXBlOmUsdHlwZU5hbWU6WmUuWm9kTWFwLC4uLmN0KHIpfSk7Y2xhc3MgRm0gZXh0ZW5kcyBqdHtfcGFyc2UodCl7Y29uc3R7c3RhdHVzOnIsY3R4Om59PXRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyh0KTtpZihuLnBhcnNlZFR5cGUhPT1VZS5zZXQpcmV0dXJuIEVlKG4se2NvZGU6dmUuaW52YWxpZF90eXBlLGV4cGVjdGVkOlVlLnNldCxyZWNlaXZlZDpuLnBhcnNlZFR5cGV9KSxKZTtjb25zdCBhPXRoaXMuX2RlZjthLm1pblNpemUhPT1udWxsJiZuLmRhdGEuc2l6ZTxhLm1pblNpemUudmFsdWUmJihFZShuLHtjb2RlOnZlLnRvb19zbWFsbCxtaW5pbXVtOmEubWluU2l6ZS52YWx1ZSx0eXBlOiJzZXQiLGluY2x1c2l2ZTohMCxleGFjdDohMSxtZXNzYWdlOmEubWluU2l6ZS5tZXNzYWdlfSksci5kaXJ0eSgpKSxhLm1heFNpemUhPT1udWxsJiZuLmRhdGEuc2l6ZT5hLm1heFNpemUudmFsdWUmJihFZShuLHtjb2RlOnZlLnRvb19iaWcsbWF4aW11bTphLm1heFNpemUudmFsdWUsdHlwZToic2V0IixpbmNsdXNpdmU6ITAsZXhhY3Q6ITEsbWVzc2FnZTphLm1heFNpemUubWVzc2FnZX0pLHIuZGlydHkoKSk7Y29uc3QgaT10aGlzLl9kZWYudmFsdWVUeXBlO2Z1bmN0aW9uIG8oYyl7Y29uc3QgZD1uZXcgU2V0O2Zvcihjb25zdCB1IG9mIGMpe2lmKHUuc3RhdHVzPT09ImFib3J0ZWQiKXJldHVybiBKZTt1LnN0YXR1cz09PSJkaXJ0eSImJnIuZGlydHkoKSxkLmFkZCh1LnZhbHVlKX1yZXR1cm57c3RhdHVzOnIudmFsdWUsdmFsdWU6ZH19Y29uc3QgbD1bLi4ubi5kYXRhLnZhbHVlcygpXS5tYXAoKGMsZCk9PmkuX3BhcnNlKG5ldyBNbChuLGMsbi5wYXRoLGQpKSk7cmV0dXJuIG4uY29tbW9uLmFzeW5jP1Byb21pc2UuYWxsKGwpLnRoZW4oYz0+byhjKSk6byhsKX1taW4odCxyKXtyZXR1cm4gbmV3IEZtKHsuLi50aGlzLl9kZWYsbWluU2l6ZTp7dmFsdWU6dCxtZXNzYWdlOlJlLnRvU3RyaW5nKHIpfX0pfW1heCh0LHIpe3JldHVybiBuZXcgRm0oey4uLnRoaXMuX2RlZixtYXhTaXplOnt2YWx1ZTp0LG1lc3NhZ2U6UmUudG9TdHJpbmcocil9fSl9c2l6ZSh0LHIpe3JldHVybiB0aGlzLm1pbih0LHIpLm1heCh0LHIpfW5vbmVtcHR5KHQpe3JldHVybiB0aGlzLm1pbigxLHQpfX1GbS5jcmVhdGU9KGUsdCk9Pm5ldyBGbSh7dmFsdWVUeXBlOmUsbWluU2l6ZTpudWxsLG1heFNpemU6bnVsbCx0eXBlTmFtZTpaZS5ab2RTZXQsLi4uY3QodCl9KTtjbGFzcyB3SSBleHRlbmRzIGp0e2dldCBzY2hlbWEoKXtyZXR1cm4gdGhpcy5fZGVmLmdldHRlcigpfV9wYXJzZSh0KXtjb25zdHtjdHg6cn09dGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKHQpO3JldHVybiB0aGlzLl9kZWYuZ2V0dGVyKCkuX3BhcnNlKHtkYXRhOnIuZGF0YSxwYXRoOnIucGF0aCxwYXJlbnQ6cn0pfX13SS5jcmVhdGU9KGUsdCk9Pm5ldyB3SSh7Z2V0dGVyOmUsdHlwZU5hbWU6WmUuWm9kTGF6eSwuLi5jdCh0KX0pO2NsYXNzIGJJIGV4dGVuZHMganR7X3BhcnNlKHQpe2lmKHQuZGF0YSE9PXRoaXMuX2RlZi52YWx1ZSl7Y29uc3Qgcj10aGlzLl9nZXRPclJldHVybkN0eCh0KTtyZXR1cm4gRWUocix7cmVjZWl2ZWQ6ci5kYXRhLGNvZGU6dmUuaW52YWxpZF9saXRlcmFsLGV4cGVjdGVkOnRoaXMuX2RlZi52YWx1ZX0pLEplfXJldHVybntzdGF0dXM6InZhbGlkIix2YWx1ZTp0LmRhdGF9fWdldCB2YWx1ZSgpe3JldHVybiB0aGlzLl9kZWYudmFsdWV9fWJJLmNyZWF0ZT0oZSx0KT0+bmV3IGJJKHt2YWx1ZTplLHR5cGVOYW1lOlplLlpvZExpdGVyYWwsLi4uY3QodCl9KTtmdW5jdGlvbiBmVihlLHQpe3JldHVybiBuZXcgZEEoe3ZhbHVlczplLHR5cGVOYW1lOlplLlpvZEVudW0sLi4uY3QodCl9KX1jbGFzcyBkQSBleHRlbmRzIGp0e19wYXJzZSh0KXtpZih0eXBlb2YgdC5kYXRhIT0ic3RyaW5nIil7Y29uc3Qgcj10aGlzLl9nZXRPclJldHVybkN0eCh0KSxuPXRoaXMuX2RlZi52YWx1ZXM7cmV0dXJuIEVlKHIse2V4cGVjdGVkOkN0LmpvaW5WYWx1ZXMobikscmVjZWl2ZWQ6ci5wYXJzZWRUeXBlLGNvZGU6dmUuaW52YWxpZF90eXBlfSksSmV9aWYodGhpcy5fY2FjaGV8fCh0aGlzLl9jYWNoZT1uZXcgU2V0KHRoaXMuX2RlZi52YWx1ZXMpKSwhdGhpcy5fY2FjaGUuaGFzKHQuZGF0YSkpe2NvbnN0IHI9dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCksbj10aGlzLl9kZWYudmFsdWVzO3JldHVybiBFZShyLHtyZWNlaXZlZDpyLmRhdGEsY29kZTp2ZS5pbnZhbGlkX2VudW1fdmFsdWUsb3B0aW9uczpufSksSmV9cmV0dXJuIGRhKHQuZGF0YSl9Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fZGVmLnZhbHVlc31nZXQgZW51bSgpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IHIgb2YgdGhpcy5fZGVmLnZhbHVlcyl0W3JdPXI7cmV0dXJuIHR9Z2V0IFZhbHVlcygpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IHIgb2YgdGhpcy5fZGVmLnZhbHVlcyl0W3JdPXI7cmV0dXJuIHR9Z2V0IEVudW0oKXtjb25zdCB0PXt9O2Zvcihjb25zdCByIG9mIHRoaXMuX2RlZi52YWx1ZXMpdFtyXT1yO3JldHVybiB0fWV4dHJhY3QodCxyPXRoaXMuX2RlZil7cmV0dXJuIGRBLmNyZWF0ZSh0LHsuLi50aGlzLl9kZWYsLi4ucn0pfWV4Y2x1ZGUodCxyPXRoaXMuX2RlZil7cmV0dXJuIGRBLmNyZWF0ZSh0aGlzLm9wdGlvbnMuZmlsdGVyKG49PiF0LmluY2x1ZGVzKG4pKSx7Li4udGhpcy5fZGVmLC4uLnJ9KX19ZEEuY3JlYXRlPWZWO2NsYXNzIGpJIGV4dGVuZHMganR7X3BhcnNlKHQpe2NvbnN0IHI9Q3QuZ2V0VmFsaWRFbnVtVmFsdWVzKHRoaXMuX2RlZi52YWx1ZXMpLG49dGhpcy5fZ2V0T3JSZXR1cm5DdHgodCk7aWYobi5wYXJzZWRUeXBlIT09VWUuc3RyaW5nJiZuLnBhcnNlZFR5cGUhPT1VZS5udW1iZXIpe2NvbnN0IGE9Q3Qub2JqZWN0VmFsdWVzKHIpO3JldHVybiBFZShuLHtleHBlY3RlZDpDdC5qb2luVmFsdWVzKGEpLHJlY2VpdmVkOm4ucGFyc2VkVHlwZSxjb2RlOnZlLmludmFsaWRfdHlwZX0pLEplfWlmKHRoaXMuX2NhY2hlfHwodGhpcy5fY2FjaGU9bmV3IFNldChDdC5nZXRWYWxpZEVudW1WYWx1ZXModGhpcy5fZGVmLnZhbHVlcykpKSwhdGhpcy5fY2FjaGUuaGFzKHQuZGF0YSkpe2NvbnN0IGE9Q3Qub2JqZWN0VmFsdWVzKHIpO3JldHVybiBFZShuLHtyZWNlaXZlZDpuLmRhdGEsY29kZTp2ZS5pbnZhbGlkX2VudW1fdmFsdWUsb3B0aW9uczphfSksSmV9cmV0dXJuIGRhKHQuZGF0YSl9Z2V0IGVudW0oKXtyZXR1cm4gdGhpcy5fZGVmLnZhbHVlc319akkuY3JlYXRlPShlLHQpPT5uZXcgakkoe3ZhbHVlczplLHR5cGVOYW1lOlplLlpvZE5hdGl2ZUVudW0sLi4uY3QodCl9KTtjbGFzcyBneSBleHRlbmRzIGp0e3Vud3JhcCgpe3JldHVybiB0aGlzLl9kZWYudHlwZX1fcGFyc2UodCl7Y29uc3R7Y3R4OnJ9PXRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyh0KTtpZihyLnBhcnNlZFR5cGUhPT1VZS5wcm9taXNlJiZyLmNvbW1vbi5hc3luYz09PSExKXJldHVybiBFZShyLHtjb2RlOnZlLmludmFsaWRfdHlwZSxleHBlY3RlZDpVZS5wcm9taXNlLHJlY2VpdmVkOnIucGFyc2VkVHlwZX0pLEplO2NvbnN0IG49ci5wYXJzZWRUeXBlPT09VWUucHJvbWlzZT9yLmRhdGE6UHJvbWlzZS5yZXNvbHZlKHIuZGF0YSk7cmV0dXJuIGRhKG4udGhlbihhPT50aGlzLl9kZWYudHlwZS5wYXJzZUFzeW5jKGEse3BhdGg6ci5wYXRoLGVycm9yTWFwOnIuY29tbW9uLmNvbnRleHR1YWxFcnJvck1hcH0pKSl9fWd5LmNyZWF0ZT0oZSx0KT0+bmV3IGd5KHt0eXBlOmUsdHlwZU5hbWU6WmUuWm9kUHJvbWlzZSwuLi5jdCh0KX0pO2NsYXNzIHVBIGV4dGVuZHMganR7aW5uZXJUeXBlKCl7cmV0dXJuIHRoaXMuX2RlZi5zY2hlbWF9c291cmNlVHlwZSgpe3JldHVybiB0aGlzLl9kZWYuc2NoZW1hLl9kZWYudHlwZU5hbWU9PT1aZS5ab2RFZmZlY3RzP3RoaXMuX2RlZi5zY2hlbWEuc291cmNlVHlwZSgpOnRoaXMuX2RlZi5zY2hlbWF9X3BhcnNlKHQpe2NvbnN0e3N0YXR1czpyLGN0eDpufT10aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXModCksYT10aGlzLl9kZWYuZWZmZWN0fHxudWxsLGk9e2FkZElzc3VlOm89PntFZShuLG8pLG8uZmF0YWw/ci5hYm9ydCgpOnIuZGlydHkoKX0sZ2V0IHBhdGgoKXtyZXR1cm4gbi5wYXRofX07aWYoaS5hZGRJc3N1ZT1pLmFkZElzc3VlLmJpbmQoaSksYS50eXBlPT09InByZXByb2Nlc3MiKXtjb25zdCBvPWEudHJhbnNmb3JtKG4uZGF0YSxpKTtpZihuLmNvbW1vbi5hc3luYylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oYXN5bmMgbD0+e2lmKHIudmFsdWU9PT0iYWJvcnRlZCIpcmV0dXJuIEplO2NvbnN0IGM9YXdhaXQgdGhpcy5fZGVmLnNjaGVtYS5fcGFyc2VBc3luYyh7ZGF0YTpsLHBhdGg6bi5wYXRoLHBhcmVudDpufSk7cmV0dXJuIGMuc3RhdHVzPT09ImFib3J0ZWQiP0plOmMuc3RhdHVzPT09ImRpcnR5Inx8ci52YWx1ZT09PSJkaXJ0eSI/bGgoYy52YWx1ZSk6Y30pO3tpZihyLnZhbHVlPT09ImFib3J0ZWQiKXJldHVybiBKZTtjb25zdCBsPXRoaXMuX2RlZi5zY2hlbWEuX3BhcnNlU3luYyh7ZGF0YTpvLHBhdGg6bi5wYXRoLHBhcmVudDpufSk7cmV0dXJuIGwuc3RhdHVzPT09ImFib3J0ZWQiP0plOmwuc3RhdHVzPT09ImRpcnR5Inx8ci52YWx1ZT09PSJkaXJ0eSI/bGgobC52YWx1ZSk6bH19aWYoYS50eXBlPT09InJlZmluZW1lbnQiKXtjb25zdCBvPWw9Pntjb25zdCBjPWEucmVmaW5lbWVudChsLGkpO2lmKG4uY29tbW9uLmFzeW5jKXJldHVybiBQcm9taXNlLnJlc29sdmUoYyk7aWYoYyBpbnN0YW5jZW9mIFByb21pc2UpdGhyb3cgbmV3IEVycm9yKCJBc3luYyByZWZpbmVtZW50IGVuY291bnRlcmVkIGR1cmluZyBzeW5jaHJvbm91cyBwYXJzZSBvcGVyYXRpb24uIFVzZSAucGFyc2VBc3luYyBpbnN0ZWFkLiIpO3JldHVybiBsfTtpZihuLmNvbW1vbi5hc3luYz09PSExKXtjb25zdCBsPXRoaXMuX2RlZi5zY2hlbWEuX3BhcnNlU3luYyh7ZGF0YTpuLmRhdGEscGF0aDpuLnBhdGgscGFyZW50Om59KTtyZXR1cm4gbC5zdGF0dXM9PT0iYWJvcnRlZCI/SmU6KGwuc3RhdHVzPT09ImRpcnR5IiYmci5kaXJ0eSgpLG8obC52YWx1ZSkse3N0YXR1czpyLnZhbHVlLHZhbHVlOmwudmFsdWV9KX1lbHNlIHJldHVybiB0aGlzLl9kZWYuc2NoZW1hLl9wYXJzZUFzeW5jKHtkYXRhOm4uZGF0YSxwYXRoOm4ucGF0aCxwYXJlbnQ6bn0pLnRoZW4obD0+bC5zdGF0dXM9PT0iYWJvcnRlZCI/SmU6KGwuc3RhdHVzPT09ImRpcnR5IiYmci5kaXJ0eSgpLG8obC52YWx1ZSkudGhlbigoKT0+KHtzdGF0dXM6ci52YWx1ZSx2YWx1ZTpsLnZhbHVlfSkpKSl9aWYoYS50eXBlPT09InRyYW5zZm9ybSIpaWYobi5jb21tb24uYXN5bmM9PT0hMSl7Y29uc3Qgbz10aGlzLl9kZWYuc2NoZW1hLl9wYXJzZVN5bmMoe2RhdGE6bi5kYXRhLHBhdGg6bi5wYXRoLHBhcmVudDpufSk7aWYoIWNBKG8pKXJldHVybiBKZTtjb25zdCBsPWEudHJhbnNmb3JtKG8udmFsdWUsaSk7aWYobCBpbnN0YW5jZW9mIFByb21pc2UpdGhyb3cgbmV3IEVycm9yKCJBc3luY2hyb25vdXMgdHJhbnNmb3JtIGVuY291bnRlcmVkIGR1cmluZyBzeW5jaHJvbm91cyBwYXJzZSBvcGVyYXRpb24uIFVzZSAucGFyc2VBc3luYyBpbnN0ZWFkLiIpO3JldHVybntzdGF0dXM6ci52YWx1ZSx2YWx1ZTpsfX1lbHNlIHJldHVybiB0aGlzLl9kZWYuc2NoZW1hLl9wYXJzZUFzeW5jKHtkYXRhOm4uZGF0YSxwYXRoOm4ucGF0aCxwYXJlbnQ6bn0pLnRoZW4obz0+Y0Eobyk/UHJvbWlzZS5yZXNvbHZlKGEudHJhbnNmb3JtKG8udmFsdWUsaSkpLnRoZW4obD0+KHtzdGF0dXM6ci52YWx1ZSx2YWx1ZTpsfSkpOkplKTtDdC5hc3NlcnROZXZlcihhKX19dUEuY3JlYXRlPShlLHQscik9Pm5ldyB1QSh7c2NoZW1hOmUsdHlwZU5hbWU6WmUuWm9kRWZmZWN0cyxlZmZlY3Q6dCwuLi5jdChyKX0pO3VBLmNyZWF0ZVdpdGhQcmVwcm9jZXNzPShlLHQscik9Pm5ldyB1QSh7c2NoZW1hOnQsZWZmZWN0Ont0eXBlOiJwcmVwcm9jZXNzIix0cmFuc2Zvcm06ZX0sdHlwZU5hbWU6WmUuWm9kRWZmZWN0cywuLi5jdChyKX0pO2NsYXNzIGpsIGV4dGVuZHMganR7X3BhcnNlKHQpe3JldHVybiB0aGlzLl9nZXRUeXBlKHQpPT09VWUudW5kZWZpbmVkP2RhKHZvaWQgMCk6dGhpcy5fZGVmLmlubmVyVHlwZS5fcGFyc2UodCl9dW53cmFwKCl7cmV0dXJuIHRoaXMuX2RlZi5pbm5lclR5cGV9fWpsLmNyZWF0ZT0oZSx0KT0+bmV3IGpsKHtpbm5lclR5cGU6ZSx0eXBlTmFtZTpaZS5ab2RPcHRpb25hbCwuLi5jdCh0KX0pO2NsYXNzIEFBIGV4dGVuZHMganR7X3BhcnNlKHQpe3JldHVybiB0aGlzLl9nZXRUeXBlKHQpPT09VWUubnVsbD9kYShudWxsKTp0aGlzLl9kZWYuaW5uZXJUeXBlLl9wYXJzZSh0KX11bndyYXAoKXtyZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZX19QUEuY3JlYXRlPShlLHQpPT5uZXcgQUEoe2lubmVyVHlwZTplLHR5cGVOYW1lOlplLlpvZE51bGxhYmxlLC4uLmN0KHQpfSk7Y2xhc3MgQl8gZXh0ZW5kcyBqdHtfcGFyc2UodCl7Y29uc3R7Y3R4OnJ9PXRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyh0KTtsZXQgbj1yLmRhdGE7cmV0dXJuIHIucGFyc2VkVHlwZT09PVVlLnVuZGVmaW5lZCYmKG49dGhpcy5fZGVmLmRlZmF1bHRWYWx1ZSgpKSx0aGlzLl9kZWYuaW5uZXJUeXBlLl9wYXJzZSh7ZGF0YTpuLHBhdGg6ci5wYXRoLHBhcmVudDpyfSl9cmVtb3ZlRGVmYXVsdCgpe3JldHVybiB0aGlzLl9kZWYuaW5uZXJUeXBlfX1CXy5jcmVhdGU9KGUsdCk9Pm5ldyBCXyh7aW5uZXJUeXBlOmUsdHlwZU5hbWU6WmUuWm9kRGVmYXVsdCxkZWZhdWx0VmFsdWU6dHlwZW9mIHQuZGVmYXVsdD09ImZ1bmN0aW9uIj90LmRlZmF1bHQ6KCk9PnQuZGVmYXVsdCwuLi5jdCh0KX0pO2NsYXNzIFNfIGV4dGVuZHMganR7X3BhcnNlKHQpe2NvbnN0e2N0eDpyfT10aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXModCksbj17Li4ucixjb21tb246ey4uLnIuY29tbW9uLGlzc3VlczpbXX19LGE9dGhpcy5fZGVmLmlubmVyVHlwZS5fcGFyc2Uoe2RhdGE6bi5kYXRhLHBhdGg6bi5wYXRoLHBhcmVudDp7Li4ubn19KTtyZXR1cm4gZnkoYSk/YS50aGVuKGk9Pih7c3RhdHVzOiJ2YWxpZCIsdmFsdWU6aS5zdGF0dXM9PT0idmFsaWQiP2kudmFsdWU6dGhpcy5fZGVmLmNhdGNoVmFsdWUoe2dldCBlcnJvcigpe3JldHVybiBuZXcgaWEobi5jb21tb24uaXNzdWVzKX0saW5wdXQ6bi5kYXRhfSl9KSk6e3N0YXR1czoidmFsaWQiLHZhbHVlOmEuc3RhdHVzPT09InZhbGlkIj9hLnZhbHVlOnRoaXMuX2RlZi5jYXRjaFZhbHVlKHtnZXQgZXJyb3IoKXtyZXR1cm4gbmV3IGlhKG4uY29tbW9uLmlzc3Vlcyl9LGlucHV0Om4uZGF0YX0pfX1yZW1vdmVDYXRjaCgpe3JldHVybiB0aGlzLl9kZWYuaW5uZXJUeXBlfX1TXy5jcmVhdGU9KGUsdCk9Pm5ldyBTXyh7aW5uZXJUeXBlOmUsdHlwZU5hbWU6WmUuWm9kQ2F0Y2gsY2F0Y2hWYWx1ZTp0eXBlb2YgdC5jYXRjaD09ImZ1bmN0aW9uIj90LmNhdGNoOigpPT50LmNhdGNoLC4uLmN0KHQpfSk7Y2xhc3MgTkkgZXh0ZW5kcyBqdHtfcGFyc2UodCl7aWYodGhpcy5fZ2V0VHlwZSh0KSE9PVVlLm5hbil7Y29uc3Qgbj10aGlzLl9nZXRPclJldHVybkN0eCh0KTtyZXR1cm4gRWUobix7Y29kZTp2ZS5pbnZhbGlkX3R5cGUsZXhwZWN0ZWQ6VWUubmFuLHJlY2VpdmVkOm4ucGFyc2VkVHlwZX0pLEplfXJldHVybntzdGF0dXM6InZhbGlkIix2YWx1ZTp0LmRhdGF9fX1OSS5jcmVhdGU9ZT0+bmV3IE5JKHt0eXBlTmFtZTpaZS5ab2ROYU4sLi4uY3QoZSl9KTtjbGFzcyBNbWUgZXh0ZW5kcyBqdHtfcGFyc2UodCl7Y29uc3R7Y3R4OnJ9PXRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyh0KSxuPXIuZGF0YTtyZXR1cm4gdGhpcy5fZGVmLnR5cGUuX3BhcnNlKHtkYXRhOm4scGF0aDpyLnBhdGgscGFyZW50OnJ9KX11bndyYXAoKXtyZXR1cm4gdGhpcy5fZGVmLnR5cGV9fWNsYXNzIGNrIGV4dGVuZHMganR7X3BhcnNlKHQpe2NvbnN0e3N0YXR1czpyLGN0eDpufT10aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXModCk7aWYobi5jb21tb24uYXN5bmMpcmV0dXJuKGFzeW5jKCk9Pntjb25zdCBpPWF3YWl0IHRoaXMuX2RlZi5pbi5fcGFyc2VBc3luYyh7ZGF0YTpuLmRhdGEscGF0aDpuLnBhdGgscGFyZW50Om59KTtyZXR1cm4gaS5zdGF0dXM9PT0iYWJvcnRlZCI/SmU6aS5zdGF0dXM9PT0iZGlydHkiPyhyLmRpcnR5KCksbGgoaS52YWx1ZSkpOnRoaXMuX2RlZi5vdXQuX3BhcnNlQXN5bmMoe2RhdGE6aS52YWx1ZSxwYXRoOm4ucGF0aCxwYXJlbnQ6bn0pfSkoKTt7Y29uc3QgYT10aGlzLl9kZWYuaW4uX3BhcnNlU3luYyh7ZGF0YTpuLmRhdGEscGF0aDpuLnBhdGgscGFyZW50Om59KTtyZXR1cm4gYS5zdGF0dXM9PT0iYWJvcnRlZCI/SmU6YS5zdGF0dXM9PT0iZGlydHkiPyhyLmRpcnR5KCkse3N0YXR1czoiZGlydHkiLHZhbHVlOmEudmFsdWV9KTp0aGlzLl9kZWYub3V0Ll9wYXJzZVN5bmMoe2RhdGE6YS52YWx1ZSxwYXRoOm4ucGF0aCxwYXJlbnQ6bn0pfX1zdGF0aWMgY3JlYXRlKHQscil7cmV0dXJuIG5ldyBjayh7aW46dCxvdXQ6cix0eXBlTmFtZTpaZS5ab2RQaXBlbGluZX0pfX1jbGFzcyBFXyBleHRlbmRzIGp0e19wYXJzZSh0KXtjb25zdCByPXRoaXMuX2RlZi5pbm5lclR5cGUuX3BhcnNlKHQpLG49YT0+KGNBKGEpJiYoYS52YWx1ZT1PYmplY3QuZnJlZXplKGEudmFsdWUpKSxhKTtyZXR1cm4gZnkocik/ci50aGVuKGE9Pm4oYSkpOm4ocil9dW53cmFwKCl7cmV0dXJuIHRoaXMuX2RlZi5pbm5lclR5cGV9fUVfLmNyZWF0ZT0oZSx0KT0+bmV3IEVfKHtpbm5lclR5cGU6ZSx0eXBlTmFtZTpaZS5ab2RSZWFkb25seSwuLi5jdCh0KX0pO3hyLmxhenljcmVhdGU7dmFyIFplOyhmdW5jdGlvbihlKXtlLlpvZFN0cmluZz0iWm9kU3RyaW5nIixlLlpvZE51bWJlcj0iWm9kTnVtYmVyIixlLlpvZE5hTj0iWm9kTmFOIixlLlpvZEJpZ0ludD0iWm9kQmlnSW50IixlLlpvZEJvb2xlYW49IlpvZEJvb2xlYW4iLGUuWm9kRGF0ZT0iWm9kRGF0ZSIsZS5ab2RTeW1ib2w9IlpvZFN5bWJvbCIsZS5ab2RVbmRlZmluZWQ9IlpvZFVuZGVmaW5lZCIsZS5ab2ROdWxsPSJab2ROdWxsIixlLlpvZEFueT0iWm9kQW55IixlLlpvZFVua25vd249IlpvZFVua25vd24iLGUuWm9kTmV2ZXI9IlpvZE5ldmVyIixlLlpvZFZvaWQ9IlpvZFZvaWQiLGUuWm9kQXJyYXk9IlpvZEFycmF5IixlLlpvZE9iamVjdD0iWm9kT2JqZWN0IixlLlpvZFVuaW9uPSJab2RVbmlvbiIsZS5ab2REaXNjcmltaW5hdGVkVW5pb249IlpvZERpc2NyaW1pbmF0ZWRVbmlvbiIsZS5ab2RJbnRlcnNlY3Rpb249IlpvZEludGVyc2VjdGlvbiIsZS5ab2RUdXBsZT0iWm9kVHVwbGUiLGUuWm9kUmVjb3JkPSJab2RSZWNvcmQiLGUuWm9kTWFwPSJab2RNYXAiLGUuWm9kU2V0PSJab2RTZXQiLGUuWm9kRnVuY3Rpb249IlpvZEZ1bmN0aW9uIixlLlpvZExhenk9IlpvZExhenkiLGUuWm9kTGl0ZXJhbD0iWm9kTGl0ZXJhbCIsZS5ab2RFbnVtPSJab2RFbnVtIixlLlpvZEVmZmVjdHM9IlpvZEVmZmVjdHMiLGUuWm9kTmF0aXZlRW51bT0iWm9kTmF0aXZlRW51bSIsZS5ab2RPcHRpb25hbD0iWm9kT3B0aW9uYWwiLGUuWm9kTnVsbGFibGU9IlpvZE51bGxhYmxlIixlLlpvZERlZmF1bHQ9IlpvZERlZmF1bHQiLGUuWm9kQ2F0Y2g9IlpvZENhdGNoIixlLlpvZFByb21pc2U9IlpvZFByb21pc2UiLGUuWm9kQnJhbmRlZD0iWm9kQnJhbmRlZCIsZS5ab2RQaXBlbGluZT0iWm9kUGlwZWxpbmUiLGUuWm9kUmVhZG9ubHk9IlpvZFJlYWRvbmx5In0pKFplfHwoWmU9e30pKTtjb25zdCBTbj1pbC5jcmVhdGU7UmwuY3JlYXRlO3hpLmNyZWF0ZTtjb25zdCBkaz14ci5jcmVhdGU7eHIuc3RyaWN0Q3JlYXRlO215LmNyZWF0ZTtweS5jcmVhdGU7aWQuY3JlYXRlO2RBLmNyZWF0ZTtneS5jcmVhdGU7amwuY3JlYXRlO0FBLmNyZWF0ZTtjb25zdCBDST1TbigpLnRyaW0oKS5lbWFpbCh7bWVzc2FnZToiSW52YWxpZCBlbWFpbCBhZGRyZXNzIn0pLFJtZT1TbigpLm1pbig4LHttZXNzYWdlOiJQYXNzd29yZCBtdXN0IGJlIGF0IGxlYXN0IDggY2hhcmFjdGVycyJ9KS5yZWdleCgvXig/PS4qW2Etel0pKD89LipbQS1aXSkoPz0uKlxkKS8se21lc3NhZ2U6IlBhc3N3b3JkIG11c3QgY29udGFpbiB1cHBlcmNhc2UsIGxvd2VyY2FzZSwgYW5kIG51bWJlciJ9KSxRbWU9U24oKS50cmltKCkubWluKDIse21lc3NhZ2U6Ik5hbWUgbXVzdCBiZSBhdCBsZWFzdCAyIGNoYXJhY3RlcnMifSk7ZnVuY3Rpb24gTG1lKCl7Y29uc3RbZSx0XT1nLnVzZVN0YXRlKCExKSxbcixuXT1nLnVzZVN0YXRlKCIiKSxbYSxpXT1nLnVzZVN0YXRlKCIiKSxbbyxsXT1nLnVzZVN0YXRlKCIiKSxbYyxkXT1nLnVzZVN0YXRlKCExKSxbdSxBXT1nLnVzZVN0YXRlKCExKSxbZixoXT1nLnVzZVN0YXRlKCExKSxbcCxtXT1nLnVzZVN0YXRlKCExKSx4PWx0KCksdz1hc3luYyB2PT57di5wcmV2ZW50RGVmYXVsdCgpLGQoITApO3RyeXtDSS5wYXJzZShyKTtjb25zdHtlcnJvcjpifT1hd2FpdCBNLmZ1bmN0aW9ucy5pbnZva2UoInJlbWVtYmVyLXBhc3N3b3JkIix7Ym9keTp7ZW1haWw6cn19KTtpZihiKXRocm93IGI7Vy5zdWNjZXNzKCJZb3VyIHBhc3N3b3JkIGhhcyBiZWVuIHNlbnQgdG8geW91ciBlbWFpbCEiKSxBKCExKSxuKCIiKX1jYXRjaChiKXtiIGluc3RhbmNlb2YgaWE/Vy5lcnJvcihiLmVycm9yc1swXS5tZXNzYWdlKTpXLmVycm9yKCJGYWlsZWQgdG8gc2VuZCBwYXNzd29yZC4gUGxlYXNlIHRyeSBhZ2Fpbi4iKX1maW5hbGx5e2QoITEpfX0seT1hc3luYyB2PT57dmFyIGI7di5wcmV2ZW50RGVmYXVsdCgpLGQoITApO3RyeXtpZihDSS5wYXJzZShyKSxlKXtpZihSbWUucGFyc2UoYSksUW1lLnBhcnNlKG8pLCFwKXtXLmVycm9yKCJZb3UgbXVzdCBhY2tub3dsZWRnZSB0aGUgZWR1Y2F0aW9uYWwgc2ltdWxhdGlvbiB0ZXJtcyB0byBjcmVhdGUgYW4gYWNjb3VudC4iKTtyZXR1cm59fWVsc2UgaWYoIWF8fGEubGVuZ3RoPDEpe1cuZXJyb3IoIlBsZWFzZSBlbnRlciB5b3VyIHBhc3N3b3JkIik7cmV0dXJufWlmKGUpe2NvbnN0e2Vycm9yOmp9PWF3YWl0IG9tZShyLGEsbyk7aWYoail7ai5tZXNzYWdlLmluY2x1ZGVzKCJhbHJlYWR5IHJlZ2lzdGVyZWQiKT9XLmVycm9yKCJUaGlzIGVtYWlsIGlzIGFscmVhZHkgcmVnaXN0ZXJlZC4gUGxlYXNlIHNpZ24gaW4gaW5zdGVhZC4iKTpXLmVycm9yKGoubWVzc2FnZSk7cmV0dXJufXRyeXthd2FpdCBNLmZ1bmN0aW9ucy5pbnZva2UoInNlbmQtZW1haWwiLHtib2R5Ont0bzpyLHRlbXBsYXRlX3R5cGU6InNlbGZfc2lnbnVwIix2YXJpYWJsZXM6e2VtYWlsOnIsdXNlcl9uYW1lOm8sbG9naW5fdXJsOmAke3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59L2F1dGhgfX19KX1jYXRjaChOKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc2VuZCB3ZWxjb21lIGVtYWlsOiIsTil9Vy5zdWNjZXNzKCJBY2NvdW50IGNyZWF0ZWQhIFBsZWFzZSBjaGVjayB5b3VyIGVtYWlsIGFuZCBzaWduIGluLiIpLHQoITEpfWVsc2V7Y29uc3R7ZGF0YTpqLGVycm9yOk59PWF3YWl0IGxtZShyLGEpO2lmKE4pe2NvbnN0IF89KE4ubWVzc2FnZXx8IiIpLnRvTG93ZXJDYXNlKCk7Xy5pbmNsdWRlcygiZmFpbGVkIHRvIGZldGNoIil8fF8uaW5jbHVkZXMoIm5ldHdvcmtlcnJvciIpfHxfLmluY2x1ZGVzKCJsb2FkIGZhaWxlZCIpP1cuZXJyb3IoIkNvbm5lY3Rpb24gaXNzdWUgZGV0ZWN0ZWQuIFBsZWFzZSBoYXJkLXJlZnJlc2ggdGhlIHBhZ2UgKEN0cmwrU2hpZnQrUiAvIENtZCtTaGlmdCtSKSBvciBjbGVhciB5b3VyIGJyb3dzZXIgY2FjaGUsIHRoZW4gdHJ5IGFnYWluLiIpOl8uaW5jbHVkZXMoImVtYWlsIG5vdCBjb25maXJtZWQiKXx8Xy5pbmNsdWRlcygiZW1haWxfbm90X2NvbmZpcm1lZCIpP1cuZXJyb3IoIlRoaXMgYWNjb3VudCBlbWFpbCBpcyBub3QgY29uZmlybWVkIHlldC4gVXNlIEZvcmdvdCBQYXNzd29yZCBvciBhc2sgYWRtaW4gdG8gcmVzZW5kIGNyZWRlbnRpYWxzLiIpOlcuZXJyb3IoIkludmFsaWQgZW1haWwgb3IgcGFzc3dvcmQiKTtyZXR1cm59Y29uc3QgQz0oKGI9ai5zZXNzaW9uKT09bnVsbD92b2lkIDA6Yi51c2VyKT8/bnVsbDtpZihDKXtjb25zdHtkYXRhOl99PWF3YWl0IE0uZnJvbSgiY2hhbGxlbmdlcyIpLnNlbGVjdCgic3RhdHVzIikuZXEoInVzZXJfaWQiLEMuaWQpO2lmKF8mJl8ubGVuZ3RoPjAmJl8uZXZlcnkoaz0+ay5zdGF0dXM9PT0icmVtb3ZlZCIpKXt4KCIvcmVtb3ZlZC1hY2NvdW50Iik7cmV0dXJufWlmKFcuc3VjY2VzcygiU2lnbmVkIGluIHN1Y2Nlc3NmdWxseSEiKSxDLmVtYWlsPT09ImFkbWluMkBhZG1pbi5jb20iKXt4KCIvYWRtaW4vY3JlYXRlLXByZXZpZXciKTtyZXR1cm59aWYoQy5lbWFpbD09PSJyZWZlcnJhbEBhZG1pbi5jb20iKXt4KCIvYWRtaW4vcmVmZXJyYWwtY3JtIik7cmV0dXJufWNvbnN0e3JvbGU6Qn09YXdhaXQgb1YoQy5pZCk7eChCPT09ImFkbWluIj8iL2FkbWluIjoiL3RyYWRlciIpfX19Y2F0Y2goail7aiBpbnN0YW5jZW9mIGlhP1cuZXJyb3Ioai5lcnJvcnNbMF0ubWVzc2FnZSk6Vy5lcnJvcigiQW4gZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB0cnkgYWdhaW4uIil9ZmluYWxseXtkKCExKX19O3JldHVybiBzLmpzeHMoImRpdiIse2NsYXNzTmFtZToidy1mdWxsIG1heC13LW1kIGJnLXdoaXRlIHJvdW5kZWQtM3hsIHNoYWRvdy1sZyBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHAtOCIsY2hpbGRyZW46W3MuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtY2VudGVyIG1iLTIiLGNoaWxkcmVuOnMuanN4KCJoMSIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ibGFjayB0ZXh0LXByaW1hcnkgdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IkZMT1dJTkdGVU5ERUQifSl9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciBtYi00IixjaGlsZHJlbjpzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTBweF0gdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCB0ZXh0LW11dGVkLWZvcmVncm91bmQgZm9udC1tZWRpdW0iLGNoaWxkcmVuOiJTdHVkZW50IEFjY291bnQgTWFuYWdlbWVudCJ9KX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InRleHQtY2VudGVyIG1iLTgiLGNoaWxkcmVuOnMuanN4KCJoMiIse2NsYXNzTmFtZToidGV4dC0zeGwgZm9udC1ib2xkIHRleHQtZ3JheS05MDAiLGNoaWxkcmVuOnU/IkFjY291bnQgUmVjb3ZlcnkiOmU/IkNyZWF0ZSBTdHVkZW50IEFjY291bnQiOiJXZWxjb21lIn0pfSkscy5qc3hzKCJmb3JtIix7b25TdWJtaXQ6dT93OnksY2xhc3NOYW1lOiJzcGFjZS15LTUiLGNoaWxkcmVuOlshdSYmZSYmcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMiIsY2hpbGRyZW46W3MuanN4KGZlLHtodG1sRm9yOiJmdWxsTmFtZSIsY2xhc3NOYW1lOiJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1ncmF5LTkwMCIsY2hpbGRyZW46IkZ1bGwgTmFtZSJ9KSxzLmpzeCh4ZSx7aWQ6ImZ1bGxOYW1lIix0eXBlOiJ0ZXh0IixwbGFjZWhvbGRlcjoiRW50ZXIgeW91ciBmdWxsIG5hbWUiLHZhbHVlOm8sb25DaGFuZ2U6dj0+bCh2LnRhcmdldC52YWx1ZSksY2xhc3NOYW1lOiJoLTEyIHJvdW5kZWQteGwgYm9yZGVyLWdyYXktMzAwIGZvY3VzOmJvcmRlci1wcmltYXJ5IixyZXF1aXJlZDohMH0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTIiLGNoaWxkcmVuOltzLmpzeChmZSx7aHRtbEZvcjoiZW1haWwiLGNsYXNzTmFtZToidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtZ3JheS05MDAiLGNoaWxkcmVuOiJTdHVkZW50IEVtYWlsIn0pLHMuanN4KHhlLHtpZDoiZW1haWwiLHR5cGU6ImVtYWlsIixwbGFjZWhvbGRlcjoiRW50ZXIgeW91ciBlbWFpbCIsdmFsdWU6cixvbkNoYW5nZTp2PT5uKHYudGFyZ2V0LnZhbHVlKSxjbGFzc05hbWU6ImgtMTIgcm91bmRlZC14bCBib3JkZXItZ3JheS0zMDAgZm9jdXM6Ym9yZGVyLXByaW1hcnkiLHJlcXVpcmVkOiEwfSldfSksIXUmJnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTIiLGNoaWxkcmVuOltzLmpzeChmZSx7aHRtbEZvcjoicGFzc3dvcmQiLGNsYXNzTmFtZToidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtZ3JheS05MDAiLGNoaWxkcmVuOiJQYXNzd29yZCJ9KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUiLGNoaWxkcmVuOltzLmpzeCh4ZSx7aWQ6InBhc3N3b3JkIix0eXBlOmY/InRleHQiOiJwYXNzd29yZCIscGxhY2Vob2xkZXI6IkVudGVyIHlvdXIgcGFzc3dvcmQiLHZhbHVlOmEsb25DaGFuZ2U6dj0+aSh2LnRhcmdldC52YWx1ZSksY2xhc3NOYW1lOiJoLTEyIHJvdW5kZWQteGwgYm9yZGVyLWdyYXktMzAwIGZvY3VzOmJvcmRlci1wcmltYXJ5IHByLTEyIixyZXF1aXJlZDohMH0pLHMuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9PmgoIWYpLGNsYXNzTmFtZToiYWJzb2x1dGUgcmlnaHQtNCB0b3AtMS8yIC10cmFuc2xhdGUteS0xLzIgdGV4dC1ncmF5LTUwMCBob3Zlcjp0ZXh0LWdyYXktNzAwIixjaGlsZHJlbjpmP3MuanN4KEYkLHtjbGFzc05hbWU6ImgtNSB3LTUifSk6cy5qc3god2kse2NsYXNzTmFtZToiaC01IHctNSJ9KX0pXX0pXX0pLCF1JiYhZSYmcy5qc3goImRpdiIse2NsYXNzTmFtZToidGV4dC1sZWZ0IixjaGlsZHJlbjpzLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT5BKCEwKSxjbGFzc05hbWU6InRleHQtc20gdGV4dC1wcmltYXJ5IGhvdmVyOnVuZGVybGluZSBmb250LW1lZGl1bSIsY2hpbGRyZW46IkZvcmdvdCBQYXNzd29yZD8ifSl9KSwhdSYmZSYmcy5qc3goImRpdiIse2NsYXNzTmFtZToicm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWFtYmVyLTMwMCBiZy1hbWJlci01MCBwLTMiLGNoaWxkcmVuOnMuanN4cygibGFiZWwiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtc3RhcnQgZ2FwLTIgY3Vyc29yLXBvaW50ZXIiLGNoaWxkcmVuOltzLmpzeCgiaW5wdXQiLHt0eXBlOiJjaGVja2JveCIsY2hlY2tlZDpwLG9uQ2hhbmdlOnY9Pm0odi50YXJnZXQuY2hlY2tlZCksY2xhc3NOYW1lOiJtdC0wLjUgaC00IHctNCBmbGV4LXNocmluay0wIGFjY2VudC1hbWJlci02MDAiLHJlcXVpcmVkOiEwfSkscy5qc3hzKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1hbWJlci05MDAiLGNoaWxkcmVuOlsiSSBhY2tub3dsZWRnZSB0aGF0IEZsb3dpbmdGdW5kZWQgaXMgYW4gIixzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46ImVkdWNhdGlvbmFsIHNpbXVsYXRpb24gcGxhdGZvcm0gb25seSJ9KSwiLiBObyByZWFsIG1vbmV5IGlzIGV2ZXIgdHJhZGVkLCBpbnZlc3RlZCwgY3VzdG9kaWVkLCBvciBtYW5hZ2VkLiBBbGwgYmFsYW5jZXMsIHRyYWRlcywgcHJvZml0cywgcGF5b3V0cywgY2VydGlmaWNhdGVzLCBhbmQgcGVyZm9ybWFuY2UgZmlndXJlcyBhcmUgIixzLmpzeCgic3Ryb25nIix7Y2hpbGRyZW46InNpbXVsYXRlZCBlZHVjYXRpb25hbCBtZXRyaWNzIHdpdGggbm8gbW9uZXRhcnkgdmFsdWUifSksIi4gRmxvd2luZ0Z1bmRlZCBpcyBub3QgYSBicm9rZXIsIGV4Y2hhbmdlLCBjdXN0b2RpYW4sIG9yIGZpbmFuY2lhbCBhZHZpc2VyLiBJIGhhdmUgcmVhZCBhbmQgYWdyZWUgdG8gdGhlIiwiICIscy5qc3gob2Use3RvOiIvdGVybXMiLHRhcmdldDoiX2JsYW5rIixjbGFzc05hbWU6InVuZGVybGluZSBmb250LXNlbWlib2xkIixjaGlsZHJlbjoiVGVybXMgb2YgVXNlIn0pLCIsIiwiICIscy5qc3gob2Use3RvOiIvcHJpdmFjeSIsdGFyZ2V0OiJfYmxhbmsiLGNsYXNzTmFtZToidW5kZXJsaW5lIGZvbnQtc2VtaWJvbGQiLGNoaWxkcmVuOiJQcml2YWN5IFBvbGljeSJ9KSwiLCBhbmQiLCIgIixzLmpzeChvZSx7dG86Ii9yaXNrLWRpc2Nsb3N1cmUiLHRhcmdldDoiX2JsYW5rIixjbGFzc05hbWU6InVuZGVybGluZSBmb250LXNlbWlib2xkIixjaGlsZHJlbjoiUmlzayAmIFNpbXVsYXRpb24gRGlzY2xvc3VyZSJ9KSwiLiJdfSldfSl9KSxzLmpzeChWLHt0eXBlOiJzdWJtaXQiLGNsYXNzTmFtZToidy1mdWxsIGgtMTIgcm91bmRlZC14bCB0ZXh0LWJhc2UgZm9udC1ib2xkIGJnLXByaW1hcnkgaG92ZXI6YmctcHJpbWFyeS85MCIsZGlzYWJsZWQ6YyxjaGlsZHJlbjpjPyJMb2FkaW5nLi4uIjp1PyJTZW5kIFBhc3N3b3JkIjplPyJDcmVhdGUgQWNjb3VudCI6IkxvZ2luIn0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtdC02IHRleHQtY2VudGVyIHRleHQtc20iLGNoaWxkcmVuOlshdSYmcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InRleHQtZ3JheS02MDAiLGNoaWxkcmVuOltlPyJBbHJlYWR5IGhhdmUgYW4gYWNjb3VudD8gIjoiRG9uJ3QgaGF2ZSBhbiBhY2NvdW50PyAiLHMuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9Pnt0KCFlKSxBKCExKX0sY2xhc3NOYW1lOiJ0ZXh0LXByaW1hcnkgaG92ZXI6dW5kZXJsaW5lIGZvbnQtc2VtaWJvbGQiLGNoaWxkcmVuOmU/IlNpZ24gSW4iOiJDcmVhdGUgb25lIn0pXX0pLHUmJnMuanN4KCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9PkEoITEpLGNsYXNzTmFtZToidGV4dC1wcmltYXJ5IGhvdmVyOnVuZGVybGluZSBmb250LXNlbWlib2xkIixjaGlsZHJlbjoiQmFjayB0byBTaWduIEluIn0pXX0pXX0pfWZ1bmN0aW9uICRtZSgpe3JldHVybiBzLmpzeHMoImRpdiIse2NsYXNzTmFtZToibWluLWgtc2NyZWVuIGJnLWdyYXktNTAgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC00IixjaGlsZHJlbjpbcy5qc3goImRpdiIse2NsYXNzTmFtZToibWItNCBtYXgtdy1tZCB3LWZ1bGwiLGNoaWxkcmVuOnMuanN4KCJkaXYiLHtjbGFzc05hbWU6InJvdW5kZWQtbGcgYm9yZGVyLTIgYm9yZGVyLWFtYmVyLTMwMCBiZy1hbWJlci01MCBweC0zIHB5LTIgdGV4dC1jZW50ZXIiLGNoaWxkcmVuOnMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMHB4XSBzbTp0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTkwMCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IkVkdWNhdGlvbmFsIFNpbXVsYXRpb24gT25seSDCtyBObyBSZWFsIE1vbmV5IMK3IE5vdCBhIEJyb2tlciJ9KX0pfSkscy5qc3goTG1lLHt9KSxzLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJtdC02IHctZnVsbCBmbGV4IGp1c3RpZnktY2VudGVyIixjaGlsZHJlbjpzLmpzeChiRSx7dmFyaWFudDoiY29tcGFjdCJ9KX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJtdC00IG1heC13LW1kIHRleHQtY2VudGVyIHNwYWNlLXktMiIsY2hpbGRyZW46W3MuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LVs5cHhdIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSBsZWFkaW5nLXJlbGF4ZWQiLGNoaWxkcmVuOiJGbG93aW5nRnVuZGVkIGlzIGFuIGVkdWNhdGlvbmFsIHNpbXVsYXRpb24gcGxhdGZvcm0uIE5vIHJlYWwgbW9uZXkgaXMgdHJhZGVkLCBpbnZlc3RlZCwgb3IgbWFuYWdlZC4gQWxsIGFjY291bnQgYmFsYW5jZXMgcmVwcmVzZW50IHNpbXVsYXRlZCBhc3Nlc3NtZW50IHNjb3Jlcywgbm90IHJlYWwgZmluYW5jaWFsIHJldHVybnMuIn0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMyB0ZXh0LVs5cHhdIixjaGlsZHJlbjpbcy5qc3gob2Use3RvOiIvdGVybXMiLGNsYXNzTmFtZToidGV4dC1wcmltYXJ5IGhvdmVyOnVuZGVybGluZSIsY2hpbGRyZW46IlRlcm1zIG9mIFVzZSJ9KSxzLmpzeCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoi4oCiIn0pLHMuanN4KG9lLHt0bzoiL3ByaXZhY3kiLGNsYXNzTmFtZToidGV4dC1wcmltYXJ5IGhvdmVyOnVuZGVybGluZSIsY2hpbGRyZW46IlByaXZhY3kgUG9saWN5In0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiLigKIifSkscy5qc3gob2Use3RvOiIvcmlzay1kaXNjbG9zdXJlIixjbGFzc05hbWU6InRleHQtcHJpbWFyeSBob3Zlcjp1bmRlcmxpbmUiLGNoaWxkcmVuOiJSaXNrIERpc2Nsb3N1cmUifSldfSldfSldfSl9Y29uc3QgQWo9IjgyZjQ4MDVhLWNjNzUtNDg0Ny1iZWQzLTQ4ZTQ1MjJhNGM4MiIsZmo9ImRjOGFlMWZkLWI1MGYtNDI1Yi1iYzRmLWFiYzdiNzE0Njk4OSIsX0k9ImM5ZWExNmFlLWQ5YjktNDA5Mi04MDk3LWI0ODlhMTI4OWExMiIsSG1lPXtbQWpdOltBaixmal0sW2ZqXTpbQWosZmpdLFtfSV06W19JXX07ZnVuY3Rpb24gdmQoZSl7cmV0dXJuIEhtZVtlXT8/bnVsbH12YXIgaGo9ImZvY3VzU2NvcGUuYXV0b0ZvY3VzT25Nb3VudCIsbWo9ImZvY3VzU2NvcGUuYXV0b0ZvY3VzT25Vbm1vdW50IixCST17YnViYmxlczohMSxjYW5jZWxhYmxlOiEwfSxLbWU9IkZvY3VzU2NvcGUiLEl3PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e2xvb3A6cj0hMSx0cmFwcGVkOm49ITEsb25Nb3VudEF1dG9Gb2N1czphLG9uVW5tb3VudEF1dG9Gb2N1czppLC4uLm99PWUsW2wsY109Zy51c2VTdGF0ZShudWxsKSxkPXdyKGEpLHU9d3IoaSksQT1nLnVzZVJlZihudWxsKSxmPVdlKHQsbT0+YyhtKSksaD1nLnVzZVJlZih7cGF1c2VkOiExLHBhdXNlKCl7dGhpcy5wYXVzZWQ9ITB9LHJlc3VtZSgpe3RoaXMucGF1c2VkPSExfX0pLmN1cnJlbnQ7Zy51c2VFZmZlY3QoKCk9PntpZihuKXtsZXQgbT1mdW5jdGlvbih2KXtpZihoLnBhdXNlZHx8IWwpcmV0dXJuO2NvbnN0IGI9di50YXJnZXQ7bC5jb250YWlucyhiKT9BLmN1cnJlbnQ9YjpNbyhBLmN1cnJlbnQse3NlbGVjdDohMH0pfSx4PWZ1bmN0aW9uKHYpe2lmKGgucGF1c2VkfHwhbClyZXR1cm47Y29uc3QgYj12LnJlbGF0ZWRUYXJnZXQ7YiE9PW51bGwmJihsLmNvbnRhaW5zKGIpfHxNbyhBLmN1cnJlbnQse3NlbGVjdDohMH0pKX0sdz1mdW5jdGlvbih2KXtpZihkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keSlmb3IoY29uc3QgaiBvZiB2KWoucmVtb3ZlZE5vZGVzLmxlbmd0aD4wJiZNbyhsKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsbSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLHgpO2NvbnN0IHk9bmV3IE11dGF0aW9uT2JzZXJ2ZXIodyk7cmV0dXJuIGwmJnkub2JzZXJ2ZShsLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pLCgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsbSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLHgpLHkuZGlzY29ubmVjdCgpfX19LFtuLGwsaC5wYXVzZWRdKSxnLnVzZUVmZmVjdCgoKT0+e2lmKGwpe0VJLmFkZChoKTtjb25zdCBtPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoIWwuY29udGFpbnMobSkpe2NvbnN0IHc9bmV3IEN1c3RvbUV2ZW50KGhqLEJJKTtsLmFkZEV2ZW50TGlzdGVuZXIoaGosZCksbC5kaXNwYXRjaEV2ZW50KHcpLHcuZGVmYXVsdFByZXZlbnRlZHx8KFZtZShZbWUoaFYobCkpLHtzZWxlY3Q6ITB9KSxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09bSYmTW8obCkpfXJldHVybigpPT57bC5yZW1vdmVFdmVudExpc3RlbmVyKGhqLGQpLHNldFRpbWVvdXQoKCk9Pntjb25zdCB3PW5ldyBDdXN0b21FdmVudChtaixCSSk7bC5hZGRFdmVudExpc3RlbmVyKG1qLHUpLGwuZGlzcGF0Y2hFdmVudCh3KSx3LmRlZmF1bHRQcmV2ZW50ZWR8fE1vKG0/P2RvY3VtZW50LmJvZHkse3NlbGVjdDohMH0pLGwucmVtb3ZlRXZlbnRMaXN0ZW5lcihtaix1KSxFSS5yZW1vdmUoaCl9LDApfX19LFtsLGQsdSxoXSk7Y29uc3QgcD1nLnVzZUNhbGxiYWNrKG09PntpZighciYmIW58fGgucGF1c2VkKXJldHVybjtjb25zdCB4PW0ua2V5PT09IlRhYiImJiFtLmFsdEtleSYmIW0uY3RybEtleSYmIW0ubWV0YUtleSx3PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoeCYmdyl7Y29uc3QgeT1tLmN1cnJlbnRUYXJnZXQsW3YsYl09em1lKHkpO3YmJmI/IW0uc2hpZnRLZXkmJnc9PT1iPyhtLnByZXZlbnREZWZhdWx0KCksciYmTW8odix7c2VsZWN0OiEwfSkpOm0uc2hpZnRLZXkmJnc9PT12JiYobS5wcmV2ZW50RGVmYXVsdCgpLHImJk1vKGIse3NlbGVjdDohMH0pKTp3PT09eSYmbS5wcmV2ZW50RGVmYXVsdCgpfX0sW3IsbixoLnBhdXNlZF0pO3JldHVybiBzLmpzeChTZS5kaXYse3RhYkluZGV4Oi0xLC4uLm8scmVmOmYsb25LZXlEb3duOnB9KX0pO0l3LmRpc3BsYXlOYW1lPUttZTtmdW5jdGlvbiBWbWUoZSx7c2VsZWN0OnQ9ITF9PXt9KXtjb25zdCByPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7Zm9yKGNvbnN0IG4gb2YgZSlpZihNbyhuLHtzZWxlY3Q6dH0pLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1yKXJldHVybn1mdW5jdGlvbiB6bWUoZSl7Y29uc3QgdD1oVihlKSxyPVNJKHQsZSksbj1TSSh0LnJldmVyc2UoKSxlKTtyZXR1cm5bcixuXX1mdW5jdGlvbiBoVihlKXtjb25zdCB0PVtdLHI9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihlLE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5ULHthY2NlcHROb2RlOm49Pntjb25zdCBhPW4udGFnTmFtZT09PSJJTlBVVCImJm4udHlwZT09PSJoaWRkZW4iO3JldHVybiBuLmRpc2FibGVkfHxuLmhpZGRlbnx8YT9Ob2RlRmlsdGVyLkZJTFRFUl9TS0lQOm4udGFiSW5kZXg+PTA/Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUOk5vZGVGaWx0ZXIuRklMVEVSX1NLSVB9fSk7Zm9yKDtyLm5leHROb2RlKCk7KXQucHVzaChyLmN1cnJlbnROb2RlKTtyZXR1cm4gdH1mdW5jdGlvbiBTSShlLHQpe2Zvcihjb25zdCByIG9mIGUpaWYoIVdtZShyLHt1cFRvOnR9KSlyZXR1cm4gcn1mdW5jdGlvbiBXbWUoZSx7dXBUbzp0fSl7aWYoZ2V0Q29tcHV0ZWRTdHlsZShlKS52aXNpYmlsaXR5PT09ImhpZGRlbiIpcmV0dXJuITA7Zm9yKDtlOyl7aWYodCE9PXZvaWQgMCYmZT09PXQpcmV0dXJuITE7aWYoZ2V0Q29tcHV0ZWRTdHlsZShlKS5kaXNwbGF5PT09Im5vbmUiKXJldHVybiEwO2U9ZS5wYXJlbnRFbGVtZW50fXJldHVybiExfWZ1bmN0aW9uIEdtZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQmJiJzZWxlY3QiaW4gZX1mdW5jdGlvbiBNbyhlLHtzZWxlY3Q6dD0hMX09e30pe2lmKGUmJmUuZm9jdXMpe2NvbnN0IHI9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtlLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksZSE9PXImJkdtZShlKSYmdCYmZS5zZWxlY3QoKX19dmFyIEVJPXFtZSgpO2Z1bmN0aW9uIHFtZSgpe2xldCBlPVtdO3JldHVybnthZGQodCl7Y29uc3Qgcj1lWzBdO3QhPT1yJiYocj09bnVsbHx8ci5wYXVzZSgpKSxlPWtJKGUsdCksZS51bnNoaWZ0KHQpfSxyZW1vdmUodCl7dmFyIHI7ZT1rSShlLHQpLChyPWVbMF0pPT1udWxsfHxyLnJlc3VtZSgpfX19ZnVuY3Rpb24ga0koZSx0KXtjb25zdCByPVsuLi5lXSxuPXIuaW5kZXhPZih0KTtyZXR1cm4gbiE9PS0xJiZyLnNwbGljZShuLDEpLHJ9ZnVuY3Rpb24gWW1lKGUpe3JldHVybiBlLmZpbHRlcih0PT50LnRhZ05hbWUhPT0iQSIpfXZhciBwaj0wO2Z1bmN0aW9uIHVrKCl7Zy51c2VFZmZlY3QoKCk9Pntjb25zdCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLXJhZGl4LWZvY3VzLWd1YXJkXSIpO3JldHVybiBkb2N1bWVudC5ib2R5Lmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJiZWdpbiIsZVswXT8/VEkoKSksZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImJlZm9yZWVuZCIsZVsxXT8/VEkoKSkscGorKywoKT0+e3BqPT09MSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtcmFkaXgtZm9jdXMtZ3VhcmRdIikuZm9yRWFjaCh0PT50LnJlbW92ZSgpKSxwai0tfX0sW10pfWZ1bmN0aW9uIFRJKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cmV0dXJuIGUuc2V0QXR0cmlidXRlKCJkYXRhLXJhZGl4LWZvY3VzLWd1YXJkIiwiIiksZS50YWJJbmRleD0wLGUuc3R5bGUub3V0bGluZT0ibm9uZSIsZS5zdHlsZS5vcGFjaXR5PSIwIixlLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsZS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixlfXZhciBBMD0icmlnaHQtc2Nyb2xsLWJhci1wb3NpdGlvbiIsZjA9IndpZHRoLWJlZm9yZS1zY3JvbGwtYmFyIixYbWU9IndpdGgtc2Nyb2xsLWJhcnMtaGlkZGVuIixKbWU9Ii0tcmVtb3ZlZC1ib2R5LXNjcm9sbC1iYXItc2l6ZSI7ZnVuY3Rpb24gZ2ooZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiI/ZSh0KTplJiYoZS5jdXJyZW50PXQpLGV9ZnVuY3Rpb24gWm1lKGUsdCl7dmFyIHI9Zy51c2VTdGF0ZShmdW5jdGlvbigpe3JldHVybnt2YWx1ZTplLGNhbGxiYWNrOnQsZmFjYWRlOntnZXQgY3VycmVudCgpe3JldHVybiByLnZhbHVlfSxzZXQgY3VycmVudChuKXt2YXIgYT1yLnZhbHVlO2EhPT1uJiYoci52YWx1ZT1uLHIuY2FsbGJhY2sobixhKSl9fX19KVswXTtyZXR1cm4gci5jYWxsYmFjaz10LHIuZmFjYWRlfXZhciBlcGU9dHlwZW9mIHdpbmRvdzwidSI/Zy51c2VMYXlvdXRFZmZlY3Q6Zy51c2VFZmZlY3QsUEk9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gdHBlKGUsdCl7dmFyIHI9Wm1lKG51bGwsZnVuY3Rpb24obil7cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihhKXtyZXR1cm4gZ2ooYSxuKX0pfSk7cmV0dXJuIGVwZShmdW5jdGlvbigpe3ZhciBuPVBJLmdldChyKTtpZihuKXt2YXIgYT1uZXcgU2V0KG4pLGk9bmV3IFNldChlKSxvPXIuY3VycmVudDthLmZvckVhY2goZnVuY3Rpb24obCl7aS5oYXMobCl8fGdqKGwsbnVsbCl9KSxpLmZvckVhY2goZnVuY3Rpb24obCl7YS5oYXMobCl8fGdqKGwsbyl9KX1QSS5zZXQocixlKX0sW2VdKSxyfWZ1bmN0aW9uIHJwZShlKXtyZXR1cm4gZX1mdW5jdGlvbiBucGUoZSx0KXt0PT09dm9pZCAwJiYodD1ycGUpO3ZhciByPVtdLG49ITEsYT17cmVhZDpmdW5jdGlvbigpe2lmKG4pdGhyb3cgbmV3IEVycm9yKCJTaWRlY2FyOiBjb3VsZCBub3QgYHJlYWRgIGZyb20gYW4gYGFzc2lnbmVkYCBtZWRpdW0uIGByZWFkYCBjb3VsZCBiZSB1c2VkIG9ubHkgd2l0aCBgdXNlTWVkaXVtYC4iKTtyZXR1cm4gci5sZW5ndGg/cltyLmxlbmd0aC0xXTplfSx1c2VNZWRpdW06ZnVuY3Rpb24oaSl7dmFyIG89dChpLG4pO3JldHVybiByLnB1c2gobyksZnVuY3Rpb24oKXtyPXIuZmlsdGVyKGZ1bmN0aW9uKGwpe3JldHVybiBsIT09b30pfX0sYXNzaWduU3luY01lZGl1bTpmdW5jdGlvbihpKXtmb3Iobj0hMDtyLmxlbmd0aDspe3ZhciBvPXI7cj1bXSxvLmZvckVhY2goaSl9cj17cHVzaDpmdW5jdGlvbihsKXtyZXR1cm4gaShsKX0sZmlsdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fX0sYXNzaWduTWVkaXVtOmZ1bmN0aW9uKGkpe249ITA7dmFyIG89W107aWYoci5sZW5ndGgpe3ZhciBsPXI7cj1bXSxsLmZvckVhY2goaSksbz1yfXZhciBjPWZ1bmN0aW9uKCl7dmFyIHU9bztvPVtdLHUuZm9yRWFjaChpKX0sZD1mdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoKS50aGVuKGMpfTtkKCkscj17cHVzaDpmdW5jdGlvbih1KXtvLnB1c2godSksZCgpfSxmaWx0ZXI6ZnVuY3Rpb24odSl7cmV0dXJuIG89by5maWx0ZXIodSkscn19fX07cmV0dXJuIGF9ZnVuY3Rpb24gc3BlKGUpe2U9PT12b2lkIDAmJihlPXt9KTt2YXIgdD1ucGUobnVsbCk7cmV0dXJuIHQub3B0aW9ucz16cyh7YXN5bmM6ITAsc3NyOiExfSxlKSx0fXZhciBtVj1mdW5jdGlvbihlKXt2YXIgdD1lLnNpZGVDYXIscj1XbChlLFsic2lkZUNhciJdKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoIlNpZGVjYXI6IHBsZWFzZSBwcm92aWRlIGBzaWRlQ2FyYCBwcm9wZXJ0eSB0byBpbXBvcnQgdGhlIHJpZ2h0IGNhciIpO3ZhciBuPXQucmVhZCgpO2lmKCFuKXRocm93IG5ldyBFcnJvcigiU2lkZWNhciBtZWRpdW0gbm90IGZvdW5kIik7cmV0dXJuIGcuY3JlYXRlRWxlbWVudChuLHpzKHt9LHIpKX07bVYuaXNTaWRlQ2FyRXhwb3J0PSEwO2Z1bmN0aW9uIGFwZShlLHQpe3JldHVybiBlLnVzZU1lZGl1bSh0KSxtVn12YXIgcFY9c3BlKCkseGo9ZnVuY3Rpb24oKXt9LFV3PWcuZm9yd2FyZFJlZihmdW5jdGlvbihlLHQpe3ZhciByPWcudXNlUmVmKG51bGwpLG49Zy51c2VTdGF0ZSh7b25TY3JvbGxDYXB0dXJlOnhqLG9uV2hlZWxDYXB0dXJlOnhqLG9uVG91Y2hNb3ZlQ2FwdHVyZTp4an0pLGE9blswXSxpPW5bMV0sbz1lLmZvcndhcmRQcm9wcyxsPWUuY2hpbGRyZW4sYz1lLmNsYXNzTmFtZSxkPWUucmVtb3ZlU2Nyb2xsQmFyLHU9ZS5lbmFibGVkLEE9ZS5zaGFyZHMsZj1lLnNpZGVDYXIsaD1lLm5vUmVsYXRpdmUscD1lLm5vSXNvbGF0aW9uLG09ZS5pbmVydCx4PWUuYWxsb3dQaW5jaFpvb20sdz1lLmFzLHk9dz09PXZvaWQgMD8iZGl2Ijp3LHY9ZS5nYXBNb2RlLGI9V2woZSxbImZvcndhcmRQcm9wcyIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwicmVtb3ZlU2Nyb2xsQmFyIiwiZW5hYmxlZCIsInNoYXJkcyIsInNpZGVDYXIiLCJub1JlbGF0aXZlIiwibm9Jc29sYXRpb24iLCJpbmVydCIsImFsbG93UGluY2hab29tIiwiYXMiLCJnYXBNb2RlIl0pLGo9ZixOPXRwZShbcix0XSksQz16cyh6cyh7fSxiKSxhKTtyZXR1cm4gZy5jcmVhdGVFbGVtZW50KGcuRnJhZ21lbnQsbnVsbCx1JiZnLmNyZWF0ZUVsZW1lbnQoaix7c2lkZUNhcjpwVixyZW1vdmVTY3JvbGxCYXI6ZCxzaGFyZHM6QSxub1JlbGF0aXZlOmgsbm9Jc29sYXRpb246cCxpbmVydDptLHNldENhbGxiYWNrczppLGFsbG93UGluY2hab29tOiEheCxsb2NrUmVmOnIsZ2FwTW9kZTp2fSksbz9nLmNsb25lRWxlbWVudChnLkNoaWxkcmVuLm9ubHkobCksenMoenMoe30sQykse3JlZjpOfSkpOmcuY3JlYXRlRWxlbWVudCh5LHpzKHt9LEMse2NsYXNzTmFtZTpjLHJlZjpOfSksbCkpfSk7VXcuZGVmYXVsdFByb3BzPXtlbmFibGVkOiEwLHJlbW92ZVNjcm9sbEJhcjohMCxpbmVydDohMX07VXcuY2xhc3NOYW1lcz17ZnVsbFdpZHRoOmYwLHplcm9SaWdodDpBMH07dmFyIGlwZT1mdW5jdGlvbigpe2lmKHR5cGVvZiBfX3dlYnBhY2tfbm9uY2VfXzwidSIpcmV0dXJuIF9fd2VicGFja19ub25jZV9ffTtmdW5jdGlvbiBvcGUoKXtpZighZG9jdW1lbnQpcmV0dXJuIG51bGw7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtlLnR5cGU9InRleHQvY3NzIjt2YXIgdD1pcGUoKTtyZXR1cm4gdCYmZS5zZXRBdHRyaWJ1dGUoIm5vbmNlIix0KSxlfWZ1bmN0aW9uIGxwZShlLHQpe2Uuc3R5bGVTaGVldD9lLnN0eWxlU2hlZXQuY3NzVGV4dD10OmUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodCkpfWZ1bmN0aW9uIGNwZShlKXt2YXIgdD1kb2N1bWVudC5oZWFkfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdO3QuYXBwZW5kQ2hpbGQoZSl9dmFyIGRwZT1mdW5jdGlvbigpe3ZhciBlPTAsdD1udWxsO3JldHVybnthZGQ6ZnVuY3Rpb24ocil7ZT09MCYmKHQ9b3BlKCkpJiYobHBlKHQsciksY3BlKHQpKSxlKyt9LHJlbW92ZTpmdW5jdGlvbigpe2UtLSwhZSYmdCYmKHQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLHQ9bnVsbCl9fX0sdXBlPWZ1bmN0aW9uKCl7dmFyIGU9ZHBlKCk7cmV0dXJuIGZ1bmN0aW9uKHQscil7Zy51c2VFZmZlY3QoZnVuY3Rpb24oKXtyZXR1cm4gZS5hZGQodCksZnVuY3Rpb24oKXtlLnJlbW92ZSgpfX0sW3QmJnJdKX19LGdWPWZ1bmN0aW9uKCl7dmFyIGU9dXBlKCksdD1mdW5jdGlvbihyKXt2YXIgbj1yLnN0eWxlcyxhPXIuZHluYW1pYztyZXR1cm4gZShuLGEpLG51bGx9O3JldHVybiB0fSxBcGU9e2xlZnQ6MCx0b3A6MCxyaWdodDowLGdhcDowfSx5aj1mdW5jdGlvbihlKXtyZXR1cm4gcGFyc2VJbnQoZXx8IiIsMTApfHwwfSxmcGU9ZnVuY3Rpb24oZSl7dmFyIHQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkscj10W2U9PT0icGFkZGluZyI/InBhZGRpbmdMZWZ0IjoibWFyZ2luTGVmdCJdLG49dFtlPT09InBhZGRpbmciPyJwYWRkaW5nVG9wIjoibWFyZ2luVG9wIl0sYT10W2U9PT0icGFkZGluZyI/InBhZGRpbmdSaWdodCI6Im1hcmdpblJpZ2h0Il07cmV0dXJuW3lqKHIpLHlqKG4pLHlqKGEpXX0saHBlPWZ1bmN0aW9uKGUpe2lmKGU9PT12b2lkIDAmJihlPSJtYXJnaW4iKSx0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4gQXBlO3ZhciB0PWZwZShlKSxyPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxuPXdpbmRvdy5pbm5lcldpZHRoO3JldHVybntsZWZ0OnRbMF0sdG9wOnRbMV0scmlnaHQ6dFsyXSxnYXA6TWF0aC5tYXgoMCxuLXIrdFsyXS10WzBdKX19LG1wZT1nVigpLFB1PSJkYXRhLXNjcm9sbC1sb2NrZWQiLHBwZT1mdW5jdGlvbihlLHQscixuKXt2YXIgYT1lLmxlZnQsaT1lLnRvcCxvPWUucmlnaHQsbD1lLmdhcDtyZXR1cm4gcj09PXZvaWQgMCYmKHI9Im1hcmdpbiIpLGAKICAuYC5jb25jYXQoWG1lLGAgewogICBvdmVyZmxvdzogaGlkZGVuIGApLmNvbmNhdChuLGA7CiAgIHBhZGRpbmctcmlnaHQ6IGApLmNvbmNhdChsLCJweCAiKS5jb25jYXQobixgOwogIH0KICBib2R5W2ApLmNvbmNhdChQdSxgXSB7CiAgICBvdmVyZmxvdzogaGlkZGVuIGApLmNvbmNhdChuLGA7CiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgYCkuY29uY2F0KFt0JiYicG9zaXRpb246IHJlbGF0aXZlICIuY29uY2F0KG4sIjsiKSxyPT09Im1hcmdpbiImJmAKICAgIHBhZGRpbmctbGVmdDogYC5jb25jYXQoYSxgcHg7CiAgICBwYWRkaW5nLXRvcDogYCkuY29uY2F0KGksYHB4OwogICAgcGFkZGluZy1yaWdodDogYCkuY29uY2F0KG8sYHB4OwogICAgbWFyZ2luLWxlZnQ6MDsKICAgIG1hcmdpbi10b3A6MDsKICAgIG1hcmdpbi1yaWdodDogYCkuY29uY2F0KGwsInB4ICIpLmNvbmNhdChuLGA7CiAgICBgKSxyPT09InBhZGRpbmciJiYicGFkZGluZy1yaWdodDogIi5jb25jYXQobCwicHggIikuY29uY2F0KG4sIjsiKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiIpLGAKICB9CiAgCiAgLmApLmNvbmNhdChBMCxgIHsKICAgIHJpZ2h0OiBgKS5jb25jYXQobCwicHggIikuY29uY2F0KG4sYDsKICB9CiAgCiAgLmApLmNvbmNhdChmMCxgIHsKICAgIG1hcmdpbi1yaWdodDogYCkuY29uY2F0KGwsInB4ICIpLmNvbmNhdChuLGA7CiAgfQogIAogIC5gKS5jb25jYXQoQTAsIiAuIikuY29uY2F0KEEwLGAgewogICAgcmlnaHQ6IDAgYCkuY29uY2F0KG4sYDsKICB9CiAgCiAgLmApLmNvbmNhdChmMCwiIC4iKS5jb25jYXQoZjAsYCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAgYCkuY29uY2F0KG4sYDsKICB9CiAgCiAgYm9keVtgKS5jb25jYXQoUHUsYF0gewogICAgYCkuY29uY2F0KEptZSwiOiAiKS5jb25jYXQobCxgcHg7CiAgfQpgKX0sRkk9ZnVuY3Rpb24oKXt2YXIgZT1wYXJzZUludChkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZShQdSl8fCIwIiwxMCk7cmV0dXJuIGlzRmluaXRlKGUpP2U6MH0sZ3BlPWZ1bmN0aW9uKCl7Zy51c2VFZmZlY3QoZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoUHUsKEZJKCkrMSkudG9TdHJpbmcoKSksZnVuY3Rpb24oKXt2YXIgZT1GSSgpLTE7ZTw9MD9kb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZShQdSk6ZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoUHUsZS50b1N0cmluZygpKX19LFtdKX0seHBlPWZ1bmN0aW9uKGUpe3ZhciB0PWUubm9SZWxhdGl2ZSxyPWUubm9JbXBvcnRhbnQsbj1lLmdhcE1vZGUsYT1uPT09dm9pZCAwPyJtYXJnaW4iOm47Z3BlKCk7dmFyIGk9Zy51c2VNZW1vKGZ1bmN0aW9uKCl7cmV0dXJuIGhwZShhKX0sW2FdKTtyZXR1cm4gZy5jcmVhdGVFbGVtZW50KG1wZSx7c3R5bGVzOnBwZShpLCF0LGEscj8iIjoiIWltcG9ydGFudCIpfSl9LGtfPSExO2lmKHR5cGVvZiB3aW5kb3c8InUiKXRyeXt2YXIgcng9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGtfPSEwLCEwfX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixyeCxyeCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLHJ4LHJ4KX1jYXRjaHtrXz0hMX12YXIgRmQ9a18/e3Bhc3NpdmU6ITF9OiExLHlwZT1mdW5jdGlvbihlKXtyZXR1cm4gZS50YWdOYW1lPT09IlRFWFRBUkVBIn0seFY9ZnVuY3Rpb24oZSx0KXtpZighKGUgaW5zdGFuY2VvZiBFbGVtZW50KSlyZXR1cm4hMTt2YXIgcj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlKTtyZXR1cm4gclt0XSE9PSJoaWRkZW4iJiYhKHIub3ZlcmZsb3dZPT09ci5vdmVyZmxvd1gmJiF5cGUoZSkmJnJbdF09PT0idmlzaWJsZSIpfSx2cGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHhWKGUsIm92ZXJmbG93WSIpfSx3cGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHhWKGUsIm92ZXJmbG93WCIpfSxPST1mdW5jdGlvbihlLHQpe3ZhciByPXQub3duZXJEb2N1bWVudCxuPXQ7ZG97dHlwZW9mIFNoYWRvd1Jvb3Q8InUiJiZuIGluc3RhbmNlb2YgU2hhZG93Um9vdCYmKG49bi5ob3N0KTt2YXIgYT15VihlLG4pO2lmKGEpe3ZhciBpPXZWKGUsbiksbz1pWzFdLGw9aVsyXTtpZihvPmwpcmV0dXJuITB9bj1uLnBhcmVudE5vZGV9d2hpbGUobiYmbiE9PXIuYm9keSk7cmV0dXJuITF9LGJwZT1mdW5jdGlvbihlKXt2YXIgdD1lLnNjcm9sbFRvcCxyPWUuc2Nyb2xsSGVpZ2h0LG49ZS5jbGllbnRIZWlnaHQ7cmV0dXJuW3QscixuXX0sanBlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc2Nyb2xsTGVmdCxyPWUuc2Nyb2xsV2lkdGgsbj1lLmNsaWVudFdpZHRoO3JldHVyblt0LHIsbl19LHlWPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT0idiI/dnBlKHQpOndwZSh0KX0sdlY9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PSJ2Ij9icGUodCk6anBlKHQpfSxOcGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PSJoIiYmdD09PSJydGwiPy0xOjF9LENwZT1mdW5jdGlvbihlLHQscixuLGEpe3ZhciBpPU5wZShlLHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmRpcmVjdGlvbiksbz1pKm4sbD1yLnRhcmdldCxjPXQuY29udGFpbnMobCksZD0hMSx1PW8+MCxBPTAsZj0wO2Rve2lmKCFsKWJyZWFrO3ZhciBoPXZWKGUsbCkscD1oWzBdLG09aFsxXSx4PWhbMl0sdz1tLXgtaSpwOyhwfHx3KSYmeVYoZSxsKSYmKEErPXcsZis9cCk7dmFyIHk9bC5wYXJlbnROb2RlO2w9eSYmeS5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERT95Lmhvc3Q6eX13aGlsZSghYyYmbCE9PWRvY3VtZW50LmJvZHl8fGMmJih0LmNvbnRhaW5zKGwpfHx0PT09bCkpO3JldHVybih1JiYoTWF0aC5hYnMoQSk8MXx8IWEpfHwhdSYmKE1hdGguYWJzKGYpPDF8fCFhKSkmJihkPSEwKSxkfSxueD1mdW5jdGlvbihlKXtyZXR1cm4iY2hhbmdlZFRvdWNoZXMiaW4gZT9bZS5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRYLGUuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WV06WzAsMF19LElJPWZ1bmN0aW9uKGUpe3JldHVybltlLmRlbHRhWCxlLmRlbHRhWV19LFVJPWZ1bmN0aW9uKGUpe3JldHVybiBlJiYiY3VycmVudCJpbiBlP2UuY3VycmVudDplfSxfcGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVswXT09PXRbMF0mJmVbMV09PT10WzFdfSxCcGU9ZnVuY3Rpb24oZSl7cmV0dXJuYAogIC5ibG9jay1pbnRlcmFjdGl2aXR5LWAuY29uY2F0KGUsYCB7cG9pbnRlci1ldmVudHM6IG5vbmU7fQogIC5hbGxvdy1pbnRlcmFjdGl2aXR5LWApLmNvbmNhdChlLGAge3BvaW50ZXItZXZlbnRzOiBhbGw7fQpgKX0sU3BlPTAsT2Q9W107ZnVuY3Rpb24gRXBlKGUpe3ZhciB0PWcudXNlUmVmKFtdKSxyPWcudXNlUmVmKFswLDBdKSxuPWcudXNlUmVmKCksYT1nLnVzZVN0YXRlKFNwZSsrKVswXSxpPWcudXNlU3RhdGUoZ1YpWzBdLG89Zy51c2VSZWYoZSk7Zy51c2VFZmZlY3QoZnVuY3Rpb24oKXtvLmN1cnJlbnQ9ZX0sW2VdKSxnLnVzZUVmZmVjdChmdW5jdGlvbigpe2lmKGUuaW5lcnQpe2RvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgiYmxvY2staW50ZXJhY3Rpdml0eS0iLmNvbmNhdChhKSk7dmFyIG09QUUoW2UubG9ja1JlZi5jdXJyZW50XSwoZS5zaGFyZHN8fFtdKS5tYXAoVUkpLCEwKS5maWx0ZXIoQm9vbGVhbik7cmV0dXJuIG0uZm9yRWFjaChmdW5jdGlvbih4KXtyZXR1cm4geC5jbGFzc0xpc3QuYWRkKCJhbGxvdy1pbnRlcmFjdGl2aXR5LSIuY29uY2F0KGEpKX0pLGZ1bmN0aW9uKCl7ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCJibG9jay1pbnRlcmFjdGl2aXR5LSIuY29uY2F0KGEpKSxtLmZvckVhY2goZnVuY3Rpb24oeCl7cmV0dXJuIHguY2xhc3NMaXN0LnJlbW92ZSgiYWxsb3ctaW50ZXJhY3Rpdml0eS0iLmNvbmNhdChhKSl9KX19fSxbZS5pbmVydCxlLmxvY2tSZWYuY3VycmVudCxlLnNoYXJkc10pO3ZhciBsPWcudXNlQ2FsbGJhY2soZnVuY3Rpb24obSx4KXtpZigidG91Y2hlcyJpbiBtJiZtLnRvdWNoZXMubGVuZ3RoPT09Mnx8bS50eXBlPT09IndoZWVsIiYmbS5jdHJsS2V5KXJldHVybiFvLmN1cnJlbnQuYWxsb3dQaW5jaFpvb207dmFyIHc9bngobSkseT1yLmN1cnJlbnQsdj0iZGVsdGFYImluIG0/bS5kZWx0YVg6eVswXS13WzBdLGI9ImRlbHRhWSJpbiBtP20uZGVsdGFZOnlbMV0td1sxXSxqLE49bS50YXJnZXQsQz1NYXRoLmFicyh2KT5NYXRoLmFicyhiKT8iaCI6InYiO2lmKCJ0b3VjaGVzImluIG0mJkM9PT0iaCImJk4udHlwZT09PSJyYW5nZSIpcmV0dXJuITE7dmFyIF89T0koQyxOKTtpZighXylyZXR1cm4hMDtpZihfP2o9Qzooaj1DPT09InYiPyJoIjoidiIsXz1PSShDLE4pKSwhXylyZXR1cm4hMTtpZighbi5jdXJyZW50JiYiY2hhbmdlZFRvdWNoZXMiaW4gbSYmKHZ8fGIpJiYobi5jdXJyZW50PWopLCFqKXJldHVybiEwO3ZhciBCPW4uY3VycmVudHx8ajtyZXR1cm4gQ3BlKEIseCxtLEI9PT0iaCI/djpiLCEwKX0sW10pLGM9Zy51c2VDYWxsYmFjayhmdW5jdGlvbihtKXt2YXIgeD1tO2lmKCEoIU9kLmxlbmd0aHx8T2RbT2QubGVuZ3RoLTFdIT09aSkpe3ZhciB3PSJkZWx0YVkiaW4geD9JSSh4KTpueCh4KSx5PXQuY3VycmVudC5maWx0ZXIoZnVuY3Rpb24oail7cmV0dXJuIGoubmFtZT09PXgudHlwZSYmKGoudGFyZ2V0PT09eC50YXJnZXR8fHgudGFyZ2V0PT09ai5zaGFkb3dQYXJlbnQpJiZfcGUoai5kZWx0YSx3KX0pWzBdO2lmKHkmJnkuc2hvdWxkKXt4LmNhbmNlbGFibGUmJngucHJldmVudERlZmF1bHQoKTtyZXR1cm59aWYoIXkpe3ZhciB2PShvLmN1cnJlbnQuc2hhcmRzfHxbXSkubWFwKFVJKS5maWx0ZXIoQm9vbGVhbikuZmlsdGVyKGZ1bmN0aW9uKGope3JldHVybiBqLmNvbnRhaW5zKHgudGFyZ2V0KX0pLGI9di5sZW5ndGg+MD9sKHgsdlswXSk6IW8uY3VycmVudC5ub0lzb2xhdGlvbjtiJiZ4LmNhbmNlbGFibGUmJngucHJldmVudERlZmF1bHQoKX19fSxbXSksZD1nLnVzZUNhbGxiYWNrKGZ1bmN0aW9uKG0seCx3LHkpe3ZhciB2PXtuYW1lOm0sZGVsdGE6eCx0YXJnZXQ6dyxzaG91bGQ6eSxzaGFkb3dQYXJlbnQ6a3BlKHcpfTt0LmN1cnJlbnQucHVzaCh2KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5jdXJyZW50PXQuY3VycmVudC5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGIhPT12fSl9LDEpfSxbXSksdT1nLnVzZUNhbGxiYWNrKGZ1bmN0aW9uKG0pe3IuY3VycmVudD1ueChtKSxuLmN1cnJlbnQ9dm9pZCAwfSxbXSksQT1nLnVzZUNhbGxiYWNrKGZ1bmN0aW9uKG0pe2QobS50eXBlLElJKG0pLG0udGFyZ2V0LGwobSxlLmxvY2tSZWYuY3VycmVudCkpfSxbXSksZj1nLnVzZUNhbGxiYWNrKGZ1bmN0aW9uKG0pe2QobS50eXBlLG54KG0pLG0udGFyZ2V0LGwobSxlLmxvY2tSZWYuY3VycmVudCkpfSxbXSk7Zy51c2VFZmZlY3QoZnVuY3Rpb24oKXtyZXR1cm4gT2QucHVzaChpKSxlLnNldENhbGxiYWNrcyh7b25TY3JvbGxDYXB0dXJlOkEsb25XaGVlbENhcHR1cmU6QSxvblRvdWNoTW92ZUNhcHR1cmU6Zn0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixjLEZkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGMsRmQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHUsRmQpLGZ1bmN0aW9uKCl7T2Q9T2QuZmlsdGVyKGZ1bmN0aW9uKG0pe3JldHVybiBtIT09aX0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIixjLEZkKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGMsRmQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHUsRmQpfX0sW10pO3ZhciBoPWUucmVtb3ZlU2Nyb2xsQmFyLHA9ZS5pbmVydDtyZXR1cm4gZy5jcmVhdGVFbGVtZW50KGcuRnJhZ21lbnQsbnVsbCxwP2cuY3JlYXRlRWxlbWVudChpLHtzdHlsZXM6QnBlKGEpfSk6bnVsbCxoP2cuY3JlYXRlRWxlbWVudCh4cGUse25vUmVsYXRpdmU6ZS5ub1JlbGF0aXZlLGdhcE1vZGU6ZS5nYXBNb2RlfSk6bnVsbCl9ZnVuY3Rpb24ga3BlKGUpe2Zvcih2YXIgdD1udWxsO2UhPT1udWxsOyllIGluc3RhbmNlb2YgU2hhZG93Um9vdCYmKHQ9ZS5ob3N0LGU9ZS5ob3N0KSxlPWUucGFyZW50Tm9kZTtyZXR1cm4gdH1jb25zdCBUcGU9YXBlKHBWLEVwZSk7dmFyIER3PWcuZm9yd2FyZFJlZihmdW5jdGlvbihlLHQpe3JldHVybiBnLmNyZWF0ZUVsZW1lbnQoVXcsenMoe30sZSx7cmVmOnQsc2lkZUNhcjpUcGV9KSl9KTtEdy5jbGFzc05hbWVzPVV3LmNsYXNzTmFtZXM7dmFyIFBwZT1mdW5jdGlvbihlKXtpZih0eXBlb2YgZG9jdW1lbnQ+InUiKXJldHVybiBudWxsO3ZhciB0PUFycmF5LmlzQXJyYXkoZSk/ZVswXTplO3JldHVybiB0Lm93bmVyRG9jdW1lbnQuYm9keX0sSWQ9bmV3IFdlYWtNYXAsc3g9bmV3IFdlYWtNYXAsYXg9e30sdmo9MCx3Vj1mdW5jdGlvbihlKXtyZXR1cm4gZSYmKGUuaG9zdHx8d1YoZS5wYXJlbnROb2RlKSl9LEZwZT1mdW5jdGlvbihlLHQpe3JldHVybiB0Lm1hcChmdW5jdGlvbihyKXtpZihlLmNvbnRhaW5zKHIpKXJldHVybiByO3ZhciBuPXdWKHIpO3JldHVybiBuJiZlLmNvbnRhaW5zKG4pP246KGNvbnNvbGUuZXJyb3IoImFyaWEtaGlkZGVuIixyLCJpbiBub3QgY29udGFpbmVkIGluc2lkZSIsZSwiLiBEb2luZyBub3RoaW5nIiksbnVsbCl9KS5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuISFyfSl9LE9wZT1mdW5jdGlvbihlLHQscixuKXt2YXIgYT1GcGUodCxBcnJheS5pc0FycmF5KGUpP2U6W2VdKTtheFtyXXx8KGF4W3JdPW5ldyBXZWFrTWFwKTt2YXIgaT1heFtyXSxvPVtdLGw9bmV3IFNldCxjPW5ldyBTZXQoYSksZD1mdW5jdGlvbihBKXshQXx8bC5oYXMoQSl8fChsLmFkZChBKSxkKEEucGFyZW50Tm9kZSkpfTthLmZvckVhY2goZCk7dmFyIHU9ZnVuY3Rpb24oQSl7IUF8fGMuaGFzKEEpfHxBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEEuY2hpbGRyZW4sZnVuY3Rpb24oZil7aWYobC5oYXMoZikpdShmKTtlbHNlIHRyeXt2YXIgaD1mLmdldEF0dHJpYnV0ZShuKSxwPWghPT1udWxsJiZoIT09ImZhbHNlIixtPShJZC5nZXQoZil8fDApKzEseD0oaS5nZXQoZil8fDApKzE7SWQuc2V0KGYsbSksaS5zZXQoZix4KSxvLnB1c2goZiksbT09PTEmJnAmJnN4LnNldChmLCEwKSx4PT09MSYmZi5zZXRBdHRyaWJ1dGUociwidHJ1ZSIpLHB8fGYuc2V0QXR0cmlidXRlKG4sInRydWUiKX1jYXRjaCh3KXtjb25zb2xlLmVycm9yKCJhcmlhLWhpZGRlbjogY2Fubm90IG9wZXJhdGUgb24gIixmLHcpfX0pfTtyZXR1cm4gdSh0KSxsLmNsZWFyKCksdmorKyxmdW5jdGlvbigpe28uZm9yRWFjaChmdW5jdGlvbihBKXt2YXIgZj1JZC5nZXQoQSktMSxoPWkuZ2V0KEEpLTE7SWQuc2V0KEEsZiksaS5zZXQoQSxoKSxmfHwoc3guaGFzKEEpfHxBLnJlbW92ZUF0dHJpYnV0ZShuKSxzeC5kZWxldGUoQSkpLGh8fEEucmVtb3ZlQXR0cmlidXRlKHIpfSksdmotLSx2anx8KElkPW5ldyBXZWFrTWFwLElkPW5ldyBXZWFrTWFwLHN4PW5ldyBXZWFrTWFwLGF4PXt9KX19LEFrPWZ1bmN0aW9uKGUsdCxyKXtyPT09dm9pZCAwJiYocj0iZGF0YS1hcmlhLWhpZGRlbiIpO3ZhciBuPUFycmF5LmZyb20oQXJyYXkuaXNBcnJheShlKT9lOltlXSksYT1QcGUoZSk7cmV0dXJuIGE/KG4ucHVzaC5hcHBseShuLEFycmF5LmZyb20oYS5xdWVyeVNlbGVjdG9yQWxsKCJbYXJpYS1saXZlXSIpKSksT3BlKG4sYSxyLCJhcmlhLWhpZGRlbiIpKTpmdW5jdGlvbigpe3JldHVybiBudWxsfX0sTXc9IkRpYWxvZyIsW2JWLGpWXT1EcihNdyksW0lwZSxKYV09YlYoTXcpLE5WPWU9Pntjb25zdHtfX3Njb3BlRGlhbG9nOnQsY2hpbGRyZW46cixvcGVuOm4sZGVmYXVsdE9wZW46YSxvbk9wZW5DaGFuZ2U6aSxtb2RhbDpvPSEwfT1lLGw9Zy51c2VSZWYobnVsbCksYz1nLnVzZVJlZihudWxsKSxbZCx1XT1Ocyh7cHJvcDpuLGRlZmF1bHRQcm9wOmE/PyExLG9uQ2hhbmdlOmksY2FsbGVyOk13fSk7cmV0dXJuIHMuanN4KElwZSx7c2NvcGU6dCx0cmlnZ2VyUmVmOmwsY29udGVudFJlZjpjLGNvbnRlbnRJZDplYSgpLHRpdGxlSWQ6ZWEoKSxkZXNjcmlwdGlvbklkOmVhKCksb3BlbjpkLG9uT3BlbkNoYW5nZTp1LG9uT3BlblRvZ2dsZTpnLnVzZUNhbGxiYWNrKCgpPT51KEE9PiFBKSxbdV0pLG1vZGFsOm8sY2hpbGRyZW46cn0pfTtOVi5kaXNwbGF5TmFtZT1Ndzt2YXIgQ1Y9IkRpYWxvZ1RyaWdnZXIiLF9WPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVEaWFsb2c6ciwuLi5ufT1lLGE9SmEoQ1YsciksaT1XZSh0LGEudHJpZ2dlclJlZik7cmV0dXJuIHMuanN4KFNlLmJ1dHRvbix7dHlwZToiYnV0dG9uIiwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyIsImFyaWEtZXhwYW5kZWQiOmEub3BlbiwiYXJpYS1jb250cm9scyI6YS5jb250ZW50SWQsImRhdGEtc3RhdGUiOm1rKGEub3BlbiksLi4ubixyZWY6aSxvbkNsaWNrOm1lKGUub25DbGljayxhLm9uT3BlblRvZ2dsZSl9KX0pO19WLmRpc3BsYXlOYW1lPUNWO3ZhciBmaz0iRGlhbG9nUG9ydGFsIixbVXBlLEJWXT1iVihmayx7Zm9yY2VNb3VudDp2b2lkIDB9KSxTVj1lPT57Y29uc3R7X19zY29wZURpYWxvZzp0LGZvcmNlTW91bnQ6cixjaGlsZHJlbjpuLGNvbnRhaW5lcjphfT1lLGk9SmEoZmssdCk7cmV0dXJuIHMuanN4KFVwZSx7c2NvcGU6dCxmb3JjZU1vdW50OnIsY2hpbGRyZW46Zy5DaGlsZHJlbi5tYXAobixvPT5zLmpzeCh3bix7cHJlc2VudDpyfHxpLm9wZW4sY2hpbGRyZW46cy5qc3goSXAse2FzQ2hpbGQ6ITAsY29udGFpbmVyOmEsY2hpbGRyZW46b30pfSkpfSl9O1NWLmRpc3BsYXlOYW1lPWZrO3ZhciB4eT0iRGlhbG9nT3ZlcmxheSIsRVY9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3Qgcj1CVih4eSxlLl9fc2NvcGVEaWFsb2cpLHtmb3JjZU1vdW50Om49ci5mb3JjZU1vdW50LC4uLmF9PWUsaT1KYSh4eSxlLl9fc2NvcGVEaWFsb2cpO3JldHVybiBpLm1vZGFsP3MuanN4KHduLHtwcmVzZW50Om58fGkub3BlbixjaGlsZHJlbjpzLmpzeChNcGUsey4uLmEscmVmOnR9KX0pOm51bGx9KTtFVi5kaXNwbGF5TmFtZT14eTt2YXIgRHBlPXRkKCJEaWFsb2dPdmVybGF5LlJlbW92ZVNjcm9sbCIpLE1wZT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlRGlhbG9nOnIsLi4ubn09ZSxhPUphKHh5LHIpO3JldHVybiBzLmpzeChEdyx7YXM6RHBlLGFsbG93UGluY2hab29tOiEwLHNoYXJkczpbYS5jb250ZW50UmVmXSxjaGlsZHJlbjpzLmpzeChTZS5kaXYseyJkYXRhLXN0YXRlIjptayhhLm9wZW4pLC4uLm4scmVmOnQsc3R5bGU6e3BvaW50ZXJFdmVudHM6ImF1dG8iLC4uLm4uc3R5bGV9fSl9KX0pLG9kPSJEaWFsb2dDb250ZW50IixrVj1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdCByPUJWKG9kLGUuX19zY29wZURpYWxvZykse2ZvcmNlTW91bnQ6bj1yLmZvcmNlTW91bnQsLi4uYX09ZSxpPUphKG9kLGUuX19zY29wZURpYWxvZyk7cmV0dXJuIHMuanN4KHduLHtwcmVzZW50Om58fGkub3BlbixjaGlsZHJlbjppLm1vZGFsP3MuanN4KFJwZSx7Li4uYSxyZWY6dH0pOnMuanN4KFFwZSx7Li4uYSxyZWY6dH0pfSl9KTtrVi5kaXNwbGF5TmFtZT1vZDt2YXIgUnBlPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IHI9SmEob2QsZS5fX3Njb3BlRGlhbG9nKSxuPWcudXNlUmVmKG51bGwpLGE9V2UodCxyLmNvbnRlbnRSZWYsbik7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57Y29uc3QgaT1uLmN1cnJlbnQ7aWYoaSlyZXR1cm4gQWsoaSl9LFtdKSxzLmpzeChUVix7Li4uZSxyZWY6YSx0cmFwRm9jdXM6ci5vcGVuLGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50czohMCxvbkNsb3NlQXV0b0ZvY3VzOm1lKGUub25DbG9zZUF1dG9Gb2N1cyxpPT57dmFyIG87aS5wcmV2ZW50RGVmYXVsdCgpLChvPXIudHJpZ2dlclJlZi5jdXJyZW50KT09bnVsbHx8by5mb2N1cygpfSksb25Qb2ludGVyRG93bk91dHNpZGU6bWUoZS5vblBvaW50ZXJEb3duT3V0c2lkZSxpPT57Y29uc3Qgbz1pLmRldGFpbC5vcmlnaW5hbEV2ZW50LGw9by5idXR0b249PT0wJiZvLmN0cmxLZXk9PT0hMDsoby5idXR0b249PT0yfHxsKSYmaS5wcmV2ZW50RGVmYXVsdCgpfSksb25Gb2N1c091dHNpZGU6bWUoZS5vbkZvY3VzT3V0c2lkZSxpPT5pLnByZXZlbnREZWZhdWx0KCkpfSl9KSxRcGU9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3Qgcj1KYShvZCxlLl9fc2NvcGVEaWFsb2cpLG49Zy51c2VSZWYoITEpLGE9Zy51c2VSZWYoITEpO3JldHVybiBzLmpzeChUVix7Li4uZSxyZWY6dCx0cmFwRm9jdXM6ITEsZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOiExLG9uQ2xvc2VBdXRvRm9jdXM6aT0+e3ZhciBvLGw7KG89ZS5vbkNsb3NlQXV0b0ZvY3VzKT09bnVsbHx8by5jYWxsKGUsaSksaS5kZWZhdWx0UHJldmVudGVkfHwobi5jdXJyZW50fHwobD1yLnRyaWdnZXJSZWYuY3VycmVudCk9PW51bGx8fGwuZm9jdXMoKSxpLnByZXZlbnREZWZhdWx0KCkpLG4uY3VycmVudD0hMSxhLmN1cnJlbnQ9ITF9LG9uSW50ZXJhY3RPdXRzaWRlOmk9Pnt2YXIgYyxkOyhjPWUub25JbnRlcmFjdE91dHNpZGUpPT1udWxsfHxjLmNhbGwoZSxpKSxpLmRlZmF1bHRQcmV2ZW50ZWR8fChuLmN1cnJlbnQ9ITAsaS5kZXRhaWwub3JpZ2luYWxFdmVudC50eXBlPT09InBvaW50ZXJkb3duIiYmKGEuY3VycmVudD0hMCkpO2NvbnN0IG89aS50YXJnZXQ7KChkPXIudHJpZ2dlclJlZi5jdXJyZW50KT09bnVsbD92b2lkIDA6ZC5jb250YWlucyhvKSkmJmkucHJldmVudERlZmF1bHQoKSxpLmRldGFpbC5vcmlnaW5hbEV2ZW50LnR5cGU9PT0iZm9jdXNpbiImJmEuY3VycmVudCYmaS5wcmV2ZW50RGVmYXVsdCgpfX0pfSksVFY9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZURpYWxvZzpyLHRyYXBGb2N1czpuLG9uT3BlbkF1dG9Gb2N1czphLG9uQ2xvc2VBdXRvRm9jdXM6aSwuLi5vfT1lLGw9SmEob2QsciksYz1nLnVzZVJlZihudWxsKSxkPVdlKHQsYyk7cmV0dXJuIHVrKCkscy5qc3hzKHMuRnJhZ21lbnQse2NoaWxkcmVuOltzLmpzeChJdyx7YXNDaGlsZDohMCxsb29wOiEwLHRyYXBwZWQ6bixvbk1vdW50QXV0b0ZvY3VzOmEsb25Vbm1vdW50QXV0b0ZvY3VzOmksY2hpbGRyZW46cy5qc3goekEse3JvbGU6ImRpYWxvZyIsaWQ6bC5jb250ZW50SWQsImFyaWEtZGVzY3JpYmVkYnkiOmwuZGVzY3JpcHRpb25JZCwiYXJpYS1sYWJlbGxlZGJ5IjpsLnRpdGxlSWQsImRhdGEtc3RhdGUiOm1rKGwub3BlbiksLi4ubyxyZWY6ZCxvbkRpc21pc3M6KCk9Pmwub25PcGVuQ2hhbmdlKCExKX0pfSkscy5qc3hzKHMuRnJhZ21lbnQse2NoaWxkcmVuOltzLmpzeCgkcGUse3RpdGxlSWQ6bC50aXRsZUlkfSkscy5qc3goS3BlLHtjb250ZW50UmVmOmMsZGVzY3JpcHRpb25JZDpsLmRlc2NyaXB0aW9uSWR9KV19KV19KX0pLGhrPSJEaWFsb2dUaXRsZSIsUFY9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZURpYWxvZzpyLC4uLm59PWUsYT1KYShoayxyKTtyZXR1cm4gcy5qc3goU2UuaDIse2lkOmEudGl0bGVJZCwuLi5uLHJlZjp0fSl9KTtQVi5kaXNwbGF5TmFtZT1oazt2YXIgRlY9IkRpYWxvZ0Rlc2NyaXB0aW9uIixPVj1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlRGlhbG9nOnIsLi4ubn09ZSxhPUphKEZWLHIpO3JldHVybiBzLmpzeChTZS5wLHtpZDphLmRlc2NyaXB0aW9uSWQsLi4ubixyZWY6dH0pfSk7T1YuZGlzcGxheU5hbWU9RlY7dmFyIElWPSJEaWFsb2dDbG9zZSIsVVY9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZURpYWxvZzpyLC4uLm59PWUsYT1KYShJVixyKTtyZXR1cm4gcy5qc3goU2UuYnV0dG9uLHt0eXBlOiJidXR0b24iLC4uLm4scmVmOnQsb25DbGljazptZShlLm9uQ2xpY2ssKCk9PmEub25PcGVuQ2hhbmdlKCExKSl9KX0pO1VWLmRpc3BsYXlOYW1lPUlWO2Z1bmN0aW9uIG1rKGUpe3JldHVybiBlPyJvcGVuIjoiY2xvc2VkIn12YXIgRFY9IkRpYWxvZ1RpdGxlV2FybmluZyIsW0xwZSxNVl09cHRlKERWLHtjb250ZW50TmFtZTpvZCx0aXRsZU5hbWU6aGssZG9jc1NsdWc6ImRpYWxvZyJ9KSwkcGU9KHt0aXRsZUlkOmV9KT0+e2NvbnN0IHQ9TVYoRFYpLHI9YFxgJHt0LmNvbnRlbnROYW1lfVxgIHJlcXVpcmVzIGEgXGAke3QudGl0bGVOYW1lfVxgIGZvciB0aGUgY29tcG9uZW50IHRvIGJlIGFjY2Vzc2libGUgZm9yIHNjcmVlbiByZWFkZXIgdXNlcnMuCgpJZiB5b3Ugd2FudCB0byBoaWRlIHRoZSBcYCR7dC50aXRsZU5hbWV9XGAsIHlvdSBjYW4gd3JhcCBpdCB3aXRoIG91ciBWaXN1YWxseUhpZGRlbiBjb21wb25lbnQuCgpGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vcmFkaXgtdWkuY29tL3ByaW1pdGl2ZXMvZG9jcy9jb21wb25lbnRzLyR7dC5kb2NzU2x1Z31gO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e2UmJihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKXx8Y29uc29sZS5lcnJvcihyKSl9LFtyLGVdKSxudWxsfSxIcGU9IkRpYWxvZ0Rlc2NyaXB0aW9uV2FybmluZyIsS3BlPSh7Y29udGVudFJlZjplLGRlc2NyaXB0aW9uSWQ6dH0pPT57Y29uc3Qgbj1gV2FybmluZzogTWlzc2luZyBcYERlc2NyaXB0aW9uXGAgb3IgXGBhcmlhLWRlc2NyaWJlZGJ5PXt1bmRlZmluZWR9XGAgZm9yIHske01WKEhwZSkuY29udGVudE5hbWV9fS5gO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e3ZhciBpO2NvbnN0IGE9KGk9ZS5jdXJyZW50KT09bnVsbD92b2lkIDA6aS5nZXRBdHRyaWJ1dGUoImFyaWEtZGVzY3JpYmVkYnkiKTt0JiZhJiYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCl8fGNvbnNvbGUud2FybihuKSl9LFtuLGUsdF0pLG51bGx9LHBrPU5WLGdrPV9WLHhrPVNWLHpwPUVWLFdwPWtWLEdwPVBWLHFwPU9WLFJ3PVVWO2NvbnN0IHh0PXBrLHlrPWdrLFZwZT14ayxSVj1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3goenAse3JlZjpyLGNsYXNzTmFtZTp3ZSgiZml4ZWQgaW5zZXQtMCB6LTUwIGJnLWJsYWNrLzgwIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4gZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAgZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wIixlKSwuLi50fSkpO1JWLmRpc3BsYXlOYW1lPXpwLmRpc3BsYXlOYW1lO2NvbnN0IGZ0PWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLGNoaWxkcmVuOnQsLi4ucn0sbik9PnMuanN4cyhWcGUse2NoaWxkcmVuOltzLmpzeChSVix7fSkscy5qc3hzKFdwLHtyZWY6bixjbGFzc05hbWU6d2UoImZpeGVkIGxlZnQtWzUwJV0gdG9wLVs1MCVdIHotNTAgZ3JpZCB3LWZ1bGwgbWF4LXctbGcgdHJhbnNsYXRlLXgtWy01MCVdIHRyYW5zbGF0ZS15LVstNTAlXSBnYXAtNCBib3JkZXIgYmctYmFja2dyb3VuZCBwLTYgc2hhZG93LWxnIGR1cmF0aW9uLTIwMCBkYXRhLVtzdGF0ZT1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWNsb3NlZF06YW5pbWF0ZS1vdXQgZGF0YS1bc3RhdGU9Y2xvc2VkXTpmYWRlLW91dC0wIGRhdGEtW3N0YXRlPW9wZW5dOmZhZGUtaW4tMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3N0YXRlPW9wZW5dOnpvb20taW4tOTUgZGF0YS1bc3RhdGU9Y2xvc2VkXTpzbGlkZS1vdXQtdG8tbGVmdC0xLzIgZGF0YS1bc3RhdGU9Y2xvc2VkXTpzbGlkZS1vdXQtdG8tdG9wLVs0OCVdIGRhdGEtW3N0YXRlPW9wZW5dOnNsaWRlLWluLWZyb20tbGVmdC0xLzIgZGF0YS1bc3RhdGU9b3Blbl06c2xpZGUtaW4tZnJvbS10b3AtWzQ4JV0gc206cm91bmRlZC1sZyBtYXgtaC1bOTB2aF0gb3ZlcmZsb3cteS1hdXRvIixlKSwuLi5yLGNoaWxkcmVuOlt0LHMuanN4cyhSdyx7Y2xhc3NOYW1lOiJhYnNvbHV0ZSByaWdodC00IHRvcC00IHJvdW5kZWQtc20gb3BhY2l0eS03MCByaW5nLW9mZnNldC1iYWNrZ3JvdW5kIHRyYW5zaXRpb24tb3BhY2l0eSBkYXRhLVtzdGF0ZT1vcGVuXTpiZy1hY2NlbnQgZGF0YS1bc3RhdGU9b3Blbl06dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGhvdmVyOm9wYWNpdHktMTAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1yaW5nIGZvY3VzOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSIsY2hpbGRyZW46W3MuanN4KFNpLHtjbGFzc05hbWU6ImgtNCB3LTQifSkscy5qc3goInNwYW4iLHtjbGFzc05hbWU6InNyLW9ubHkiLGNoaWxkcmVuOiJDbG9zZSJ9KV19KV19KV19KSk7ZnQuZGlzcGxheU5hbWU9V3AuZGlzcGxheU5hbWU7Y29uc3QgdXQ9KHtjbGFzc05hbWU6ZSwuLi50fSk9PnMuanN4KCJkaXYiLHtjbGFzc05hbWU6d2UoImZsZXggZmxleC1jb2wgc3BhY2UteS0xLjUgdGV4dC1jZW50ZXIgc206dGV4dC1sZWZ0IixlKSwuLi50fSk7dXQuZGlzcGxheU5hbWU9IkRpYWxvZ0hlYWRlciI7Y29uc3QgcHM9KHtjbGFzc05hbWU6ZSwuLi50fSk9PnMuanN4KCJkaXYiLHtjbGFzc05hbWU6d2UoImZsZXggZmxleC1jb2wtcmV2ZXJzZSBzbTpmbGV4LXJvdyBzbTpqdXN0aWZ5LWVuZCBzbTpzcGFjZS14LTIiLGUpLC4uLnR9KTtwcy5kaXNwbGF5TmFtZT0iRGlhbG9nRm9vdGVyIjtjb25zdCBBdD1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3goR3Ase3JlZjpyLGNsYXNzTmFtZTp3ZSgidGV4dC1sZyBmb250LXNlbWlib2xkIGxlYWRpbmctbm9uZSB0cmFja2luZy10aWdodCIsZSksLi4udH0pKTtBdC5kaXNwbGF5TmFtZT1HcC5kaXNwbGF5TmFtZTtjb25zdCBJdD1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3gocXAse3JlZjpyLGNsYXNzTmFtZTp3ZSgidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGUpLC4uLnR9KSk7SXQuZGlzcGxheU5hbWU9cXAuZGlzcGxheU5hbWU7ZnVuY3Rpb24gT20oZSxbdCxyXSl7cmV0dXJuIE1hdGgubWluKHIsTWF0aC5tYXgodCxlKSl9ZnVuY3Rpb24gUXcoZSl7Y29uc3QgdD1nLnVzZVJlZih7dmFsdWU6ZSxwcmV2aW91czplfSk7cmV0dXJuIGcudXNlTWVtbygoKT0+KHQuY3VycmVudC52YWx1ZSE9PWUmJih0LmN1cnJlbnQucHJldmlvdXM9dC5jdXJyZW50LnZhbHVlLHQuY3VycmVudC52YWx1ZT1lKSx0LmN1cnJlbnQucHJldmlvdXMpLFtlXSl9dmFyIHpwZT1bIiAiLCJFbnRlciIsIkFycm93VXAiLCJBcnJvd0Rvd24iXSxXcGU9WyIgIiwiRW50ZXIiXSxsZD0iU2VsZWN0IixbTHcsJHcsR3BlXT1WQShsZCksW2FmLEtHZV09RHIobGQsW0dwZSxYQV0pLEh3PVhBKCksW3FwZSxYbF09YWYobGQpLFtZcGUsWHBlXT1hZihsZCksUVY9ZT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6dCxjaGlsZHJlbjpyLG9wZW46bixkZWZhdWx0T3BlbjphLG9uT3BlbkNoYW5nZTppLHZhbHVlOm8sZGVmYXVsdFZhbHVlOmwsb25WYWx1ZUNoYW5nZTpjLGRpcjpkLG5hbWU6dSxhdXRvQ29tcGxldGU6QSxkaXNhYmxlZDpmLHJlcXVpcmVkOmgsZm9ybTpwfT1lLG09SHcodCksW3gsd109Zy51c2VTdGF0ZShudWxsKSxbeSx2XT1nLnVzZVN0YXRlKG51bGwpLFtiLGpdPWcudXNlU3RhdGUoITEpLE49WWwoZCksW0MsX109TnMoe3Byb3A6bixkZWZhdWx0UHJvcDphPz8hMSxvbkNoYW5nZTppLGNhbGxlcjpsZH0pLFtCLGtdPU5zKHtwcm9wOm8sZGVmYXVsdFByb3A6bCxvbkNoYW5nZTpjLGNhbGxlcjpsZH0pLEU9Zy51c2VSZWYobnVsbCksRj14P3B8fCEheC5jbG9zZXN0KCJmb3JtIik6ITAsW08sU109Zy51c2VTdGF0ZShuZXcgU2V0KSxUPUFycmF5LmZyb20oTykubWFwKFA9PlAucHJvcHMudmFsdWUpLmpvaW4oIjsiKTtyZXR1cm4gcy5qc3goYjYsey4uLm0sY2hpbGRyZW46cy5qc3hzKHFwZSx7cmVxdWlyZWQ6aCxzY29wZTp0LHRyaWdnZXI6eCxvblRyaWdnZXJDaGFuZ2U6dyx2YWx1ZU5vZGU6eSxvblZhbHVlTm9kZUNoYW5nZTp2LHZhbHVlTm9kZUhhc0NoaWxkcmVuOmIsb25WYWx1ZU5vZGVIYXNDaGlsZHJlbkNoYW5nZTpqLGNvbnRlbnRJZDplYSgpLHZhbHVlOkIsb25WYWx1ZUNoYW5nZTprLG9wZW46Qyxvbk9wZW5DaGFuZ2U6XyxkaXI6Tix0cmlnZ2VyUG9pbnRlckRvd25Qb3NSZWY6RSxkaXNhYmxlZDpmLGNoaWxkcmVuOltzLmpzeChMdy5Qcm92aWRlcix7c2NvcGU6dCxjaGlsZHJlbjpzLmpzeChZcGUse3Njb3BlOmUuX19zY29wZVNlbGVjdCxvbk5hdGl2ZU9wdGlvbkFkZDpnLnVzZUNhbGxiYWNrKFA9PntTKFU9Pm5ldyBTZXQoVSkuYWRkKFApKX0sW10pLG9uTmF0aXZlT3B0aW9uUmVtb3ZlOmcudXNlQ2FsbGJhY2soUD0+e1MoVT0+e2NvbnN0IEQ9bmV3IFNldChVKTtyZXR1cm4gRC5kZWxldGUoUCksRH0pfSxbXSksY2hpbGRyZW46cn0pfSksRj9zLmpzeHMoZHoseyJhcmlhLWhpZGRlbiI6ITAscmVxdWlyZWQ6aCx0YWJJbmRleDotMSxuYW1lOnUsYXV0b0NvbXBsZXRlOkEsdmFsdWU6QixvbkNoYW5nZTpQPT5rKFAudGFyZ2V0LnZhbHVlKSxkaXNhYmxlZDpmLGZvcm06cCxjaGlsZHJlbjpbQj09PXZvaWQgMD9zLmpzeCgib3B0aW9uIix7dmFsdWU6IiJ9KTpudWxsLEFycmF5LmZyb20oTyldfSxUKTpudWxsXX0pfSl9O1FWLmRpc3BsYXlOYW1lPWxkO3ZhciBMVj0iU2VsZWN0VHJpZ2dlciIsJFY9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVNlbGVjdDpyLGRpc2FibGVkOm49ITEsLi4uYX09ZSxpPUh3KHIpLG89WGwoTFYsciksbD1vLmRpc2FibGVkfHxuLGM9V2UodCxvLm9uVHJpZ2dlckNoYW5nZSksZD0kdyhyKSx1PWcudXNlUmVmKCJ0b3VjaCIpLFtBLGYsaF09QXoobT0+e2NvbnN0IHg9ZCgpLmZpbHRlcih2PT4hdi5kaXNhYmxlZCksdz14LmZpbmQodj0+di52YWx1ZT09PW8udmFsdWUpLHk9ZnooeCxtLHcpO3khPT12b2lkIDAmJm8ub25WYWx1ZUNoYW5nZSh5LnZhbHVlKX0pLHA9bT0+e2x8fChvLm9uT3BlbkNoYW5nZSghMCksaCgpKSxtJiYoby50cmlnZ2VyUG9pbnRlckRvd25Qb3NSZWYuY3VycmVudD17eDpNYXRoLnJvdW5kKG0ucGFnZVgpLHk6TWF0aC5yb3VuZChtLnBhZ2VZKX0pfTtyZXR1cm4gcy5qc3goYUUse2FzQ2hpbGQ6ITAsLi4uaSxjaGlsZHJlbjpzLmpzeChTZS5idXR0b24se3R5cGU6ImJ1dHRvbiIscm9sZToiY29tYm9ib3giLCJhcmlhLWNvbnRyb2xzIjpvLmNvbnRlbnRJZCwiYXJpYS1leHBhbmRlZCI6by5vcGVuLCJhcmlhLXJlcXVpcmVkIjpvLnJlcXVpcmVkLCJhcmlhLWF1dG9jb21wbGV0ZSI6Im5vbmUiLGRpcjpvLmRpciwiZGF0YS1zdGF0ZSI6by5vcGVuPyJvcGVuIjoiY2xvc2VkIixkaXNhYmxlZDpsLCJkYXRhLWRpc2FibGVkIjpsPyIiOnZvaWQgMCwiZGF0YS1wbGFjZWhvbGRlciI6dXooby52YWx1ZSk/IiI6dm9pZCAwLC4uLmEscmVmOmMsb25DbGljazptZShhLm9uQ2xpY2ssbT0+e20uY3VycmVudFRhcmdldC5mb2N1cygpLHUuY3VycmVudCE9PSJtb3VzZSImJnAobSl9KSxvblBvaW50ZXJEb3duOm1lKGEub25Qb2ludGVyRG93bixtPT57dS5jdXJyZW50PW0ucG9pbnRlclR5cGU7Y29uc3QgeD1tLnRhcmdldDt4Lmhhc1BvaW50ZXJDYXB0dXJlKG0ucG9pbnRlcklkKSYmeC5yZWxlYXNlUG9pbnRlckNhcHR1cmUobS5wb2ludGVySWQpLG0uYnV0dG9uPT09MCYmbS5jdHJsS2V5PT09ITEmJm0ucG9pbnRlclR5cGU9PT0ibW91c2UiJiYocChtKSxtLnByZXZlbnREZWZhdWx0KCkpfSksb25LZXlEb3duOm1lKGEub25LZXlEb3duLG09Pntjb25zdCB4PUEuY3VycmVudCE9PSIiOyEobS5jdHJsS2V5fHxtLmFsdEtleXx8bS5tZXRhS2V5KSYmbS5rZXkubGVuZ3RoPT09MSYmZihtLmtleSksISh4JiZtLmtleT09PSIgIikmJnpwZS5pbmNsdWRlcyhtLmtleSkmJihwKCksbS5wcmV2ZW50RGVmYXVsdCgpKX0pfSl9KX0pOyRWLmRpc3BsYXlOYW1lPUxWO3ZhciBIVj0iU2VsZWN0VmFsdWUiLEtWPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6cixjbGFzc05hbWU6bixzdHlsZTphLGNoaWxkcmVuOmkscGxhY2Vob2xkZXI6bz0iIiwuLi5sfT1lLGM9WGwoSFYscikse29uVmFsdWVOb2RlSGFzQ2hpbGRyZW5DaGFuZ2U6ZH09Yyx1PWkhPT12b2lkIDAsQT1XZSh0LGMub25WYWx1ZU5vZGVDaGFuZ2UpO3JldHVybiBqcigoKT0+e2QodSl9LFtkLHVdKSxzLmpzeChTZS5zcGFuLHsuLi5sLHJlZjpBLHN0eWxlOntwb2ludGVyRXZlbnRzOiJub25lIn0sY2hpbGRyZW46dXooYy52YWx1ZSk/cy5qc3gocy5GcmFnbWVudCx7Y2hpbGRyZW46b30pOml9KX0pO0tWLmRpc3BsYXlOYW1lPUhWO3ZhciBKcGU9IlNlbGVjdEljb24iLFZWPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6cixjaGlsZHJlbjpuLC4uLmF9PWU7cmV0dXJuIHMuanN4KFNlLnNwYW4seyJhcmlhLWhpZGRlbiI6ITAsLi4uYSxyZWY6dCxjaGlsZHJlbjpufHwi4pa8In0pfSk7VlYuZGlzcGxheU5hbWU9SnBlO3ZhciBacGU9IlNlbGVjdFBvcnRhbCIselY9ZT0+cy5qc3goSXAse2FzQ2hpbGQ6ITAsLi4uZX0pO3pWLmRpc3BsYXlOYW1lPVpwZTt2YXIgY2Q9IlNlbGVjdENvbnRlbnQiLFdWPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IHI9WGwoY2QsZS5fX3Njb3BlU2VsZWN0KSxbbixhXT1nLnVzZVN0YXRlKCk7aWYoanIoKCk9PnthKG5ldyBEb2N1bWVudEZyYWdtZW50KX0sW10pLCFyLm9wZW4pe2NvbnN0IGk9bjtyZXR1cm4gaT94ZC5jcmVhdGVQb3J0YWwocy5qc3goR1Yse3Njb3BlOmUuX19zY29wZVNlbGVjdCxjaGlsZHJlbjpzLmpzeChMdy5TbG90LHtzY29wZTplLl9fc2NvcGVTZWxlY3QsY2hpbGRyZW46cy5qc3goImRpdiIse2NoaWxkcmVuOmUuY2hpbGRyZW59KX0pfSksaSk6bnVsbH1yZXR1cm4gcy5qc3gocVYsey4uLmUscmVmOnR9KX0pO1dWLmRpc3BsYXlOYW1lPWNkO3ZhciBqYT0xMCxbR1YsSmxdPWFmKGNkKSxlZ2U9IlNlbGVjdENvbnRlbnRJbXBsIix0Z2U9dGQoIlNlbGVjdENvbnRlbnQuUmVtb3ZlU2Nyb2xsIikscVY9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVNlbGVjdDpyLHBvc2l0aW9uOm49Iml0ZW0tYWxpZ25lZCIsb25DbG9zZUF1dG9Gb2N1czphLG9uRXNjYXBlS2V5RG93bjppLG9uUG9pbnRlckRvd25PdXRzaWRlOm8sc2lkZTpsLHNpZGVPZmZzZXQ6YyxhbGlnbjpkLGFsaWduT2Zmc2V0OnUsYXJyb3dQYWRkaW5nOkEsY29sbGlzaW9uQm91bmRhcnk6Zixjb2xsaXNpb25QYWRkaW5nOmgsc3RpY2t5OnAsaGlkZVdoZW5EZXRhY2hlZDptLGF2b2lkQ29sbGlzaW9uczp4LC4uLnd9PWUseT1YbChjZCxyKSxbdixiXT1nLnVzZVN0YXRlKG51bGwpLFtqLE5dPWcudXNlU3RhdGUobnVsbCksQz1XZSh0LFg9PmIoWCkpLFtfLEJdPWcudXNlU3RhdGUobnVsbCksW2ssRV09Zy51c2VTdGF0ZShudWxsKSxGPSR3KHIpLFtPLFNdPWcudXNlU3RhdGUoITEpLFQ9Zy51c2VSZWYoITEpO2cudXNlRWZmZWN0KCgpPT57aWYodilyZXR1cm4gQWsodil9LFt2XSksdWsoKTtjb25zdCBQPWcudXNlQ2FsbGJhY2soWD0+e2NvbnN0W0csLi4ucV09RigpLm1hcChRPT5RLnJlZi5jdXJyZW50KSxbWV09cS5zbGljZSgtMSksSj1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2Zvcihjb25zdCBRIG9mIFgpaWYoUT09PUp8fChRPT1udWxsfHxRLnNjcm9sbEludG9WaWV3KHtibG9jazoibmVhcmVzdCJ9KSxRPT09RyYmaiYmKGouc2Nyb2xsVG9wPTApLFE9PT1ZJiZqJiYoai5zY3JvbGxUb3A9ai5zY3JvbGxIZWlnaHQpLFE9PW51bGx8fFEuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09SikpcmV0dXJufSxbRixqXSksVT1nLnVzZUNhbGxiYWNrKCgpPT5QKFtfLHZdKSxbUCxfLHZdKTtnLnVzZUVmZmVjdCgoKT0+e08mJlUoKX0sW08sVV0pO2NvbnN0e29uT3BlbkNoYW5nZTpELHRyaWdnZXJQb2ludGVyRG93blBvc1JlZjpJfT15O2cudXNlRWZmZWN0KCgpPT57aWYodil7bGV0IFg9e3g6MCx5OjB9O2NvbnN0IEc9WT0+e3ZhciBKLFE7WD17eDpNYXRoLmFicyhNYXRoLnJvdW5kKFkucGFnZVgpLSgoKEo9SS5jdXJyZW50KT09bnVsbD92b2lkIDA6Si54KT8/MCkpLHk6TWF0aC5hYnMoTWF0aC5yb3VuZChZLnBhZ2VZKS0oKChRPUkuY3VycmVudCk9PW51bGw/dm9pZCAwOlEueSk/PzApKX19LHE9WT0+e1gueDw9MTAmJlgueTw9MTA/WS5wcmV2ZW50RGVmYXVsdCgpOnYuY29udGFpbnMoWS50YXJnZXQpfHxEKCExKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsRyksSS5jdXJyZW50PW51bGx9O3JldHVybiBJLmN1cnJlbnQhPT1udWxsJiYoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLEcpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIscSx7Y2FwdHVyZTohMCxvbmNlOiEwfSkpLCgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLEcpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIscSx7Y2FwdHVyZTohMH0pfX19LFt2LEQsSV0pLGcudXNlRWZmZWN0KCgpPT57Y29uc3QgWD0oKT0+RCghMSk7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixYKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixYKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixYKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixYKX19LFtEXSk7Y29uc3RbUixMXT1BeihYPT57Y29uc3QgRz1GKCkuZmlsdGVyKEo9PiFKLmRpc2FibGVkKSxxPUcuZmluZChKPT5KLnJlZi5jdXJyZW50PT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCksWT1meihHLFgscSk7WSYmc2V0VGltZW91dCgoKT0+WS5yZWYuY3VycmVudC5mb2N1cygpKX0pLCQ9Zy51c2VDYWxsYmFjaygoWCxHLHEpPT57Y29uc3QgWT0hVC5jdXJyZW50JiYhcTsoeS52YWx1ZSE9PXZvaWQgMCYmeS52YWx1ZT09PUd8fFkpJiYoQihYKSxZJiYoVC5jdXJyZW50PSEwKSl9LFt5LnZhbHVlXSksSD1nLnVzZUNhbGxiYWNrKCgpPT52PT1udWxsP3ZvaWQgMDp2LmZvY3VzKCksW3ZdKSxaPWcudXNlQ2FsbGJhY2soKFgsRyxxKT0+e2NvbnN0IFk9IVQuY3VycmVudCYmIXE7KHkudmFsdWUhPT12b2lkIDAmJnkudmFsdWU9PT1HfHxZKSYmRShYKX0sW3kudmFsdWVdKSxlZT1uPT09InBvcHBlciI/VF86WVYscmU9ZWU9PT1UXz97c2lkZTpsLHNpZGVPZmZzZXQ6YyxhbGlnbjpkLGFsaWduT2Zmc2V0OnUsYXJyb3dQYWRkaW5nOkEsY29sbGlzaW9uQm91bmRhcnk6Zixjb2xsaXNpb25QYWRkaW5nOmgsc3RpY2t5OnAsaGlkZVdoZW5EZXRhY2hlZDptLGF2b2lkQ29sbGlzaW9uczp4fTp7fTtyZXR1cm4gcy5qc3goR1Yse3Njb3BlOnIsY29udGVudDp2LHZpZXdwb3J0Omosb25WaWV3cG9ydENoYW5nZTpOLGl0ZW1SZWZDYWxsYmFjazokLHNlbGVjdGVkSXRlbTpfLG9uSXRlbUxlYXZlOkgsaXRlbVRleHRSZWZDYWxsYmFjazpaLGZvY3VzU2VsZWN0ZWRJdGVtOlUsc2VsZWN0ZWRJdGVtVGV4dDprLHBvc2l0aW9uOm4saXNQb3NpdGlvbmVkOk8sc2VhcmNoUmVmOlIsY2hpbGRyZW46cy5qc3goRHcse2FzOnRnZSxhbGxvd1BpbmNoWm9vbTohMCxjaGlsZHJlbjpzLmpzeChJdyx7YXNDaGlsZDohMCx0cmFwcGVkOnkub3Blbixvbk1vdW50QXV0b0ZvY3VzOlg9PntYLnByZXZlbnREZWZhdWx0KCl9LG9uVW5tb3VudEF1dG9Gb2N1czptZShhLFg9Pnt2YXIgRzsoRz15LnRyaWdnZXIpPT1udWxsfHxHLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksWC5wcmV2ZW50RGVmYXVsdCgpfSksY2hpbGRyZW46cy5qc3goekEse2FzQ2hpbGQ6ITAsZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOiEwLG9uRXNjYXBlS2V5RG93bjppLG9uUG9pbnRlckRvd25PdXRzaWRlOm8sb25Gb2N1c091dHNpZGU6WD0+WC5wcmV2ZW50RGVmYXVsdCgpLG9uRGlzbWlzczooKT0+eS5vbk9wZW5DaGFuZ2UoITEpLGNoaWxkcmVuOnMuanN4KGVlLHtyb2xlOiJsaXN0Ym94IixpZDp5LmNvbnRlbnRJZCwiZGF0YS1zdGF0ZSI6eS5vcGVuPyJvcGVuIjoiY2xvc2VkIixkaXI6eS5kaXIsb25Db250ZXh0TWVudTpYPT5YLnByZXZlbnREZWZhdWx0KCksLi4udywuLi5yZSxvblBsYWNlZDooKT0+UyghMCkscmVmOkMsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsb3V0bGluZToibm9uZSIsLi4udy5zdHlsZX0sb25LZXlEb3duOm1lKHcub25LZXlEb3duLFg9Pntjb25zdCBHPVguY3RybEtleXx8WC5hbHRLZXl8fFgubWV0YUtleTtpZihYLmtleT09PSJUYWIiJiZYLnByZXZlbnREZWZhdWx0KCksIUcmJlgua2V5Lmxlbmd0aD09PTEmJkwoWC5rZXkpLFsiQXJyb3dVcCIsIkFycm93RG93biIsIkhvbWUiLCJFbmQiXS5pbmNsdWRlcyhYLmtleSkpe2xldCBZPUYoKS5maWx0ZXIoSj0+IUouZGlzYWJsZWQpLm1hcChKPT5KLnJlZi5jdXJyZW50KTtpZihbIkFycm93VXAiLCJFbmQiXS5pbmNsdWRlcyhYLmtleSkmJihZPVkuc2xpY2UoKS5yZXZlcnNlKCkpLFsiQXJyb3dVcCIsIkFycm93RG93biJdLmluY2x1ZGVzKFgua2V5KSl7Y29uc3QgSj1YLnRhcmdldCxRPVkuaW5kZXhPZihKKTtZPVkuc2xpY2UoUSsxKX1zZXRUaW1lb3V0KCgpPT5QKFkpKSxYLnByZXZlbnREZWZhdWx0KCl9fSl9KX0pfSl9KX0pfSk7cVYuZGlzcGxheU5hbWU9ZWdlO3ZhciByZ2U9IlNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb24iLFlWPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6cixvblBsYWNlZDpuLC4uLmF9PWUsaT1YbChjZCxyKSxvPUpsKGNkLHIpLFtsLGNdPWcudXNlU3RhdGUobnVsbCksW2QsdV09Zy51c2VTdGF0ZShudWxsKSxBPVdlKHQsQz0+dShDKSksZj0kdyhyKSxoPWcudXNlUmVmKCExKSxwPWcudXNlUmVmKCEwKSx7dmlld3BvcnQ6bSxzZWxlY3RlZEl0ZW06eCxzZWxlY3RlZEl0ZW1UZXh0OncsZm9jdXNTZWxlY3RlZEl0ZW06eX09byx2PWcudXNlQ2FsbGJhY2soKCk9PntpZihpLnRyaWdnZXImJmkudmFsdWVOb2RlJiZsJiZkJiZtJiZ4JiZ3KXtjb25zdCBDPWkudHJpZ2dlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxfPWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksQj1pLnZhbHVlTm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxrPXcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoaS5kaXIhPT0icnRsIil7Y29uc3QgSj1rLmxlZnQtXy5sZWZ0LFE9Qi5sZWZ0LUosYWU9Qy5sZWZ0LVEsej1DLndpZHRoK2FlLG5lPU1hdGgubWF4KHosXy53aWR0aCksc2U9d2luZG93LmlubmVyV2lkdGgtamEsaWU9T20oUSxbamEsTWF0aC5tYXgoamEsc2UtbmUpXSk7bC5zdHlsZS5taW5XaWR0aD16KyJweCIsbC5zdHlsZS5sZWZ0PWllKyJweCJ9ZWxzZXtjb25zdCBKPV8ucmlnaHQtay5yaWdodCxRPXdpbmRvdy5pbm5lcldpZHRoLUIucmlnaHQtSixhZT13aW5kb3cuaW5uZXJXaWR0aC1DLnJpZ2h0LVEsej1DLndpZHRoK2FlLG5lPU1hdGgubWF4KHosXy53aWR0aCksc2U9d2luZG93LmlubmVyV2lkdGgtamEsaWU9T20oUSxbamEsTWF0aC5tYXgoamEsc2UtbmUpXSk7bC5zdHlsZS5taW5XaWR0aD16KyJweCIsbC5zdHlsZS5yaWdodD1pZSsicHgifWNvbnN0IEU9ZigpLEY9d2luZG93LmlubmVySGVpZ2h0LWphKjIsTz1tLnNjcm9sbEhlaWdodCxTPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGQpLFQ9cGFyc2VJbnQoUy5ib3JkZXJUb3BXaWR0aCwxMCksUD1wYXJzZUludChTLnBhZGRpbmdUb3AsMTApLFU9cGFyc2VJbnQoUy5ib3JkZXJCb3R0b21XaWR0aCwxMCksRD1wYXJzZUludChTLnBhZGRpbmdCb3R0b20sMTApLEk9VCtQK08rRCtVLFI9TWF0aC5taW4oeC5vZmZzZXRIZWlnaHQqNSxJKSxMPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG0pLCQ9cGFyc2VJbnQoTC5wYWRkaW5nVG9wLDEwKSxIPXBhcnNlSW50KEwucGFkZGluZ0JvdHRvbSwxMCksWj1DLnRvcCtDLmhlaWdodC8yLWphLGVlPUYtWixyZT14Lm9mZnNldEhlaWdodC8yLFg9eC5vZmZzZXRUb3ArcmUsRz1UK1ArWCxxPUktRztpZihHPD1aKXtjb25zdCBKPUUubGVuZ3RoPjAmJng9PT1FW0UubGVuZ3RoLTFdLnJlZi5jdXJyZW50O2wuc3R5bGUuYm90dG9tPSIwcHgiO2NvbnN0IFE9ZC5jbGllbnRIZWlnaHQtbS5vZmZzZXRUb3AtbS5vZmZzZXRIZWlnaHQsYWU9TWF0aC5tYXgoZWUscmUrKEo/SDowKStRK1UpLHo9RythZTtsLnN0eWxlLmhlaWdodD16KyJweCJ9ZWxzZXtjb25zdCBKPUUubGVuZ3RoPjAmJng9PT1FWzBdLnJlZi5jdXJyZW50O2wuc3R5bGUudG9wPSIwcHgiO2NvbnN0IGFlPU1hdGgubWF4KFosVCttLm9mZnNldFRvcCsoSj8kOjApK3JlKStxO2wuc3R5bGUuaGVpZ2h0PWFlKyJweCIsbS5zY3JvbGxUb3A9Ry1aK20ub2Zmc2V0VG9wfWwuc3R5bGUubWFyZ2luPWAke2phfXB4IDBgLGwuc3R5bGUubWluSGVpZ2h0PVIrInB4IixsLnN0eWxlLm1heEhlaWdodD1GKyJweCIsbj09bnVsbHx8bigpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+aC5jdXJyZW50PSEwKX19LFtmLGkudHJpZ2dlcixpLnZhbHVlTm9kZSxsLGQsbSx4LHcsaS5kaXIsbl0pO2pyKCgpPT52KCksW3ZdKTtjb25zdFtiLGpdPWcudXNlU3RhdGUoKTtqcigoKT0+e2QmJmood2luZG93LmdldENvbXB1dGVkU3R5bGUoZCkuekluZGV4KX0sW2RdKTtjb25zdCBOPWcudXNlQ2FsbGJhY2soQz0+e0MmJnAuY3VycmVudD09PSEwJiYodigpLHk9PW51bGx8fHkoKSxwLmN1cnJlbnQ9ITEpfSxbdix5XSk7cmV0dXJuIHMuanN4KHNnZSx7c2NvcGU6cixjb250ZW50V3JhcHBlcjpsLHNob3VsZEV4cGFuZE9uU2Nyb2xsUmVmOmgsb25TY3JvbGxCdXR0b25DaGFuZ2U6TixjaGlsZHJlbjpzLmpzeCgiZGl2Iix7cmVmOmMsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIscG9zaXRpb246ImZpeGVkIix6SW5kZXg6Yn0sY2hpbGRyZW46cy5qc3goU2UuZGl2LHsuLi5hLHJlZjpBLHN0eWxlOntib3hTaXppbmc6ImJvcmRlci1ib3giLG1heEhlaWdodDoiMTAwJSIsLi4uYS5zdHlsZX19KX0pfSl9KTtZVi5kaXNwbGF5TmFtZT1yZ2U7dmFyIG5nZT0iU2VsZWN0UG9wcGVyUG9zaXRpb24iLFRfPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6cixhbGlnbjpuPSJzdGFydCIsY29sbGlzaW9uUGFkZGluZzphPWphLC4uLml9PWUsbz1IdyhyKTtyZXR1cm4gcy5qc3goaUUsey4uLm8sLi4uaSxyZWY6dCxhbGlnbjpuLGNvbGxpc2lvblBhZGRpbmc6YSxzdHlsZTp7Ym94U2l6aW5nOiJib3JkZXItYm94IiwuLi5pLnN0eWxlLCItLXJhZGl4LXNlbGVjdC1jb250ZW50LXRyYW5zZm9ybS1vcmlnaW4iOiJ2YXIoLS1yYWRpeC1wb3BwZXItdHJhbnNmb3JtLW9yaWdpbikiLCItLXJhZGl4LXNlbGVjdC1jb250ZW50LWF2YWlsYWJsZS13aWR0aCI6InZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtd2lkdGgpIiwiLS1yYWRpeC1zZWxlY3QtY29udGVudC1hdmFpbGFibGUtaGVpZ2h0IjoidmFyKC0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS1oZWlnaHQpIiwiLS1yYWRpeC1zZWxlY3QtdHJpZ2dlci13aWR0aCI6InZhcigtLXJhZGl4LXBvcHBlci1hbmNob3Itd2lkdGgpIiwiLS1yYWRpeC1zZWxlY3QtdHJpZ2dlci1oZWlnaHQiOiJ2YXIoLS1yYWRpeC1wb3BwZXItYW5jaG9yLWhlaWdodCkifX0pfSk7VF8uZGlzcGxheU5hbWU9bmdlO3ZhcltzZ2UsdmtdPWFmKGNkLHt9KSxQXz0iU2VsZWN0Vmlld3BvcnQiLFhWPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6cixub25jZTpuLC4uLmF9PWUsaT1KbChQXyxyKSxvPXZrKFBfLHIpLGw9V2UodCxpLm9uVmlld3BvcnRDaGFuZ2UpLGM9Zy51c2VSZWYoMCk7cmV0dXJuIHMuanN4cyhzLkZyYWdtZW50LHtjaGlsZHJlbjpbcy5qc3goInN0eWxlIix7ZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDoiW2RhdGEtcmFkaXgtc2VsZWN0LXZpZXdwb3J0XXtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDt9W2RhdGEtcmFkaXgtc2VsZWN0LXZpZXdwb3J0XTo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfSJ9LG5vbmNlOm59KSxzLmpzeChMdy5TbG90LHtzY29wZTpyLGNoaWxkcmVuOnMuanN4KFNlLmRpdix7ImRhdGEtcmFkaXgtc2VsZWN0LXZpZXdwb3J0IjoiIixyb2xlOiJwcmVzZW50YXRpb24iLC4uLmEscmVmOmwsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsZmxleDoxLG92ZXJmbG93OiJoaWRkZW4gYXV0byIsLi4uYS5zdHlsZX0sb25TY3JvbGw6bWUoYS5vblNjcm9sbCxkPT57Y29uc3QgdT1kLmN1cnJlbnRUYXJnZXQse2NvbnRlbnRXcmFwcGVyOkEsc2hvdWxkRXhwYW5kT25TY3JvbGxSZWY6Zn09bztpZihmIT1udWxsJiZmLmN1cnJlbnQmJkEpe2NvbnN0IGg9TWF0aC5hYnMoYy5jdXJyZW50LXUuc2Nyb2xsVG9wKTtpZihoPjApe2NvbnN0IHA9d2luZG93LmlubmVySGVpZ2h0LWphKjIsbT1wYXJzZUZsb2F0KEEuc3R5bGUubWluSGVpZ2h0KSx4PXBhcnNlRmxvYXQoQS5zdHlsZS5oZWlnaHQpLHc9TWF0aC5tYXgobSx4KTtpZih3PHApe2NvbnN0IHk9dytoLHY9TWF0aC5taW4ocCx5KSxiPXktdjtBLnN0eWxlLmhlaWdodD12KyJweCIsQS5zdHlsZS5ib3R0b209PT0iMHB4IiYmKHUuc2Nyb2xsVG9wPWI+MD9iOjAsQS5zdHlsZS5qdXN0aWZ5Q29udGVudD0iZmxleC1lbmQiKX19fWMuY3VycmVudD11LnNjcm9sbFRvcH0pfSl9KV19KX0pO1hWLmRpc3BsYXlOYW1lPVBfO3ZhciBKVj0iU2VsZWN0R3JvdXAiLFthZ2UsaWdlXT1hZihKViksb2dlPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6ciwuLi5ufT1lLGE9ZWEoKTtyZXR1cm4gcy5qc3goYWdlLHtzY29wZTpyLGlkOmEsY2hpbGRyZW46cy5qc3goU2UuZGl2LHtyb2xlOiJncm91cCIsImFyaWEtbGFiZWxsZWRieSI6YSwuLi5uLHJlZjp0fSl9KX0pO29nZS5kaXNwbGF5TmFtZT1KVjt2YXIgWlY9IlNlbGVjdExhYmVsIixlej1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlU2VsZWN0OnIsLi4ubn09ZSxhPWlnZShaVixyKTtyZXR1cm4gcy5qc3goU2UuZGl2LHtpZDphLmlkLC4uLm4scmVmOnR9KX0pO2V6LmRpc3BsYXlOYW1lPVpWO3ZhciB5eT0iU2VsZWN0SXRlbSIsW2xnZSx0el09YWYoeXkpLHJ6PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6cix2YWx1ZTpuLGRpc2FibGVkOmE9ITEsdGV4dFZhbHVlOmksLi4ub309ZSxsPVhsKHl5LHIpLGM9SmwoeXksciksZD1sLnZhbHVlPT09bixbdSxBXT1nLnVzZVN0YXRlKGk/PyIiKSxbZixoXT1nLnVzZVN0YXRlKCExKSxwPVdlKHQseT0+e3ZhciB2O3JldHVybih2PWMuaXRlbVJlZkNhbGxiYWNrKT09bnVsbD92b2lkIDA6di5jYWxsKGMseSxuLGEpfSksbT1lYSgpLHg9Zy51c2VSZWYoInRvdWNoIiksdz0oKT0+e2F8fChsLm9uVmFsdWVDaGFuZ2UobiksbC5vbk9wZW5DaGFuZ2UoITEpKX07aWYobj09PSIiKXRocm93IG5ldyBFcnJvcigiQSA8U2VsZWN0Lkl0ZW0gLz4gbXVzdCBoYXZlIGEgdmFsdWUgcHJvcCB0aGF0IGlzIG5vdCBhbiBlbXB0eSBzdHJpbmcuIFRoaXMgaXMgYmVjYXVzZSB0aGUgU2VsZWN0IHZhbHVlIGNhbiBiZSBzZXQgdG8gYW4gZW1wdHkgc3RyaW5nIHRvIGNsZWFyIHRoZSBzZWxlY3Rpb24gYW5kIHNob3cgdGhlIHBsYWNlaG9sZGVyLiIpO3JldHVybiBzLmpzeChsZ2Use3Njb3BlOnIsdmFsdWU6bixkaXNhYmxlZDphLHRleHRJZDptLGlzU2VsZWN0ZWQ6ZCxvbkl0ZW1UZXh0Q2hhbmdlOmcudXNlQ2FsbGJhY2soeT0+e0Eodj0+dnx8KCh5PT1udWxsP3ZvaWQgMDp5LnRleHRDb250ZW50KT8/IiIpLnRyaW0oKSl9LFtdKSxjaGlsZHJlbjpzLmpzeChMdy5JdGVtU2xvdCx7c2NvcGU6cix2YWx1ZTpuLGRpc2FibGVkOmEsdGV4dFZhbHVlOnUsY2hpbGRyZW46cy5qc3goU2UuZGl2LHtyb2xlOiJvcHRpb24iLCJhcmlhLWxhYmVsbGVkYnkiOm0sImRhdGEtaGlnaGxpZ2h0ZWQiOmY/IiI6dm9pZCAwLCJhcmlhLXNlbGVjdGVkIjpkJiZmLCJkYXRhLXN0YXRlIjpkPyJjaGVja2VkIjoidW5jaGVja2VkIiwiYXJpYS1kaXNhYmxlZCI6YXx8dm9pZCAwLCJkYXRhLWRpc2FibGVkIjphPyIiOnZvaWQgMCx0YWJJbmRleDphP3ZvaWQgMDotMSwuLi5vLHJlZjpwLG9uRm9jdXM6bWUoby5vbkZvY3VzLCgpPT5oKCEwKSksb25CbHVyOm1lKG8ub25CbHVyLCgpPT5oKCExKSksb25DbGljazptZShvLm9uQ2xpY2ssKCk9Pnt4LmN1cnJlbnQhPT0ibW91c2UiJiZ3KCl9KSxvblBvaW50ZXJVcDptZShvLm9uUG9pbnRlclVwLCgpPT57eC5jdXJyZW50PT09Im1vdXNlIiYmdygpfSksb25Qb2ludGVyRG93bjptZShvLm9uUG9pbnRlckRvd24seT0+e3guY3VycmVudD15LnBvaW50ZXJUeXBlfSksb25Qb2ludGVyTW92ZTptZShvLm9uUG9pbnRlck1vdmUseT0+e3ZhciB2O3guY3VycmVudD15LnBvaW50ZXJUeXBlLGE/KHY9Yy5vbkl0ZW1MZWF2ZSk9PW51bGx8fHYuY2FsbChjKTp4LmN1cnJlbnQ9PT0ibW91c2UiJiZ5LmN1cnJlbnRUYXJnZXQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX0pLG9uUG9pbnRlckxlYXZlOm1lKG8ub25Qb2ludGVyTGVhdmUseT0+e3ZhciB2O3kuY3VycmVudFRhcmdldD09PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJigodj1jLm9uSXRlbUxlYXZlKT09bnVsbHx8di5jYWxsKGMpKX0pLG9uS2V5RG93bjptZShvLm9uS2V5RG93bix5PT57dmFyIGI7KChiPWMuc2VhcmNoUmVmKT09bnVsbD92b2lkIDA6Yi5jdXJyZW50KSE9PSIiJiZ5LmtleT09PSIgInx8KFdwZS5pbmNsdWRlcyh5LmtleSkmJncoKSx5LmtleT09PSIgIiYmeS5wcmV2ZW50RGVmYXVsdCgpKX0pfSl9KX0pfSk7cnouZGlzcGxheU5hbWU9eXk7dmFyIGNoPSJTZWxlY3RJdGVtVGV4dCIsbno9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVNlbGVjdDpyLGNsYXNzTmFtZTpuLHN0eWxlOmEsLi4uaX09ZSxvPVhsKGNoLHIpLGw9SmwoY2gsciksYz10eihjaCxyKSxkPVhwZShjaCxyKSxbdSxBXT1nLnVzZVN0YXRlKG51bGwpLGY9V2UodCx3PT5BKHcpLGMub25JdGVtVGV4dENoYW5nZSx3PT57dmFyIHk7cmV0dXJuKHk9bC5pdGVtVGV4dFJlZkNhbGxiYWNrKT09bnVsbD92b2lkIDA6eS5jYWxsKGwsdyxjLnZhbHVlLGMuZGlzYWJsZWQpfSksaD11PT1udWxsP3ZvaWQgMDp1LnRleHRDb250ZW50LHA9Zy51c2VNZW1vKCgpPT5zLmpzeCgib3B0aW9uIix7dmFsdWU6Yy52YWx1ZSxkaXNhYmxlZDpjLmRpc2FibGVkLGNoaWxkcmVuOmh9LGMudmFsdWUpLFtjLmRpc2FibGVkLGMudmFsdWUsaF0pLHtvbk5hdGl2ZU9wdGlvbkFkZDptLG9uTmF0aXZlT3B0aW9uUmVtb3ZlOnh9PWQ7cmV0dXJuIGpyKCgpPT4obShwKSwoKT0+eChwKSksW20seCxwXSkscy5qc3hzKHMuRnJhZ21lbnQse2NoaWxkcmVuOltzLmpzeChTZS5zcGFuLHtpZDpjLnRleHRJZCwuLi5pLHJlZjpmfSksYy5pc1NlbGVjdGVkJiZvLnZhbHVlTm9kZSYmIW8udmFsdWVOb2RlSGFzQ2hpbGRyZW4/eGQuY3JlYXRlUG9ydGFsKGkuY2hpbGRyZW4sby52YWx1ZU5vZGUpOm51bGxdfSl9KTtuei5kaXNwbGF5TmFtZT1jaDt2YXIgc3o9IlNlbGVjdEl0ZW1JbmRpY2F0b3IiLGF6PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTZWxlY3Q6ciwuLi5ufT1lO3JldHVybiB0eihzeixyKS5pc1NlbGVjdGVkP3MuanN4KFNlLnNwYW4seyJhcmlhLWhpZGRlbiI6ITAsLi4ubixyZWY6dH0pOm51bGx9KTthei5kaXNwbGF5TmFtZT1zejt2YXIgRl89IlNlbGVjdFNjcm9sbFVwQnV0dG9uIixpej1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdCByPUpsKEZfLGUuX19zY29wZVNlbGVjdCksbj12ayhGXyxlLl9fc2NvcGVTZWxlY3QpLFthLGldPWcudXNlU3RhdGUoITEpLG89V2UodCxuLm9uU2Nyb2xsQnV0dG9uQ2hhbmdlKTtyZXR1cm4ganIoKCk9PntpZihyLnZpZXdwb3J0JiZyLmlzUG9zaXRpb25lZCl7bGV0IGw9ZnVuY3Rpb24oKXtjb25zdCBkPWMuc2Nyb2xsVG9wPjA7aShkKX07Y29uc3QgYz1yLnZpZXdwb3J0O3JldHVybiBsKCksYy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGwpLCgpPT5jLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbCl9fSxbci52aWV3cG9ydCxyLmlzUG9zaXRpb25lZF0pLGE/cy5qc3gobHosey4uLmUscmVmOm8sb25BdXRvU2Nyb2xsOigpPT57Y29uc3R7dmlld3BvcnQ6bCxzZWxlY3RlZEl0ZW06Y309cjtsJiZjJiYobC5zY3JvbGxUb3A9bC5zY3JvbGxUb3AtYy5vZmZzZXRIZWlnaHQpfX0pOm51bGx9KTtpei5kaXNwbGF5TmFtZT1GXzt2YXIgT189IlNlbGVjdFNjcm9sbERvd25CdXR0b24iLG96PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IHI9SmwoT18sZS5fX3Njb3BlU2VsZWN0KSxuPXZrKE9fLGUuX19zY29wZVNlbGVjdCksW2EsaV09Zy51c2VTdGF0ZSghMSksbz1XZSh0LG4ub25TY3JvbGxCdXR0b25DaGFuZ2UpO3JldHVybiBqcigoKT0+e2lmKHIudmlld3BvcnQmJnIuaXNQb3NpdGlvbmVkKXtsZXQgbD1mdW5jdGlvbigpe2NvbnN0IGQ9Yy5zY3JvbGxIZWlnaHQtYy5jbGllbnRIZWlnaHQsdT1NYXRoLmNlaWwoYy5zY3JvbGxUb3ApPGQ7aSh1KX07Y29uc3QgYz1yLnZpZXdwb3J0O3JldHVybiBsKCksYy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGwpLCgpPT5jLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbCl9fSxbci52aWV3cG9ydCxyLmlzUG9zaXRpb25lZF0pLGE/cy5qc3gobHosey4uLmUscmVmOm8sb25BdXRvU2Nyb2xsOigpPT57Y29uc3R7dmlld3BvcnQ6bCxzZWxlY3RlZEl0ZW06Y309cjtsJiZjJiYobC5zY3JvbGxUb3A9bC5zY3JvbGxUb3ArYy5vZmZzZXRIZWlnaHQpfX0pOm51bGx9KTtvei5kaXNwbGF5TmFtZT1PXzt2YXIgbHo9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVNlbGVjdDpyLG9uQXV0b1Njcm9sbDpuLC4uLmF9PWUsaT1KbCgiU2VsZWN0U2Nyb2xsQnV0dG9uIixyKSxvPWcudXNlUmVmKG51bGwpLGw9JHcociksYz1nLnVzZUNhbGxiYWNrKCgpPT57by5jdXJyZW50IT09bnVsbCYmKHdpbmRvdy5jbGVhckludGVydmFsKG8uY3VycmVudCksby5jdXJyZW50PW51bGwpfSxbXSk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT4oKT0+YygpLFtjXSksanIoKCk9Pnt2YXIgdTtjb25zdCBkPWwoKS5maW5kKEE9PkEucmVmLmN1cnJlbnQ9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50KTsodT1kPT1udWxsP3ZvaWQgMDpkLnJlZi5jdXJyZW50KT09bnVsbHx8dS5zY3JvbGxJbnRvVmlldyh7YmxvY2s6Im5lYXJlc3QifSl9LFtsXSkscy5qc3goU2UuZGl2LHsiYXJpYS1oaWRkZW4iOiEwLC4uLmEscmVmOnQsc3R5bGU6e2ZsZXhTaHJpbms6MCwuLi5hLnN0eWxlfSxvblBvaW50ZXJEb3duOm1lKGEub25Qb2ludGVyRG93biwoKT0+e28uY3VycmVudD09PW51bGwmJihvLmN1cnJlbnQ9d2luZG93LnNldEludGVydmFsKG4sNTApKX0pLG9uUG9pbnRlck1vdmU6bWUoYS5vblBvaW50ZXJNb3ZlLCgpPT57dmFyIGQ7KGQ9aS5vbkl0ZW1MZWF2ZSk9PW51bGx8fGQuY2FsbChpKSxvLmN1cnJlbnQ9PT1udWxsJiYoby5jdXJyZW50PXdpbmRvdy5zZXRJbnRlcnZhbChuLDUwKSl9KSxvblBvaW50ZXJMZWF2ZTptZShhLm9uUG9pbnRlckxlYXZlLCgpPT57YygpfSl9KX0pLGNnZT0iU2VsZWN0U2VwYXJhdG9yIixjej1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlU2VsZWN0OnIsLi4ubn09ZTtyZXR1cm4gcy5qc3goU2UuZGl2LHsiYXJpYS1oaWRkZW4iOiEwLC4uLm4scmVmOnR9KX0pO2N6LmRpc3BsYXlOYW1lPWNnZTt2YXIgSV89IlNlbGVjdEFycm93IixkZ2U9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVNlbGVjdDpyLC4uLm59PWUsYT1IdyhyKSxpPVhsKElfLHIpLG89SmwoSV8scik7cmV0dXJuIGkub3BlbiYmby5wb3NpdGlvbj09PSJwb3BwZXIiP3MuanN4KG9FLHsuLi5hLC4uLm4scmVmOnR9KTpudWxsfSk7ZGdlLmRpc3BsYXlOYW1lPUlfO3ZhciB1Z2U9IlNlbGVjdEJ1YmJsZUlucHV0Iixkej1nLmZvcndhcmRSZWYoKHtfX3Njb3BlU2VsZWN0OmUsdmFsdWU6dCwuLi5yfSxuKT0+e2NvbnN0IGE9Zy51c2VSZWYobnVsbCksaT1XZShuLGEpLG89UXcodCk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57Y29uc3QgbD1hLmN1cnJlbnQ7aWYoIWwpcmV0dXJuO2NvbnN0IGM9d2luZG93LkhUTUxTZWxlY3RFbGVtZW50LnByb3RvdHlwZSx1PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYywidmFsdWUiKS5zZXQ7aWYobyE9PXQmJnUpe2NvbnN0IEE9bmV3IEV2ZW50KCJjaGFuZ2UiLHtidWJibGVzOiEwfSk7dS5jYWxsKGwsdCksbC5kaXNwYXRjaEV2ZW50KEEpfX0sW28sdF0pLHMuanN4KFNlLnNlbGVjdCx7Li4ucixzdHlsZTp7Li4uYSQsLi4uci5zdHlsZX0scmVmOmksZGVmYXVsdFZhbHVlOnR9KX0pO2R6LmRpc3BsYXlOYW1lPXVnZTtmdW5jdGlvbiB1eihlKXtyZXR1cm4gZT09PSIifHxlPT09dm9pZCAwfWZ1bmN0aW9uIEF6KGUpe2NvbnN0IHQ9d3IoZSkscj1nLnVzZVJlZigiIiksbj1nLnVzZVJlZigwKSxhPWcudXNlQ2FsbGJhY2sobz0+e2NvbnN0IGw9ci5jdXJyZW50K287dChsKSxmdW5jdGlvbiBjKGQpe3IuY3VycmVudD1kLHdpbmRvdy5jbGVhclRpbWVvdXQobi5jdXJyZW50KSxkIT09IiImJihuLmN1cnJlbnQ9d2luZG93LnNldFRpbWVvdXQoKCk9PmMoIiIpLDFlMykpfShsKX0sW3RdKSxpPWcudXNlQ2FsbGJhY2soKCk9PntyLmN1cnJlbnQ9IiIsd2luZG93LmNsZWFyVGltZW91dChuLmN1cnJlbnQpfSxbXSk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT4oKT0+d2luZG93LmNsZWFyVGltZW91dChuLmN1cnJlbnQpLFtdKSxbcixhLGldfWZ1bmN0aW9uIGZ6KGUsdCxyKXtjb25zdCBhPXQubGVuZ3RoPjEmJkFycmF5LmZyb20odCkuZXZlcnkoZD0+ZD09PXRbMF0pP3RbMF06dCxpPXI/ZS5pbmRleE9mKHIpOi0xO2xldCBvPUFnZShlLE1hdGgubWF4KGksMCkpO2EubGVuZ3RoPT09MSYmKG89by5maWx0ZXIoZD0+ZCE9PXIpKTtjb25zdCBjPW8uZmluZChkPT5kLnRleHRWYWx1ZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoYS50b0xvd2VyQ2FzZSgpKSk7cmV0dXJuIGMhPT1yP2M6dm9pZCAwfWZ1bmN0aW9uIEFnZShlLHQpe3JldHVybiBlLm1hcCgocixuKT0+ZVsodCtuKSVlLmxlbmd0aF0pfXZhciBmZ2U9UVYsaHo9JFYsaGdlPUtWLG1nZT1WVixwZ2U9elYsbXo9V1YsZ2dlPVhWLHB6PWV6LGd6PXJ6LHhnZT1ueix5Z2U9YXoseHo9aXoseXo9b3osdno9Y3o7Y29uc3QgT2E9ZmdlLElhPWhnZSwkcz1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSxjaGlsZHJlbjp0LC4uLnJ9LG4pPT5zLmpzeHMoaHose3JlZjpuLGNsYXNzTmFtZTp3ZSgiZmxleCBoLTEwIHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktMiB0ZXh0LXNtIHJpbmctb2Zmc2V0LWJhY2tncm91bmQgcGxhY2Vob2xkZXI6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1yaW5nIGZvY3VzOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTAgWyY+c3Bhbl06bGluZS1jbGFtcC0xIixlKSwuLi5yLGNoaWxkcmVuOlt0LHMuanN4KG1nZSx7YXNDaGlsZDohMCxjaGlsZHJlbjpzLmpzeChlQSx7Y2xhc3NOYW1lOiJoLTQgdy00IG9wYWNpdHktNTAifSl9KV19KSk7JHMuZGlzcGxheU5hbWU9aHouZGlzcGxheU5hbWU7Y29uc3Qgd3o9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KHh6LHtyZWY6cixjbGFzc05hbWU6d2UoImZsZXggY3Vyc29yLWRlZmF1bHQgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB5LTEiLGUpLC4uLnQsY2hpbGRyZW46cy5qc3goRSQse2NsYXNzTmFtZToiaC00IHctNCJ9KX0pKTt3ei5kaXNwbGF5TmFtZT14ei5kaXNwbGF5TmFtZTtjb25zdCBiej1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3goeXose3JlZjpyLGNsYXNzTmFtZTp3ZSgiZmxleCBjdXJzb3ItZGVmYXVsdCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHktMSIsZSksLi4udCxjaGlsZHJlbjpzLmpzeChlQSx7Y2xhc3NOYW1lOiJoLTQgdy00In0pfSkpO2J6LmRpc3BsYXlOYW1lPXl6LmRpc3BsYXlOYW1lO2NvbnN0IEhzPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLGNoaWxkcmVuOnQscG9zaXRpb246cj0icG9wcGVyIiwuLi5ufSxhKT0+cy5qc3gocGdlLHtjaGlsZHJlbjpzLmpzeHMobXose3JlZjphLGNsYXNzTmFtZTp3ZSgicmVsYXRpdmUgei01MCBtYXgtaC05NiBtaW4tdy1bOHJlbV0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXBvcG92ZXIgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LW1kIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4gZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAgZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wIGRhdGEtW3N0YXRlPWNsb3NlZF06em9vbS1vdXQtOTUgZGF0YS1bc3RhdGU9b3Blbl06em9vbS1pbi05NSBkYXRhLVtzaWRlPWJvdHRvbV06c2xpZGUtaW4tZnJvbS10b3AtMiBkYXRhLVtzaWRlPWxlZnRdOnNsaWRlLWluLWZyb20tcmlnaHQtMiBkYXRhLVtzaWRlPXJpZ2h0XTpzbGlkZS1pbi1mcm9tLWxlZnQtMiBkYXRhLVtzaWRlPXRvcF06c2xpZGUtaW4tZnJvbS1ib3R0b20tMiIscj09PSJwb3BwZXIiJiYiZGF0YS1bc2lkZT1ib3R0b21dOnRyYW5zbGF0ZS15LTEgZGF0YS1bc2lkZT1sZWZ0XTotdHJhbnNsYXRlLXgtMSBkYXRhLVtzaWRlPXJpZ2h0XTp0cmFuc2xhdGUteC0xIGRhdGEtW3NpZGU9dG9wXTotdHJhbnNsYXRlLXktMSIsZSkscG9zaXRpb246ciwuLi5uLGNoaWxkcmVuOltzLmpzeCh3eix7fSkscy5qc3goZ2dlLHtjbGFzc05hbWU6d2UoInAtMSIscj09PSJwb3BwZXIiJiYiaC1bdmFyKC0tcmFkaXgtc2VsZWN0LXRyaWdnZXItaGVpZ2h0KV0gdy1mdWxsIG1pbi13LVt2YXIoLS1yYWRpeC1zZWxlY3QtdHJpZ2dlci13aWR0aCldIiksY2hpbGRyZW46dH0pLHMuanN4KGJ6LHt9KV19KX0pKTtIcy5kaXNwbGF5TmFtZT1tei5kaXNwbGF5TmFtZTtjb25zdCB2Z2U9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KHB6LHtyZWY6cixjbGFzc05hbWU6d2UoInB5LTEuNSBwbC04IHByLTIgdGV4dC1zbSBmb250LXNlbWlib2xkIixlKSwuLi50fSkpO3ZnZS5kaXNwbGF5TmFtZT1wei5kaXNwbGF5TmFtZTtjb25zdCBPdD1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSxjaGlsZHJlbjp0LC4uLnJ9LG4pPT5zLmpzeHMoZ3ose3JlZjpuLGNsYXNzTmFtZTp3ZSgicmVsYXRpdmUgZmxleCB3LWZ1bGwgY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHktMS41IHBsLTggcHItMiB0ZXh0LXNtIG91dGxpbmUtbm9uZSBkYXRhLVtkaXNhYmxlZF06cG9pbnRlci1ldmVudHMtbm9uZSBkYXRhLVtkaXNhYmxlZF06b3BhY2l0eS01MCBmb2N1czpiZy1hY2NlbnQgZm9jdXM6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCIsZSksLi4ucixjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciIsY2hpbGRyZW46cy5qc3goeWdlLHtjaGlsZHJlbjpzLmpzeChvdCx7Y2xhc3NOYW1lOiJoLTQgdy00In0pfSl9KSxzLmpzeCh4Z2Use2NoaWxkcmVuOnR9KV19KSk7T3QuZGlzcGxheU5hbWU9Z3ouZGlzcGxheU5hbWU7Y29uc3Qgd2dlPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeCh2eix7cmVmOnIsY2xhc3NOYW1lOndlKCItbXgtMSBteS0xIGgtcHggYmctbXV0ZWQiLGUpLC4uLnR9KSk7d2dlLmRpc3BsYXlOYW1lPXZ6LmRpc3BsYXlOYW1lO2Z1bmN0aW9uIERJKHtvbkNoYWxsZW5nZUNyZWF0ZWQ6ZX0pe2NvbnN0W3Qscl09Zy51c2VTdGF0ZSghMSksW24sYV09Zy51c2VTdGF0ZSghMSksW2ksb109Zy51c2VTdGF0ZSghMSksW2wsY109Zy51c2VTdGF0ZSh7ZW1haWw6IiIsZnVsbE5hbWU6IiIsdGVsZWdyYW1Vc2VybmFtZToiIixjaGFsbGVuZ2VBbW91bnQ6IjUwMDAwIixwcm9maXRUYXJnZXQ6IjEwIixkcmF3ZG93bkxpbWl0OiIxMCIscHJpY2VQYWlkOiIzNDkiLGluc3RhbnRQaGFzZToiIixpbnN0YW50UHJvZml0OiIiLHVzZUN1c3RvbU10NTohMSxjdXN0b21NdDVMb2dpbjoiIixjdXN0b21NdDVQYXNzd29yZDoiIn0pO2cudXNlRWZmZWN0KCgpPT57KGFzeW5jKCk9Pntjb25zdHtkYXRhOnt1c2VyOnB9fT1hd2FpdCBNLmF1dGguZ2V0VXNlcigpO2lmKCFwKXJldHVybjtvKFsiODJmNDgwNWEtY2M3NS00ODQ3LWJlZDMtNDhlNDUyMmE0YzgyIiwiZGM4YWUxZmQtYjUwZi00MjViLWJjNGYtYWJjN2I3MTQ2OTg5IiwiYzllYTE2YWUtZDliOS00MDkyLTgwOTctYjQ4OWExMjg5YTEyIl0uaW5jbHVkZXMocC5pZCkpfSkoKX0sW10pO2NvbnN0IGQ9W3t2YWx1ZToiNTAwMCIsbGFiZWw6IjVLIixwcmljZToiJDEwMCIsbnVtZXJpY1ByaWNlOjEwMH0se3ZhbHVlOiIxMDAwMCIsbGFiZWw6IjEwSyIscHJpY2U6IiQyMDAiLG51bWVyaWNQcmljZToyMDB9LHt2YWx1ZToiMjUwMDAiLGxhYmVsOiIyNUsiLHByaWNlOiIkMzI5IixudW1lcmljUHJpY2U6MzI5fSx7dmFsdWU6IjUwMDAwIixsYWJlbDoiNTBLIixwcmljZToiJDM0OSIsbnVtZXJpY1ByaWNlOjM0OX0se3ZhbHVlOiIxMDAwMDAiLGxhYmVsOiIxMDBLIixwcmljZToiJDU0OSIsbnVtZXJpY1ByaWNlOjU0OX0se3ZhbHVlOiIyMDAwMDAiLGxhYmVsOiIyMDBLIixwcmljZToiJDEsMDQ5IixudW1lcmljUHJpY2U6MTA0OX0se3ZhbHVlOiIzMDAwMDAiLGxhYmVsOiIzMDBLIixwcmljZToiJDEsNDk5IixudW1lcmljUHJpY2U6MTQ5OX0se3ZhbHVlOiI0MDAwMDAiLGxhYmVsOiI0MDBLIixwcmljZToiJDEsOTk5IixudW1lcmljUHJpY2U6MTk5OX0se3ZhbHVlOiIxMDAwMDAwIixsYWJlbDoiMU0gKExpbWl0ZWQpIixwcmljZToiJDMsODAwIixudW1lcmljUHJpY2U6MzgwMH1dLHU9aD0+e2NvbnN0IHA9ZC5maW5kKG09Pm0udmFsdWU9PT1oKTtjKHsuLi5sLGNoYWxsZW5nZUFtb3VudDpoLHByaWNlUGFpZDoocD09bnVsbD92b2lkIDA6cC5udW1lcmljUHJpY2UudG9TdHJpbmcoKSl8fCIzNDkifSl9LEE9YXN5bmMgaD0+e2NvbnN0IHA9aC50YXJnZXQudmFsdWU7aWYoYyh7Li4ubCxlbWFpbDpwfSkscC5pbmNsdWRlcygiQCIpKXRyeXtjb25zdHtkYXRhOm19PWF3YWl0IE0uZnJvbSgicHJvZmlsZXMiKS5zZWxlY3QoImZ1bGxfbmFtZSwgdGVsZWdyYW1fdXNlcm5hbWUiKS5pbGlrZSgiZW1haWwiLHApLm1heWJlU2luZ2xlKCk7bSE9bnVsbCYmbS5mdWxsX25hbWUmJihjKHg9Pih7Li4ueCxlbWFpbDpwLGZ1bGxOYW1lOm0uZnVsbF9uYW1lLHRlbGVncmFtVXNlcm5hbWU6bS50ZWxlZ3JhbV91c2VybmFtZXx8IiJ9KSksVy5zdWNjZXNzKCJGb3VuZCBleGlzdGluZyB0cmFkZXIgLSBuYW1lIGF1dG8tZmlsbGVkIikpfWNhdGNoe319LGY9YXN5bmMgaD0+e3ZhciBwO2gucHJldmVudERlZmF1bHQoKSxhKCEwKTt0cnl7bGV0e2RhdGE6e3Nlc3Npb246bX19PWF3YWl0IE0uYXV0aC5nZXRTZXNzaW9uKCk7aWYoIW0pe2NvbnN0e2RhdGE6e3Nlc3Npb246VX19PWF3YWl0IE0uYXV0aC5yZWZyZXNoU2Vzc2lvbigpO209VX1pZighbSl0aHJvdyBXLmVycm9yKCJTZXNzaW9uIGV4cGlyZWQuIFBsZWFzZSByZWZyZXNoIHRoZSBwYWdlIGFuZCB0cnkgYWdhaW4uIiksbmV3IEVycm9yKCJOb3QgYXV0aGVudGljYXRlZCIpO2NvbnN0IHg9YXdhaXQgZmV0Y2goImh0dHBzOi8vdGtrZHhobnNtdGlob3V0YmxtZ2Muc3VwYWJhc2UuY28vZnVuY3Rpb25zL3YxL21hbmFnZS10cmFkZXIiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIixBdXRob3JpemF0aW9uOmBCZWFyZXIgJHttLmFjY2Vzc190b2tlbn1gfSxib2R5OkpTT04uc3RyaW5naWZ5KHtlbWFpbDpsLmVtYWlsLGZ1bGxOYW1lOmwuZnVsbE5hbWV9KX0pO2lmKCF4Lm9rKXtjb25zdCBVPWF3YWl0IHguanNvbigpO3Rocm93IG5ldyBFcnJvcihVLm1lc3NhZ2V8fFUuZXJyb3J8fCJGYWlsZWQgdG8gbWFuYWdlIHRyYWRlciIpfWNvbnN0e3VzZXJJZDp3LGV4aXN0czp5LG1lc3NhZ2U6dn09YXdhaXQgeC5qc29uKCk7eT9XLnN1Y2Nlc3MoIkNoYWxsZW5nZSBhc3NpZ25lZCB0byBleGlzdGluZyB0cmFkZXIiKTpXLnN1Y2Nlc3MoIk5ldyB0cmFkZXIgY3JlYXRlZCBhbmQgY2hhbGxlbmdlIGFzc2lnbmVkIik7Y29uc3QgYj1wYXJzZUZsb2F0KGwuY2hhbGxlbmdlQW1vdW50KSxqPSgocD1kLmZpbmQoVT0+VS52YWx1ZT09PWwuY2hhbGxlbmdlQW1vdW50KSk9PW51bGw/dm9pZCAwOnAubGFiZWwpfHwiQ2hhbGxlbmdlIixOPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxZTYpLHtkYXRhOkN9PWF3YWl0IE0uZnJvbSgiY2hhbGxlbmdlcyIpLnNlbGVjdCgiYXV0b19tYW5hZ2VtZW50LCB3ZWVrZW5kX3RyYWRpbmciKS5lcSgidXNlcl9pZCIsdyksXz0oQz09bnVsbD92b2lkIDA6Qy5zb21lKFU9PlUuYXV0b19tYW5hZ2VtZW50KSl8fCExLEI9KEM9PW51bGw/dm9pZCAwOkMuc29tZShVPT5VLndlZWtlbmRfdHJhZGluZykpfHwhMTtsZXQgaz0iY2hhbGxlbmdlIixFPTEsRj1wYXJzZUZsb2F0KGwucHJvZml0VGFyZ2V0KSxPPWI7bC5pbnN0YW50UGhhc2U9PT0ibGl2ZSI/KGs9ImZ1bmRlZCIsRT0zLEY9MCk6bC5pbnN0YW50UGhhc2U9PT0icGhhc2UyIj8oaz0icGhhc2VfMiIsRT0yLEY9NSxsLmluc3RhbnRQcm9maXQmJnBhcnNlRmxvYXQobC5pbnN0YW50UHJvZml0KT4wJiYoTz1iK2IqcGFyc2VGbG9hdChsLmluc3RhbnRQcm9maXQpLzEwMCkpOmwuaW5zdGFudFBoYXNlPT09InByb2ZpdCImJmwuaW5zdGFudFByb2ZpdCYmcGFyc2VGbG9hdChsLmluc3RhbnRQcm9maXQpPjAmJihPPWIrYipwYXJzZUZsb2F0KGwuaW5zdGFudFByb2ZpdCkvMTAwKTtjb25zdHtkYXRhOlMsZXJyb3I6VH09YXdhaXQgTS5mcm9tKCJjaGFsbGVuZ2VzIikuaW5zZXJ0KHt1c2VyX2lkOncsbmFtZTpqLGJhbGFuY2Vfc3RhcnQ6YixiYWxhbmNlX2N1cnJlbnQ6Tyxwcm9maXRfdGFyZ2V0OkYsZHJhd2Rvd25fbGltaXQ6cGFyc2VGbG9hdChsLmRyYXdkb3duTGltaXQpLGR1cmF0aW9uX2RheXM6bnVsbCxzZWVkOk4sc3RhdHVzOmsscGhhc2U6RSxhdXRvX21hbmFnZW1lbnQ6Xyx3ZWVrZW5kX3RyYWRpbmc6QixjcmVhdGVkX2J5Om0udXNlci5pZCxyZWZlcnJhbF9zb3VyY2U6bnVsbH0pLnNlbGVjdCgpLnNpbmdsZSgpO2lmKFQpdGhyb3cgVDtpZihPPmImJlMpe2NvbnN0IFU9Ty1iLEQ9bmV3IERhdGUsST1gJHtELmdldEZ1bGxZZWFyKCl9LSR7U3RyaW5nKEQuZ2V0TW9udGgoKSsxKS5wYWRTdGFydCgyLCIwIil9LSR7U3RyaW5nKEQuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCIwIil9YDthd2FpdCBNLmZyb20oInRyYWRlcyIpLmluc2VydCh7Y2hhbGxlbmdlX2lkOlMuaWQsc3ltYm9sOiJPcGVuaW5nIEJhbGFuY2UiLHByb2ZpdF9sb3NzOlUsYmFsYW5jZV9hZnRlcjpPLHRpbWVzdGFtcDpELnRvSVNPU3RyaW5nKCksdHJhZGVfZGF0ZTpJfSksY29uc29sZS5sb2coYEluc2VydGVkIG9wZW5pbmcgdHJhZGUgZm9yIGNoYWxsZW5nZSAke1MuaWR9OiArJCR7VS50b0ZpeGVkKDIpfWApfWlmKGwudXNlQ3VzdG9tTXQ1JiZsLmN1c3RvbU10NUxvZ2luLnRyaW0oKSYmbC5jdXN0b21NdDVQYXNzd29yZC50cmltKCkpe2NvbnN0IFU9az09PSJmdW5kZWQiPyJNZXRhUXVvdGVzLUxpdmUiOiJNZXRhUXVvdGVzLURlbW8iO2F3YWl0IE0uZnJvbSgidHJhZGluZ19jcmVkZW50aWFscyIpLnVwc2VydCh7Y2hhbGxlbmdlX2lkOlMuaWQsdHJhZGluZ191c2VybmFtZTpsLmN1c3RvbU10NUxvZ2luLnRyaW0oKSx0cmFkaW5nX3Bhc3N3b3JkOmwuY3VzdG9tTXQ1UGFzc3dvcmQudHJpbSgpLHRyYWRpbmdfc2VydmVyOlUsdHJhZGluZ19wbGF0Zm9ybToiTVQ1In0se29uQ29uZmxpY3Q6ImNoYWxsZW5nZV9pZCJ9KSxjb25zb2xlLmxvZyhgQ3VzdG9tIE1UNSBjcmVkZW50aWFscyBzYXZlZCBmb3IgY2hhbGxlbmdlICR7Uy5pZH1gKX1sLnRlbGVncmFtVXNlcm5hbWUudHJpbSgpJiZhd2FpdCBNLmZyb20oInByb2ZpbGVzIikudXBkYXRlKHt0ZWxlZ3JhbV91c2VybmFtZTpsLnRlbGVncmFtVXNlcm5hbWUudHJpbSgpfSkuZXEoImlkIix3KTtjb25zdHtkYXRhOlB9PWF3YWl0IE0uZnJvbSgiaW52b2ljZXMiKS5zZWxlY3QoImlkIikuZXEoImNoYWxsZW5nZV9pZCIsUy5pZCkuc2luZ2xlKCk7UCYmYXdhaXQgTS5mcm9tKCJpbnZvaWNlcyIpLnVwZGF0ZSh7YW1vdW50X3BhaWQ6cGFyc2VGbG9hdChsLnByaWNlUGFpZCl9KS5lcSgiaWQiLFAuaWQpO3RyeXtjb25zdCBVPWQuZmluZChSPT5SLnZhbHVlPT09bC5jaGFsbGVuZ2VBbW91bnQpLEQ9bmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoImVuLVVTIix7eWVhcjoibnVtZXJpYyIsbW9udGg6ImxvbmciLGRheToibnVtZXJpYyJ9KSxJPXtwYWlkX2J5X3NlY3Rpb246IiIsYWxnb29uZV9ub3RpY2U6IiJ9O2F3YWl0IE0uZnVuY3Rpb25zLmludm9rZSgic2VuZC1lbWFpbCIse2JvZHk6e3RvOmwuZW1haWwsdGVtcGxhdGVfdHlwZToiY2hhbGxlbmdlX3JlY2VpcHQiLHZhcmlhYmxlczp7cmVjZWlwdF9udW1iZXI6Uy5pZC5zdWJzdHJpbmcoMCw4KS50b1VwcGVyQ2FzZSgpLHB1cmNoYXNlX2RhdGU6RCx1c2VyX25hbWU6bC5mdWxsTmFtZSx1c2VyX2VtYWlsOmwuZW1haWwsY2hhbGxlbmdlX25hbWU6aixiYWxhbmNlX3N0YXJ0OmAkJHtiLnRvTG9jYWxlU3RyaW5nKCl9YCxwcm9maXRfdGFyZ2V0OmwucHJvZml0VGFyZ2V0LGRyYXdkb3duX2xpbWl0OmwuZHJhd2Rvd25MaW1pdCxwcmljZTpgJCR7cGFyc2VGbG9hdChsLnByaWNlUGFpZCkudG9Mb2NhbGVTdHJpbmcoKX1gLGxvZ2luX3VybDpgJHt3aW5kb3cubG9jYXRpb24ub3JpZ2lufS9hdXRoYCwuLi5JfX19KSxjb25zb2xlLmxvZygiUmVjZWlwdCBlbWFpbCBzZW50IHN1Y2Nlc3NmdWxseSIpfWNhdGNoKFUpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzZW5kIHJlY2VpcHQgZW1haWw6IixVKX1XLnN1Y2Nlc3MoIkNoYWxsZW5nZSBjcmVhdGVkIHN1Y2Nlc3NmdWxseSEiKSxyKCExKSxlKCksYyh7ZW1haWw6IiIsZnVsbE5hbWU6IiIsdGVsZWdyYW1Vc2VybmFtZToiIixjaGFsbGVuZ2VBbW91bnQ6IjUwMDAwIixwcm9maXRUYXJnZXQ6IjEwIixkcmF3ZG93bkxpbWl0OiIxMCIscHJpY2VQYWlkOiIzNDkiLGluc3RhbnRQaGFzZToiIixpbnN0YW50UHJvZml0OiIiLHVzZUN1c3RvbU10NTohMSxjdXN0b21NdDVMb2dpbjoiIixjdXN0b21NdDVQYXNzd29yZDoiIn0pfWNhdGNoKG0pe1cuZXJyb3IobS5tZXNzYWdlfHwiRmFpbGVkIHRvIGNyZWF0ZSBjaGFsbGVuZ2UiKX1maW5hbGx5e2EoITEpfX07cmV0dXJuIHMuanN4cyh4dCx7b3Blbjp0LG9uT3BlbkNoYW5nZTpyLGNoaWxkcmVuOltzLmpzeCh5ayx7YXNDaGlsZDohMCxjaGlsZHJlbjpzLmpzeHMoVix7c2l6ZToibGciLGNsYXNzTmFtZToiZ2FwLTIgc2hhZG93LTJ4bCBtZDpzaGFkb3ctbm9uZSByb3VuZGVkLWZ1bGwgbWQ6cm91bmRlZC1tZCBoLTE0IHctMTQgbWQ6aC1hdXRvIG1kOnctYXV0byBwLTAgbWQ6cHgtNCBtZDpweS0yIixjaGlsZHJlbjpbcy5qc3goUSQse2NsYXNzTmFtZToiaC02IHctNiBtZDpoLTQgbWQ6dy00In0pLHMuanN4KCJzcGFuIix7Y2xhc3NOYW1lOiJoaWRkZW4gbWQ6aW5saW5lIixjaGlsZHJlbjoiQ3JlYXRlIENoYWxsZW5nZSJ9KV19KX0pLHMuanN4cyhmdCx7Y2xhc3NOYW1lOiJtYXgtdy1tZCIsY2hpbGRyZW46W3MuanN4cyh1dCx7Y2hpbGRyZW46W3MuanN4KEF0LHtjaGlsZHJlbjoiQ3JlYXRlIE5ldyBDaGFsbGVuZ2UifSkscy5qc3goSXQse2NoaWxkcmVuOiJTZXQgdXAgYSBuZXcgdHJhZGluZyBjaGFsbGVuZ2UgZm9yIGEgdHJhZGVyIn0pXX0pLHMuanN4cygiZm9ybSIse29uU3VibWl0OmYsY2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0yIixjaGlsZHJlbjpbcy5qc3goZmUse2h0bWxGb3I6ImVtYWlsIixjbGFzc05hbWU6ImN1cnNvci1kZWZhdWx0IixjaGlsZHJlbjoiVHJhZGVyIEVtYWlsIn0pLHMuanN4KHhlLHtpZDoiZW1haWwiLHR5cGU6ImVtYWlsIixwbGFjZWhvbGRlcjoidHJhZGVyQGV4YW1wbGUuY29tIix2YWx1ZTpsLmVtYWlsLG9uQ2hhbmdlOkEscmVxdWlyZWQ6ITAsYXV0b0NvbXBsZXRlOiJvZmYifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiSWYgZW1haWwgZXhpc3RzLCBjaGFsbGVuZ2Ugd2lsbCBiZSBhc3NpZ25lZC4gSWYgbmV3LCBhY2NvdW50IHdpbGwgYmUgY3JlYXRlZC4ifSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMiIsY2hpbGRyZW46W3MuanN4KGZlLHtodG1sRm9yOiJmdWxsTmFtZSIsY2hpbGRyZW46IkZ1bGwgTmFtZSJ9KSxzLmpzeCh4ZSx7aWQ6ImZ1bGxOYW1lIix0eXBlOiJ0ZXh0IixwbGFjZWhvbGRlcjoiSm9obiBEb2UiLHZhbHVlOmwuZnVsbE5hbWUsb25DaGFuZ2U6aD0+Yyh7Li4ubCxmdWxsTmFtZTpoLnRhcmdldC52YWx1ZX0pLHJlcXVpcmVkOiEwfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMiIsY2hpbGRyZW46W3MuanN4KGZlLHtodG1sRm9yOiJ0ZWxlZ3JhbVVzZXJuYW1lIixjaGlsZHJlbjoiVGVsZWdyYW0gVXNlcm5hbWUgKEFkbWluIE9ubHkpIn0pLHMuanN4KHhlLHtpZDoidGVsZWdyYW1Vc2VybmFtZSIsdHlwZToidGV4dCIscGxhY2Vob2xkZXI6IkB1c2VybmFtZSIsdmFsdWU6bC50ZWxlZ3JhbVVzZXJuYW1lLG9uQ2hhbmdlOmg9PmMoey4uLmwsdGVsZWdyYW1Vc2VybmFtZTpoLnRhcmdldC52YWx1ZX0pfSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiT3B0aW9uYWwuIE9ubHkgdmlzaWJsZSB0byBhZG1pbnMuIn0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTIiLGNoaWxkcmVuOltzLmpzeChmZSx7aHRtbEZvcjoiY2hhbGxlbmdlQW1vdW50IixjaGlsZHJlbjoiQ2hhbGxlbmdlIn0pLHMuanN4cyhPYSx7dmFsdWU6bC5jaGFsbGVuZ2VBbW91bnQsb25WYWx1ZUNoYW5nZTp1LGNoaWxkcmVuOltzLmpzeCgkcyx7aWQ6ImNoYWxsZW5nZUFtb3VudCIsY2hpbGRyZW46cy5qc3goSWEse3BsYWNlaG9sZGVyOiJTZWxlY3QgY2hhbGxlbmdlIGFtb3VudCJ9KX0pLHMuanN4KEhzLHtjaGlsZHJlbjpkLm1hcChoPT5zLmpzeChPdCx7dmFsdWU6aC52YWx1ZSxjaGlsZHJlbjpoLmxhYmVsfSxoLnZhbHVlKSl9KV19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0yIixjaGlsZHJlbjpbcy5qc3goZmUse2h0bWxGb3I6InByaWNlUGFpZCIsY2hpbGRyZW46IlByaWNlIFBhaWQgKCQpIn0pLHMuanN4KHhlLHtpZDoicHJpY2VQYWlkIix0eXBlOiJudW1iZXIiLHN0ZXA6IjAuMDEiLG1pbjoiMCIsdmFsdWU6bC5wcmljZVBhaWQsb25DaGFuZ2U6aD0+Yyh7Li4ubCxwcmljZVBhaWQ6aC50YXJnZXQudmFsdWV9KSxyZXF1aXJlZDohMH0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCIsY2hpbGRyZW46IkRlZmF1bHQgcHJpY2UgYmFzZWQgb24gYWNjb3VudCBzaXplLiBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYW1vdW50LiJ9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToiZ3JpZCBncmlkLWNvbHMtMiBnYXAtNCIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTIiLGNoaWxkcmVuOltzLmpzeChmZSx7aHRtbEZvcjoicHJvZml0VGFyZ2V0IixjaGlsZHJlbjoiUHJvZml0IFRhcmdldCAoJSkifSkscy5qc3goeGUse2lkOiJwcm9maXRUYXJnZXQiLHR5cGU6Im51bWJlciIsc3RlcDoiMC4xIix2YWx1ZTpsLnByb2ZpdFRhcmdldCxvbkNoYW5nZTpoPT5jKHsuLi5sLHByb2ZpdFRhcmdldDpoLnRhcmdldC52YWx1ZX0pLHJlcXVpcmVkOiEwfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMiIsY2hpbGRyZW46W3MuanN4KGZlLHtodG1sRm9yOiJkcmF3ZG93bkxpbWl0IixjaGlsZHJlbjoiTWF4IERyYXdkb3duICglKSJ9KSxzLmpzeCh4ZSx7aWQ6ImRyYXdkb3duTGltaXQiLHR5cGU6Im51bWJlciIsc3RlcDoiMC4xIix2YWx1ZTpsLmRyYXdkb3duTGltaXQsb25DaGFuZ2U6aD0+Yyh7Li4ubCxkcmF3ZG93bkxpbWl0OmgudGFyZ2V0LnZhbHVlfSkscmVxdWlyZWQ6ITB9KV19KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0zIGJvcmRlci10IHB0LTQiLGNoaWxkcmVuOltzLmpzeHMoZmUse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1zbSBmb250LW1lZGl1bSIsY2hpbGRyZW46W3MuanN4KExhLHtjbGFzc05hbWU6ImgtNCB3LTQgdGV4dC1hbWJlci01MDAifSksIkluc3RhbnQgUGhhc2UgKE9wdGlvbmFsKSJdfSkscy5qc3goImRpdiIse2NsYXNzTmFtZToiZ3JpZCBncmlkLWNvbHMtMyBnYXAtMiIsY2hpbGRyZW46W3t2YWx1ZToibGl2ZSIsbGFiZWw6Ikluc3RhbnQgTGl2ZSJ9LHt2YWx1ZToicGhhc2UyIixsYWJlbDoiSW5zdGFudCBQaGFzZSAyIn0se3ZhbHVlOiJwcm9maXQiLGxhYmVsOiJJbnN0YW50IFByb2ZpdCJ9XS5tYXAoaD0+cy5qc3goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazooKT0+YyhwPT4oey4uLnAsaW5zdGFudFBoYXNlOnAuaW5zdGFudFBoYXNlPT09aC52YWx1ZT8iIjpoLnZhbHVlLGluc3RhbnRQcm9maXQ6cC5pbnN0YW50UGhhc2U9PT1oLnZhbHVlPyIiOnAuaW5zdGFudFByb2ZpdH0pKSxjbGFzc05hbWU6YHJvdW5kZWQtbGcgYm9yZGVyIHB4LTMgcHktMiB0ZXh0LXhzIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tYWxsICR7bC5pbnN0YW50UGhhc2U9PT1oLnZhbHVlPyJib3JkZXItcHJpbWFyeSBiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIHNoYWRvdy1zbSI6ImJvcmRlci1ib3JkZXIgYmctbXV0ZWQvNTAgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGhvdmVyOmJnLW11dGVkIn1gLGNoaWxkcmVuOmgubGFiZWx9LGgudmFsdWUpKX0pLGwuaW5zdGFudFBoYXNlJiZsLmluc3RhbnRQaGFzZSE9PSJsaXZlIiYmcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMiIsY2hpbGRyZW46W3MuanN4KGZlLHtodG1sRm9yOiJpbnN0YW50UHJvZml0IixjaGlsZHJlbjoiU3RhcnRpbmcgUHJvZml0ICglKSJ9KSxzLmpzeCh4ZSx7aWQ6Imluc3RhbnRQcm9maXQiLHR5cGU6Im51bWJlciIsc3RlcDoiMC4wMSIsbWluOiIwIixwbGFjZWhvbGRlcjoiZS5nLiAwLjQ3Iix2YWx1ZTpsLmluc3RhbnRQcm9maXQsb25DaGFuZ2U6aD0+Yyh7Li4ubCxpbnN0YW50UHJvZml0OmgudGFyZ2V0LnZhbHVlfSl9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiJBY2NvdW50IHdpbGwgc3RhcnQgd2l0aCB0aGlzICUgcHJvZml0IGFscmVhZHkgYXBwbGllZC4ifSldfSldfSksaSYmcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMyBib3JkZXItdCBwdC00IixjaGlsZHJlbjpbcy5qc3hzKGZlLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtc20gZm9udC1tZWRpdW0iLGNoaWxkcmVuOltzLmpzeChNJCx7Y2xhc3NOYW1lOiJoLTQgdy00IHRleHQtYmx1ZS01MDAifSksIkN1c3RvbSBNVDUgRGV0YWlscyAoT3B0aW9uYWwpIl19KSxzLmpzeCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT5jKGg9Pih7Li4uaCx1c2VDdXN0b21NdDU6IWgudXNlQ3VzdG9tTXQ1LGN1c3RvbU10NUxvZ2luOiIiLGN1c3RvbU10NVBhc3N3b3JkOiIifSkpLGNsYXNzTmFtZTpgdy1mdWxsIHJvdW5kZWQtbGcgYm9yZGVyIHB4LTMgcHktMiB0ZXh0LXhzIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tYWxsICR7bC51c2VDdXN0b21NdDU/ImJvcmRlci1wcmltYXJ5IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgc2hhZG93LXNtIjoiYm9yZGVyLWJvcmRlciBiZy1tdXRlZC81MCB0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6YmctbXV0ZWQifWAsY2hpbGRyZW46bC51c2VDdXN0b21NdDU/IkN1c3RvbSBNVDUgRW5hYmxlZCI6IkVuYWJsZSBDdXN0b20gTVQ1IExvZ2luIn0pLGwudXNlQ3VzdG9tTXQ1JiZzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0zIixjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6InNwYWNlLXktMiIsY2hpbGRyZW46W3MuanN4KGZlLHtodG1sRm9yOiJjdXN0b21NdDVMb2dpbiIsY2hpbGRyZW46Ik1UNSBMb2dpbiJ9KSxzLmpzeCh4ZSx7aWQ6ImN1c3RvbU10NUxvZ2luIix0eXBlOiJ0ZXh0IixwbGFjZWhvbGRlcjoiZS5nLiAxMjM0NTY3OCIsdmFsdWU6bC5jdXN0b21NdDVMb2dpbixvbkNoYW5nZTpoPT5jKHsuLi5sLGN1c3RvbU10NUxvZ2luOmgudGFyZ2V0LnZhbHVlfSl9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0yIixjaGlsZHJlbjpbcy5qc3goZmUse2h0bWxGb3I6ImN1c3RvbU10NVBhc3N3b3JkIixjaGlsZHJlbjoiTVQ1IFBhc3N3b3JkIn0pLHMuanN4KHhlLHtpZDoiY3VzdG9tTXQ1UGFzc3dvcmQiLHR5cGU6InRleHQiLHBsYWNlaG9sZGVyOiJlLmcuIE15UGFzczEyMyIsdmFsdWU6bC5jdXN0b21NdDVQYXNzd29yZCxvbkNoYW5nZTpoPT5jKHsuLi5sLGN1c3RvbU10NVBhc3N3b3JkOmgudGFyZ2V0LnZhbHVlfSl9KV19KV19KV19KSxzLmpzeChWLHt0eXBlOiJzdWJtaXQiLGNsYXNzTmFtZToidy1mdWxsIixkaXNhYmxlZDpuLGNoaWxkcmVuOm4/IkNyZWF0aW5nLi4uIjoiQ3JlYXRlIENoYWxsZW5nZSJ9KV19KV19KV19KX12YXIgS3c9IlN3aXRjaCIsW2JnZSxWR2VdPURyKEt3KSxbamdlLE5nZV09YmdlKEt3KSxqej1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlU3dpdGNoOnIsbmFtZTpuLGNoZWNrZWQ6YSxkZWZhdWx0Q2hlY2tlZDppLHJlcXVpcmVkOm8sZGlzYWJsZWQ6bCx2YWx1ZTpjPSJvbiIsb25DaGVja2VkQ2hhbmdlOmQsZm9ybTp1LC4uLkF9PWUsW2YsaF09Zy51c2VTdGF0ZShudWxsKSxwPVdlKHQsdj0+aCh2KSksbT1nLnVzZVJlZighMSkseD1mP3V8fCEhZi5jbG9zZXN0KCJmb3JtIik6ITAsW3cseV09TnMoe3Byb3A6YSxkZWZhdWx0UHJvcDppPz8hMSxvbkNoYW5nZTpkLGNhbGxlcjpLd30pO3JldHVybiBzLmpzeHMoamdlLHtzY29wZTpyLGNoZWNrZWQ6dyxkaXNhYmxlZDpsLGNoaWxkcmVuOltzLmpzeChTZS5idXR0b24se3R5cGU6ImJ1dHRvbiIscm9sZToic3dpdGNoIiwiYXJpYS1jaGVja2VkIjp3LCJhcmlhLXJlcXVpcmVkIjpvLCJkYXRhLXN0YXRlIjpCeih3KSwiZGF0YS1kaXNhYmxlZCI6bD8iIjp2b2lkIDAsZGlzYWJsZWQ6bCx2YWx1ZTpjLC4uLkEscmVmOnAsb25DbGljazptZShlLm9uQ2xpY2ssdj0+e3koYj0+IWIpLHgmJihtLmN1cnJlbnQ9di5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpLG0uY3VycmVudHx8di5zdG9wUHJvcGFnYXRpb24oKSl9KX0pLHgmJnMuanN4KF96LHtjb250cm9sOmYsYnViYmxlczohbS5jdXJyZW50LG5hbWU6bix2YWx1ZTpjLGNoZWNrZWQ6dyxyZXF1aXJlZDpvLGRpc2FibGVkOmwsZm9ybTp1LHN0eWxlOnt0cmFuc2Zvcm06InRyYW5zbGF0ZVgoLTEwMCUpIn19KV19KX0pO2p6LmRpc3BsYXlOYW1lPUt3O3ZhciBOej0iU3dpdGNoVGh1bWIiLEN6PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTd2l0Y2g6ciwuLi5ufT1lLGE9TmdlKE56LHIpO3JldHVybiBzLmpzeChTZS5zcGFuLHsiZGF0YS1zdGF0ZSI6QnooYS5jaGVja2VkKSwiZGF0YS1kaXNhYmxlZCI6YS5kaXNhYmxlZD8iIjp2b2lkIDAsLi4ubixyZWY6dH0pfSk7Q3ouZGlzcGxheU5hbWU9Tno7dmFyIENnZT0iU3dpdGNoQnViYmxlSW5wdXQiLF96PWcuZm9yd2FyZFJlZigoe19fc2NvcGVTd2l0Y2g6ZSxjb250cm9sOnQsY2hlY2tlZDpyLGJ1YmJsZXM6bj0hMCwuLi5hfSxpKT0+e2NvbnN0IG89Zy51c2VSZWYobnVsbCksbD1XZShvLGkpLGM9UXcociksZD1wdyh0KTtyZXR1cm4gZy51c2VFZmZlY3QoKCk9Pntjb25zdCB1PW8uY3VycmVudDtpZighdSlyZXR1cm47Y29uc3QgQT13aW5kb3cuSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGUsaD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEEsImNoZWNrZWQiKS5zZXQ7aWYoYyE9PXImJmgpe2NvbnN0IHA9bmV3IEV2ZW50KCJjbGljayIse2J1YmJsZXM6bn0pO2guY2FsbCh1LHIpLHUuZGlzcGF0Y2hFdmVudChwKX19LFtjLHIsbl0pLHMuanN4KCJpbnB1dCIse3R5cGU6ImNoZWNrYm94IiwiYXJpYS1oaWRkZW4iOiEwLGRlZmF1bHRDaGVja2VkOnIsLi4uYSx0YWJJbmRleDotMSxyZWY6bCxzdHlsZTp7Li4uYS5zdHlsZSwuLi5kLHBvc2l0aW9uOiJhYnNvbHV0ZSIscG9pbnRlckV2ZW50czoibm9uZSIsb3BhY2l0eTowLG1hcmdpbjowfX0pfSk7X3ouZGlzcGxheU5hbWU9Q2dlO2Z1bmN0aW9uIEJ6KGUpe3JldHVybiBlPyJjaGVja2VkIjoidW5jaGVja2VkIn12YXIgU3o9anosX2dlPUN6O2NvbnN0IFZjPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeChTeix7Y2xhc3NOYW1lOndlKCJwZWVyIGlubGluZS1mbGV4IGgtNiB3LTExIHNocmluay0wIGN1cnNvci1wb2ludGVyIGl0ZW1zLWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLXRyYW5zcGFyZW50IHRyYW5zaXRpb24tY29sb3JzIGRhdGEtW3N0YXRlPWNoZWNrZWRdOmJnLXByaW1hcnkgZGF0YS1bc3RhdGU9dW5jaGVja2VkXTpiZy1pbnB1dCBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZm9jdXMtdmlzaWJsZTpyaW5nLW9mZnNldC1iYWNrZ3JvdW5kIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwIixlKSwuLi50LHJlZjpyLGNoaWxkcmVuOnMuanN4KF9nZSx7Y2xhc3NOYW1lOndlKCJwb2ludGVyLWV2ZW50cy1ub25lIGJsb2NrIGgtNSB3LTUgcm91bmRlZC1mdWxsIGJnLWJhY2tncm91bmQgc2hhZG93LWxnIHJpbmctMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkYXRhLVtzdGF0ZT1jaGVja2VkXTp0cmFuc2xhdGUteC01IGRhdGEtW3N0YXRlPXVuY2hlY2tlZF06dHJhbnNsYXRlLXgtMCIpfSl9KSk7VmMuZGlzcGxheU5hbWU9U3ouZGlzcGxheU5hbWU7ZnVuY3Rpb24gQmdlKHtjaGFsbGVuZ2U6ZSxvcGVuOnQsb25PcGVuQ2hhbmdlOnIsb25DaGFsbGVuZ2VVcGRhdGVkOm59KXtjb25zdFthLGldPWcudXNlU3RhdGUoITEpLFtvLGxdPWcudXNlU3RhdGUoe25hbWU6IiIsYmFsYW5jZUN1cnJlbnQ6IiIsc3RhdHVzOiIiLGNyeXB0b09ubHlOb3RpY2U6ITF9KTtnLnVzZUVmZmVjdCgoKT0+e2UmJmwoe25hbWU6ZS5uYW1lLGJhbGFuY2VDdXJyZW50OmUuYmFsYW5jZV9jdXJyZW50LnRvU3RyaW5nKCksc3RhdHVzOmUuc3RhdHVzLGNyeXB0b09ubHlOb3RpY2U6ZS5jcnlwdG9fb25seV9ub3RpY2V8fCExfSl9LFtlXSk7Y29uc3QgYz1hc3luYyBkPT57aWYoZC5wcmV2ZW50RGVmYXVsdCgpLCEhZSl7aSghMCk7dHJ5e2NvbnN0e2Vycm9yOnV9PWF3YWl0IE0uZnJvbSgiY2hhbGxlbmdlcyIpLnVwZGF0ZSh7bmFtZTpvLm5hbWUsYmFsYW5jZV9jdXJyZW50OnBhcnNlRmxvYXQoby5iYWxhbmNlQ3VycmVudCksc3RhdHVzOm8uc3RhdHVzLGNyeXB0b19vbmx5X25vdGljZTpvLmNyeXB0b09ubHlOb3RpY2V9KS5lcSgiaWQiLGUuaWQpO2lmKHUpdGhyb3cgdTtXLnN1Y2Nlc3MoIkNoYWxsZW5nZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseSEiKSxyKCExKSxuKCl9Y2F0Y2godSl7Vy5lcnJvcih1Lm1lc3NhZ2V8fCJGYWlsZWQgdG8gdXBkYXRlIGNoYWxsZW5nZSIpfWZpbmFsbHl7aSghMSl9fX07cmV0dXJuIHMuanN4KHh0LHtvcGVuOnQsb25PcGVuQ2hhbmdlOnIsY2hpbGRyZW46cy5qc3hzKGZ0LHtjbGFzc05hbWU6Im1heC13LW1kIixjaGlsZHJlbjpbcy5qc3hzKHV0LHtjaGlsZHJlbjpbcy5qc3goQXQse2NoaWxkcmVuOiJFZGl0IENoYWxsZW5nZSJ9KSxzLmpzeChJdCx7Y2hpbGRyZW46IlVwZGF0ZSBjaGFsbGVuZ2UgZGV0YWlscyBhbmQgc3RhdHVzIn0pXX0pLHMuanN4cygiZm9ybSIse29uU3VibWl0OmMsY2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0yIixjaGlsZHJlbjpbcy5qc3goZmUse2h0bWxGb3I6Im5hbWUiLGNoaWxkcmVuOiJDaGFsbGVuZ2UgTmFtZSJ9KSxzLmpzeCh4ZSx7aWQ6Im5hbWUiLHZhbHVlOm8ubmFtZSxvbkNoYW5nZTpkPT5sKHsuLi5vLG5hbWU6ZC50YXJnZXQudmFsdWV9KSxyZXF1aXJlZDohMH0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTIiLGNoaWxkcmVuOltzLmpzeChmZSx7aHRtbEZvcjoiYmFsYW5jZUN1cnJlbnQiLGNoaWxkcmVuOiJDdXJyZW50IEJhbGFuY2UgKCQpIn0pLHMuanN4KHhlLHtpZDoiYmFsYW5jZUN1cnJlbnQiLHR5cGU6Im51bWJlciIsc3RlcDoiMC4wMSIsdmFsdWU6by5iYWxhbmNlQ3VycmVudCxvbkNoYW5nZTpkPT5sKHsuLi5vLGJhbGFuY2VDdXJyZW50OmQudGFyZ2V0LnZhbHVlfSkscmVxdWlyZWQ6ITB9KV19KSxzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0yIixjaGlsZHJlbjpbcy5qc3goZmUse2h0bWxGb3I6InN0YXR1cyIsY2hpbGRyZW46IlN0YXR1cyJ9KSxzLmpzeHMoT2Ese3ZhbHVlOm8uc3RhdHVzLG9uVmFsdWVDaGFuZ2U6ZD0+bCh7Li4ubyxzdGF0dXM6ZH0pLHJlcXVpcmVkOiEwLGNoaWxkcmVuOltzLmpzeCgkcyx7Y2hpbGRyZW46cy5qc3goSWEse30pfSkscy5qc3hzKEhzLHtjaGlsZHJlbjpbcy5qc3goT3Qse3ZhbHVlOiJhY3RpdmUiLGNoaWxkcmVuOiJBY3RpdmUifSkscy5qc3goT3Qse3ZhbHVlOiJwYXNzZWQiLGNoaWxkcmVuOiJQYXNzZWQifSkscy5qc3goT3Qse3ZhbHVlOiJmYWlsZWQiLGNoaWxkcmVuOiJGYWlsZWQifSldfSldfSldfSkscy5qc3hzKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiByb3VuZGVkLWxnIGJvcmRlciBwLTMiLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0wLjUiLGNoaWxkcmVuOltzLmpzeChmZSx7aHRtbEZvcjoiY3J5cHRvT25seSIsY2xhc3NOYW1lOiJ0ZXh0LXNtIGZvbnQtbWVkaXVtIixjaGlsZHJlbjoiQ3J5cHRvIE9ubHkgTm90aWNlIn0pLHMuanN4KCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCIsY2hpbGRyZW46YFNob3cgImNyeXB0byBvbmx5ICsgZmlsZSB0YXhlcyIgYmFubmVyIG9uIHRyYWRlcidzIGRhc2hib2FyZGB9KV19KSxzLmpzeChWYyx7aWQ6ImNyeXB0b09ubHkiLGNoZWNrZWQ6by5jcnlwdG9Pbmx5Tm90aWNlLG9uQ2hlY2tlZENoYW5nZTpkPT5sKHsuLi5vLGNyeXB0b09ubHlOb3RpY2U6ZH0pfSldfSkscy5qc3goVix7dHlwZToic3VibWl0IixjbGFzc05hbWU6InctZnVsbCIsZGlzYWJsZWQ6YSxjaGlsZHJlbjphPyJVcGRhdGluZy4uLiI6IlVwZGF0ZSBDaGFsbGVuZ2UifSldfSldfSl9KX1jb25zdCBFej02MDQ4ZTUsU2dlPTg2NGU1LE1JPVN5bWJvbC5mb3IoImNvbnN0cnVjdERhdGVGcm9tIik7ZnVuY3Rpb24gTmkoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiI/ZSh0KTplJiZ0eXBlb2YgZT09Im9iamVjdCImJk1JIGluIGU/ZVtNSV0odCk6ZSBpbnN0YW5jZW9mIERhdGU/bmV3IGUuY29uc3RydWN0b3IodCk6bmV3IERhdGUodCl9ZnVuY3Rpb24gYm4oZSx0KXtyZXR1cm4gTmkodHx8ZSxlKX1mdW5jdGlvbiB2eShlLHQscil7Y29uc3Qgbj1ibihlLHI9PW51bGw/dm9pZCAwOnIuaW4pO3JldHVybiBpc05hTih0KT9OaShlLE5hTik6KHQmJm4uc2V0RGF0ZShuLmdldERhdGUoKSt0KSxuKX1mdW5jdGlvbiBFZ2UoZSx0KXtjb25zdCByPWJuKGUsdD09bnVsbD92b2lkIDA6dC5pbikuZ2V0RGF5KCk7cmV0dXJuIHI9PT0wfHxyPT09Nn1sZXQga2dlPXt9O2Z1bmN0aW9uIFlwKCl7cmV0dXJuIGtnZX1mdW5jdGlvbiBObChlLHQpe3ZhciBsLGMsZCx1O2NvbnN0IHI9WXAoKSxuPSh0PT1udWxsP3ZvaWQgMDp0LndlZWtTdGFydHNPbik/PygoYz0obD10PT1udWxsP3ZvaWQgMDp0LmxvY2FsZSk9PW51bGw/dm9pZCAwOmwub3B0aW9ucyk9PW51bGw/dm9pZCAwOmMud2Vla1N0YXJ0c09uKT8/ci53ZWVrU3RhcnRzT24/PygodT0oZD1yLmxvY2FsZSk9PW51bGw/dm9pZCAwOmQub3B0aW9ucyk9PW51bGw/dm9pZCAwOnUud2Vla1N0YXJ0c09uKT8/MCxhPWJuKGUsdD09bnVsbD92b2lkIDA6dC5pbiksaT1hLmdldERheSgpLG89KGk8bj83OjApK2ktbjtyZXR1cm4gYS5zZXREYXRlKGEuZ2V0RGF0ZSgpLW8pLGEuc2V0SG91cnMoMCwwLDAsMCksYX1mdW5jdGlvbiB3eShlLHQpe3JldHVybiBObChlLHsuLi50LHdlZWtTdGFydHNPbjoxfSl9ZnVuY3Rpb24ga3ooZSx0KXtjb25zdCByPWJuKGUsdD09bnVsbD92b2lkIDA6dC5pbiksbj1yLmdldEZ1bGxZZWFyKCksYT1OaShyLDApO2Euc2V0RnVsbFllYXIobisxLDAsNCksYS5zZXRIb3VycygwLDAsMCwwKTtjb25zdCBpPXd5KGEpLG89TmkociwwKTtvLnNldEZ1bGxZZWFyKG4sMCw0KSxvLnNldEhvdXJzKDAsMCwwLDApO2NvbnN0IGw9d3kobyk7cmV0dXJuIHIuZ2V0VGltZSgpPj1pLmdldFRpbWUoKT9uKzE6ci5nZXRUaW1lKCk+PWwuZ2V0VGltZSgpP246bi0xfWZ1bmN0aW9uIFJJKGUpe2NvbnN0IHQ9Ym4oZSkscj1uZXcgRGF0ZShEYXRlLlVUQyh0LmdldEZ1bGxZZWFyKCksdC5nZXRNb250aCgpLHQuZ2V0RGF0ZSgpLHQuZ2V0SG91cnMoKSx0LmdldE1pbnV0ZXMoKSx0LmdldFNlY29uZHMoKSx0LmdldE1pbGxpc2Vjb25kcygpKSk7cmV0dXJuIHIuc2V0VVRDRnVsbFllYXIodC5nZXRGdWxsWWVhcigpKSwrZS0rcn1mdW5jdGlvbiBvZihlLC4uLnQpe2NvbnN0IHI9TmkuYmluZChudWxsLHQuZmluZChuPT50eXBlb2Ygbj09Im9iamVjdCIpKTtyZXR1cm4gdC5tYXAocil9ZnVuY3Rpb24gYnkoZSx0KXtjb25zdCByPWJuKGUsdD09bnVsbD92b2lkIDA6dC5pbik7cmV0dXJuIHIuc2V0SG91cnMoMCwwLDAsMCkscn1mdW5jdGlvbiB3ayhlLHQscil7Y29uc3RbbixhXT1vZihyPT1udWxsP3ZvaWQgMDpyLmluLGUsdCksaT1ieShuKSxvPWJ5KGEpLGw9K2ktUkkoaSksYz0rby1SSShvKTtyZXR1cm4gTWF0aC5yb3VuZCgobC1jKS9TZ2UpfWZ1bmN0aW9uIFRnZShlLHQpe2NvbnN0IHI9a3ooZSx0KSxuPU5pKGUsMCk7cmV0dXJuIG4uc2V0RnVsbFllYXIociwwLDQpLG4uc2V0SG91cnMoMCwwLDAsMCksd3kobil9ZnVuY3Rpb24gVHooZSx0LHIpe3JldHVybiB2eShlLHQqNyxyKX1mdW5jdGlvbiBQZ2UoZSx0LHIpe2NvbnN0W24sYV09b2Yocj09bnVsbD92b2lkIDA6ci5pbixlLHQpO3JldHVybitieShuKT09K2J5KGEpfWZ1bmN0aW9uIEZnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIERhdGV8fHR5cGVvZiBlPT0ib2JqZWN0IiYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpPT09IltvYmplY3QgRGF0ZV0ifWZ1bmN0aW9uIFVfKGUpe3JldHVybiEoIUZnZShlKSYmdHlwZW9mIGUhPSJudW1iZXIifHxpc05hTigrYm4oZSkpKX1mdW5jdGlvbiBPZ2UoZSx0LHIpe2NvbnN0W24sYV09b2Yocj09bnVsbD92b2lkIDA6ci5pbixlLHQpO2lmKCFVXyhuKXx8IVVfKGEpKXJldHVybiBOYU47Y29uc3QgaT13ayhuLGEpLG89aTwwPy0xOjEsbD1NYXRoLnRydW5jKGkvNyk7bGV0IGM9bCo1LGQ9dnkoYSxsKjcpO2Zvcig7IVBnZShuLGQpOyljKz1FZ2UoZCxyKT8wOm8sZD12eShkLG8pO3JldHVybiBjPT09MD8wOmN9ZnVuY3Rpb24gUHooZSx0LHIpe2NvbnN0W24sYV09b2Yocj09bnVsbD92b2lkIDA6ci5pbixlLHQpLGk9UUkobixhKSxvPU1hdGguYWJzKHdrKG4sYSkpO24uc2V0RGF0ZShuLmdldERhdGUoKS1pKm8pO2NvbnN0IGw9KyhRSShuLGEpPT09LWkpLGM9aSooby1sKTtyZXR1cm4gYz09PTA/MDpjfWZ1bmN0aW9uIFFJKGUsdCl7Y29uc3Qgcj1lLmdldEZ1bGxZZWFyKCktdC5nZXRGdWxsWWVhcigpfHxlLmdldE1vbnRoKCktdC5nZXRNb250aCgpfHxlLmdldERhdGUoKS10LmdldERhdGUoKXx8ZS5nZXRIb3VycygpLXQuZ2V0SG91cnMoKXx8ZS5nZXRNaW51dGVzKCktdC5nZXRNaW51dGVzKCl8fGUuZ2V0U2Vjb25kcygpLXQuZ2V0U2Vjb25kcygpfHxlLmdldE1pbGxpc2Vjb25kcygpLXQuZ2V0TWlsbGlzZWNvbmRzKCk7cmV0dXJuIHI8MD8tMTpyPjA/MTpyfWZ1bmN0aW9uIExJKGUsdCl7Y29uc3Qgcj1ibihlLHQ9PW51bGw/dm9pZCAwOnQuaW4pLG49ci5nZXRNb250aCgpO3JldHVybiByLnNldEZ1bGxZZWFyKHIuZ2V0RnVsbFllYXIoKSxuKzEsMCksci5zZXRIb3VycygyMyw1OSw1OSw5OTkpLHJ9ZnVuY3Rpb24gSWdlKGUsdCl7Y29uc3RbcixuXT1vZihlLHQuc3RhcnQsdC5lbmQpO3JldHVybntzdGFydDpyLGVuZDpufX1mdW5jdGlvbiB3aihlLHQpe2NvbnN0e3N0YXJ0OnIsZW5kOm59PUlnZSh0PT1udWxsP3ZvaWQgMDp0LmluLGUpO2xldCBhPStyPituO2NvbnN0IGk9YT8rcjorbixvPWE/bjpyO28uc2V0SG91cnMoMCwwLDAsMCk7bGV0IGw9MTtjb25zdCBjPVtdO2Zvcig7K288PWk7KWMucHVzaChOaShyLG8pKSxvLnNldERhdGUoby5nZXREYXRlKCkrbCksby5zZXRIb3VycygwLDAsMCwwKTtyZXR1cm4gYT9jLnJldmVyc2UoKTpjfWZ1bmN0aW9uICRJKGUsdCl7Y29uc3Qgcj1ibihlLHQ9PW51bGw/dm9pZCAwOnQuaW4pO3JldHVybiByLnNldERhdGUoMSksci5zZXRIb3VycygwLDAsMCwwKSxyfWZ1bmN0aW9uIFVnZShlLHQpe2NvbnN0IHI9Ym4oZSx0PT1udWxsP3ZvaWQgMDp0LmluKTtyZXR1cm4gci5zZXRGdWxsWWVhcihyLmdldEZ1bGxZZWFyKCksMCwxKSxyLnNldEhvdXJzKDAsMCwwLDApLHJ9ZnVuY3Rpb24gYmooZSx0KXt2YXIgbCxjO2NvbnN0IHI9WXAoKSxuPXIud2Vla1N0YXJ0c09uPz8oKGM9KGw9ci5sb2NhbGUpPT1udWxsP3ZvaWQgMDpsLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpjLndlZWtTdGFydHNPbik/PzAsYT1ibihlLHQ9PW51bGw/dm9pZCAwOnQuaW4pLGk9YS5nZXREYXkoKSxvPShpPG4/LTc6MCkrNi0oaS1uKTtyZXR1cm4gYS5zZXREYXRlKGEuZ2V0RGF0ZSgpK28pLGEuc2V0SG91cnMoMjMsNTksNTksOTk5KSxhfWNvbnN0IERnZT17bGVzc1RoYW5YU2Vjb25kczp7b25lOiJsZXNzIHRoYW4gYSBzZWNvbmQiLG90aGVyOiJsZXNzIHRoYW4ge3tjb3VudH19IHNlY29uZHMifSx4U2Vjb25kczp7b25lOiIxIHNlY29uZCIsb3RoZXI6Int7Y291bnR9fSBzZWNvbmRzIn0saGFsZkFNaW51dGU6ImhhbGYgYSBtaW51dGUiLGxlc3NUaGFuWE1pbnV0ZXM6e29uZToibGVzcyB0aGFuIGEgbWludXRlIixvdGhlcjoibGVzcyB0aGFuIHt7Y291bnR9fSBtaW51dGVzIn0seE1pbnV0ZXM6e29uZToiMSBtaW51dGUiLG90aGVyOiJ7e2NvdW50fX0gbWludXRlcyJ9LGFib3V0WEhvdXJzOntvbmU6ImFib3V0IDEgaG91ciIsb3RoZXI6ImFib3V0IHt7Y291bnR9fSBob3VycyJ9LHhIb3Vyczp7b25lOiIxIGhvdXIiLG90aGVyOiJ7e2NvdW50fX0gaG91cnMifSx4RGF5czp7b25lOiIxIGRheSIsb3RoZXI6Int7Y291bnR9fSBkYXlzIn0sYWJvdXRYV2Vla3M6e29uZToiYWJvdXQgMSB3ZWVrIixvdGhlcjoiYWJvdXQge3tjb3VudH19IHdlZWtzIn0seFdlZWtzOntvbmU6IjEgd2VlayIsb3RoZXI6Int7Y291bnR9fSB3ZWVrcyJ9LGFib3V0WE1vbnRoczp7b25lOiJhYm91dCAxIG1vbnRoIixvdGhlcjoiYWJvdXQge3tjb3VudH19IG1vbnRocyJ9LHhNb250aHM6e29uZToiMSBtb250aCIsb3RoZXI6Int7Y291bnR9fSBtb250aHMifSxhYm91dFhZZWFyczp7b25lOiJhYm91dCAxIHllYXIiLG90aGVyOiJhYm91dCB7e2NvdW50fX0geWVhcnMifSx4WWVhcnM6e29uZToiMSB5ZWFyIixvdGhlcjoie3tjb3VudH19IHllYXJzIn0sb3ZlclhZZWFyczp7b25lOiJvdmVyIDEgeWVhciIsb3RoZXI6Im92ZXIge3tjb3VudH19IHllYXJzIn0sYWxtb3N0WFllYXJzOntvbmU6ImFsbW9zdCAxIHllYXIiLG90aGVyOiJhbG1vc3Qge3tjb3VudH19IHllYXJzIn19LE1nZT0oZSx0LHIpPT57bGV0IG47Y29uc3QgYT1EZ2VbZV07cmV0dXJuIHR5cGVvZiBhPT0ic3RyaW5nIj9uPWE6dD09PTE/bj1hLm9uZTpuPWEub3RoZXIucmVwbGFjZSgie3tjb3VudH19Iix0LnRvU3RyaW5nKCkpLHIhPW51bGwmJnIuYWRkU3VmZml4P3IuY29tcGFyaXNvbiYmci5jb21wYXJpc29uPjA/ImluICIrbjpuKyIgYWdvIjpufTtmdW5jdGlvbiBqaihlKXtyZXR1cm4odD17fSk9Pntjb25zdCByPXQud2lkdGg/U3RyaW5nKHQud2lkdGgpOmUuZGVmYXVsdFdpZHRoO3JldHVybiBlLmZvcm1hdHNbcl18fGUuZm9ybWF0c1tlLmRlZmF1bHRXaWR0aF19fWNvbnN0IFJnZT17ZnVsbDoiRUVFRSwgTU1NTSBkbywgeSIsbG9uZzoiTU1NTSBkbywgeSIsbWVkaXVtOiJNTU0gZCwgeSIsc2hvcnQ6Ik1NL2RkL3l5eXkifSxRZ2U9e2Z1bGw6Img6bW06c3MgYSB6enp6Iixsb25nOiJoOm1tOnNzIGEgeiIsbWVkaXVtOiJoOm1tOnNzIGEiLHNob3J0OiJoOm1tIGEifSxMZ2U9e2Z1bGw6Int7ZGF0ZX19ICdhdCcge3t0aW1lfX0iLGxvbmc6Int7ZGF0ZX19ICdhdCcge3t0aW1lfX0iLG1lZGl1bToie3tkYXRlfX0sIHt7dGltZX19IixzaG9ydDoie3tkYXRlfX0sIHt7dGltZX19In0sJGdlPXtkYXRlOmpqKHtmb3JtYXRzOlJnZSxkZWZhdWx0V2lkdGg6ImZ1bGwifSksdGltZTpqaih7Zm9ybWF0czpRZ2UsZGVmYXVsdFdpZHRoOiJmdWxsIn0pLGRhdGVUaW1lOmpqKHtmb3JtYXRzOkxnZSxkZWZhdWx0V2lkdGg6ImZ1bGwifSl9LEhnZT17bGFzdFdlZWs6IidsYXN0JyBlZWVlICdhdCcgcCIseWVzdGVyZGF5OiIneWVzdGVyZGF5IGF0JyBwIix0b2RheToiJ3RvZGF5IGF0JyBwIix0b21vcnJvdzoiJ3RvbW9ycm93IGF0JyBwIixuZXh0V2VlazoiZWVlZSAnYXQnIHAiLG90aGVyOiJQIn0sS2dlPShlLHQscixuKT0+SGdlW2VdO2Z1bmN0aW9uIFJmKGUpe3JldHVybih0LHIpPT57Y29uc3Qgbj1yIT1udWxsJiZyLmNvbnRleHQ/U3RyaW5nKHIuY29udGV4dCk6InN0YW5kYWxvbmUiO2xldCBhO2lmKG49PT0iZm9ybWF0dGluZyImJmUuZm9ybWF0dGluZ1ZhbHVlcyl7Y29uc3Qgbz1lLmRlZmF1bHRGb3JtYXR0aW5nV2lkdGh8fGUuZGVmYXVsdFdpZHRoLGw9ciE9bnVsbCYmci53aWR0aD9TdHJpbmcoci53aWR0aCk6bzthPWUuZm9ybWF0dGluZ1ZhbHVlc1tsXXx8ZS5mb3JtYXR0aW5nVmFsdWVzW29dfWVsc2V7Y29uc3Qgbz1lLmRlZmF1bHRXaWR0aCxsPXIhPW51bGwmJnIud2lkdGg/U3RyaW5nKHIud2lkdGgpOmUuZGVmYXVsdFdpZHRoO2E9ZS52YWx1ZXNbbF18fGUudmFsdWVzW29dfWNvbnN0IGk9ZS5hcmd1bWVudENhbGxiYWNrP2UuYXJndW1lbnRDYWxsYmFjayh0KTp0O3JldHVybiBhW2ldfX1jb25zdCBWZ2U9e25hcnJvdzpbIkIiLCJBIl0sYWJicmV2aWF0ZWQ6WyJCQyIsIkFEIl0sd2lkZTpbIkJlZm9yZSBDaHJpc3QiLCJBbm5vIERvbWluaSJdfSx6Z2U9e25hcnJvdzpbIjEiLCIyIiwiMyIsIjQiXSxhYmJyZXZpYXRlZDpbIlExIiwiUTIiLCJRMyIsIlE0Il0sd2lkZTpbIjFzdCBxdWFydGVyIiwiMm5kIHF1YXJ0ZXIiLCIzcmQgcXVhcnRlciIsIjR0aCBxdWFydGVyIl19LFdnZT17bmFycm93OlsiSiIsIkYiLCJNIiwiQSIsIk0iLCJKIiwiSiIsIkEiLCJTIiwiTyIsIk4iLCJEIl0sYWJicmV2aWF0ZWQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSx3aWRlOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXX0sR2dlPXtuYXJyb3c6WyJTIiwiTSIsIlQiLCJXIiwiVCIsIkYiLCJTIl0sc2hvcnQ6WyJTdSIsIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdLGFiYnJldmlhdGVkOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sd2lkZTpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il19LHFnZT17bmFycm93OnthbToiYSIscG06InAiLG1pZG5pZ2h0OiJtaSIsbm9vbjoibiIsbW9ybmluZzoibW9ybmluZyIsYWZ0ZXJub29uOiJhZnRlcm5vb24iLGV2ZW5pbmc6ImV2ZW5pbmciLG5pZ2h0OiJuaWdodCJ9LGFiYnJldmlhdGVkOnthbToiQU0iLHBtOiJQTSIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sd2lkZTp7YW06ImEubS4iLHBtOiJwLm0uIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6Im1vcm5pbmciLGFmdGVybm9vbjoiYWZ0ZXJub29uIixldmVuaW5nOiJldmVuaW5nIixuaWdodDoibmlnaHQifX0sWWdlPXtuYXJyb3c6e2FtOiJhIixwbToicCIsbWlkbmlnaHQ6Im1pIixub29uOiJuIixtb3JuaW5nOiJpbiB0aGUgbW9ybmluZyIsYWZ0ZXJub29uOiJpbiB0aGUgYWZ0ZXJub29uIixldmVuaW5nOiJpbiB0aGUgZXZlbmluZyIsbmlnaHQ6ImF0IG5pZ2h0In0sYWJicmV2aWF0ZWQ6e2FtOiJBTSIscG06IlBNIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6ImluIHRoZSBtb3JuaW5nIixhZnRlcm5vb246ImluIHRoZSBhZnRlcm5vb24iLGV2ZW5pbmc6ImluIHRoZSBldmVuaW5nIixuaWdodDoiYXQgbmlnaHQifSx3aWRlOnthbToiYS5tLiIscG06InAubS4iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoiaW4gdGhlIG1vcm5pbmciLGFmdGVybm9vbjoiaW4gdGhlIGFmdGVybm9vbiIsZXZlbmluZzoiaW4gdGhlIGV2ZW5pbmciLG5pZ2h0OiJhdCBuaWdodCJ9fSxYZ2U9KGUsdCk9Pntjb25zdCByPU51bWJlcihlKSxuPXIlMTAwO2lmKG4+MjB8fG48MTApc3dpdGNoKG4lMTApe2Nhc2UgMTpyZXR1cm4gcisic3QiO2Nhc2UgMjpyZXR1cm4gcisibmQiO2Nhc2UgMzpyZXR1cm4gcisicmQifXJldHVybiByKyJ0aCJ9LEpnZT17b3JkaW5hbE51bWJlcjpYZ2UsZXJhOlJmKHt2YWx1ZXM6VmdlLGRlZmF1bHRXaWR0aDoid2lkZSJ9KSxxdWFydGVyOlJmKHt2YWx1ZXM6emdlLGRlZmF1bHRXaWR0aDoid2lkZSIsYXJndW1lbnRDYWxsYmFjazplPT5lLTF9KSxtb250aDpSZih7dmFsdWVzOldnZSxkZWZhdWx0V2lkdGg6IndpZGUifSksZGF5OlJmKHt2YWx1ZXM6R2dlLGRlZmF1bHRXaWR0aDoid2lkZSJ9KSxkYXlQZXJpb2Q6UmYoe3ZhbHVlczpxZ2UsZGVmYXVsdFdpZHRoOiJ3aWRlIixmb3JtYXR0aW5nVmFsdWVzOllnZSxkZWZhdWx0Rm9ybWF0dGluZ1dpZHRoOiJ3aWRlIn0pfTtmdW5jdGlvbiBRZihlKXtyZXR1cm4odCxyPXt9KT0+e2NvbnN0IG49ci53aWR0aCxhPW4mJmUubWF0Y2hQYXR0ZXJuc1tuXXx8ZS5tYXRjaFBhdHRlcm5zW2UuZGVmYXVsdE1hdGNoV2lkdGhdLGk9dC5tYXRjaChhKTtpZighaSlyZXR1cm4gbnVsbDtjb25zdCBvPWlbMF0sbD1uJiZlLnBhcnNlUGF0dGVybnNbbl18fGUucGFyc2VQYXR0ZXJuc1tlLmRlZmF1bHRQYXJzZVdpZHRoXSxjPUFycmF5LmlzQXJyYXkobCk/ZXhlKGwsQT0+QS50ZXN0KG8pKTpaZ2UobCxBPT5BLnRlc3QobykpO2xldCBkO2Q9ZS52YWx1ZUNhbGxiYWNrP2UudmFsdWVDYWxsYmFjayhjKTpjLGQ9ci52YWx1ZUNhbGxiYWNrP3IudmFsdWVDYWxsYmFjayhkKTpkO2NvbnN0IHU9dC5zbGljZShvLmxlbmd0aCk7cmV0dXJue3ZhbHVlOmQscmVzdDp1fX19ZnVuY3Rpb24gWmdlKGUsdCl7Zm9yKGNvbnN0IHIgaW4gZSlpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmdChlW3JdKSlyZXR1cm4gcn1mdW5jdGlvbiBleGUoZSx0KXtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKylpZih0KGVbcl0pKXJldHVybiByfWZ1bmN0aW9uIHR4ZShlKXtyZXR1cm4odCxyPXt9KT0+e2NvbnN0IG49dC5tYXRjaChlLm1hdGNoUGF0dGVybik7aWYoIW4pcmV0dXJuIG51bGw7Y29uc3QgYT1uWzBdLGk9dC5tYXRjaChlLnBhcnNlUGF0dGVybik7aWYoIWkpcmV0dXJuIG51bGw7bGV0IG89ZS52YWx1ZUNhbGxiYWNrP2UudmFsdWVDYWxsYmFjayhpWzBdKTppWzBdO289ci52YWx1ZUNhbGxiYWNrP3IudmFsdWVDYWxsYmFjayhvKTpvO2NvbnN0IGw9dC5zbGljZShhLmxlbmd0aCk7cmV0dXJue3ZhbHVlOm8scmVzdDpsfX19Y29uc3QgcnhlPS9eKFxkKykodGh8c3R8bmR8cmQpPy9pLG54ZT0vXGQrL2ksc3hlPXtuYXJyb3c6L14oYnxhKS9pLGFiYnJldmlhdGVkOi9eKGJcLj9ccz9jXC4/fGJcLj9ccz9jXC4/XHM/ZVwuP3xhXC4/XHM/ZFwuP3xjXC4/XHM/ZVwuPykvaSx3aWRlOi9eKGJlZm9yZSBjaHJpc3R8YmVmb3JlIGNvbW1vbiBlcmF8YW5ubyBkb21pbml8Y29tbW9uIGVyYSkvaX0sYXhlPXthbnk6Wy9eYi9pLC9eKGF8YykvaV19LGl4ZT17bmFycm93Oi9eWzEyMzRdL2ksYWJicmV2aWF0ZWQ6L15xWzEyMzRdL2ksd2lkZTovXlsxMjM0XSh0aHxzdHxuZHxyZCk/IHF1YXJ0ZXIvaX0sb3hlPXthbnk6Wy8xL2ksLzIvaSwvMy9pLC80L2ldfSxseGU9e25hcnJvdzovXltqZm1hc29uZF0vaSxhYmJyZXZpYXRlZDovXihqYW58ZmVifG1hcnxhcHJ8bWF5fGp1bnxqdWx8YXVnfHNlcHxvY3R8bm92fGRlYykvaSx3aWRlOi9eKGphbnVhcnl8ZmVicnVhcnl8bWFyY2h8YXByaWx8bWF5fGp1bmV8anVseXxhdWd1c3R8c2VwdGVtYmVyfG9jdG9iZXJ8bm92ZW1iZXJ8ZGVjZW1iZXIpL2l9LGN4ZT17bmFycm93OlsvXmovaSwvXmYvaSwvXm0vaSwvXmEvaSwvXm0vaSwvXmovaSwvXmovaSwvXmEvaSwvXnMvaSwvXm8vaSwvXm4vaSwvXmQvaV0sYW55OlsvXmphL2ksL15mL2ksL15tYXIvaSwvXmFwL2ksL15tYXkvaSwvXmp1bi9pLC9eanVsL2ksL15hdS9pLC9ecy9pLC9eby9pLC9ebi9pLC9eZC9pXX0sZHhlPXtuYXJyb3c6L15bc210d2ZdL2ksc2hvcnQ6L14oc3V8bW98dHV8d2V8dGh8ZnJ8c2EpL2ksYWJicmV2aWF0ZWQ6L14oc3VufG1vbnx0dWV8d2VkfHRodXxmcml8c2F0KS9pLHdpZGU6L14oc3VuZGF5fG1vbmRheXx0dWVzZGF5fHdlZG5lc2RheXx0aHVyc2RheXxmcmlkYXl8c2F0dXJkYXkpL2l9LHV4ZT17bmFycm93OlsvXnMvaSwvXm0vaSwvXnQvaSwvXncvaSwvXnQvaSwvXmYvaSwvXnMvaV0sYW55OlsvXnN1L2ksL15tL2ksL150dS9pLC9edy9pLC9edGgvaSwvXmYvaSwvXnNhL2ldfSxBeGU9e25hcnJvdzovXihhfHB8bWl8bnwoaW4gdGhlfGF0KSAobW9ybmluZ3xhZnRlcm5vb258ZXZlbmluZ3xuaWdodCkpL2ksYW55Oi9eKFthcF1cLj9ccz9tXC4/fG1pZG5pZ2h0fG5vb258KGluIHRoZXxhdCkgKG1vcm5pbmd8YWZ0ZXJub29ufGV2ZW5pbmd8bmlnaHQpKS9pfSxmeGU9e2FueTp7YW06L15hL2kscG06L15wL2ksbWlkbmlnaHQ6L15taS9pLG5vb246L15uby9pLG1vcm5pbmc6L21vcm5pbmcvaSxhZnRlcm5vb246L2FmdGVybm9vbi9pLGV2ZW5pbmc6L2V2ZW5pbmcvaSxuaWdodDovbmlnaHQvaX19LGh4ZT17b3JkaW5hbE51bWJlcjp0eGUoe21hdGNoUGF0dGVybjpyeGUscGFyc2VQYXR0ZXJuOm54ZSx2YWx1ZUNhbGxiYWNrOmU9PnBhcnNlSW50KGUsMTApfSksZXJhOlFmKHttYXRjaFBhdHRlcm5zOnN4ZSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczpheGUsZGVmYXVsdFBhcnNlV2lkdGg6ImFueSJ9KSxxdWFydGVyOlFmKHttYXRjaFBhdHRlcm5zOml4ZSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczpveGUsZGVmYXVsdFBhcnNlV2lkdGg6ImFueSIsdmFsdWVDYWxsYmFjazplPT5lKzF9KSxtb250aDpRZih7bWF0Y2hQYXR0ZXJuczpseGUsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6Y3hlLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkifSksZGF5OlFmKHttYXRjaFBhdHRlcm5zOmR4ZSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczp1eGUsZGVmYXVsdFBhcnNlV2lkdGg6ImFueSJ9KSxkYXlQZXJpb2Q6UWYoe21hdGNoUGF0dGVybnM6QXhlLGRlZmF1bHRNYXRjaFdpZHRoOiJhbnkiLHBhcnNlUGF0dGVybnM6ZnhlLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkifSl9LG14ZT17Y29kZToiZW4tVVMiLGZvcm1hdERpc3RhbmNlOk1nZSxmb3JtYXRMb25nOiRnZSxmb3JtYXRSZWxhdGl2ZTpLZ2UsbG9jYWxpemU6SmdlLG1hdGNoOmh4ZSxvcHRpb25zOnt3ZWVrU3RhcnRzT246MCxmaXJzdFdlZWtDb250YWluc0RhdGU6MX19O2Z1bmN0aW9uIHB4ZShlLHQpe2NvbnN0IHI9Ym4oZSx0PT1udWxsP3ZvaWQgMDp0LmluKTtyZXR1cm4gd2socixVZ2UocikpKzF9ZnVuY3Rpb24gZ3hlKGUsdCl7Y29uc3Qgcj1ibihlLHQ9PW51bGw/dm9pZCAwOnQuaW4pLG49K3d5KHIpLStUZ2Uocik7cmV0dXJuIE1hdGgucm91bmQobi9FeikrMX1mdW5jdGlvbiBGeihlLHQpe3ZhciB1LEEsZixoO2NvbnN0IHI9Ym4oZSx0PT1udWxsP3ZvaWQgMDp0LmluKSxuPXIuZ2V0RnVsbFllYXIoKSxhPVlwKCksaT0odD09bnVsbD92b2lkIDA6dC5maXJzdFdlZWtDb250YWluc0RhdGUpPz8oKEE9KHU9dD09bnVsbD92b2lkIDA6dC5sb2NhbGUpPT1udWxsP3ZvaWQgMDp1Lm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpBLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk/P2EuZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8oKGg9KGY9YS5sb2NhbGUpPT1udWxsP3ZvaWQgMDpmLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpoLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk/PzEsbz1OaSgodD09bnVsbD92b2lkIDA6dC5pbil8fGUsMCk7by5zZXRGdWxsWWVhcihuKzEsMCxpKSxvLnNldEhvdXJzKDAsMCwwLDApO2NvbnN0IGw9Tmwobyx0KSxjPU5pKCh0PT1udWxsP3ZvaWQgMDp0LmluKXx8ZSwwKTtjLnNldEZ1bGxZZWFyKG4sMCxpKSxjLnNldEhvdXJzKDAsMCwwLDApO2NvbnN0IGQ9TmwoYyx0KTtyZXR1cm4rcj49K2w/bisxOityPj0rZD9uOm4tMX1mdW5jdGlvbiB4eGUoZSx0KXt2YXIgbCxjLGQsdTtjb25zdCByPVlwKCksbj0odD09bnVsbD92b2lkIDA6dC5maXJzdFdlZWtDb250YWluc0RhdGUpPz8oKGM9KGw9dD09bnVsbD92b2lkIDA6dC5sb2NhbGUpPT1udWxsP3ZvaWQgMDpsLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpjLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk/P3IuZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8oKHU9KGQ9ci5sb2NhbGUpPT1udWxsP3ZvaWQgMDpkLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDp1LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSk/PzEsYT1GeihlLHQpLGk9TmkoKHQ9PW51bGw/dm9pZCAwOnQuaW4pfHxlLDApO3JldHVybiBpLnNldEZ1bGxZZWFyKGEsMCxuKSxpLnNldEhvdXJzKDAsMCwwLDApLE5sKGksdCl9ZnVuY3Rpb24geXhlKGUsdCl7Y29uc3Qgcj1ibihlLHQ9PW51bGw/dm9pZCAwOnQuaW4pLG49K05sKHIsdCktK3h4ZShyLHQpO3JldHVybiBNYXRoLnJvdW5kKG4vRXopKzF9ZnVuY3Rpb24gUHQoZSx0KXtjb25zdCByPWU8MD8iLSI6IiIsbj1NYXRoLmFicyhlKS50b1N0cmluZygpLnBhZFN0YXJ0KHQsIjAiKTtyZXR1cm4gcitufWNvbnN0IElvPXt5KGUsdCl7Y29uc3Qgcj1lLmdldEZ1bGxZZWFyKCksbj1yPjA/cjoxLXI7cmV0dXJuIFB0KHQ9PT0ieXkiP24lMTAwOm4sdC5sZW5ndGgpfSxNKGUsdCl7Y29uc3Qgcj1lLmdldE1vbnRoKCk7cmV0dXJuIHQ9PT0iTSI/U3RyaW5nKHIrMSk6UHQocisxLDIpfSxkKGUsdCl7cmV0dXJuIFB0KGUuZ2V0RGF0ZSgpLHQubGVuZ3RoKX0sYShlLHQpe2NvbnN0IHI9ZS5nZXRIb3VycygpLzEyPj0xPyJwbSI6ImFtIjtzd2l0Y2godCl7Y2FzZSJhIjpjYXNlImFhIjpyZXR1cm4gci50b1VwcGVyQ2FzZSgpO2Nhc2UiYWFhIjpyZXR1cm4gcjtjYXNlImFhYWFhIjpyZXR1cm4gclswXTtjYXNlImFhYWEiOmRlZmF1bHQ6cmV0dXJuIHI9PT0iYW0iPyJhLm0uIjoicC5tLiJ9fSxoKGUsdCl7cmV0dXJuIFB0KGUuZ2V0SG91cnMoKSUxMnx8MTIsdC5sZW5ndGgpfSxIKGUsdCl7cmV0dXJuIFB0KGUuZ2V0SG91cnMoKSx0Lmxlbmd0aCl9LG0oZSx0KXtyZXR1cm4gUHQoZS5nZXRNaW51dGVzKCksdC5sZW5ndGgpfSxzKGUsdCl7cmV0dXJuIFB0KGUuZ2V0U2Vjb25kcygpLHQubGVuZ3RoKX0sUyhlLHQpe2NvbnN0IHI9dC5sZW5ndGgsbj1lLmdldE1pbGxpc2Vjb25kcygpLGE9TWF0aC50cnVuYyhuKk1hdGgucG93KDEwLHItMykpO3JldHVybiBQdChhLHQubGVuZ3RoKX19LFVkPXthbToiYW0iLHBtOiJwbSIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sSEk9e0c6ZnVuY3Rpb24oZSx0LHIpe2NvbnN0IG49ZS5nZXRGdWxsWWVhcigpPjA/MTowO3N3aXRjaCh0KXtjYXNlIkciOmNhc2UiR0ciOmNhc2UiR0dHIjpyZXR1cm4gci5lcmEobix7d2lkdGg6ImFiYnJldmlhdGVkIn0pO2Nhc2UiR0dHR0ciOnJldHVybiByLmVyYShuLHt3aWR0aDoibmFycm93In0pO2Nhc2UiR0dHRyI6ZGVmYXVsdDpyZXR1cm4gci5lcmEobix7d2lkdGg6IndpZGUifSl9fSx5OmZ1bmN0aW9uKGUsdCxyKXtpZih0PT09InlvIil7Y29uc3Qgbj1lLmdldEZ1bGxZZWFyKCksYT1uPjA/bjoxLW47cmV0dXJuIHIub3JkaW5hbE51bWJlcihhLHt1bml0OiJ5ZWFyIn0pfXJldHVybiBJby55KGUsdCl9LFk6ZnVuY3Rpb24oZSx0LHIsbil7Y29uc3QgYT1GeihlLG4pLGk9YT4wP2E6MS1hO2lmKHQ9PT0iWVkiKXtjb25zdCBvPWklMTAwO3JldHVybiBQdChvLDIpfXJldHVybiB0PT09IllvIj9yLm9yZGluYWxOdW1iZXIoaSx7dW5pdDoieWVhciJ9KTpQdChpLHQubGVuZ3RoKX0sUjpmdW5jdGlvbihlLHQpe2NvbnN0IHI9a3ooZSk7cmV0dXJuIFB0KHIsdC5sZW5ndGgpfSx1OmZ1bmN0aW9uKGUsdCl7Y29uc3Qgcj1lLmdldEZ1bGxZZWFyKCk7cmV0dXJuIFB0KHIsdC5sZW5ndGgpfSxROmZ1bmN0aW9uKGUsdCxyKXtjb25zdCBuPU1hdGguY2VpbCgoZS5nZXRNb250aCgpKzEpLzMpO3N3aXRjaCh0KXtjYXNlIlEiOnJldHVybiBTdHJpbmcobik7Y2FzZSJRUSI6cmV0dXJuIFB0KG4sMik7Y2FzZSJRbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihuLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UiUVFRIjpyZXR1cm4gci5xdWFydGVyKG4se3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIlFRUVFRIjpyZXR1cm4gci5xdWFydGVyKG4se3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJRUVFRIjpkZWZhdWx0OnJldHVybiByLnF1YXJ0ZXIobix7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSxxOmZ1bmN0aW9uKGUsdCxyKXtjb25zdCBuPU1hdGguY2VpbCgoZS5nZXRNb250aCgpKzEpLzMpO3N3aXRjaCh0KXtjYXNlInEiOnJldHVybiBTdHJpbmcobik7Y2FzZSJxcSI6cmV0dXJuIFB0KG4sMik7Y2FzZSJxbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihuLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UicXFxIjpyZXR1cm4gci5xdWFydGVyKG4se3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlInFxcXFxIjpyZXR1cm4gci5xdWFydGVyKG4se3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJxcXFxIjpkZWZhdWx0OnJldHVybiByLnF1YXJ0ZXIobix7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fSxNOmZ1bmN0aW9uKGUsdCxyKXtjb25zdCBuPWUuZ2V0TW9udGgoKTtzd2l0Y2godCl7Y2FzZSJNIjpjYXNlIk1NIjpyZXR1cm4gSW8uTShlLHQpO2Nhc2UiTW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIobisxLHt1bml0OiJtb250aCJ9KTtjYXNlIk1NTSI6cmV0dXJuIHIubW9udGgobix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiTU1NTU0iOnJldHVybiByLm1vbnRoKG4se3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJNTU1NIjpkZWZhdWx0OnJldHVybiByLm1vbnRoKG4se3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sTDpmdW5jdGlvbihlLHQscil7Y29uc3Qgbj1lLmdldE1vbnRoKCk7c3dpdGNoKHQpe2Nhc2UiTCI6cmV0dXJuIFN0cmluZyhuKzEpO2Nhc2UiTEwiOnJldHVybiBQdChuKzEsMik7Y2FzZSJMbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihuKzEse3VuaXQ6Im1vbnRoIn0pO2Nhc2UiTExMIjpyZXR1cm4gci5tb250aChuLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJMTExMTCI6cmV0dXJuIHIubW9udGgobix7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlIkxMTEwiOmRlZmF1bHQ6cmV0dXJuIHIubW9udGgobix7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fSx3OmZ1bmN0aW9uKGUsdCxyLG4pe2NvbnN0IGE9eXhlKGUsbik7cmV0dXJuIHQ9PT0id28iP3Iub3JkaW5hbE51bWJlcihhLHt1bml0OiJ3ZWVrIn0pOlB0KGEsdC5sZW5ndGgpfSxJOmZ1bmN0aW9uKGUsdCxyKXtjb25zdCBuPWd4ZShlKTtyZXR1cm4gdD09PSJJbyI/ci5vcmRpbmFsTnVtYmVyKG4se3VuaXQ6IndlZWsifSk6UHQobix0Lmxlbmd0aCl9LGQ6ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB0PT09ImRvIj9yLm9yZGluYWxOdW1iZXIoZS5nZXREYXRlKCkse3VuaXQ6ImRhdGUifSk6SW8uZChlLHQpfSxEOmZ1bmN0aW9uKGUsdCxyKXtjb25zdCBuPXB4ZShlKTtyZXR1cm4gdD09PSJEbyI/ci5vcmRpbmFsTnVtYmVyKG4se3VuaXQ6ImRheU9mWWVhciJ9KTpQdChuLHQubGVuZ3RoKX0sRTpmdW5jdGlvbihlLHQscil7Y29uc3Qgbj1lLmdldERheSgpO3N3aXRjaCh0KXtjYXNlIkUiOmNhc2UiRUUiOmNhc2UiRUVFIjpyZXR1cm4gci5kYXkobix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiRUVFRUUiOnJldHVybiByLmRheShuLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiRUVFRUVFIjpyZXR1cm4gci5kYXkobix7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiRUVFRSI6ZGVmYXVsdDpyZXR1cm4gci5kYXkobix7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSxlOmZ1bmN0aW9uKGUsdCxyLG4pe2NvbnN0IGE9ZS5nZXREYXkoKSxpPShhLW4ud2Vla1N0YXJ0c09uKzgpJTd8fDc7c3dpdGNoKHQpe2Nhc2UiZSI6cmV0dXJuIFN0cmluZyhpKTtjYXNlImVlIjpyZXR1cm4gUHQoaSwyKTtjYXNlImVvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6ImRheSJ9KTtjYXNlImVlZSI6cmV0dXJuIHIuZGF5KGEse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImVlZWVlIjpyZXR1cm4gci5kYXkoYSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImVlZWVlZSI6cmV0dXJuIHIuZGF5KGEse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImVlZWUiOmRlZmF1bHQ6cmV0dXJuIHIuZGF5KGEse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sYzpmdW5jdGlvbihlLHQscixuKXtjb25zdCBhPWUuZ2V0RGF5KCksaT0oYS1uLndlZWtTdGFydHNPbis4KSU3fHw3O3N3aXRjaCh0KXtjYXNlImMiOnJldHVybiBTdHJpbmcoaSk7Y2FzZSJjYyI6cmV0dXJuIFB0KGksdC5sZW5ndGgpO2Nhc2UiY28iOnJldHVybiByLm9yZGluYWxOdW1iZXIoaSx7dW5pdDoiZGF5In0pO2Nhc2UiY2NjIjpyZXR1cm4gci5kYXkoYSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiY2NjY2MiOnJldHVybiByLmRheShhLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiY2NjY2NjIjpyZXR1cm4gci5kYXkoYSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiY2NjYyI6ZGVmYXVsdDpyZXR1cm4gci5kYXkoYSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fSxpOmZ1bmN0aW9uKGUsdCxyKXtjb25zdCBuPWUuZ2V0RGF5KCksYT1uPT09MD83Om47c3dpdGNoKHQpe2Nhc2UiaSI6cmV0dXJuIFN0cmluZyhhKTtjYXNlImlpIjpyZXR1cm4gUHQoYSx0Lmxlbmd0aCk7Y2FzZSJpbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihhLHt1bml0OiJkYXkifSk7Y2FzZSJpaWkiOnJldHVybiByLmRheShuLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJpaWlpaSI6cmV0dXJuIHIuZGF5KG4se3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJpaWlpaWkiOnJldHVybiByLmRheShuLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJpaWlpIjpkZWZhdWx0OnJldHVybiByLmRheShuLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LGE6ZnVuY3Rpb24oZSx0LHIpe2NvbnN0IGE9ZS5nZXRIb3VycygpLzEyPj0xPyJwbSI6ImFtIjtzd2l0Y2godCl7Y2FzZSJhIjpjYXNlImFhIjpyZXR1cm4gci5kYXlQZXJpb2QoYSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiYWFhIjpyZXR1cm4gci5kYXlQZXJpb2QoYSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLnRvTG93ZXJDYXNlKCk7Y2FzZSJhYWFhYSI6cmV0dXJuIHIuZGF5UGVyaW9kKGEse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJhYWFhIjpkZWZhdWx0OnJldHVybiByLmRheVBlcmlvZChhLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LGI6ZnVuY3Rpb24oZSx0LHIpe2NvbnN0IG49ZS5nZXRIb3VycygpO2xldCBhO3N3aXRjaChuPT09MTI/YT1VZC5ub29uOm49PT0wP2E9VWQubWlkbmlnaHQ6YT1uLzEyPj0xPyJwbSI6ImFtIix0KXtjYXNlImIiOmNhc2UiYmIiOnJldHVybiByLmRheVBlcmlvZChhLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJiYmIiOnJldHVybiByLmRheVBlcmlvZChhLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkudG9Mb3dlckNhc2UoKTtjYXNlImJiYmJiIjpyZXR1cm4gci5kYXlQZXJpb2QoYSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImJiYmIiOmRlZmF1bHQ6cmV0dXJuIHIuZGF5UGVyaW9kKGEse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sQjpmdW5jdGlvbihlLHQscil7Y29uc3Qgbj1lLmdldEhvdXJzKCk7bGV0IGE7c3dpdGNoKG4+PTE3P2E9VWQuZXZlbmluZzpuPj0xMj9hPVVkLmFmdGVybm9vbjpuPj00P2E9VWQubW9ybmluZzphPVVkLm5pZ2h0LHQpe2Nhc2UiQiI6Y2FzZSJCQiI6Y2FzZSJCQkIiOnJldHVybiByLmRheVBlcmlvZChhLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJCQkJCQiI6cmV0dXJuIHIuZGF5UGVyaW9kKGEse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJCQkJCIjpkZWZhdWx0OnJldHVybiByLmRheVBlcmlvZChhLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LGg6ZnVuY3Rpb24oZSx0LHIpe2lmKHQ9PT0iaG8iKXtsZXQgbj1lLmdldEhvdXJzKCklMTI7cmV0dXJuIG49PT0wJiYobj0xMiksci5vcmRpbmFsTnVtYmVyKG4se3VuaXQ6ImhvdXIifSl9cmV0dXJuIElvLmgoZSx0KX0sSDpmdW5jdGlvbihlLHQscil7cmV0dXJuIHQ9PT0iSG8iP3Iub3JkaW5hbE51bWJlcihlLmdldEhvdXJzKCkse3VuaXQ6ImhvdXIifSk6SW8uSChlLHQpfSxLOmZ1bmN0aW9uKGUsdCxyKXtjb25zdCBuPWUuZ2V0SG91cnMoKSUxMjtyZXR1cm4gdD09PSJLbyI/ci5vcmRpbmFsTnVtYmVyKG4se3VuaXQ6ImhvdXIifSk6UHQobix0Lmxlbmd0aCl9LGs6ZnVuY3Rpb24oZSx0LHIpe2xldCBuPWUuZ2V0SG91cnMoKTtyZXR1cm4gbj09PTAmJihuPTI0KSx0PT09ImtvIj9yLm9yZGluYWxOdW1iZXIobix7dW5pdDoiaG91ciJ9KTpQdChuLHQubGVuZ3RoKX0sbTpmdW5jdGlvbihlLHQscil7cmV0dXJuIHQ9PT0ibW8iP3Iub3JkaW5hbE51bWJlcihlLmdldE1pbnV0ZXMoKSx7dW5pdDoibWludXRlIn0pOklvLm0oZSx0KX0sczpmdW5jdGlvbihlLHQscil7cmV0dXJuIHQ9PT0ic28iP3Iub3JkaW5hbE51bWJlcihlLmdldFNlY29uZHMoKSx7dW5pdDoic2Vjb25kIn0pOklvLnMoZSx0KX0sUzpmdW5jdGlvbihlLHQpe3JldHVybiBJby5TKGUsdCl9LFg6ZnVuY3Rpb24oZSx0LHIpe2NvbnN0IG49ZS5nZXRUaW1lem9uZU9mZnNldCgpO2lmKG49PT0wKXJldHVybiJaIjtzd2l0Y2godCl7Y2FzZSJYIjpyZXR1cm4gVkkobik7Y2FzZSJYWFhYIjpjYXNlIlhYIjpyZXR1cm4gbWMobik7Y2FzZSJYWFhYWCI6Y2FzZSJYWFgiOmRlZmF1bHQ6cmV0dXJuIG1jKG4sIjoiKX19LHg6ZnVuY3Rpb24oZSx0LHIpe2NvbnN0IG49ZS5nZXRUaW1lem9uZU9mZnNldCgpO3N3aXRjaCh0KXtjYXNlIngiOnJldHVybiBWSShuKTtjYXNlInh4eHgiOmNhc2UieHgiOnJldHVybiBtYyhuKTtjYXNlInh4eHh4IjpjYXNlInh4eCI6ZGVmYXVsdDpyZXR1cm4gbWMobiwiOiIpfX0sTzpmdW5jdGlvbihlLHQscil7Y29uc3Qgbj1lLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKHQpe2Nhc2UiTyI6Y2FzZSJPTyI6Y2FzZSJPT08iOnJldHVybiJHTVQiK0tJKG4sIjoiKTtjYXNlIk9PT08iOmRlZmF1bHQ6cmV0dXJuIkdNVCIrbWMobiwiOiIpfX0sejpmdW5jdGlvbihlLHQscil7Y29uc3Qgbj1lLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKHQpe2Nhc2UieiI6Y2FzZSJ6eiI6Y2FzZSJ6enoiOnJldHVybiJHTVQiK0tJKG4sIjoiKTtjYXNlInp6enoiOmRlZmF1bHQ6cmV0dXJuIkdNVCIrbWMobiwiOiIpfX0sdDpmdW5jdGlvbihlLHQscil7Y29uc3Qgbj1NYXRoLnRydW5jKCtlLzFlMyk7cmV0dXJuIFB0KG4sdC5sZW5ndGgpfSxUOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gUHQoK2UsdC5sZW5ndGgpfX07ZnVuY3Rpb24gS0koZSx0PSIiKXtjb25zdCByPWU+MD8iLSI6IisiLG49TWF0aC5hYnMoZSksYT1NYXRoLnRydW5jKG4vNjApLGk9biU2MDtyZXR1cm4gaT09PTA/citTdHJpbmcoYSk6citTdHJpbmcoYSkrdCtQdChpLDIpfWZ1bmN0aW9uIFZJKGUsdCl7cmV0dXJuIGUlNjA9PT0wPyhlPjA/Ii0iOiIrIikrUHQoTWF0aC5hYnMoZSkvNjAsMik6bWMoZSx0KX1mdW5jdGlvbiBtYyhlLHQ9IiIpe2NvbnN0IHI9ZT4wPyItIjoiKyIsbj1NYXRoLmFicyhlKSxhPVB0KE1hdGgudHJ1bmMobi82MCksMiksaT1QdChuJTYwLDIpO3JldHVybiByK2ErdCtpfWNvbnN0IHpJPShlLHQpPT57c3dpdGNoKGUpe2Nhc2UiUCI6cmV0dXJuIHQuZGF0ZSh7d2lkdGg6InNob3J0In0pO2Nhc2UiUFAiOnJldHVybiB0LmRhdGUoe3dpZHRoOiJtZWRpdW0ifSk7Y2FzZSJQUFAiOnJldHVybiB0LmRhdGUoe3dpZHRoOiJsb25nIn0pO2Nhc2UiUFBQUCI6ZGVmYXVsdDpyZXR1cm4gdC5kYXRlKHt3aWR0aDoiZnVsbCJ9KX19LE96PShlLHQpPT57c3dpdGNoKGUpe2Nhc2UicCI6cmV0dXJuIHQudGltZSh7d2lkdGg6InNob3J0In0pO2Nhc2UicHAiOnJldHVybiB0LnRpbWUoe3dpZHRoOiJtZWRpdW0ifSk7Y2FzZSJwcHAiOnJldHVybiB0LnRpbWUoe3dpZHRoOiJsb25nIn0pO2Nhc2UicHBwcCI6ZGVmYXVsdDpyZXR1cm4gdC50aW1lKHt3aWR0aDoiZnVsbCJ9KX19LHZ4ZT0oZSx0KT0+e2NvbnN0IHI9ZS5tYXRjaCgvKFArKShwKyk/Lyl8fFtdLG49clsxXSxhPXJbMl07aWYoIWEpcmV0dXJuIHpJKGUsdCk7bGV0IGk7c3dpdGNoKG4pe2Nhc2UiUCI6aT10LmRhdGVUaW1lKHt3aWR0aDoic2hvcnQifSk7YnJlYWs7Y2FzZSJQUCI6aT10LmRhdGVUaW1lKHt3aWR0aDoibWVkaXVtIn0pO2JyZWFrO2Nhc2UiUFBQIjppPXQuZGF0ZVRpbWUoe3dpZHRoOiJsb25nIn0pO2JyZWFrO2Nhc2UiUFBQUCI6ZGVmYXVsdDppPXQuZGF0ZVRpbWUoe3dpZHRoOiJmdWxsIn0pO2JyZWFrfXJldHVybiBpLnJlcGxhY2UoInt7ZGF0ZX19Iix6SShuLHQpKS5yZXBsYWNlKCJ7e3RpbWV9fSIsT3ooYSx0KSl9LHd4ZT17cDpPeixQOnZ4ZX0sYnhlPS9eRCskLyxqeGU9L15ZKyQvLE54ZT1bIkQiLCJERCIsIllZIiwiWVlZWSJdO2Z1bmN0aW9uIEN4ZShlKXtyZXR1cm4gYnhlLnRlc3QoZSl9ZnVuY3Rpb24gX3hlKGUpe3JldHVybiBqeGUudGVzdChlKX1mdW5jdGlvbiBCeGUoZSx0LHIpe2NvbnN0IG49U3hlKGUsdCxyKTtpZihjb25zb2xlLndhcm4obiksTnhlLmluY2x1ZGVzKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKG4pfWZ1bmN0aW9uIFN4ZShlLHQscil7Y29uc3Qgbj1lWzBdPT09IlkiPyJ5ZWFycyI6ImRheXMgb2YgdGhlIG1vbnRoIjtyZXR1cm5gVXNlIFxgJHtlLnRvTG93ZXJDYXNlKCl9XGAgaW5zdGVhZCBvZiBcYCR7ZX1cYCAoaW4gXGAke3R9XGApIGZvciBmb3JtYXR0aW5nICR7bn0gdG8gdGhlIGlucHV0IFxgJHtyfVxgOyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VuaWNvZGVUb2tlbnMubWRgfWNvbnN0IEV4ZT0vW3lZUXFNTHdJZERlY2loSEtrbXNdb3woXHcpXDEqfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLGt4ZT0vUCtwK3xQK3xwK3wnJ3wnKCcnfFteJ10pKygnfCQpfC4vZyxUeGU9L14nKFteXSo/KSc/JC8sUHhlPS8nJy9nLEZ4ZT0vW2EtekEtWl0vO2Z1bmN0aW9uIGtuKGUsdCxyKXt2YXIgdSxBLGYsaDtjb25zdCBuPVlwKCksYT1uLmxvY2FsZT8/bXhlLGk9bi5maXJzdFdlZWtDb250YWluc0RhdGU/PygoQT0odT1uLmxvY2FsZSk9PW51bGw/dm9pZCAwOnUub3B0aW9ucyk9PW51bGw/dm9pZCAwOkEuZmlyc3RXZWVrQ29udGFpbnNEYXRlKT8/MSxvPW4ud2Vla1N0YXJ0c09uPz8oKGg9KGY9bi5sb2NhbGUpPT1udWxsP3ZvaWQgMDpmLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpoLndlZWtTdGFydHNPbik/PzAsbD1ibihlLHI9PW51bGw/dm9pZCAwOnIuaW4pO2lmKCFVXyhsKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IGM9dC5tYXRjaChreGUpLm1hcChwPT57Y29uc3QgbT1wWzBdO2lmKG09PT0icCJ8fG09PT0iUCIpe2NvbnN0IHg9d3hlW21dO3JldHVybiB4KHAsYS5mb3JtYXRMb25nKX1yZXR1cm4gcH0pLmpvaW4oIiIpLm1hdGNoKEV4ZSkubWFwKHA9PntpZihwPT09IicnIilyZXR1cm57aXNUb2tlbjohMSx2YWx1ZToiJyJ9O2NvbnN0IG09cFswXTtpZihtPT09IiciKXJldHVybntpc1Rva2VuOiExLHZhbHVlOk94ZShwKX07aWYoSElbbV0pcmV0dXJue2lzVG9rZW46ITAsdmFsdWU6cH07aWYobS5tYXRjaChGeGUpKXRocm93IG5ldyBSYW5nZUVycm9yKCJGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCIrbSsiYCIpO3JldHVybntpc1Rva2VuOiExLHZhbHVlOnB9fSk7YS5sb2NhbGl6ZS5wcmVwcm9jZXNzb3ImJihjPWEubG9jYWxpemUucHJlcHJvY2Vzc29yKGwsYykpO2NvbnN0IGQ9e2ZpcnN0V2Vla0NvbnRhaW5zRGF0ZTppLHdlZWtTdGFydHNPbjpvLGxvY2FsZTphfTtyZXR1cm4gYy5tYXAocD0+e2lmKCFwLmlzVG9rZW4pcmV0dXJuIHAudmFsdWU7Y29uc3QgbT1wLnZhbHVlOyhfeGUobSl8fEN4ZShtKSkmJkJ4ZShtLHQsU3RyaW5nKGUpKTtjb25zdCB4PUhJW21bMF1dO3JldHVybiB4KGwsbSxhLmxvY2FsaXplLGQpfSkuam9pbigiIil9ZnVuY3Rpb24gT3hlKGUpe2NvbnN0IHQ9ZS5tYXRjaChUeGUpO3JldHVybiB0P3RbMV0ucmVwbGFjZShQeGUsIiciKTplfWZ1bmN0aW9uIEl4ZShlLHQpe3JldHVybiBibihlLHQ9PW51bGw/dm9pZCAwOnQuaW4pLmdldEZ1bGxZZWFyKCl9ZnVuY3Rpb24gVXhlKGUsdCxyKXtjb25zdFtuLGFdPW9mKHI9PW51bGw/dm9pZCAwOnIuaW4sZSx0KTtyZXR1cm4gbi5nZXRGdWxsWWVhcigpPT09YS5nZXRGdWxsWWVhcigpJiZuLmdldE1vbnRoKCk9PT1hLmdldE1vbnRoKCl9ZnVuY3Rpb24gRHhlKGUsdCxyKXtyZXR1cm4gVHooZSwtdCxyKX1jb25zdCBNeGU9V0EoImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyIHB4LTMgcHktMS41IHRleHQteHMgZm9udC1ib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAiLHt2YXJpYW50czp7dmFyaWFudDp7ZGVmYXVsdDoiYm9yZGVyLXByaW1hcnkvNDAgYmctcHJpbWFyeS8xNSB0ZXh0LXByaW1hcnkgc2hhZG93LW1kIHNoYWRvdy1wcmltYXJ5LzE1IGdsb3ctcHJpbWFyeSIsc2Vjb25kYXJ5OiJib3JkZXItc2Vjb25kYXJ5LWZvcmVncm91bmQvMjAgYmctc2Vjb25kYXJ5LzgwIHRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmQgZm9udC1tZWRpdW0iLGRlc3RydWN0aXZlOiJib3JkZXItZGVzdHJ1Y3RpdmUvNDAgYmctZGVzdHJ1Y3RpdmUvMTUgdGV4dC1kZXN0cnVjdGl2ZSBzaGFkb3ctbWQgc2hhZG93LWRlc3RydWN0aXZlLzE1IixzdWNjZXNzOiJib3JkZXItc3VjY2Vzcy80MCBiZy1zdWNjZXNzLzE1IHRleHQtc3VjY2VzcyBzaGFkb3ctbWQgc2hhZG93LXN1Y2Nlc3MvMTUgZ2xvdy1zdWNjZXNzIixvdXRsaW5lOiJib3JkZXItYm9yZGVyLzQwIGJnLXRyYW5zcGFyZW50IHRleHQtZm9yZWdyb3VuZCBob3ZlcjpiZy1jYXJkLzUwIGhvdmVyOmJvcmRlci1wcmltYXJ5LzMwIGZvbnQtbWVkaXVtIixhY2NlbnQ6ImJvcmRlci1hY2NlbnQvNDAgYmctYWNjZW50LzE1IHRleHQtYWNjZW50IHNoYWRvdy1tZCBzaGFkb3ctYWNjZW50LzE1IGdsb3ctYWNjZW50In19LGRlZmF1bHRWYXJpYW50czp7dmFyaWFudDoiZGVmYXVsdCJ9fSk7ZnVuY3Rpb24gTGUoe2NsYXNzTmFtZTplLHZhcmlhbnQ6dCwuLi5yfSl7cmV0dXJuIHMuanN4KCJkaXYiLHtjbGFzc05hbWU6d2UoTXhlKHt2YXJpYW50OnR9KSxlKSwuLi5yfSl9ZnVuY3Rpb24gUnhlKGUsdCl7cmV0dXJuIGcudXNlUmVkdWNlcigocixuKT0+dFtyXVtuXT8/cixlKX12YXIgYms9IlNjcm9sbEFyZWEiLFtJeix6R2VdPURyKGJrKSxbUXhlLHVhXT1JeihiayksVXo9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVNjcm9sbEFyZWE6cix0eXBlOm49ImhvdmVyIixkaXI6YSxzY3JvbGxIaWRlRGVsYXk6aT02MDAsLi4ub309ZSxbbCxjXT1nLnVzZVN0YXRlKG51bGwpLFtkLHVdPWcudXNlU3RhdGUobnVsbCksW0EsZl09Zy51c2VTdGF0ZShudWxsKSxbaCxwXT1nLnVzZVN0YXRlKG51bGwpLFttLHhdPWcudXNlU3RhdGUobnVsbCksW3cseV09Zy51c2VTdGF0ZSgwKSxbdixiXT1nLnVzZVN0YXRlKDApLFtqLE5dPWcudXNlU3RhdGUoITEpLFtDLF9dPWcudXNlU3RhdGUoITEpLEI9V2UodCxFPT5jKEUpKSxrPVlsKGEpO3JldHVybiBzLmpzeChReGUse3Njb3BlOnIsdHlwZTpuLGRpcjprLHNjcm9sbEhpZGVEZWxheTppLHNjcm9sbEFyZWE6bCx2aWV3cG9ydDpkLG9uVmlld3BvcnRDaGFuZ2U6dSxjb250ZW50OkEsb25Db250ZW50Q2hhbmdlOmYsc2Nyb2xsYmFyWDpoLG9uU2Nyb2xsYmFyWENoYW5nZTpwLHNjcm9sbGJhclhFbmFibGVkOmosb25TY3JvbGxiYXJYRW5hYmxlZENoYW5nZTpOLHNjcm9sbGJhclk6bSxvblNjcm9sbGJhcllDaGFuZ2U6eCxzY3JvbGxiYXJZRW5hYmxlZDpDLG9uU2Nyb2xsYmFyWUVuYWJsZWRDaGFuZ2U6XyxvbkNvcm5lcldpZHRoQ2hhbmdlOnksb25Db3JuZXJIZWlnaHRDaGFuZ2U6YixjaGlsZHJlbjpzLmpzeChTZS5kaXYse2RpcjprLC4uLm8scmVmOkIsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsIi0tcmFkaXgtc2Nyb2xsLWFyZWEtY29ybmVyLXdpZHRoIjp3KyJweCIsIi0tcmFkaXgtc2Nyb2xsLWFyZWEtY29ybmVyLWhlaWdodCI6disicHgiLC4uLmUuc3R5bGV9fSl9KX0pO1V6LmRpc3BsYXlOYW1lPWJrO3ZhciBEej0iU2Nyb2xsQXJlYVZpZXdwb3J0IixNej1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlU2Nyb2xsQXJlYTpyLGNoaWxkcmVuOm4sbm9uY2U6YSwuLi5pfT1lLG89dWEoRHosciksbD1nLnVzZVJlZihudWxsKSxjPVdlKHQsbCxvLm9uVmlld3BvcnRDaGFuZ2UpO3JldHVybiBzLmpzeHMocy5GcmFnbWVudCx7Y2hpbGRyZW46W3MuanN4KCJzdHlsZSIse2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6IltkYXRhLXJhZGl4LXNjcm9sbC1hcmVhLXZpZXdwb3J0XXtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDt9W2RhdGEtcmFkaXgtc2Nyb2xsLWFyZWEtdmlld3BvcnRdOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9In0sbm9uY2U6YX0pLHMuanN4KFNlLmRpdix7ImRhdGEtcmFkaXgtc2Nyb2xsLWFyZWEtdmlld3BvcnQiOiIiLC4uLmkscmVmOmMsc3R5bGU6e292ZXJmbG93WDpvLnNjcm9sbGJhclhFbmFibGVkPyJzY3JvbGwiOiJoaWRkZW4iLG92ZXJmbG93WTpvLnNjcm9sbGJhcllFbmFibGVkPyJzY3JvbGwiOiJoaWRkZW4iLC4uLmUuc3R5bGV9LGNoaWxkcmVuOnMuanN4KCJkaXYiLHtyZWY6by5vbkNvbnRlbnRDaGFuZ2Usc3R5bGU6e21pbldpZHRoOiIxMDAlIixkaXNwbGF5OiJ0YWJsZSJ9LGNoaWxkcmVuOm59KX0pXX0pfSk7TXouZGlzcGxheU5hbWU9RHo7dmFyIFRpPSJTY3JvbGxBcmVhU2Nyb2xsYmFyIixqaz1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtmb3JjZU1vdW50OnIsLi4ubn09ZSxhPXVhKFRpLGUuX19zY29wZVNjcm9sbEFyZWEpLHtvblNjcm9sbGJhclhFbmFibGVkQ2hhbmdlOmksb25TY3JvbGxiYXJZRW5hYmxlZENoYW5nZTpvfT1hLGw9ZS5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIjtyZXR1cm4gZy51c2VFZmZlY3QoKCk9PihsP2koITApOm8oITApLCgpPT57bD9pKCExKTpvKCExKX0pLFtsLGksb10pLGEudHlwZT09PSJob3ZlciI/cy5qc3goTHhlLHsuLi5uLHJlZjp0LGZvcmNlTW91bnQ6cn0pOmEudHlwZT09PSJzY3JvbGwiP3MuanN4KCR4ZSx7Li4ubixyZWY6dCxmb3JjZU1vdW50OnJ9KTphLnR5cGU9PT0iYXV0byI/cy5qc3goUnosey4uLm4scmVmOnQsZm9yY2VNb3VudDpyfSk6YS50eXBlPT09ImFsd2F5cyI/cy5qc3goTmssey4uLm4scmVmOnR9KTpudWxsfSk7amsuZGlzcGxheU5hbWU9VGk7dmFyIEx4ZT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtmb3JjZU1vdW50OnIsLi4ubn09ZSxhPXVhKFRpLGUuX19zY29wZVNjcm9sbEFyZWEpLFtpLG9dPWcudXNlU3RhdGUoITEpO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IGw9YS5zY3JvbGxBcmVhO2xldCBjPTA7aWYobCl7Y29uc3QgZD0oKT0+e3dpbmRvdy5jbGVhclRpbWVvdXQoYyksbyghMCl9LHU9KCk9PntjPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT5vKCExKSxhLnNjcm9sbEhpZGVEZWxheSl9O3JldHVybiBsLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJlbnRlciIsZCksbC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybGVhdmUiLHUpLCgpPT57d2luZG93LmNsZWFyVGltZW91dChjKSxsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJlbnRlciIsZCksbC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybGVhdmUiLHUpfX19LFthLnNjcm9sbEFyZWEsYS5zY3JvbGxIaWRlRGVsYXldKSxzLmpzeCh3bix7cHJlc2VudDpyfHxpLGNoaWxkcmVuOnMuanN4KFJ6LHsiZGF0YS1zdGF0ZSI6aT8idmlzaWJsZSI6ImhpZGRlbiIsLi4ubixyZWY6dH0pfSl9KSwkeGU9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7Zm9yY2VNb3VudDpyLC4uLm59PWUsYT11YShUaSxlLl9fc2NvcGVTY3JvbGxBcmVhKSxpPWUub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCIsbz16dygoKT0+YygiU0NST0xMX0VORCIpLDEwMCksW2wsY109UnhlKCJoaWRkZW4iLHtoaWRkZW46e1NDUk9MTDoic2Nyb2xsaW5nIn0sc2Nyb2xsaW5nOntTQ1JPTExfRU5EOiJpZGxlIixQT0lOVEVSX0VOVEVSOiJpbnRlcmFjdGluZyJ9LGludGVyYWN0aW5nOntTQ1JPTEw6ImludGVyYWN0aW5nIixQT0lOVEVSX0xFQVZFOiJpZGxlIn0saWRsZTp7SElERToiaGlkZGVuIixTQ1JPTEw6InNjcm9sbGluZyIsUE9JTlRFUl9FTlRFUjoiaW50ZXJhY3RpbmcifX0pO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e2lmKGw9PT0iaWRsZSIpe2NvbnN0IGQ9d2luZG93LnNldFRpbWVvdXQoKCk9PmMoIkhJREUiKSxhLnNjcm9sbEhpZGVEZWxheSk7cmV0dXJuKCk9PndpbmRvdy5jbGVhclRpbWVvdXQoZCl9fSxbbCxhLnNjcm9sbEhpZGVEZWxheSxjXSksZy51c2VFZmZlY3QoKCk9Pntjb25zdCBkPWEudmlld3BvcnQsdT1pPyJzY3JvbGxMZWZ0Ijoic2Nyb2xsVG9wIjtpZihkKXtsZXQgQT1kW3VdO2NvbnN0IGY9KCk9Pntjb25zdCBoPWRbdV07QSE9PWgmJihjKCJTQ1JPTEwiKSxvKCkpLEE9aH07cmV0dXJuIGQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixmKSwoKT0+ZC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGYpfX0sW2Eudmlld3BvcnQsaSxjLG9dKSxzLmpzeCh3bix7cHJlc2VudDpyfHxsIT09ImhpZGRlbiIsY2hpbGRyZW46cy5qc3goTmsseyJkYXRhLXN0YXRlIjpsPT09ImhpZGRlbiI/ImhpZGRlbiI6InZpc2libGUiLC4uLm4scmVmOnQsb25Qb2ludGVyRW50ZXI6bWUoZS5vblBvaW50ZXJFbnRlciwoKT0+YygiUE9JTlRFUl9FTlRFUiIpKSxvblBvaW50ZXJMZWF2ZTptZShlLm9uUG9pbnRlckxlYXZlLCgpPT5jKCJQT0lOVEVSX0xFQVZFIikpfSl9KX0pLFJ6PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IHI9dWEoVGksZS5fX3Njb3BlU2Nyb2xsQXJlYSkse2ZvcmNlTW91bnQ6biwuLi5hfT1lLFtpLG9dPWcudXNlU3RhdGUoITEpLGw9ZS5vcmllbnRhdGlvbj09PSJob3Jpem9udGFsIixjPXp3KCgpPT57aWYoci52aWV3cG9ydCl7Y29uc3QgZD1yLnZpZXdwb3J0Lm9mZnNldFdpZHRoPHIudmlld3BvcnQuc2Nyb2xsV2lkdGgsdT1yLnZpZXdwb3J0Lm9mZnNldEhlaWdodDxyLnZpZXdwb3J0LnNjcm9sbEhlaWdodDtvKGw/ZDp1KX19LDEwKTtyZXR1cm4gZkEoci52aWV3cG9ydCxjKSxmQShyLmNvbnRlbnQsYykscy5qc3god24se3ByZXNlbnQ6bnx8aSxjaGlsZHJlbjpzLmpzeChOayx7ImRhdGEtc3RhdGUiOmk/InZpc2libGUiOiJoaWRkZW4iLC4uLmEscmVmOnR9KX0pfSksTms9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7b3JpZW50YXRpb246cj0idmVydGljYWwiLC4uLm59PWUsYT11YShUaSxlLl9fc2NvcGVTY3JvbGxBcmVhKSxpPWcudXNlUmVmKG51bGwpLG89Zy51c2VSZWYoMCksW2wsY109Zy51c2VTdGF0ZSh7Y29udGVudDowLHZpZXdwb3J0OjAsc2Nyb2xsYmFyOntzaXplOjAscGFkZGluZ1N0YXJ0OjAscGFkZGluZ0VuZDowfX0pLGQ9S3oobC52aWV3cG9ydCxsLmNvbnRlbnQpLHU9ey4uLm4sc2l6ZXM6bCxvblNpemVzQ2hhbmdlOmMsaGFzVGh1bWI6ZD4wJiZkPDEsb25UaHVtYkNoYW5nZTpmPT5pLmN1cnJlbnQ9ZixvblRodW1iUG9pbnRlclVwOigpPT5vLmN1cnJlbnQ9MCxvblRodW1iUG9pbnRlckRvd246Zj0+by5jdXJyZW50PWZ9O2Z1bmN0aW9uIEEoZixoKXtyZXR1cm4gR3hlKGYsby5jdXJyZW50LGwsaCl9cmV0dXJuIHI9PT0iaG9yaXpvbnRhbCI/cy5qc3goSHhlLHsuLi51LHJlZjp0LG9uVGh1bWJQb3NpdGlvbkNoYW5nZTooKT0+e2lmKGEudmlld3BvcnQmJmkuY3VycmVudCl7Y29uc3QgZj1hLnZpZXdwb3J0LnNjcm9sbExlZnQsaD1XSShmLGwsYS5kaXIpO2kuY3VycmVudC5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZTNkKCR7aH1weCwgMCwgMClgfX0sb25XaGVlbFNjcm9sbDpmPT57YS52aWV3cG9ydCYmKGEudmlld3BvcnQuc2Nyb2xsTGVmdD1mKX0sb25EcmFnU2Nyb2xsOmY9PnthLnZpZXdwb3J0JiYoYS52aWV3cG9ydC5zY3JvbGxMZWZ0PUEoZixhLmRpcikpfX0pOnI9PT0idmVydGljYWwiP3MuanN4KEt4ZSx7Li4udSxyZWY6dCxvblRodW1iUG9zaXRpb25DaGFuZ2U6KCk9PntpZihhLnZpZXdwb3J0JiZpLmN1cnJlbnQpe2NvbnN0IGY9YS52aWV3cG9ydC5zY3JvbGxUb3AsaD1XSShmLGwpO2kuY3VycmVudC5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZTNkKDAsICR7aH1weCwgMClgfX0sb25XaGVlbFNjcm9sbDpmPT57YS52aWV3cG9ydCYmKGEudmlld3BvcnQuc2Nyb2xsVG9wPWYpfSxvbkRyYWdTY3JvbGw6Zj0+e2Eudmlld3BvcnQmJihhLnZpZXdwb3J0LnNjcm9sbFRvcD1BKGYpKX19KTpudWxsfSksSHhlPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e3NpemVzOnIsb25TaXplc0NoYW5nZTpuLC4uLmF9PWUsaT11YShUaSxlLl9fc2NvcGVTY3JvbGxBcmVhKSxbbyxsXT1nLnVzZVN0YXRlKCksYz1nLnVzZVJlZihudWxsKSxkPVdlKHQsYyxpLm9uU2Nyb2xsYmFyWENoYW5nZSk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57Yy5jdXJyZW50JiZsKGdldENvbXB1dGVkU3R5bGUoYy5jdXJyZW50KSl9LFtjXSkscy5qc3goTHoseyJkYXRhLW9yaWVudGF0aW9uIjoiaG9yaXpvbnRhbCIsLi4uYSxyZWY6ZCxzaXplczpyLHN0eWxlOntib3R0b206MCxsZWZ0OmkuZGlyPT09InJ0bCI/InZhcigtLXJhZGl4LXNjcm9sbC1hcmVhLWNvcm5lci13aWR0aCkiOjAscmlnaHQ6aS5kaXI9PT0ibHRyIj8idmFyKC0tcmFkaXgtc2Nyb2xsLWFyZWEtY29ybmVyLXdpZHRoKSI6MCwiLS1yYWRpeC1zY3JvbGwtYXJlYS10aHVtYi13aWR0aCI6VncocikrInB4IiwuLi5lLnN0eWxlfSxvblRodW1iUG9pbnRlckRvd246dT0+ZS5vblRodW1iUG9pbnRlckRvd24odS54KSxvbkRyYWdTY3JvbGw6dT0+ZS5vbkRyYWdTY3JvbGwodS54KSxvbldoZWVsU2Nyb2xsOih1LEEpPT57aWYoaS52aWV3cG9ydCl7Y29uc3QgZj1pLnZpZXdwb3J0LnNjcm9sbExlZnQrdS5kZWx0YVg7ZS5vbldoZWVsU2Nyb2xsKGYpLHp6KGYsQSkmJnUucHJldmVudERlZmF1bHQoKX19LG9uUmVzaXplOigpPT57Yy5jdXJyZW50JiZpLnZpZXdwb3J0JiZvJiZuKHtjb250ZW50Omkudmlld3BvcnQuc2Nyb2xsV2lkdGgsdmlld3BvcnQ6aS52aWV3cG9ydC5vZmZzZXRXaWR0aCxzY3JvbGxiYXI6e3NpemU6Yy5jdXJyZW50LmNsaWVudFdpZHRoLHBhZGRpbmdTdGFydDpOeShvLnBhZGRpbmdMZWZ0KSxwYWRkaW5nRW5kOk55KG8ucGFkZGluZ1JpZ2h0KX19KX19KX0pLEt4ZT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtzaXplczpyLG9uU2l6ZXNDaGFuZ2U6biwuLi5hfT1lLGk9dWEoVGksZS5fX3Njb3BlU2Nyb2xsQXJlYSksW28sbF09Zy51c2VTdGF0ZSgpLGM9Zy51c2VSZWYobnVsbCksZD1XZSh0LGMsaS5vblNjcm9sbGJhcllDaGFuZ2UpO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e2MuY3VycmVudCYmbChnZXRDb21wdXRlZFN0eWxlKGMuY3VycmVudCkpfSxbY10pLHMuanN4KEx6LHsiZGF0YS1vcmllbnRhdGlvbiI6InZlcnRpY2FsIiwuLi5hLHJlZjpkLHNpemVzOnIsc3R5bGU6e3RvcDowLHJpZ2h0OmkuZGlyPT09Imx0ciI/MDp2b2lkIDAsbGVmdDppLmRpcj09PSJydGwiPzA6dm9pZCAwLGJvdHRvbToidmFyKC0tcmFkaXgtc2Nyb2xsLWFyZWEtY29ybmVyLWhlaWdodCkiLCItLXJhZGl4LXNjcm9sbC1hcmVhLXRodW1iLWhlaWdodCI6VncocikrInB4IiwuLi5lLnN0eWxlfSxvblRodW1iUG9pbnRlckRvd246dT0+ZS5vblRodW1iUG9pbnRlckRvd24odS55KSxvbkRyYWdTY3JvbGw6dT0+ZS5vbkRyYWdTY3JvbGwodS55KSxvbldoZWVsU2Nyb2xsOih1LEEpPT57aWYoaS52aWV3cG9ydCl7Y29uc3QgZj1pLnZpZXdwb3J0LnNjcm9sbFRvcCt1LmRlbHRhWTtlLm9uV2hlZWxTY3JvbGwoZiksenooZixBKSYmdS5wcmV2ZW50RGVmYXVsdCgpfX0sb25SZXNpemU6KCk9PntjLmN1cnJlbnQmJmkudmlld3BvcnQmJm8mJm4oe2NvbnRlbnQ6aS52aWV3cG9ydC5zY3JvbGxIZWlnaHQsdmlld3BvcnQ6aS52aWV3cG9ydC5vZmZzZXRIZWlnaHQsc2Nyb2xsYmFyOntzaXplOmMuY3VycmVudC5jbGllbnRIZWlnaHQscGFkZGluZ1N0YXJ0Ok55KG8ucGFkZGluZ1RvcCkscGFkZGluZ0VuZDpOeShvLnBhZGRpbmdCb3R0b20pfX0pfX0pfSksW1Z4ZSxRel09SXooVGkpLEx6PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTY3JvbGxBcmVhOnIsc2l6ZXM6bixoYXNUaHVtYjphLG9uVGh1bWJDaGFuZ2U6aSxvblRodW1iUG9pbnRlclVwOm8sb25UaHVtYlBvaW50ZXJEb3duOmwsb25UaHVtYlBvc2l0aW9uQ2hhbmdlOmMsb25EcmFnU2Nyb2xsOmQsb25XaGVlbFNjcm9sbDp1LG9uUmVzaXplOkEsLi4uZn09ZSxoPXVhKFRpLHIpLFtwLG1dPWcudXNlU3RhdGUobnVsbCkseD1XZSh0LEI9Pm0oQikpLHc9Zy51c2VSZWYobnVsbCkseT1nLnVzZVJlZigiIiksdj1oLnZpZXdwb3J0LGI9bi5jb250ZW50LW4udmlld3BvcnQsaj13cih1KSxOPXdyKGMpLEM9encoQSwxMCk7ZnVuY3Rpb24gXyhCKXtpZih3LmN1cnJlbnQpe2NvbnN0IGs9Qi5jbGllbnRYLXcuY3VycmVudC5sZWZ0LEU9Qi5jbGllbnRZLXcuY3VycmVudC50b3A7ZCh7eDprLHk6RX0pfX1yZXR1cm4gZy51c2VFZmZlY3QoKCk9Pntjb25zdCBCPWs9Pntjb25zdCBFPWsudGFyZ2V0OyhwPT1udWxsP3ZvaWQgMDpwLmNvbnRhaW5zKEUpKSYmaihrLGIpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLEIse3Bhc3NpdmU6ITF9KSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLEIse3Bhc3NpdmU6ITF9KX0sW3YscCxiLGpdKSxnLnVzZUVmZmVjdChOLFtuLE5dKSxmQShwLEMpLGZBKGguY29udGVudCxDKSxzLmpzeChWeGUse3Njb3BlOnIsc2Nyb2xsYmFyOnAsaGFzVGh1bWI6YSxvblRodW1iQ2hhbmdlOndyKGkpLG9uVGh1bWJQb2ludGVyVXA6d3Iobyksb25UaHVtYlBvc2l0aW9uQ2hhbmdlOk4sb25UaHVtYlBvaW50ZXJEb3duOndyKGwpLGNoaWxkcmVuOnMuanN4KFNlLmRpdix7Li4uZixyZWY6eCxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIiwuLi5mLnN0eWxlfSxvblBvaW50ZXJEb3duOm1lKGUub25Qb2ludGVyRG93bixCPT57Qi5idXR0b249PT0wJiYoQi50YXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoQi5wb2ludGVySWQpLHcuY3VycmVudD1wLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHkuY3VycmVudD1kb2N1bWVudC5ib2R5LnN0eWxlLndlYmtpdFVzZXJTZWxlY3QsZG9jdW1lbnQuYm9keS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0PSJub25lIixoLnZpZXdwb3J0JiYoaC52aWV3cG9ydC5zdHlsZS5zY3JvbGxCZWhhdmlvcj0iYXV0byIpLF8oQikpfSksb25Qb2ludGVyTW92ZTptZShlLm9uUG9pbnRlck1vdmUsXyksb25Qb2ludGVyVXA6bWUoZS5vblBvaW50ZXJVcCxCPT57Y29uc3Qgaz1CLnRhcmdldDtrLmhhc1BvaW50ZXJDYXB0dXJlKEIucG9pbnRlcklkKSYmay5yZWxlYXNlUG9pbnRlckNhcHR1cmUoQi5wb2ludGVySWQpLGRvY3VtZW50LmJvZHkuc3R5bGUud2Via2l0VXNlclNlbGVjdD15LmN1cnJlbnQsaC52aWV3cG9ydCYmKGgudmlld3BvcnQuc3R5bGUuc2Nyb2xsQmVoYXZpb3I9IiIpLHcuY3VycmVudD1udWxsfSl9KX0pfSksank9IlNjcm9sbEFyZWFUaHVtYiIsJHo9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7Zm9yY2VNb3VudDpyLC4uLm59PWUsYT1ReihqeSxlLl9fc2NvcGVTY3JvbGxBcmVhKTtyZXR1cm4gcy5qc3god24se3ByZXNlbnQ6cnx8YS5oYXNUaHVtYixjaGlsZHJlbjpzLmpzeCh6eGUse3JlZjp0LC4uLm59KX0pfSksenhlPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVTY3JvbGxBcmVhOnIsc3R5bGU6biwuLi5hfT1lLGk9dWEoanksciksbz1ReihqeSxyKSx7b25UaHVtYlBvc2l0aW9uQ2hhbmdlOmx9PW8sYz1XZSh0LEE9Pm8ub25UaHVtYkNoYW5nZShBKSksZD1nLnVzZVJlZih2b2lkIDApLHU9encoKCk9PntkLmN1cnJlbnQmJihkLmN1cnJlbnQoKSxkLmN1cnJlbnQ9dm9pZCAwKX0sMTAwKTtyZXR1cm4gZy51c2VFZmZlY3QoKCk9Pntjb25zdCBBPWkudmlld3BvcnQ7aWYoQSl7Y29uc3QgZj0oKT0+e2lmKHUoKSwhZC5jdXJyZW50KXtjb25zdCBoPXF4ZShBLGwpO2QuY3VycmVudD1oLGwoKX19O3JldHVybiBsKCksQS5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGYpLCgpPT5BLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZil9fSxbaS52aWV3cG9ydCx1LGxdKSxzLmpzeChTZS5kaXYseyJkYXRhLXN0YXRlIjpvLmhhc1RodW1iPyJ2aXNpYmxlIjoiaGlkZGVuIiwuLi5hLHJlZjpjLHN0eWxlOnt3aWR0aDoidmFyKC0tcmFkaXgtc2Nyb2xsLWFyZWEtdGh1bWItd2lkdGgpIixoZWlnaHQ6InZhcigtLXJhZGl4LXNjcm9sbC1hcmVhLXRodW1iLWhlaWdodCkiLC4uLm59LG9uUG9pbnRlckRvd25DYXB0dXJlOm1lKGUub25Qb2ludGVyRG93bkNhcHR1cmUsQT0+e2NvbnN0IGg9QS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscD1BLmNsaWVudFgtaC5sZWZ0LG09QS5jbGllbnRZLWgudG9wO28ub25UaHVtYlBvaW50ZXJEb3duKHt4OnAseTptfSl9KSxvblBvaW50ZXJVcDptZShlLm9uUG9pbnRlclVwLG8ub25UaHVtYlBvaW50ZXJVcCl9KX0pOyR6LmRpc3BsYXlOYW1lPWp5O3ZhciBDaz0iU2Nyb2xsQXJlYUNvcm5lciIsSHo9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3Qgcj11YShDayxlLl9fc2NvcGVTY3JvbGxBcmVhKSxuPSEhKHIuc2Nyb2xsYmFyWCYmci5zY3JvbGxiYXJZKTtyZXR1cm4gci50eXBlIT09InNjcm9sbCImJm4/cy5qc3goV3hlLHsuLi5lLHJlZjp0fSk6bnVsbH0pO0h6LmRpc3BsYXlOYW1lPUNrO3ZhciBXeGU9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVNjcm9sbEFyZWE6ciwuLi5ufT1lLGE9dWEoQ2ssciksW2ksb109Zy51c2VTdGF0ZSgwKSxbbCxjXT1nLnVzZVN0YXRlKDApLGQ9ISEoaSYmbCk7cmV0dXJuIGZBKGEuc2Nyb2xsYmFyWCwoKT0+e3ZhciBBO2NvbnN0IHU9KChBPWEuc2Nyb2xsYmFyWCk9PW51bGw/dm9pZCAwOkEub2Zmc2V0SGVpZ2h0KXx8MDthLm9uQ29ybmVySGVpZ2h0Q2hhbmdlKHUpLGModSl9KSxmQShhLnNjcm9sbGJhclksKCk9Pnt2YXIgQTtjb25zdCB1PSgoQT1hLnNjcm9sbGJhclkpPT1udWxsP3ZvaWQgMDpBLm9mZnNldFdpZHRoKXx8MDthLm9uQ29ybmVyV2lkdGhDaGFuZ2UodSksbyh1KX0pLGQ/cy5qc3goU2UuZGl2LHsuLi5uLHJlZjp0LHN0eWxlOnt3aWR0aDppLGhlaWdodDpsLHBvc2l0aW9uOiJhYnNvbHV0ZSIscmlnaHQ6YS5kaXI9PT0ibHRyIj8wOnZvaWQgMCxsZWZ0OmEuZGlyPT09InJ0bCI/MDp2b2lkIDAsYm90dG9tOjAsLi4uZS5zdHlsZX19KTpudWxsfSk7ZnVuY3Rpb24gTnkoZSl7cmV0dXJuIGU/cGFyc2VJbnQoZSwxMCk6MH1mdW5jdGlvbiBLeihlLHQpe2NvbnN0IHI9ZS90O3JldHVybiBpc05hTihyKT8wOnJ9ZnVuY3Rpb24gVncoZSl7Y29uc3QgdD1LeihlLnZpZXdwb3J0LGUuY29udGVudCkscj1lLnNjcm9sbGJhci5wYWRkaW5nU3RhcnQrZS5zY3JvbGxiYXIucGFkZGluZ0VuZCxuPShlLnNjcm9sbGJhci5zaXplLXIpKnQ7cmV0dXJuIE1hdGgubWF4KG4sMTgpfWZ1bmN0aW9uIEd4ZShlLHQscixuPSJsdHIiKXtjb25zdCBhPVZ3KHIpLGk9YS8yLG89dHx8aSxsPWEtbyxjPXIuc2Nyb2xsYmFyLnBhZGRpbmdTdGFydCtvLGQ9ci5zY3JvbGxiYXIuc2l6ZS1yLnNjcm9sbGJhci5wYWRkaW5nRW5kLWwsdT1yLmNvbnRlbnQtci52aWV3cG9ydCxBPW49PT0ibHRyIj9bMCx1XTpbdSotMSwwXTtyZXR1cm4gVnooW2MsZF0sQSkoZSl9ZnVuY3Rpb24gV0koZSx0LHI9Imx0ciIpe2NvbnN0IG49VncodCksYT10LnNjcm9sbGJhci5wYWRkaW5nU3RhcnQrdC5zY3JvbGxiYXIucGFkZGluZ0VuZCxpPXQuc2Nyb2xsYmFyLnNpemUtYSxvPXQuY29udGVudC10LnZpZXdwb3J0LGw9aS1uLGM9cj09PSJsdHIiP1swLG9dOltvKi0xLDBdLGQ9T20oZSxjKTtyZXR1cm4gVnooWzAsb10sWzAsbF0pKGQpfWZ1bmN0aW9uIFZ6KGUsdCl7cmV0dXJuIHI9PntpZihlWzBdPT09ZVsxXXx8dFswXT09PXRbMV0pcmV0dXJuIHRbMF07Y29uc3Qgbj0odFsxXS10WzBdKS8oZVsxXS1lWzBdKTtyZXR1cm4gdFswXStuKihyLWVbMF0pfX1mdW5jdGlvbiB6eihlLHQpe3JldHVybiBlPjAmJmU8dH12YXIgcXhlPShlLHQ9KCk9Pnt9KT0+e2xldCByPXtsZWZ0OmUuc2Nyb2xsTGVmdCx0b3A6ZS5zY3JvbGxUb3B9LG49MDtyZXR1cm4gZnVuY3Rpb24gYSgpe2NvbnN0IGk9e2xlZnQ6ZS5zY3JvbGxMZWZ0LHRvcDplLnNjcm9sbFRvcH0sbz1yLmxlZnQhPT1pLmxlZnQsbD1yLnRvcCE9PWkudG9wOyhvfHxsKSYmdCgpLHI9aSxuPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYSl9KCksKCk9PndpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShuKX07ZnVuY3Rpb24gencoZSx0KXtjb25zdCByPXdyKGUpLG49Zy51c2VSZWYoMCk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT4oKT0+d2luZG93LmNsZWFyVGltZW91dChuLmN1cnJlbnQpLFtdKSxnLnVzZUNhbGxiYWNrKCgpPT57d2luZG93LmNsZWFyVGltZW91dChuLmN1cnJlbnQpLG4uY3VycmVudD13aW5kb3cuc2V0VGltZW91dChyLHQpfSxbcix0XSl9ZnVuY3Rpb24gZkEoZSx0KXtjb25zdCByPXdyKHQpO2pyKCgpPT57bGV0IG49MDtpZihlKXtjb25zdCBhPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e2NhbmNlbEFuaW1hdGlvbkZyYW1lKG4pLG49d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShyKX0pO3JldHVybiBhLm9ic2VydmUoZSksKCk9Pnt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUobiksYS51bm9ic2VydmUoZSl9fX0sW2Uscl0pfXZhciBXej1VeixZeGU9TXosWHhlPUh6O2NvbnN0IEd6PWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLGNoaWxkcmVuOnQsLi4ucn0sbik9PnMuanN4cyhXeix7cmVmOm4sY2xhc3NOYW1lOndlKCJyZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4iLGUpLC4uLnIsY2hpbGRyZW46W3MuanN4KFl4ZSx7Y2xhc3NOYW1lOiJoLWZ1bGwgdy1mdWxsIHJvdW5kZWQtW2luaGVyaXRdIixjaGlsZHJlbjp0fSkscy5qc3goX2sse30pLHMuanN4KFh4ZSx7fSldfSkpO0d6LmRpc3BsYXlOYW1lPVd6LmRpc3BsYXlOYW1lO2NvbnN0IF9rPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLG9yaWVudGF0aW9uOnQ9InZlcnRpY2FsIiwuLi5yfSxuKT0+cy5qc3goamsse3JlZjpuLG9yaWVudGF0aW9uOnQsY2xhc3NOYW1lOndlKCJmbGV4IHRvdWNoLW5vbmUgc2VsZWN0LW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMiLHQ9PT0idmVydGljYWwiJiYiaC1mdWxsIHctMi41IGJvcmRlci1sIGJvcmRlci1sLXRyYW5zcGFyZW50IHAtWzFweF0iLHQ9PT0iaG9yaXpvbnRhbCImJiJoLTIuNSBmbGV4LWNvbCBib3JkZXItdCBib3JkZXItdC10cmFuc3BhcmVudCBwLVsxcHhdIixlKSwuLi5yLGNoaWxkcmVuOnMuanN4KCR6LHtjbGFzc05hbWU6InJlbGF0aXZlIGZsZXgtMSByb3VuZGVkLWZ1bGwgYmctYm9yZGVyIn0pfSkpO19rLmRpc3BsYXlOYW1lPWprLmRpc3BsYXlOYW1lO2NvbnN0IFd3PWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeCgiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSB3LWZ1bGwgb3ZlcmZsb3ctYXV0byIsY2hpbGRyZW46cy5qc3goInRhYmxlIix7cmVmOnIsY2xhc3NOYW1lOndlKCJ3LWZ1bGwgY2FwdGlvbi1ib3R0b20gdGV4dC1zbSIsZSksLi4udH0pfSkpO1d3LmRpc3BsYXlOYW1lPSJUYWJsZSI7Y29uc3QgR3c9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KCJ0aGVhZCIse3JlZjpyLGNsYXNzTmFtZTp3ZSgiWyZfdHJdOmJvcmRlci1iIixlKSwuLi50fSkpO0d3LmRpc3BsYXlOYW1lPSJUYWJsZUhlYWRlciI7Y29uc3QgcXc9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KCJ0Ym9keSIse3JlZjpyLGNsYXNzTmFtZTp3ZSgiWyZfdHI6bGFzdC1jaGlsZF06Ym9yZGVyLTAiLGUpLC4uLnR9KSk7cXcuZGlzcGxheU5hbWU9IlRhYmxlQm9keSI7Y29uc3QgSnhlPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeCgidGZvb3QiLHtyZWY6cixjbGFzc05hbWU6d2UoImJvcmRlci10IGJnLW11dGVkLzUwIGZvbnQtbWVkaXVtIFsmPnRyXTpsYXN0OmJvcmRlci1iLTAiLGUpLC4uLnR9KSk7SnhlLmRpc3BsYXlOYW1lPSJUYWJsZUZvb3RlciI7Y29uc3QgQ2w9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KCJ0ciIse3JlZjpyLGNsYXNzTmFtZTp3ZSgiYm9yZGVyLWIgdHJhbnNpdGlvbi1jb2xvcnMgZGF0YS1bc3RhdGU9c2VsZWN0ZWRdOmJnLW11dGVkIGhvdmVyOmJnLW11dGVkLzUwIixlKSwuLi50fSkpO0NsLmRpc3BsYXlOYW1lPSJUYWJsZVJvdyI7Y29uc3QgRnQ9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KCJ0aCIse3JlZjpyLGNsYXNzTmFtZTp3ZSgiaC0xMiBweC00IHRleHQtbGVmdCBhbGlnbi1taWRkbGUgZm9udC1tZWRpdW0gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIFsmOmhhcyhbcm9sZT1jaGVja2JveF0pXTpwci0wIixlKSwuLi50fSkpO0Z0LmRpc3BsYXlOYW1lPSJUYWJsZUhlYWQiO2NvbnN0IGt0PWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeCgidGQiLHtyZWY6cixjbGFzc05hbWU6d2UoInAtNCBhbGlnbi1taWRkbGUgWyY6aGFzKFtyb2xlPWNoZWNrYm94XSldOnByLTAiLGUpLC4uLnR9KSk7a3QuZGlzcGxheU5hbWU9IlRhYmxlQ2VsbCI7Y29uc3QgWnhlPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeCgiY2FwdGlvbiIse3JlZjpyLGNsYXNzTmFtZTp3ZSgibXQtNCB0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCIsZSksLi4udH0pKTtaeGUuZGlzcGxheU5hbWU9IlRhYmxlQ2FwdGlvbiI7dmFyIE5qPSJyb3ZpbmdGb2N1c0dyb3VwLm9uRW50cnlGb2N1cyIsZTBlPXtidWJibGVzOiExLGNhbmNlbGFibGU6ITB9LFhwPSJSb3ZpbmdGb2N1c0dyb3VwIixbRF8scXosdDBlXT1WQShYcCksW3IwZSxsZl09RHIoWHAsW3QwZV0pLFtuMGUsczBlXT1yMGUoWHApLFl6PWcuZm9yd2FyZFJlZigoZSx0KT0+cy5qc3goRF8uUHJvdmlkZXIse3Njb3BlOmUuX19zY29wZVJvdmluZ0ZvY3VzR3JvdXAsY2hpbGRyZW46cy5qc3goRF8uU2xvdCx7c2NvcGU6ZS5fX3Njb3BlUm92aW5nRm9jdXNHcm91cCxjaGlsZHJlbjpzLmpzeChhMGUsey4uLmUscmVmOnR9KX0pfSkpO1l6LmRpc3BsYXlOYW1lPVhwO3ZhciBhMGU9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVJvdmluZ0ZvY3VzR3JvdXA6cixvcmllbnRhdGlvbjpuLGxvb3A6YT0hMSxkaXI6aSxjdXJyZW50VGFiU3RvcElkOm8sZGVmYXVsdEN1cnJlbnRUYWJTdG9wSWQ6bCxvbkN1cnJlbnRUYWJTdG9wSWRDaGFuZ2U6YyxvbkVudHJ5Rm9jdXM6ZCxwcmV2ZW50U2Nyb2xsT25FbnRyeUZvY3VzOnU9ITEsLi4uQX09ZSxmPWcudXNlUmVmKG51bGwpLGg9V2UodCxmKSxwPVlsKGkpLFttLHhdPU5zKHtwcm9wOm8sZGVmYXVsdFByb3A6bD8/bnVsbCxvbkNoYW5nZTpjLGNhbGxlcjpYcH0pLFt3LHldPWcudXNlU3RhdGUoITEpLHY9d3IoZCksYj1xeihyKSxqPWcudXNlUmVmKCExKSxbTixDXT1nLnVzZVN0YXRlKDApO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IF89Zi5jdXJyZW50O2lmKF8pcmV0dXJuIF8uYWRkRXZlbnRMaXN0ZW5lcihOaix2KSwoKT0+Xy5yZW1vdmVFdmVudExpc3RlbmVyKE5qLHYpfSxbdl0pLHMuanN4KG4wZSx7c2NvcGU6cixvcmllbnRhdGlvbjpuLGRpcjpwLGxvb3A6YSxjdXJyZW50VGFiU3RvcElkOm0sb25JdGVtRm9jdXM6Zy51c2VDYWxsYmFjayhfPT54KF8pLFt4XSksb25JdGVtU2hpZnRUYWI6Zy51c2VDYWxsYmFjaygoKT0+eSghMCksW10pLG9uRm9jdXNhYmxlSXRlbUFkZDpnLnVzZUNhbGxiYWNrKCgpPT5DKF89Pl8rMSksW10pLG9uRm9jdXNhYmxlSXRlbVJlbW92ZTpnLnVzZUNhbGxiYWNrKCgpPT5DKF89Pl8tMSksW10pLGNoaWxkcmVuOnMuanN4KFNlLmRpdix7dGFiSW5kZXg6d3x8Tj09PTA/LTE6MCwiZGF0YS1vcmllbnRhdGlvbiI6biwuLi5BLHJlZjpoLHN0eWxlOntvdXRsaW5lOiJub25lIiwuLi5lLnN0eWxlfSxvbk1vdXNlRG93bjptZShlLm9uTW91c2VEb3duLCgpPT57ai5jdXJyZW50PSEwfSksb25Gb2N1czptZShlLm9uRm9jdXMsXz0+e2NvbnN0IEI9IWouY3VycmVudDtpZihfLnRhcmdldD09PV8uY3VycmVudFRhcmdldCYmQiYmIXcpe2NvbnN0IGs9bmV3IEN1c3RvbUV2ZW50KE5qLGUwZSk7aWYoXy5jdXJyZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQoayksIWsuZGVmYXVsdFByZXZlbnRlZCl7Y29uc3QgRT1iKCkuZmlsdGVyKFA9PlAuZm9jdXNhYmxlKSxGPUUuZmluZChQPT5QLmFjdGl2ZSksTz1FLmZpbmQoUD0+UC5pZD09PW0pLFQ9W0YsTywuLi5FXS5maWx0ZXIoQm9vbGVhbikubWFwKFA9PlAucmVmLmN1cnJlbnQpO1p6KFQsdSl9fWouY3VycmVudD0hMX0pLG9uQmx1cjptZShlLm9uQmx1ciwoKT0+eSghMSkpfSl9KX0pLFh6PSJSb3ZpbmdGb2N1c0dyb3VwSXRlbSIsSno9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZVJvdmluZ0ZvY3VzR3JvdXA6cixmb2N1c2FibGU6bj0hMCxhY3RpdmU6YT0hMSx0YWJTdG9wSWQ6aSxjaGlsZHJlbjpvLC4uLmx9PWUsYz1lYSgpLGQ9aXx8Yyx1PXMwZShYeixyKSxBPXUuY3VycmVudFRhYlN0b3BJZD09PWQsZj1xeihyKSx7b25Gb2N1c2FibGVJdGVtQWRkOmgsb25Gb2N1c2FibGVJdGVtUmVtb3ZlOnAsY3VycmVudFRhYlN0b3BJZDptfT11O3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e2lmKG4pcmV0dXJuIGgoKSwoKT0+cCgpfSxbbixoLHBdKSxzLmpzeChEXy5JdGVtU2xvdCx7c2NvcGU6cixpZDpkLGZvY3VzYWJsZTpuLGFjdGl2ZTphLGNoaWxkcmVuOnMuanN4KFNlLnNwYW4se3RhYkluZGV4OkE/MDotMSwiZGF0YS1vcmllbnRhdGlvbiI6dS5vcmllbnRhdGlvbiwuLi5sLHJlZjp0LG9uTW91c2VEb3duOm1lKGUub25Nb3VzZURvd24seD0+e24/dS5vbkl0ZW1Gb2N1cyhkKTp4LnByZXZlbnREZWZhdWx0KCl9KSxvbkZvY3VzOm1lKGUub25Gb2N1cywoKT0+dS5vbkl0ZW1Gb2N1cyhkKSksb25LZXlEb3duOm1lKGUub25LZXlEb3duLHg9PntpZih4LmtleT09PSJUYWIiJiZ4LnNoaWZ0S2V5KXt1Lm9uSXRlbVNoaWZ0VGFiKCk7cmV0dXJufWlmKHgudGFyZ2V0IT09eC5jdXJyZW50VGFyZ2V0KXJldHVybjtjb25zdCB3PWwwZSh4LHUub3JpZW50YXRpb24sdS5kaXIpO2lmKHchPT12b2lkIDApe2lmKHgubWV0YUtleXx8eC5jdHJsS2V5fHx4LmFsdEtleXx8eC5zaGlmdEtleSlyZXR1cm47eC5wcmV2ZW50RGVmYXVsdCgpO2xldCB2PWYoKS5maWx0ZXIoYj0+Yi5mb2N1c2FibGUpLm1hcChiPT5iLnJlZi5jdXJyZW50KTtpZih3PT09Imxhc3QiKXYucmV2ZXJzZSgpO2Vsc2UgaWYodz09PSJwcmV2Inx8dz09PSJuZXh0Iil7dz09PSJwcmV2IiYmdi5yZXZlcnNlKCk7Y29uc3QgYj12LmluZGV4T2YoeC5jdXJyZW50VGFyZ2V0KTt2PXUubG9vcD9jMGUodixiKzEpOnYuc2xpY2UoYisxKX1zZXRUaW1lb3V0KCgpPT5aeih2KSl9fSksY2hpbGRyZW46dHlwZW9mIG89PSJmdW5jdGlvbiI/byh7aXNDdXJyZW50VGFiU3RvcDpBLGhhc1RhYlN0b3A6bSE9bnVsbH0pOm99KX0pfSk7SnouZGlzcGxheU5hbWU9WHo7dmFyIGkwZT17QXJyb3dMZWZ0OiJwcmV2IixBcnJvd1VwOiJwcmV2IixBcnJvd1JpZ2h0OiJuZXh0IixBcnJvd0Rvd246Im5leHQiLFBhZ2VVcDoiZmlyc3QiLEhvbWU6ImZpcnN0IixQYWdlRG93bjoibGFzdCIsRW5kOiJsYXN0In07ZnVuY3Rpb24gbzBlKGUsdCl7cmV0dXJuIHQhPT0icnRsIj9lOmU9PT0iQXJyb3dMZWZ0Ij8iQXJyb3dSaWdodCI6ZT09PSJBcnJvd1JpZ2h0Ij8iQXJyb3dMZWZ0IjplfWZ1bmN0aW9uIGwwZShlLHQscil7Y29uc3Qgbj1vMGUoZS5rZXkscik7aWYoISh0PT09InZlcnRpY2FsIiYmWyJBcnJvd0xlZnQiLCJBcnJvd1JpZ2h0Il0uaW5jbHVkZXMobikpJiYhKHQ9PT0iaG9yaXpvbnRhbCImJlsiQXJyb3dVcCIsIkFycm93RG93biJdLmluY2x1ZGVzKG4pKSlyZXR1cm4gaTBlW25dfWZ1bmN0aW9uIFp6KGUsdD0hMSl7Y29uc3Qgcj1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2Zvcihjb25zdCBuIG9mIGUpaWYobj09PXJ8fChuLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOnR9KSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09cikpcmV0dXJufWZ1bmN0aW9uIGMwZShlLHQpe3JldHVybiBlLm1hcCgocixuKT0+ZVsodCtuKSVlLmxlbmd0aF0pfXZhciBCaz1ZeixTaz1KeixNXz1bIkVudGVyIiwiICJdLGQwZT1bIkFycm93RG93biIsIlBhZ2VVcCIsIkhvbWUiXSxlOT1bIkFycm93VXAiLCJQYWdlRG93biIsIkVuZCJdLHUwZT1bLi4uZDBlLC4uLmU5XSxBMGU9e2x0cjpbLi4uTV8sIkFycm93UmlnaHQiXSxydGw6Wy4uLk1fLCJBcnJvd0xlZnQiXX0sZjBlPXtsdHI6WyJBcnJvd0xlZnQiXSxydGw6WyJBcnJvd1JpZ2h0Il19LEpwPSJNZW51IixbSW0saDBlLG0wZV09VkEoSnApLFt3ZCx0OV09RHIoSnAsW20wZSxYQSxsZl0pLFl3PVhBKCkscjk9bGYoKSxbcDBlLGJkXT13ZChKcCksW2cwZSxacF09d2QoSnApLG45PWU9Pntjb25zdHtfX3Njb3BlTWVudTp0LG9wZW46cj0hMSxjaGlsZHJlbjpuLGRpcjphLG9uT3BlbkNoYW5nZTppLG1vZGFsOm89ITB9PWUsbD1Zdyh0KSxbYyxkXT1nLnVzZVN0YXRlKG51bGwpLHU9Zy51c2VSZWYoITEpLEE9d3IoaSksZj1ZbChhKTtyZXR1cm4gZy51c2VFZmZlY3QoKCk9Pntjb25zdCBoPSgpPT57dS5jdXJyZW50PSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixwLHtjYXB0dXJlOiEwLG9uY2U6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIscCx7Y2FwdHVyZTohMCxvbmNlOiEwfSl9LHA9KCk9PnUuY3VycmVudD0hMTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsaCx7Y2FwdHVyZTohMH0pLCgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsaCx7Y2FwdHVyZTohMH0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixwLHtjYXB0dXJlOiEwfSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHAse2NhcHR1cmU6ITB9KX19LFtdKSxzLmpzeChiNix7Li4ubCxjaGlsZHJlbjpzLmpzeChwMGUse3Njb3BlOnQsb3BlbjpyLG9uT3BlbkNoYW5nZTpBLGNvbnRlbnQ6YyxvbkNvbnRlbnRDaGFuZ2U6ZCxjaGlsZHJlbjpzLmpzeChnMGUse3Njb3BlOnQsb25DbG9zZTpnLnVzZUNhbGxiYWNrKCgpPT5BKCExKSxbQV0pLGlzVXNpbmdLZXlib2FyZFJlZjp1LGRpcjpmLG1vZGFsOm8sY2hpbGRyZW46bn0pfSl9KX07bjkuZGlzcGxheU5hbWU9SnA7dmFyIHgwZT0iTWVudUFuY2hvciIsRWs9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZU1lbnU6ciwuLi5ufT1lLGE9WXcocik7cmV0dXJuIHMuanN4KGFFLHsuLi5hLC4uLm4scmVmOnR9KX0pO0VrLmRpc3BsYXlOYW1lPXgwZTt2YXIga2s9Ik1lbnVQb3J0YWwiLFt5MGUsczldPXdkKGtrLHtmb3JjZU1vdW50OnZvaWQgMH0pLGE5PWU9Pntjb25zdHtfX3Njb3BlTWVudTp0LGZvcmNlTW91bnQ6cixjaGlsZHJlbjpuLGNvbnRhaW5lcjphfT1lLGk9YmQoa2ssdCk7cmV0dXJuIHMuanN4KHkwZSx7c2NvcGU6dCxmb3JjZU1vdW50OnIsY2hpbGRyZW46cy5qc3god24se3ByZXNlbnQ6cnx8aS5vcGVuLGNoaWxkcmVuOnMuanN4KElwLHthc0NoaWxkOiEwLGNvbnRhaW5lcjphLGNoaWxkcmVuOm59KX0pfSl9O2E5LmRpc3BsYXlOYW1lPWtrO3ZhciByYT0iTWVudUNvbnRlbnQiLFt2MGUsVGtdPXdkKHJhKSxpOT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdCByPXM5KHJhLGUuX19zY29wZU1lbnUpLHtmb3JjZU1vdW50Om49ci5mb3JjZU1vdW50LC4uLmF9PWUsaT1iZChyYSxlLl9fc2NvcGVNZW51KSxvPVpwKHJhLGUuX19zY29wZU1lbnUpO3JldHVybiBzLmpzeChJbS5Qcm92aWRlcix7c2NvcGU6ZS5fX3Njb3BlTWVudSxjaGlsZHJlbjpzLmpzeCh3bix7cHJlc2VudDpufHxpLm9wZW4sY2hpbGRyZW46cy5qc3goSW0uU2xvdCx7c2NvcGU6ZS5fX3Njb3BlTWVudSxjaGlsZHJlbjpvLm1vZGFsP3MuanN4KHcwZSx7Li4uYSxyZWY6dH0pOnMuanN4KGIwZSx7Li4uYSxyZWY6dH0pfSl9KX0pfSksdzBlPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IHI9YmQocmEsZS5fX3Njb3BlTWVudSksbj1nLnVzZVJlZihudWxsKSxhPVdlKHQsbik7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57Y29uc3QgaT1uLmN1cnJlbnQ7aWYoaSlyZXR1cm4gQWsoaSl9LFtdKSxzLmpzeChQayx7Li4uZSxyZWY6YSx0cmFwRm9jdXM6ci5vcGVuLGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50czpyLm9wZW4sZGlzYWJsZU91dHNpZGVTY3JvbGw6ITAsb25Gb2N1c091dHNpZGU6bWUoZS5vbkZvY3VzT3V0c2lkZSxpPT5pLnByZXZlbnREZWZhdWx0KCkse2NoZWNrRm9yRGVmYXVsdFByZXZlbnRlZDohMX0pLG9uRGlzbWlzczooKT0+ci5vbk9wZW5DaGFuZ2UoITEpfSl9KSxiMGU9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3Qgcj1iZChyYSxlLl9fc2NvcGVNZW51KTtyZXR1cm4gcy5qc3goUGssey4uLmUscmVmOnQsdHJhcEZvY3VzOiExLGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50czohMSxkaXNhYmxlT3V0c2lkZVNjcm9sbDohMSxvbkRpc21pc3M6KCk9PnIub25PcGVuQ2hhbmdlKCExKX0pfSksajBlPXRkKCJNZW51Q29udGVudC5TY3JvbGxMb2NrIiksUGs9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZU1lbnU6cixsb29wOm49ITEsdHJhcEZvY3VzOmEsb25PcGVuQXV0b0ZvY3VzOmksb25DbG9zZUF1dG9Gb2N1czpvLGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50czpsLG9uRW50cnlGb2N1czpjLG9uRXNjYXBlS2V5RG93bjpkLG9uUG9pbnRlckRvd25PdXRzaWRlOnUsb25Gb2N1c091dHNpZGU6QSxvbkludGVyYWN0T3V0c2lkZTpmLG9uRGlzbWlzczpoLGRpc2FibGVPdXRzaWRlU2Nyb2xsOnAsLi4ubX09ZSx4PWJkKHJhLHIpLHc9WnAocmEscikseT1ZdyhyKSx2PXI5KHIpLGI9aDBlKHIpLFtqLE5dPWcudXNlU3RhdGUobnVsbCksQz1nLnVzZVJlZihudWxsKSxfPVdlKHQsQyx4Lm9uQ29udGVudENoYW5nZSksQj1nLnVzZVJlZigwKSxrPWcudXNlUmVmKCIiKSxFPWcudXNlUmVmKDApLEY9Zy51c2VSZWYobnVsbCksTz1nLnVzZVJlZigicmlnaHQiKSxTPWcudXNlUmVmKDApLFQ9cD9EdzpnLkZyYWdtZW50LFA9cD97YXM6ajBlLGFsbG93UGluY2hab29tOiEwfTp2b2lkIDAsVT1JPT57dmFyIFgsRztjb25zdCBSPWsuY3VycmVudCtJLEw9YigpLmZpbHRlcihxPT4hcS5kaXNhYmxlZCksJD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LEg9KFg9TC5maW5kKHE9PnEucmVmLmN1cnJlbnQ9PT0kKSk9PW51bGw/dm9pZCAwOlgudGV4dFZhbHVlLFo9TC5tYXAocT0+cS50ZXh0VmFsdWUpLGVlPUkwZShaLFIsSCkscmU9KEc9TC5maW5kKHE9PnEudGV4dFZhbHVlPT09ZWUpKT09bnVsbD92b2lkIDA6Ry5yZWYuY3VycmVudDsoZnVuY3Rpb24gcShZKXtrLmN1cnJlbnQ9WSx3aW5kb3cuY2xlYXJUaW1lb3V0KEIuY3VycmVudCksWSE9PSIiJiYoQi5jdXJyZW50PXdpbmRvdy5zZXRUaW1lb3V0KCgpPT5xKCIiKSwxZTMpKX0pKFIpLHJlJiZzZXRUaW1lb3V0KCgpPT5yZS5mb2N1cygpKX07Zy51c2VFZmZlY3QoKCk9PigpPT53aW5kb3cuY2xlYXJUaW1lb3V0KEIuY3VycmVudCksW10pLHVrKCk7Y29uc3QgRD1nLnVzZUNhbGxiYWNrKEk9Pnt2YXIgTCwkO3JldHVybiBPLmN1cnJlbnQ9PT0oKEw9Ri5jdXJyZW50KT09bnVsbD92b2lkIDA6TC5zaWRlKSYmRDBlKEksKCQ9Ri5jdXJyZW50KT09bnVsbD92b2lkIDA6JC5hcmVhKX0sW10pO3JldHVybiBzLmpzeCh2MGUse3Njb3BlOnIsc2VhcmNoUmVmOmssb25JdGVtRW50ZXI6Zy51c2VDYWxsYmFjayhJPT57RChJKSYmSS5wcmV2ZW50RGVmYXVsdCgpfSxbRF0pLG9uSXRlbUxlYXZlOmcudXNlQ2FsbGJhY2soST0+e3ZhciBSO0QoSSl8fCgoUj1DLmN1cnJlbnQpPT1udWxsfHxSLmZvY3VzKCksTihudWxsKSl9LFtEXSksb25UcmlnZ2VyTGVhdmU6Zy51c2VDYWxsYmFjayhJPT57RChJKSYmSS5wcmV2ZW50RGVmYXVsdCgpfSxbRF0pLHBvaW50ZXJHcmFjZVRpbWVyUmVmOkUsb25Qb2ludGVyR3JhY2VJbnRlbnRDaGFuZ2U6Zy51c2VDYWxsYmFjayhJPT57Ri5jdXJyZW50PUl9LFtdKSxjaGlsZHJlbjpzLmpzeChULHsuLi5QLGNoaWxkcmVuOnMuanN4KEl3LHthc0NoaWxkOiEwLHRyYXBwZWQ6YSxvbk1vdW50QXV0b0ZvY3VzOm1lKGksST0+e3ZhciBSO0kucHJldmVudERlZmF1bHQoKSwoUj1DLmN1cnJlbnQpPT1udWxsfHxSLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9KSxvblVubW91bnRBdXRvRm9jdXM6byxjaGlsZHJlbjpzLmpzeCh6QSx7YXNDaGlsZDohMCxkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM6bCxvbkVzY2FwZUtleURvd246ZCxvblBvaW50ZXJEb3duT3V0c2lkZTp1LG9uRm9jdXNPdXRzaWRlOkEsb25JbnRlcmFjdE91dHNpZGU6ZixvbkRpc21pc3M6aCxjaGlsZHJlbjpzLmpzeChCayx7YXNDaGlsZDohMCwuLi52LGRpcjp3LmRpcixvcmllbnRhdGlvbjoidmVydGljYWwiLGxvb3A6bixjdXJyZW50VGFiU3RvcElkOmosb25DdXJyZW50VGFiU3RvcElkQ2hhbmdlOk4sb25FbnRyeUZvY3VzOm1lKGMsST0+e3cuaXNVc2luZ0tleWJvYXJkUmVmLmN1cnJlbnR8fEkucHJldmVudERlZmF1bHQoKX0pLHByZXZlbnRTY3JvbGxPbkVudHJ5Rm9jdXM6ITAsY2hpbGRyZW46cy5qc3goaUUse3JvbGU6Im1lbnUiLCJhcmlhLW9yaWVudGF0aW9uIjoidmVydGljYWwiLCJkYXRhLXN0YXRlIjpiOSh4Lm9wZW4pLCJkYXRhLXJhZGl4LW1lbnUtY29udGVudCI6IiIsZGlyOncuZGlyLC4uLnksLi4ubSxyZWY6XyxzdHlsZTp7b3V0bGluZToibm9uZSIsLi4ubS5zdHlsZX0sb25LZXlEb3duOm1lKG0ub25LZXlEb3duLEk9Pntjb25zdCBMPUkudGFyZ2V0LmNsb3Nlc3QoIltkYXRhLXJhZGl4LW1lbnUtY29udGVudF0iKT09PUkuY3VycmVudFRhcmdldCwkPUkuY3RybEtleXx8SS5hbHRLZXl8fEkubWV0YUtleSxIPUkua2V5Lmxlbmd0aD09PTE7TCYmKEkua2V5PT09IlRhYiImJkkucHJldmVudERlZmF1bHQoKSwhJCYmSCYmVShJLmtleSkpO2NvbnN0IFo9Qy5jdXJyZW50O2lmKEkudGFyZ2V0IT09Wnx8IXUwZS5pbmNsdWRlcyhJLmtleSkpcmV0dXJuO0kucHJldmVudERlZmF1bHQoKTtjb25zdCByZT1iKCkuZmlsdGVyKFg9PiFYLmRpc2FibGVkKS5tYXAoWD0+WC5yZWYuY3VycmVudCk7ZTkuaW5jbHVkZXMoSS5rZXkpJiZyZS5yZXZlcnNlKCksRjBlKHJlKX0pLG9uQmx1cjptZShlLm9uQmx1cixJPT57SS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKEkudGFyZ2V0KXx8KHdpbmRvdy5jbGVhclRpbWVvdXQoQi5jdXJyZW50KSxrLmN1cnJlbnQ9IiIpfSksb25Qb2ludGVyTW92ZTptZShlLm9uUG9pbnRlck1vdmUsVW0oST0+e2NvbnN0IFI9SS50YXJnZXQsTD1TLmN1cnJlbnQhPT1JLmNsaWVudFg7aWYoSS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKFIpJiZMKXtjb25zdCAkPUkuY2xpZW50WD5TLmN1cnJlbnQ/InJpZ2h0IjoibGVmdCI7Ty5jdXJyZW50PSQsUy5jdXJyZW50PUkuY2xpZW50WH19KSl9KX0pfSl9KX0pfSl9KTtpOS5kaXNwbGF5TmFtZT1yYTt2YXIgTjBlPSJNZW51R3JvdXAiLEZrPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVNZW51OnIsLi4ubn09ZTtyZXR1cm4gcy5qc3goU2UuZGl2LHtyb2xlOiJncm91cCIsLi4ubixyZWY6dH0pfSk7RmsuZGlzcGxheU5hbWU9TjBlO3ZhciBDMGU9Ik1lbnVMYWJlbCIsbzk9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZU1lbnU6ciwuLi5ufT1lO3JldHVybiBzLmpzeChTZS5kaXYsey4uLm4scmVmOnR9KX0pO285LmRpc3BsYXlOYW1lPUMwZTt2YXIgQ3k9Ik1lbnVJdGVtIixHST0ibWVudS5pdGVtU2VsZWN0IixYdz1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtkaXNhYmxlZDpyPSExLG9uU2VsZWN0Om4sLi4uYX09ZSxpPWcudXNlUmVmKG51bGwpLG89WnAoQ3ksZS5fX3Njb3BlTWVudSksbD1UayhDeSxlLl9fc2NvcGVNZW51KSxjPVdlKHQsaSksZD1nLnVzZVJlZighMSksdT0oKT0+e2NvbnN0IEE9aS5jdXJyZW50O2lmKCFyJiZBKXtjb25zdCBmPW5ldyBDdXN0b21FdmVudChHSSx7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwfSk7QS5hZGRFdmVudExpc3RlbmVyKEdJLGg9Pm49PW51bGw/dm9pZCAwOm4oaCkse29uY2U6ITB9KSwkMihBLGYpLGYuZGVmYXVsdFByZXZlbnRlZD9kLmN1cnJlbnQ9ITE6by5vbkNsb3NlKCl9fTtyZXR1cm4gcy5qc3gobDksey4uLmEscmVmOmMsZGlzYWJsZWQ6cixvbkNsaWNrOm1lKGUub25DbGljayx1KSxvblBvaW50ZXJEb3duOkE9Pnt2YXIgZjsoZj1lLm9uUG9pbnRlckRvd24pPT1udWxsfHxmLmNhbGwoZSxBKSxkLmN1cnJlbnQ9ITB9LG9uUG9pbnRlclVwOm1lKGUub25Qb2ludGVyVXAsQT0+e3ZhciBmO2QuY3VycmVudHx8KGY9QS5jdXJyZW50VGFyZ2V0KT09bnVsbHx8Zi5jbGljaygpfSksb25LZXlEb3duOm1lKGUub25LZXlEb3duLEE9Pntjb25zdCBmPWwuc2VhcmNoUmVmLmN1cnJlbnQhPT0iIjtyfHxmJiZBLmtleT09PSIgInx8TV8uaW5jbHVkZXMoQS5rZXkpJiYoQS5jdXJyZW50VGFyZ2V0LmNsaWNrKCksQS5wcmV2ZW50RGVmYXVsdCgpKX0pfSl9KTtYdy5kaXNwbGF5TmFtZT1DeTt2YXIgbDk9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZU1lbnU6cixkaXNhYmxlZDpuPSExLHRleHRWYWx1ZTphLC4uLml9PWUsbz1UayhDeSxyKSxsPXI5KHIpLGM9Zy51c2VSZWYobnVsbCksZD1XZSh0LGMpLFt1LEFdPWcudXNlU3RhdGUoITEpLFtmLGhdPWcudXNlU3RhdGUoIiIpO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IHA9Yy5jdXJyZW50O3AmJmgoKHAudGV4dENvbnRlbnQ/PyIiKS50cmltKCkpfSxbaS5jaGlsZHJlbl0pLHMuanN4KEltLkl0ZW1TbG90LHtzY29wZTpyLGRpc2FibGVkOm4sdGV4dFZhbHVlOmE/P2YsY2hpbGRyZW46cy5qc3goU2sse2FzQ2hpbGQ6ITAsLi4ubCxmb2N1c2FibGU6IW4sY2hpbGRyZW46cy5qc3goU2UuZGl2LHtyb2xlOiJtZW51aXRlbSIsImRhdGEtaGlnaGxpZ2h0ZWQiOnU/IiI6dm9pZCAwLCJhcmlhLWRpc2FibGVkIjpufHx2b2lkIDAsImRhdGEtZGlzYWJsZWQiOm4/IiI6dm9pZCAwLC4uLmkscmVmOmQsb25Qb2ludGVyTW92ZTptZShlLm9uUG9pbnRlck1vdmUsVW0ocD0+e24/by5vbkl0ZW1MZWF2ZShwKTooby5vbkl0ZW1FbnRlcihwKSxwLmRlZmF1bHRQcmV2ZW50ZWR8fHAuY3VycmVudFRhcmdldC5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pKX0pKSxvblBvaW50ZXJMZWF2ZTptZShlLm9uUG9pbnRlckxlYXZlLFVtKHA9Pm8ub25JdGVtTGVhdmUocCkpKSxvbkZvY3VzOm1lKGUub25Gb2N1cywoKT0+QSghMCkpLG9uQmx1cjptZShlLm9uQmx1ciwoKT0+QSghMSkpfSl9KX0pfSksXzBlPSJNZW51Q2hlY2tib3hJdGVtIixjOT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtjaGVja2VkOnI9ITEsb25DaGVja2VkQ2hhbmdlOm4sLi4uYX09ZTtyZXR1cm4gcy5qc3goaDkse3Njb3BlOmUuX19zY29wZU1lbnUsY2hlY2tlZDpyLGNoaWxkcmVuOnMuanN4KFh3LHtyb2xlOiJtZW51aXRlbWNoZWNrYm94IiwiYXJpYS1jaGVja2VkIjpfeShyKT8ibWl4ZWQiOnIsLi4uYSxyZWY6dCwiZGF0YS1zdGF0ZSI6SWsociksb25TZWxlY3Q6bWUoYS5vblNlbGVjdCwoKT0+bj09bnVsbD92b2lkIDA6bihfeShyKT8hMDohcikse2NoZWNrRm9yRGVmYXVsdFByZXZlbnRlZDohMX0pfSl9KX0pO2M5LmRpc3BsYXlOYW1lPV8wZTt2YXIgZDk9Ik1lbnVSYWRpb0dyb3VwIixbQjBlLFMwZV09d2QoZDkse3ZhbHVlOnZvaWQgMCxvblZhbHVlQ2hhbmdlOigpPT57fX0pLHU5PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e3ZhbHVlOnIsb25WYWx1ZUNoYW5nZTpuLC4uLmF9PWUsaT13cihuKTtyZXR1cm4gcy5qc3goQjBlLHtzY29wZTplLl9fc2NvcGVNZW51LHZhbHVlOnIsb25WYWx1ZUNoYW5nZTppLGNoaWxkcmVuOnMuanN4KEZrLHsuLi5hLHJlZjp0fSl9KX0pO3U5LmRpc3BsYXlOYW1lPWQ5O3ZhciBBOT0iTWVudVJhZGlvSXRlbSIsZjk9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7dmFsdWU6ciwuLi5ufT1lLGE9UzBlKEE5LGUuX19zY29wZU1lbnUpLGk9cj09PWEudmFsdWU7cmV0dXJuIHMuanN4KGg5LHtzY29wZTplLl9fc2NvcGVNZW51LGNoZWNrZWQ6aSxjaGlsZHJlbjpzLmpzeChYdyx7cm9sZToibWVudWl0ZW1yYWRpbyIsImFyaWEtY2hlY2tlZCI6aSwuLi5uLHJlZjp0LCJkYXRhLXN0YXRlIjpJayhpKSxvblNlbGVjdDptZShuLm9uU2VsZWN0LCgpPT57dmFyIG87cmV0dXJuKG89YS5vblZhbHVlQ2hhbmdlKT09bnVsbD92b2lkIDA6by5jYWxsKGEscil9LHtjaGVja0ZvckRlZmF1bHRQcmV2ZW50ZWQ6ITF9KX0pfSl9KTtmOS5kaXNwbGF5TmFtZT1BOTt2YXIgT2s9Ik1lbnVJdGVtSW5kaWNhdG9yIixbaDksRTBlXT13ZChPayx7Y2hlY2tlZDohMX0pLG05PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVNZW51OnIsZm9yY2VNb3VudDpuLC4uLmF9PWUsaT1FMGUoT2sscik7cmV0dXJuIHMuanN4KHduLHtwcmVzZW50Om58fF95KGkuY2hlY2tlZCl8fGkuY2hlY2tlZD09PSEwLGNoaWxkcmVuOnMuanN4KFNlLnNwYW4sey4uLmEscmVmOnQsImRhdGEtc3RhdGUiOklrKGkuY2hlY2tlZCl9KX0pfSk7bTkuZGlzcGxheU5hbWU9T2s7dmFyIGswZT0iTWVudVNlcGFyYXRvciIscDk9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZU1lbnU6ciwuLi5ufT1lO3JldHVybiBzLmpzeChTZS5kaXYse3JvbGU6InNlcGFyYXRvciIsImFyaWEtb3JpZW50YXRpb24iOiJob3Jpem9udGFsIiwuLi5uLHJlZjp0fSl9KTtwOS5kaXNwbGF5TmFtZT1rMGU7dmFyIFQwZT0iTWVudUFycm93IixnOT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlTWVudTpyLC4uLm59PWUsYT1ZdyhyKTtyZXR1cm4gcy5qc3gob0Usey4uLmEsLi4ubixyZWY6dH0pfSk7ZzkuZGlzcGxheU5hbWU9VDBlO3ZhciBQMGU9Ik1lbnVTdWIiLFtXR2UseDldPXdkKFAwZSksZGg9Ik1lbnVTdWJUcmlnZ2VyIix5OT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdCByPWJkKGRoLGUuX19zY29wZU1lbnUpLG49WnAoZGgsZS5fX3Njb3BlTWVudSksYT14OShkaCxlLl9fc2NvcGVNZW51KSxpPVRrKGRoLGUuX19zY29wZU1lbnUpLG89Zy51c2VSZWYobnVsbCkse3BvaW50ZXJHcmFjZVRpbWVyUmVmOmwsb25Qb2ludGVyR3JhY2VJbnRlbnRDaGFuZ2U6Y309aSxkPXtfX3Njb3BlTWVudTplLl9fc2NvcGVNZW51fSx1PWcudXNlQ2FsbGJhY2soKCk9PntvLmN1cnJlbnQmJndpbmRvdy5jbGVhclRpbWVvdXQoby5jdXJyZW50KSxvLmN1cnJlbnQ9bnVsbH0sW10pO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+dSxbdV0pLGcudXNlRWZmZWN0KCgpPT57Y29uc3QgQT1sLmN1cnJlbnQ7cmV0dXJuKCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KEEpLGMobnVsbCl9fSxbbCxjXSkscy5qc3goRWsse2FzQ2hpbGQ6ITAsLi4uZCxjaGlsZHJlbjpzLmpzeChsOSx7aWQ6YS50cmlnZ2VySWQsImFyaWEtaGFzcG9wdXAiOiJtZW51IiwiYXJpYS1leHBhbmRlZCI6ci5vcGVuLCJhcmlhLWNvbnRyb2xzIjphLmNvbnRlbnRJZCwiZGF0YS1zdGF0ZSI6Yjkoci5vcGVuKSwuLi5lLHJlZjpzdyh0LGEub25UcmlnZ2VyQ2hhbmdlKSxvbkNsaWNrOkE9Pnt2YXIgZjsoZj1lLm9uQ2xpY2spPT1udWxsfHxmLmNhbGwoZSxBKSwhKGUuZGlzYWJsZWR8fEEuZGVmYXVsdFByZXZlbnRlZCkmJihBLmN1cnJlbnRUYXJnZXQuZm9jdXMoKSxyLm9wZW58fHIub25PcGVuQ2hhbmdlKCEwKSl9LG9uUG9pbnRlck1vdmU6bWUoZS5vblBvaW50ZXJNb3ZlLFVtKEE9PntpLm9uSXRlbUVudGVyKEEpLCFBLmRlZmF1bHRQcmV2ZW50ZWQmJiFlLmRpc2FibGVkJiYhci5vcGVuJiYhby5jdXJyZW50JiYoaS5vblBvaW50ZXJHcmFjZUludGVudENoYW5nZShudWxsKSxvLmN1cnJlbnQ9d2luZG93LnNldFRpbWVvdXQoKCk9PntyLm9uT3BlbkNoYW5nZSghMCksdSgpfSwxMDApKX0pKSxvblBvaW50ZXJMZWF2ZTptZShlLm9uUG9pbnRlckxlYXZlLFVtKEE9Pnt2YXIgaCxwO3UoKTtjb25zdCBmPShoPXIuY29udGVudCk9PW51bGw/dm9pZCAwOmguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoZil7Y29uc3QgbT0ocD1yLmNvbnRlbnQpPT1udWxsP3ZvaWQgMDpwLmRhdGFzZXQuc2lkZSx4PW09PT0icmlnaHQiLHc9eD8tNTo1LHk9Zlt4PyJsZWZ0IjoicmlnaHQiXSx2PWZbeD8icmlnaHQiOiJsZWZ0Il07aS5vblBvaW50ZXJHcmFjZUludGVudENoYW5nZSh7YXJlYTpbe3g6QS5jbGllbnRYK3cseTpBLmNsaWVudFl9LHt4OnkseTpmLnRvcH0se3g6dix5OmYudG9wfSx7eDp2LHk6Zi5ib3R0b219LHt4OnkseTpmLmJvdHRvbX1dLHNpZGU6bX0pLHdpbmRvdy5jbGVhclRpbWVvdXQobC5jdXJyZW50KSxsLmN1cnJlbnQ9d2luZG93LnNldFRpbWVvdXQoKCk9Pmkub25Qb2ludGVyR3JhY2VJbnRlbnRDaGFuZ2UobnVsbCksMzAwKX1lbHNle2lmKGkub25UcmlnZ2VyTGVhdmUoQSksQS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpLm9uUG9pbnRlckdyYWNlSW50ZW50Q2hhbmdlKG51bGwpfX0pKSxvbktleURvd246bWUoZS5vbktleURvd24sQT0+e3ZhciBoO2NvbnN0IGY9aS5zZWFyY2hSZWYuY3VycmVudCE9PSIiO2UuZGlzYWJsZWR8fGYmJkEua2V5PT09IiAifHxBMGVbbi5kaXJdLmluY2x1ZGVzKEEua2V5KSYmKHIub25PcGVuQ2hhbmdlKCEwKSwoaD1yLmNvbnRlbnQpPT1udWxsfHxoLmZvY3VzKCksQS5wcmV2ZW50RGVmYXVsdCgpKX0pfSl9KX0pO3k5LmRpc3BsYXlOYW1lPWRoO3ZhciB2OT0iTWVudVN1YkNvbnRlbnQiLHc5PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0IHI9czkocmEsZS5fX3Njb3BlTWVudSkse2ZvcmNlTW91bnQ6bj1yLmZvcmNlTW91bnQsLi4uYX09ZSxpPWJkKHJhLGUuX19zY29wZU1lbnUpLG89WnAocmEsZS5fX3Njb3BlTWVudSksbD14OSh2OSxlLl9fc2NvcGVNZW51KSxjPWcudXNlUmVmKG51bGwpLGQ9V2UodCxjKTtyZXR1cm4gcy5qc3goSW0uUHJvdmlkZXIse3Njb3BlOmUuX19zY29wZU1lbnUsY2hpbGRyZW46cy5qc3god24se3ByZXNlbnQ6bnx8aS5vcGVuLGNoaWxkcmVuOnMuanN4KEltLlNsb3Qse3Njb3BlOmUuX19zY29wZU1lbnUsY2hpbGRyZW46cy5qc3goUGsse2lkOmwuY29udGVudElkLCJhcmlhLWxhYmVsbGVkYnkiOmwudHJpZ2dlcklkLC4uLmEscmVmOmQsYWxpZ246InN0YXJ0IixzaWRlOm8uZGlyPT09InJ0bCI/ImxlZnQiOiJyaWdodCIsZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOiExLGRpc2FibGVPdXRzaWRlU2Nyb2xsOiExLHRyYXBGb2N1czohMSxvbk9wZW5BdXRvRm9jdXM6dT0+e3ZhciBBO28uaXNVc2luZ0tleWJvYXJkUmVmLmN1cnJlbnQmJigoQT1jLmN1cnJlbnQpPT1udWxsfHxBLmZvY3VzKCkpLHUucHJldmVudERlZmF1bHQoKX0sb25DbG9zZUF1dG9Gb2N1czp1PT51LnByZXZlbnREZWZhdWx0KCksb25Gb2N1c091dHNpZGU6bWUoZS5vbkZvY3VzT3V0c2lkZSx1PT57dS50YXJnZXQhPT1sLnRyaWdnZXImJmkub25PcGVuQ2hhbmdlKCExKX0pLG9uRXNjYXBlS2V5RG93bjptZShlLm9uRXNjYXBlS2V5RG93bix1PT57by5vbkNsb3NlKCksdS5wcmV2ZW50RGVmYXVsdCgpfSksb25LZXlEb3duOm1lKGUub25LZXlEb3duLHU9Pnt2YXIgaDtjb25zdCBBPXUuY3VycmVudFRhcmdldC5jb250YWlucyh1LnRhcmdldCksZj1mMGVbby5kaXJdLmluY2x1ZGVzKHUua2V5KTtBJiZmJiYoaS5vbk9wZW5DaGFuZ2UoITEpLChoPWwudHJpZ2dlcik9PW51bGx8fGguZm9jdXMoKSx1LnByZXZlbnREZWZhdWx0KCkpfSl9KX0pfSl9KX0pO3c5LmRpc3BsYXlOYW1lPXY5O2Z1bmN0aW9uIGI5KGUpe3JldHVybiBlPyJvcGVuIjoiY2xvc2VkIn1mdW5jdGlvbiBfeShlKXtyZXR1cm4gZT09PSJpbmRldGVybWluYXRlIn1mdW5jdGlvbiBJayhlKXtyZXR1cm4gX3koZSk/ImluZGV0ZXJtaW5hdGUiOmU/ImNoZWNrZWQiOiJ1bmNoZWNrZWQifWZ1bmN0aW9uIEYwZShlKXtjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7Zm9yKGNvbnN0IHIgb2YgZSlpZihyPT09dHx8KHIuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09dCkpcmV0dXJufWZ1bmN0aW9uIE8wZShlLHQpe3JldHVybiBlLm1hcCgocixuKT0+ZVsodCtuKSVlLmxlbmd0aF0pfWZ1bmN0aW9uIEkwZShlLHQscil7Y29uc3QgYT10Lmxlbmd0aD4xJiZBcnJheS5mcm9tKHQpLmV2ZXJ5KGQ9PmQ9PT10WzBdKT90WzBdOnQsaT1yP2UuaW5kZXhPZihyKTotMTtsZXQgbz1PMGUoZSxNYXRoLm1heChpLDApKTthLmxlbmd0aD09PTEmJihvPW8uZmlsdGVyKGQ9PmQhPT1yKSk7Y29uc3QgYz1vLmZpbmQoZD0+ZC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoYS50b0xvd2VyQ2FzZSgpKSk7cmV0dXJuIGMhPT1yP2M6dm9pZCAwfWZ1bmN0aW9uIFUwZShlLHQpe2NvbnN0e3g6cix5Om59PWU7bGV0IGE9ITE7Zm9yKGxldCBpPTAsbz10Lmxlbmd0aC0xO2k8dC5sZW5ndGg7bz1pKyspe2NvbnN0IGw9dFtpXSxjPXRbb10sZD1sLngsdT1sLnksQT1jLngsZj1jLnk7dT5uIT1mPm4mJnI8KEEtZCkqKG4tdSkvKGYtdSkrZCYmKGE9IWEpfXJldHVybiBhfWZ1bmN0aW9uIEQwZShlLHQpe2lmKCF0KXJldHVybiExO2NvbnN0IHI9e3g6ZS5jbGllbnRYLHk6ZS5jbGllbnRZfTtyZXR1cm4gVTBlKHIsdCl9ZnVuY3Rpb24gVW0oZSl7cmV0dXJuIHQ9PnQucG9pbnRlclR5cGU9PT0ibW91c2UiP2UodCk6dm9pZCAwfXZhciBNMGU9bjksUjBlPUVrLFEwZT1hOSxMMGU9aTksJDBlPUZrLEgwZT1vOSxLMGU9WHcsVjBlPWM5LHowZT11OSxXMGU9ZjksRzBlPW05LHEwZT1wOSxZMGU9ZzksWDBlPXk5LEowZT13OSxKdz0iRHJvcGRvd25NZW51IixbWjBlLEdHZV09RHIoSncsW3Q5XSksWG49dDkoKSxbZXllLGo5XT1aMGUoSncpLE45PWU9Pntjb25zdHtfX3Njb3BlRHJvcGRvd25NZW51OnQsY2hpbGRyZW46cixkaXI6bixvcGVuOmEsZGVmYXVsdE9wZW46aSxvbk9wZW5DaGFuZ2U6byxtb2RhbDpsPSEwfT1lLGM9WG4odCksZD1nLnVzZVJlZihudWxsKSxbdSxBXT1Ocyh7cHJvcDphLGRlZmF1bHRQcm9wOmk/PyExLG9uQ2hhbmdlOm8sY2FsbGVyOkp3fSk7cmV0dXJuIHMuanN4KGV5ZSx7c2NvcGU6dCx0cmlnZ2VySWQ6ZWEoKSx0cmlnZ2VyUmVmOmQsY29udGVudElkOmVhKCksb3Blbjp1LG9uT3BlbkNoYW5nZTpBLG9uT3BlblRvZ2dsZTpnLnVzZUNhbGxiYWNrKCgpPT5BKGY9PiFmKSxbQV0pLG1vZGFsOmwsY2hpbGRyZW46cy5qc3goTTBlLHsuLi5jLG9wZW46dSxvbk9wZW5DaGFuZ2U6QSxkaXI6bixtb2RhbDpsLGNoaWxkcmVuOnJ9KX0pfTtOOS5kaXNwbGF5TmFtZT1Kdzt2YXIgQzk9IkRyb3Bkb3duTWVudVRyaWdnZXIiLF85PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVEcm9wZG93bk1lbnU6cixkaXNhYmxlZDpuPSExLC4uLmF9PWUsaT1qOShDOSxyKSxvPVhuKHIpO3JldHVybiBzLmpzeChSMGUse2FzQ2hpbGQ6ITAsLi4ubyxjaGlsZHJlbjpzLmpzeChTZS5idXR0b24se3R5cGU6ImJ1dHRvbiIsaWQ6aS50cmlnZ2VySWQsImFyaWEtaGFzcG9wdXAiOiJtZW51IiwiYXJpYS1leHBhbmRlZCI6aS5vcGVuLCJhcmlhLWNvbnRyb2xzIjppLm9wZW4/aS5jb250ZW50SWQ6dm9pZCAwLCJkYXRhLXN0YXRlIjppLm9wZW4/Im9wZW4iOiJjbG9zZWQiLCJkYXRhLWRpc2FibGVkIjpuPyIiOnZvaWQgMCxkaXNhYmxlZDpuLC4uLmEscmVmOnN3KHQsaS50cmlnZ2VyUmVmKSxvblBvaW50ZXJEb3duOm1lKGUub25Qb2ludGVyRG93bixsPT57IW4mJmwuYnV0dG9uPT09MCYmbC5jdHJsS2V5PT09ITEmJihpLm9uT3BlblRvZ2dsZSgpLGkub3Blbnx8bC5wcmV2ZW50RGVmYXVsdCgpKX0pLG9uS2V5RG93bjptZShlLm9uS2V5RG93bixsPT57bnx8KFsiRW50ZXIiLCIgIl0uaW5jbHVkZXMobC5rZXkpJiZpLm9uT3BlblRvZ2dsZSgpLGwua2V5PT09IkFycm93RG93biImJmkub25PcGVuQ2hhbmdlKCEwKSxbIkVudGVyIiwiICIsIkFycm93RG93biJdLmluY2x1ZGVzKGwua2V5KSYmbC5wcmV2ZW50RGVmYXVsdCgpKX0pfSl9KX0pO185LmRpc3BsYXlOYW1lPUM5O3ZhciB0eWU9IkRyb3Bkb3duTWVudVBvcnRhbCIsQjk9ZT0+e2NvbnN0e19fc2NvcGVEcm9wZG93bk1lbnU6dCwuLi5yfT1lLG49WG4odCk7cmV0dXJuIHMuanN4KFEwZSx7Li4ubiwuLi5yfSl9O0I5LmRpc3BsYXlOYW1lPXR5ZTt2YXIgUzk9IkRyb3Bkb3duTWVudUNvbnRlbnQiLEU5PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVEcm9wZG93bk1lbnU6ciwuLi5ufT1lLGE9ajkoUzksciksaT1YbihyKSxvPWcudXNlUmVmKCExKTtyZXR1cm4gcy5qc3goTDBlLHtpZDphLmNvbnRlbnRJZCwiYXJpYS1sYWJlbGxlZGJ5IjphLnRyaWdnZXJJZCwuLi5pLC4uLm4scmVmOnQsb25DbG9zZUF1dG9Gb2N1czptZShlLm9uQ2xvc2VBdXRvRm9jdXMsbD0+e3ZhciBjO28uY3VycmVudHx8KGM9YS50cmlnZ2VyUmVmLmN1cnJlbnQpPT1udWxsfHxjLmZvY3VzKCksby5jdXJyZW50PSExLGwucHJldmVudERlZmF1bHQoKX0pLG9uSW50ZXJhY3RPdXRzaWRlOm1lKGUub25JbnRlcmFjdE91dHNpZGUsbD0+e2NvbnN0IGM9bC5kZXRhaWwub3JpZ2luYWxFdmVudCxkPWMuYnV0dG9uPT09MCYmYy5jdHJsS2V5PT09ITAsdT1jLmJ1dHRvbj09PTJ8fGQ7KCFhLm1vZGFsfHx1KSYmKG8uY3VycmVudD0hMCl9KSxzdHlsZTp7Li4uZS5zdHlsZSwiLS1yYWRpeC1kcm9wZG93bi1tZW51LWNvbnRlbnQtdHJhbnNmb3JtLW9yaWdpbiI6InZhcigtLXJhZGl4LXBvcHBlci10cmFuc2Zvcm0tb3JpZ2luKSIsIi0tcmFkaXgtZHJvcGRvd24tbWVudS1jb250ZW50LWF2YWlsYWJsZS13aWR0aCI6InZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtd2lkdGgpIiwiLS1yYWRpeC1kcm9wZG93bi1tZW51LWNvbnRlbnQtYXZhaWxhYmxlLWhlaWdodCI6InZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtaGVpZ2h0KSIsIi0tcmFkaXgtZHJvcGRvd24tbWVudS10cmlnZ2VyLXdpZHRoIjoidmFyKC0tcmFkaXgtcG9wcGVyLWFuY2hvci13aWR0aCkiLCItLXJhZGl4LWRyb3Bkb3duLW1lbnUtdHJpZ2dlci1oZWlnaHQiOiJ2YXIoLS1yYWRpeC1wb3BwZXItYW5jaG9yLWhlaWdodCkifX0pfSk7RTkuZGlzcGxheU5hbWU9Uzk7dmFyIHJ5ZT0iRHJvcGRvd25NZW51R3JvdXAiLG55ZT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlRHJvcGRvd25NZW51OnIsLi4ubn09ZSxhPVhuKHIpO3JldHVybiBzLmpzeCgkMGUsey4uLmEsLi4ubixyZWY6dH0pfSk7bnllLmRpc3BsYXlOYW1lPXJ5ZTt2YXIgc3llPSJEcm9wZG93bk1lbnVMYWJlbCIsazk9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZURyb3Bkb3duTWVudTpyLC4uLm59PWUsYT1YbihyKTtyZXR1cm4gcy5qc3goSDBlLHsuLi5hLC4uLm4scmVmOnR9KX0pO2s5LmRpc3BsYXlOYW1lPXN5ZTt2YXIgYXllPSJEcm9wZG93bk1lbnVJdGVtIixUOT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlRHJvcGRvd25NZW51OnIsLi4ubn09ZSxhPVhuKHIpO3JldHVybiBzLmpzeChLMGUsey4uLmEsLi4ubixyZWY6dH0pfSk7VDkuZGlzcGxheU5hbWU9YXllO3ZhciBpeWU9IkRyb3Bkb3duTWVudUNoZWNrYm94SXRlbSIsUDk9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZURyb3Bkb3duTWVudTpyLC4uLm59PWUsYT1YbihyKTtyZXR1cm4gcy5qc3goVjBlLHsuLi5hLC4uLm4scmVmOnR9KX0pO1A5LmRpc3BsYXlOYW1lPWl5ZTt2YXIgb3llPSJEcm9wZG93bk1lbnVSYWRpb0dyb3VwIixseWU9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZURyb3Bkb3duTWVudTpyLC4uLm59PWUsYT1YbihyKTtyZXR1cm4gcy5qc3goejBlLHsuLi5hLC4uLm4scmVmOnR9KX0pO2x5ZS5kaXNwbGF5TmFtZT1veWU7dmFyIGN5ZT0iRHJvcGRvd25NZW51UmFkaW9JdGVtIixGOT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlRHJvcGRvd25NZW51OnIsLi4ubn09ZSxhPVhuKHIpO3JldHVybiBzLmpzeChXMGUsey4uLmEsLi4ubixyZWY6dH0pfSk7RjkuZGlzcGxheU5hbWU9Y3llO3ZhciBkeWU9IkRyb3Bkb3duTWVudUl0ZW1JbmRpY2F0b3IiLE85PWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVEcm9wZG93bk1lbnU6ciwuLi5ufT1lLGE9WG4ocik7cmV0dXJuIHMuanN4KEcwZSx7Li4uYSwuLi5uLHJlZjp0fSl9KTtPOS5kaXNwbGF5TmFtZT1keWU7dmFyIHV5ZT0iRHJvcGRvd25NZW51U2VwYXJhdG9yIixJOT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlRHJvcGRvd25NZW51OnIsLi4ubn09ZSxhPVhuKHIpO3JldHVybiBzLmpzeChxMGUsey4uLmEsLi4ubixyZWY6dH0pfSk7STkuZGlzcGxheU5hbWU9dXllO3ZhciBBeWU9IkRyb3Bkb3duTWVudUFycm93IixmeWU9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZURyb3Bkb3duTWVudTpyLC4uLm59PWUsYT1YbihyKTtyZXR1cm4gcy5qc3goWTBlLHsuLi5hLC4uLm4scmVmOnR9KX0pO2Z5ZS5kaXNwbGF5TmFtZT1BeWU7dmFyIGh5ZT0iRHJvcGRvd25NZW51U3ViVHJpZ2dlciIsVTk9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZURyb3Bkb3duTWVudTpyLC4uLm59PWUsYT1YbihyKTtyZXR1cm4gcy5qc3goWDBlLHsuLi5hLC4uLm4scmVmOnR9KX0pO1U5LmRpc3BsYXlOYW1lPWh5ZTt2YXIgbXllPSJEcm9wZG93bk1lbnVTdWJDb250ZW50IixEOT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlRHJvcGRvd25NZW51OnIsLi4ubn09ZSxhPVhuKHIpO3JldHVybiBzLmpzeChKMGUsey4uLmEsLi4ubixyZWY6dCxzdHlsZTp7Li4uZS5zdHlsZSwiLS1yYWRpeC1kcm9wZG93bi1tZW51LWNvbnRlbnQtdHJhbnNmb3JtLW9yaWdpbiI6InZhcigtLXJhZGl4LXBvcHBlci10cmFuc2Zvcm0tb3JpZ2luKSIsIi0tcmFkaXgtZHJvcGRvd24tbWVudS1jb250ZW50LWF2YWlsYWJsZS13aWR0aCI6InZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtd2lkdGgpIiwiLS1yYWRpeC1kcm9wZG93bi1tZW51LWNvbnRlbnQtYXZhaWxhYmxlLWhlaWdodCI6InZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtaGVpZ2h0KSIsIi0tcmFkaXgtZHJvcGRvd24tbWVudS10cmlnZ2VyLXdpZHRoIjoidmFyKC0tcmFkaXgtcG9wcGVyLWFuY2hvci13aWR0aCkiLCItLXJhZGl4LWRyb3Bkb3duLW1lbnUtdHJpZ2dlci1oZWlnaHQiOiJ2YXIoLS1yYWRpeC1wb3BwZXItYW5jaG9yLWhlaWdodCkifX0pfSk7RDkuZGlzcGxheU5hbWU9bXllO3ZhciBweWU9TjksZ3llPV85LHh5ZT1COSxNOT1FOSxSOT1rOSxROT1UOSxMOT1QOSwkOT1GOSxIOT1POSxLOT1JOSxWOT1VOSx6OT1EOTtjb25zdCB5eWU9cHllLHZ5ZT1neWUsd3llPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLGluc2V0OnQsY2hpbGRyZW46ciwuLi5ufSxhKT0+cy5qc3hzKFY5LHtyZWY6YSxjbGFzc05hbWU6d2UoImZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHgtMiBweS0xLjUgdGV4dC1zbSBvdXRsaW5lLW5vbmUgZGF0YS1bc3RhdGU9b3Blbl06YmctYWNjZW50IGZvY3VzOmJnLWFjY2VudCIsdCYmInBsLTgiLGUpLC4uLm4sY2hpbGRyZW46W3Iscy5qc3gobHcse2NsYXNzTmFtZToibWwtYXV0byBoLTQgdy00In0pXX0pKTt3eWUuZGlzcGxheU5hbWU9VjkuZGlzcGxheU5hbWU7Y29uc3QgYnllPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeCh6OSx7cmVmOnIsY2xhc3NOYW1lOndlKCJ6LTUwIG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LWxnIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4gZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAgZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wIGRhdGEtW3N0YXRlPWNsb3NlZF06em9vbS1vdXQtOTUgZGF0YS1bc3RhdGU9b3Blbl06em9vbS1pbi05NSBkYXRhLVtzaWRlPWJvdHRvbV06c2xpZGUtaW4tZnJvbS10b3AtMiBkYXRhLVtzaWRlPWxlZnRdOnNsaWRlLWluLWZyb20tcmlnaHQtMiBkYXRhLVtzaWRlPXJpZ2h0XTpzbGlkZS1pbi1mcm9tLWxlZnQtMiBkYXRhLVtzaWRlPXRvcF06c2xpZGUtaW4tZnJvbS1ib3R0b20tMiIsZSksLi4udH0pKTtieWUuZGlzcGxheU5hbWU9ejkuZGlzcGxheU5hbWU7Y29uc3QgVzk9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsc2lkZU9mZnNldDp0PTQsLi4ucn0sbik9PnMuanN4KHh5ZSx7Y2hpbGRyZW46cy5qc3goTTkse3JlZjpuLHNpZGVPZmZzZXQ6dCxjbGFzc05hbWU6d2UoInotNTAgbWluLXctWzhyZW1dIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJvcmRlciBiZy1wb3BvdmVyIHAtMSB0ZXh0LXBvcG92ZXItZm9yZWdyb3VuZCBzaGFkb3ctbWQgZGF0YS1bc3RhdGU9b3Blbl06YW5pbWF0ZS1pbiBkYXRhLVtzdGF0ZT1jbG9zZWRdOmFuaW1hdGUtb3V0IGRhdGEtW3N0YXRlPWNsb3NlZF06ZmFkZS1vdXQtMCBkYXRhLVtzdGF0ZT1vcGVuXTpmYWRlLWluLTAgZGF0YS1bc3RhdGU9Y2xvc2VkXTp6b29tLW91dC05NSBkYXRhLVtzdGF0ZT1vcGVuXTp6b29tLWluLTk1IGRhdGEtW3NpZGU9Ym90dG9tXTpzbGlkZS1pbi1mcm9tLXRvcC0yIGRhdGEtW3NpZGU9bGVmdF06c2xpZGUtaW4tZnJvbS1yaWdodC0yIGRhdGEtW3NpZGU9cmlnaHRdOnNsaWRlLWluLWZyb20tbGVmdC0yIGRhdGEtW3NpZGU9dG9wXTpzbGlkZS1pbi1mcm9tLWJvdHRvbS0yIixlKSwuLi5yfSl9KSk7VzkuZGlzcGxheU5hbWU9TTkuZGlzcGxheU5hbWU7Y29uc3QgWWQ9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsaW5zZXQ6dCwuLi5yfSxuKT0+cy5qc3goUTkse3JlZjpuLGNsYXNzTmFtZTp3ZSgicmVsYXRpdmUgZmxleCBjdXJzb3ItZGVmYXVsdCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgcm91bmRlZC1zbSBweC0yIHB5LTEuNSB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBkYXRhLVtkaXNhYmxlZF06cG9pbnRlci1ldmVudHMtbm9uZSBkYXRhLVtkaXNhYmxlZF06b3BhY2l0eS01MCBmb2N1czpiZy1hY2NlbnQgZm9jdXM6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCIsdCYmInBsLTgiLGUpLC4uLnJ9KSk7WWQuZGlzcGxheU5hbWU9UTkuZGlzcGxheU5hbWU7Y29uc3QganllPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLGNoaWxkcmVuOnQsY2hlY2tlZDpyLC4uLm59LGEpPT5zLmpzeHMoTDkse3JlZjphLGNsYXNzTmFtZTp3ZSgicmVsYXRpdmUgZmxleCBjdXJzb3ItZGVmYXVsdCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgcm91bmRlZC1zbSBweS0xLjUgcGwtOCBwci0yIHRleHQtc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIixlKSxjaGVja2VkOnIsLi4ubixjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciIsY2hpbGRyZW46cy5qc3goSDkse2NoaWxkcmVuOnMuanN4KG90LHtjbGFzc05hbWU6ImgtNCB3LTQifSl9KX0pLHRdfSkpO2p5ZS5kaXNwbGF5TmFtZT1MOS5kaXNwbGF5TmFtZTtjb25zdCBOeWU9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsY2hpbGRyZW46dCwuLi5yfSxuKT0+cy5qc3hzKCQ5LHtyZWY6bixjbGFzc05hbWU6d2UoInJlbGF0aXZlIGZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHktMS41IHBsLTggcHItMiB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBkYXRhLVtkaXNhYmxlZF06cG9pbnRlci1ldmVudHMtbm9uZSBkYXRhLVtkaXNhYmxlZF06b3BhY2l0eS01MCBmb2N1czpiZy1hY2NlbnQgZm9jdXM6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCIsZSksLi4ucixjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjbGFzc05hbWU6ImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciIsY2hpbGRyZW46cy5qc3goSDkse2NoaWxkcmVuOnMuanN4KGskLHtjbGFzc05hbWU6ImgtMiB3LTIgZmlsbC1jdXJyZW50In0pfSl9KSx0XX0pKTtOeWUuZGlzcGxheU5hbWU9JDkuZGlzcGxheU5hbWU7Y29uc3QgQ3llPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLGluc2V0OnQsLi4ucn0sbik9PnMuanN4KFI5LHtyZWY6bixjbGFzc05hbWU6d2UoInB4LTIgcHktMS41IHRleHQtc20gZm9udC1zZW1pYm9sZCIsdCYmInBsLTgiLGUpLC4uLnJ9KSk7Q3llLmRpc3BsYXlOYW1lPVI5LmRpc3BsYXlOYW1lO2NvbnN0IF95ZT1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3goSzkse3JlZjpyLGNsYXNzTmFtZTp3ZSgiLW14LTEgbXktMSBoLXB4IGJnLW11dGVkIixlKSwuLi50fSkpO195ZS5kaXNwbGF5TmFtZT1LOS5kaXNwbGF5TmFtZTt2YXIgRzk9IkFsZXJ0RGlhbG9nIixbQnllLHFHZV09RHIoRzksW2pWXSksTm89alYoKSxxOT1lPT57Y29uc3R7X19zY29wZUFsZXJ0RGlhbG9nOnQsLi4ucn09ZSxuPU5vKHQpO3JldHVybiBzLmpzeChwayx7Li4ubiwuLi5yLG1vZGFsOiEwfSl9O3E5LmRpc3BsYXlOYW1lPUc5O3ZhciBTeWU9IkFsZXJ0RGlhbG9nVHJpZ2dlciIsRXllPWcuZm9yd2FyZFJlZigoZSx0KT0+e2NvbnN0e19fc2NvcGVBbGVydERpYWxvZzpyLC4uLm59PWUsYT1ObyhyKTtyZXR1cm4gcy5qc3goZ2ssey4uLmEsLi4ubixyZWY6dH0pfSk7RXllLmRpc3BsYXlOYW1lPVN5ZTt2YXIga3llPSJBbGVydERpYWxvZ1BvcnRhbCIsWTk9ZT0+e2NvbnN0e19fc2NvcGVBbGVydERpYWxvZzp0LC4uLnJ9PWUsbj1Obyh0KTtyZXR1cm4gcy5qc3goeGssey4uLm4sLi4ucn0pfTtZOS5kaXNwbGF5TmFtZT1reWU7dmFyIFR5ZT0iQWxlcnREaWFsb2dPdmVybGF5IixYOT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlQWxlcnREaWFsb2c6ciwuLi5ufT1lLGE9Tm8ocik7cmV0dXJuIHMuanN4KHpwLHsuLi5hLC4uLm4scmVmOnR9KX0pO1g5LmRpc3BsYXlOYW1lPVR5ZTt2YXIgRnU9IkFsZXJ0RGlhbG9nQ29udGVudCIsW1B5ZSxGeWVdPUJ5ZShGdSksT3llPXQkKCJBbGVydERpYWxvZ0NvbnRlbnQiKSxKOT1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlQWxlcnREaWFsb2c6cixjaGlsZHJlbjpuLC4uLmF9PWUsaT1ObyhyKSxvPWcudXNlUmVmKG51bGwpLGw9V2UodCxvKSxjPWcudXNlUmVmKG51bGwpO3JldHVybiBzLmpzeChMcGUse2NvbnRlbnROYW1lOkZ1LHRpdGxlTmFtZTpaOSxkb2NzU2x1ZzoiYWxlcnQtZGlhbG9nIixjaGlsZHJlbjpzLmpzeChQeWUse3Njb3BlOnIsY2FuY2VsUmVmOmMsY2hpbGRyZW46cy5qc3hzKFdwLHtyb2xlOiJhbGVydGRpYWxvZyIsLi4uaSwuLi5hLHJlZjpsLG9uT3BlbkF1dG9Gb2N1czptZShhLm9uT3BlbkF1dG9Gb2N1cyxkPT57dmFyIHU7ZC5wcmV2ZW50RGVmYXVsdCgpLCh1PWMuY3VycmVudCk9PW51bGx8fHUuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX0pLG9uUG9pbnRlckRvd25PdXRzaWRlOmQ9PmQucHJldmVudERlZmF1bHQoKSxvbkludGVyYWN0T3V0c2lkZTpkPT5kLnByZXZlbnREZWZhdWx0KCksY2hpbGRyZW46W3MuanN4KE95ZSx7Y2hpbGRyZW46bn0pLHMuanN4KFV5ZSx7Y29udGVudFJlZjpvfSldfSl9KX0pfSk7SjkuZGlzcGxheU5hbWU9RnU7dmFyIFo5PSJBbGVydERpYWxvZ1RpdGxlIixlVz1nLmZvcndhcmRSZWYoKGUsdCk9Pntjb25zdHtfX3Njb3BlQWxlcnREaWFsb2c6ciwuLi5ufT1lLGE9Tm8ocik7cmV0dXJuIHMuanN4KEdwLHsuLi5hLC4uLm4scmVmOnR9KX0pO2VXLmRpc3BsYXlOYW1lPVo5O3ZhciB0Vz0iQWxlcnREaWFsb2dEZXNjcmlwdGlvbiIsclc9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZUFsZXJ0RGlhbG9nOnIsLi4ubn09ZSxhPU5vKHIpO3JldHVybiBzLmpzeChxcCx7Li4uYSwuLi5uLHJlZjp0fSl9KTtyVy5kaXNwbGF5TmFtZT10Vzt2YXIgSXllPSJBbGVydERpYWxvZ0FjdGlvbiIsblc9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZUFsZXJ0RGlhbG9nOnIsLi4ubn09ZSxhPU5vKHIpO3JldHVybiBzLmpzeChSdyx7Li4uYSwuLi5uLHJlZjp0fSl9KTtuVy5kaXNwbGF5TmFtZT1JeWU7dmFyIHNXPSJBbGVydERpYWxvZ0NhbmNlbCIsYVc9Zy5mb3J3YXJkUmVmKChlLHQpPT57Y29uc3R7X19zY29wZUFsZXJ0RGlhbG9nOnIsLi4ubn09ZSx7Y2FuY2VsUmVmOmF9PUZ5ZShzVyxyKSxpPU5vKHIpLG89V2UodCxhKTtyZXR1cm4gcy5qc3goUncsey4uLmksLi4ubixyZWY6b30pfSk7YVcuZGlzcGxheU5hbWU9c1c7dmFyIFV5ZT0oe2NvbnRlbnRSZWY6ZX0pPT57Y29uc3QgdD1gXGAke0Z1fVxgIHJlcXVpcmVzIGEgZGVzY3JpcHRpb24gZm9yIHRoZSBjb21wb25lbnQgdG8gYmUgYWNjZXNzaWJsZSBmb3Igc2NyZWVuIHJlYWRlciB1c2Vycy4KCllvdSBjYW4gYWRkIGEgZGVzY3JpcHRpb24gdG8gdGhlIFxgJHtGdX1cYCBieSBwYXNzaW5nIGEgXGAke3RXfVxgIGNvbXBvbmVudCBhcyBhIGNoaWxkLCB3aGljaCBhbHNvIGJlbmVmaXRzIHNpZ2h0ZWQgdXNlcnMgYnkgYWRkaW5nIHZpc2libGUgY29udGV4dCB0byB0aGUgZGlhbG9nLgoKQWx0ZXJuYXRpdmVseSwgeW91IGNhbiB1c2UgeW91ciBvd24gY29tcG9uZW50IGFzIGEgZGVzY3JpcHRpb24gYnkgYXNzaWduaW5nIGl0IGFuIFxgaWRcYCBhbmQgcGFzc2luZyB0aGUgc2FtZSB2YWx1ZSB0byB0aGUgXGBhcmlhLWRlc2NyaWJlZGJ5XGAgcHJvcCBpbiBcYCR7RnV9XGAuIElmIHRoZSBkZXNjcmlwdGlvbiBpcyBjb25mdXNpbmcgb3IgZHVwbGljYXRpdmUgZm9yIHNpZ2h0ZWQgdXNlcnMsIHlvdSBjYW4gdXNlIHRoZSBcYEByYWRpeC11aS9yZWFjdC12aXN1YWxseS1oaWRkZW5cYCBwcmltaXRpdmUgYXMgYSB3cmFwcGVyIGFyb3VuZCB5b3VyIGRlc2NyaXB0aW9uIGNvbXBvbmVudC4KCkZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly9yYWRpeC11aS5jb20vcHJpbWl0aXZlcy9kb2NzL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nYDtyZXR1cm4gZy51c2VFZmZlY3QoKCk9Pnt2YXIgbjtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgobj1lLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpuLmdldEF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIpKXx8Y29uc29sZS53YXJuKHQpfSxbdCxlXSksbnVsbH0sRHllPXE5LE15ZT1ZOSxpVz1YOSxvVz1KOSxsVz1uVyxjVz1hVyxkVz1lVyx1Vz1yVztjb25zdCBSeWU9RHllLFF5ZT1NeWUsQVc9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KGlXLHtjbGFzc05hbWU6d2UoImZpeGVkIGluc2V0LTAgei01MCBiZy1ibGFjay84MCBkYXRhLVtzdGF0ZT1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWNsb3NlZF06YW5pbWF0ZS1vdXQgZGF0YS1bc3RhdGU9Y2xvc2VkXTpmYWRlLW91dC0wIGRhdGEtW3N0YXRlPW9wZW5dOmZhZGUtaW4tMCIsZSksLi4udCxyZWY6cn0pKTtBVy5kaXNwbGF5TmFtZT1pVy5kaXNwbGF5TmFtZTtjb25zdCBmVz1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3hzKFF5ZSx7Y2hpbGRyZW46W3MuanN4KEFXLHt9KSxzLmpzeChvVyx7cmVmOnIsY2xhc3NOYW1lOndlKCJmaXhlZCBsZWZ0LVs1MCVdIHRvcC1bNTAlXSB6LTUwIGdyaWQgdy1mdWxsIG1heC13LWxnIHRyYW5zbGF0ZS14LVstNTAlXSB0cmFuc2xhdGUteS1bLTUwJV0gZ2FwLTQgYm9yZGVyIGJnLWJhY2tncm91bmQgcC02IHNoYWRvdy1sZyBkdXJhdGlvbi0yMDAgZGF0YS1bc3RhdGU9b3Blbl06YW5pbWF0ZS1pbiBkYXRhLVtzdGF0ZT1jbG9zZWRdOmFuaW1hdGUtb3V0IGRhdGEtW3N0YXRlPWNsb3NlZF06ZmFkZS1vdXQtMCBkYXRhLVtzdGF0ZT1vcGVuXTpmYWRlLWluLTAgZGF0YS1bc3RhdGU9Y2xvc2VkXTp6b29tLW91dC05NSBkYXRhLVtzdGF0ZT1vcGVuXTp6b29tLWluLTk1IGRhdGEtW3N0YXRlPWNsb3NlZF06c2xpZGUtb3V0LXRvLWxlZnQtMS8yIGRhdGEtW3N0YXRlPWNsb3NlZF06c2xpZGUtb3V0LXRvLXRvcC1bNDglXSBkYXRhLVtzdGF0ZT1vcGVuXTpzbGlkZS1pbi1mcm9tLWxlZnQtMS8yIGRhdGEtW3N0YXRlPW9wZW5dOnNsaWRlLWluLWZyb20tdG9wLVs0OCVdIHNtOnJvdW5kZWQtbGciLGUpLC4uLnR9KV19KSk7ZlcuZGlzcGxheU5hbWU9b1cuZGlzcGxheU5hbWU7Y29uc3QgaFc9KHtjbGFzc05hbWU6ZSwuLi50fSk9PnMuanN4KCJkaXYiLHtjbGFzc05hbWU6d2UoImZsZXggZmxleC1jb2wgc3BhY2UteS0yIHRleHQtY2VudGVyIHNtOnRleHQtbGVmdCIsZSksLi4udH0pO2hXLmRpc3BsYXlOYW1lPSJBbGVydERpYWxvZ0hlYWRlciI7Y29uc3QgbVc9KHtjbGFzc05hbWU6ZSwuLi50fSk9PnMuanN4KCJkaXYiLHtjbGFzc05hbWU6d2UoImZsZXggZmxleC1jb2wtcmV2ZXJzZSBzbTpmbGV4LXJvdyBzbTpqdXN0aWZ5LWVuZCBzbTpzcGFjZS14LTIiLGUpLC4uLnR9KTttVy5kaXNwbGF5TmFtZT0iQWxlcnREaWFsb2dGb290ZXIiO2NvbnN0IHBXPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeChkVyx7cmVmOnIsY2xhc3NOYW1lOndlKCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQiLGUpLC4uLnR9KSk7cFcuZGlzcGxheU5hbWU9ZFcuZGlzcGxheU5hbWU7Y29uc3QgZ1c9Zy5mb3J3YXJkUmVmKCh7Y2xhc3NOYW1lOmUsLi4udH0scik9PnMuanN4KHVXLHtyZWY6cixjbGFzc05hbWU6d2UoInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixlKSwuLi50fSkpO2dXLmRpc3BsYXlOYW1lPXVXLmRpc3BsYXlOYW1lO2NvbnN0IHhXPWcuZm9yd2FyZFJlZigoe2NsYXNzTmFtZTplLC4uLnR9LHIpPT5zLmpzeChsVyx7cmVmOnIsY2xhc3NOYW1lOndlKHdFKCksZSksLi4udH0pKTt4Vy5kaXNwbGF5TmFtZT1sVy5kaXNwbGF5TmFtZTtjb25zdCB5Vz1nLmZvcndhcmRSZWYoKHtjbGFzc05hbWU6ZSwuLi50fSxyKT0+cy5qc3goY1cse3JlZjpyLGNsYXNzTmFtZTp3ZSh3RSh7dmFyaWFudDoib3V0bGluZSJ9KSwibXQtMiBzbTptdC0wIixlKSwuLi50fSkpO3lXLmRpc3BsYXlOYW1lPWNXLmRpc3BsYXlOYW1lO2Z1bmN0aW9uIEx5ZSh7Y2hhbGxlbmdlczplLG9uVXBkYXRlOnR9KXtjb25zdFtyLG5dPWcudXNlU3RhdGUoITEpLFthLGldPWcudXNlU3RhdGUoITApLFtvLGxdPWcudXNlU3RhdGUoITEpLGM9YXN5bmMgZD0+e2QucHJldmVudERlZmF1bHQoKSxsKCEwKTt0cnl7Y29uc3QgdT1lLm1hcChmPT5mLmlkKSx7ZXJyb3I6QX09YXdhaXQgTS5mcm9tKCJjaGFsbGVuZ2VzIikudXBkYXRlKHthdXRvX21hbmFnZW1lbnQ6YX0pLmluKCJpZCIsdSk7aWYoQSl0aHJvdyBBO1cuc3VjY2VzcyhgQXV0by1tYW5hZ2VtZW50ICR7YT8iZW5hYmxlZCI6ImRpc2FibGVkIn0gZm9yICR7ZS5sZW5ndGh9IGNoYWxsZW5nZSR7ZS5sZW5ndGg+MT8icyI6IiJ9YCksbighMSksdCgpfWNhdGNoKHUpe1cuZXJyb3IodS5tZXNzYWdlKX1maW5hbGx5e2woITEpfX07cmV0dXJuIHMuanN4cyh4dCx7b3BlbjpyLG9uT3BlbkNoYW5nZTpuLGNoaWxkcmVuOltzLmpzeCh5ayx7YXNDaGlsZDohMCxjaGlsZHJlbjpzLmpzeHMoVix7c2l6ZToic20iLHZhcmlhbnQ6Im91dGxpbmUiLGNsYXNzTmFtZToiZ2FwLTIiLGNoaWxkcmVuOltzLmpzeCh1dyx7Y2xhc3NOYW1lOiJoLTQgdy00In0pLCJBdXRvIE1hbmFnZW1lbnQiXX0pfSkscy5qc3goZnQse2NoaWxkcmVuOnMuanN4cygiZm9ybSIse29uU3VibWl0OmMsY2hpbGRyZW46W3MuanN4cyh1dCx7Y2hpbGRyZW46W3MuanN4KEF0LHtjaGlsZHJlbjoiQnVsayBBdXRvIE1hbmFnZW1lbnQifSkscy5qc3hzKEl0LHtjaGlsZHJlbjpbIlR1cm4gYXV0by1tYW5hZ2VtZW50IG9uIG9yIG9mZiBmb3IgIixlLmxlbmd0aCwiIHNlbGVjdGVkIGNoYWxsZW5nZSIsZS5sZW5ndGg+MT8icyI6IiIsIi4iXX0pXX0pLHMuanN4KCJkaXYiLHtjbGFzc05hbWU6InB5LTYiLGNoaWxkcmVuOnMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gc3BhY2UteC00IHAtNCBib3JkZXIgcm91bmRlZC1sZyIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTEgZmxleC0xIixjaGlsZHJlbjpbcy5qc3goZmUse2h0bWxGb3I6ImF1dG8tbWFuYWdlbWVudCIsY2xhc3NOYW1lOiJ0ZXh0LWJhc2UgZm9udC1tZWRpdW0iLGNoaWxkcmVuOiJBdXRvIE1hbmFnZW1lbnQifSkscy5qc3goInAiLHtjbGFzc05hbWU6InRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIixjaGlsZHJlbjoiRW5hYmxlIG9yIGRpc2FibGUgYXV0b21hdGVkIHRyYWRpbmcgZm9yIHNlbGVjdGVkIGNoYWxsZW5nZXMifSldfSkscy5qc3goVmMse2lkOiJhdXRvLW1hbmFnZW1lbnQiLGNoZWNrZWQ6YSxvbkNoZWNrZWRDaGFuZ2U6aX0pXX0pfSkscy5qc3hzKHBzLHtjaGlsZHJlbjpbcy5qc3goVix7dHlwZToiYnV0dG9uIix2YXJpYW50OiJvdXRsaW5lIixvbkNsaWNrOigpPT5uKCExKSxkaXNhYmxlZDpvLGNoaWxkcmVuOiJDYW5jZWwifSkscy5qc3goVix7dHlwZToic3VibWl0IixkaXNhYmxlZDpvLGNoaWxkcmVuOm8/IlVwZGF0aW5nLi4uIjoiVXBkYXRlIEFsbCJ9KV19KV19KX0pXX0pfWZ1bmN0aW9uICR5ZSh7dXNlcklkOmUsdXNlckVtYWlsOnR9KXtjb25zdFtyLG5dPWcudXNlU3RhdGUoITEpLFthLGldPWcudXNlU3RhdGUoIiIpLFtvLGxdPWcudXNlU3RhdGUoIiIpLFtjLGRdPWcudXNlU3RhdGUoITEpLHU9YXN5bmMgQT0+e2lmKEEucHJldmVudERlZmF1bHQoKSwhYXx8YS5sZW5ndGg8OCl7Vy5lcnJvcigiUGFzc3dvcmQgbXVzdCBiZSBhdCBsZWFzdCA4IGNoYXJhY3RlcnMiKTtyZXR1cm59aWYoIS9eKD89LipbYS16XSkoPz0uKltBLVpdKSg/PS4qXGQpLy50ZXN0KGEpKXtXLmVycm9yKCJQYXNzd29yZCBtdXN0IGNvbnRhaW4gdXBwZXJjYXNlLCBsb3dlcmNhc2UsIGFuZCBudW1iZXIiKTtyZXR1cm59aWYoYSE9PW8pe1cuZXJyb3IoIlBhc3N3b3JkcyBkbyBub3QgbWF0Y2giKTtyZXR1cm59ZCghMCk7dHJ5e2NvbnN0e2RhdGE6e3Nlc3Npb246aH19PWF3YWl0IE0uYXV0aC5nZXRTZXNzaW9uKCk7aWYoIWgpe1cuZXJyb3IoIk5vdCBhdXRoZW50aWNhdGVkIik7cmV0dXJufWNvbnN0IHA9YXdhaXQgZmV0Y2goImh0dHBzOi8vdGtrZHhobnNtdGlob3V0YmxtZ2Muc3VwYWJhc2UuY28vZnVuY3Rpb25zL3YxL3Jlc2V0LXVzZXItcGFzc3dvcmQiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6e0F1dGhvcml6YXRpb246YEJlYXJlciAke2guYWNjZXNzX3Rva2VufWAsIkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt1c2VySWQ6ZSxuZXdQYXNzd29yZDphfSl9KSxtPWF3YWl0IHAuanNvbigpO2lmKCFwLm9rKXRocm93IG5ldyBFcnJvcihtLmVycm9yfHwiRmFpbGVkIHRvIGNoYW5nZSBwYXNzd29yZCIpO1cuc3VjY2VzcyhgUGFzc3dvcmQgY2hhbmdlZCBmb3IgJHt0fWApLG4oITEpLGkoIiIpLGwoIiIpfWNhdGNoKGgpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGNoYW5naW5nIHBhc3N3b3JkOiIsaCksVy5lcnJvcihoLm1lc3NhZ2V8fCJGYWlsZWQgdG8gY2hhbmdlIHBhc3N3b3JkIil9ZmluYWxseXtkKCExKX19O3JldHVybiBzLmpzeHMoeHQse29wZW46cixvbk9wZW5DaGFuZ2U6bixjaGlsZHJlbjpbcy5qc3goeWsse2FzQ2hpbGQ6ITAsY2hpbGRyZW46cy5qc3hzKFYse3ZhcmlhbnQ6Imdob3N0IixzaXplOiJzbSIsY2xhc3NOYW1lOiJnYXAtMiIsY2hpbGRyZW46W3MuanN4KE8kLHtjbGFzc05hbWU6ImgtNCB3LTQifSksIkNoYW5nZSBQYXNzd29yZCJdfSl9KSxzLmpzeChmdCx7Y2hpbGRyZW46cy5qc3hzKCJmb3JtIix7b25TdWJtaXQ6dSxjaGlsZHJlbjpbcy5qc3hzKHV0LHtjaGlsZHJlbjpbcy5qc3goQXQse2NoaWxkcmVuOiJDaGFuZ2UgUGFzc3dvcmQifSkscy5qc3hzKEl0LHtjaGlsZHJlbjpbIkNoYW5nZSBwYXNzd29yZCBmb3IgIix0XX0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTQgcHktNCIsY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTIiLGNoaWxkcmVuOltzLmpzeChmZSx7aHRtbEZvcjoibmV3UGFzc3dvcmQiLGNoaWxkcmVuOiJOZXcgUGFzc3dvcmQifSkscy5qc3goeGUse2lkOiJuZXdQYXNzd29yZCIsdHlwZToicGFzc3dvcmQiLHZhbHVlOmEsb25DaGFuZ2U6QT0+aShBLnRhcmdldC52YWx1ZSkscGxhY2Vob2xkZXI6IkVudGVyIG5ldyBwYXNzd29yZCIsbWluTGVuZ3RoOjYscmVxdWlyZWQ6ITB9KSxzLmpzeCgicCIse2NsYXNzTmFtZToidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQiLGNoaWxkcmVuOiJNaW5pbXVtIDggY2hhcmFjdGVycyB3aXRoIHVwcGVyY2FzZSwgbG93ZXJjYXNlLCBhbmQgbnVtYmVyIn0pXX0pLHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJzcGFjZS15LTIiLGNoaWxkcmVuOltzLmpzeChmZSx7aHRtbEZvcjoiY29uZmlybVBhc3N3b3JkIixjaGlsZHJlbjoiQ29uZmlybSBQYXNzd29yZCJ9KSxzLmpzeCh4ZSx7aWQ6ImNvbmZpcm1QYXNzd29yZCIsdHlwZToicGFzc3dvcmQiLHZhbHVlOm8sb25DaGFuZ2U6QT0+bChBLnRhcmdldC52YWx1ZSkscGxhY2Vob2xkZXI6IkNvbmZpcm0gbmV3IHBhc3N3b3JkIixtaW5MZW5ndGg6NixyZXF1aXJlZDohMH0pXX0pXX0pLHMuanN4cyhwcyx7Y2hpbGRyZW46W3MuanN4KFYse3R5cGU6ImJ1dHRvbiIsdmFyaWFudDoib3V0bGluZSIs"}},"time_used":154,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":154,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"flowingfunded.com/assets/hero-bg-mobile-Dnj5XU_6.webp","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.819Z","timestamp":1785132909819,"http_version":"HTTP/2","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":"flowingfunded.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 14:19:37 GMT","end":"Sun, 27 Sep 2026 15:19:26 GMT"},"fingerprint":{"sha1":"89:FB:AC:AE:FD:C5:E6:6C:69:96:FC:C9:2F:35:EE:BE:6D:00:74:59","sha256":"80:9F:22:30:AF:89:84:9A:68:2A:A1:33:43:79:81:0C:22:DE:46:21:AB:5F:D3:B3:0B:46:F6:D5:64:76:30:11"}}},"request":{"raw":"GET /assets/hero-bg-mobile-Dnj5XU_6.webp HTTP/1.1\r\nHost: flowingfunded.com\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\nReferer: https://flowingfunded.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: __dpl=74a49da6-df72-4018-ae46-fd887bfd03c1; __cf_bm=pbR.8upXfhqfjXZJVBx4ZBKa0FNEihqEnkCVuO1dXBw-1785132908.4524689-1.0.1.1-MMtPjJdYJlho8meZJBIR6RaPq7rySJLmpHioPKijBxWMLKtCcvxpSOrOXa62bPYjdaaCzmm8GljMDkd3PxqMDruoe9RuSzvPfUBjehuCUzg0qR7aPhArgerBS6.5Bw8l\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, 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\ndate: Mon, 27 Jul 2026 06:15:09 GMT\r\ncontent-type: image/webp\r\ncontent-length: 26388\r\ncache-control: public, max-age=31536000, immutable\r\netag: \"5a478a79b727aac5a34a85918d2293ee\"\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-content-type-options: nosniff\r\nx-deployment-id: 74a49da6-df72-4018-ae46-fd887bfd03c1\r\nserver: cloudflare\r\ncf-ray: a219820e6f1a0afa-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":"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":26388,"size_decoded":26855,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"5a478a79b727aac5a34a85918d2293ee","sha1":"92d92009cc35fbaa469bf9a2a79f745bc6b92aad","sha256":"6781d5f222e086cf5500ed3cee6e0757606b5fcd5400c6497a893eea9a71dee8","sha512":"fc419fe435a44766e18875f927d966ad7a428c0c548438d0d2be67afd516313396976b0327e0287b7f8ac35a1de1135b6c8b5a6f43d6c9d2f4611c45fd1fc4f8","ssdeep":"768:vPtjPG6NFXMp4YcyEz6cCMoecmMD4ShaYwSU6VWc72JaG:vPtjegFXc4YcyEz6lejMD4SkYsE72B","tlshash":"48c2d0ac5464bbb8ec7b3821461c3f31ccd07b255d98e4e1f647be326a6b613e89d810","first_seen":"2026-02-16T17:38:03.141043Z","last_seen":"2026-07-27T10:45:50.809367Z","times_seen":5,"resource_available":false,"data":"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kqdsweiDVdK+EmpfHNC8SzzQiZ/3LTVIrJTbtGt5YcbpUEo7P4hl3XeY21fzCXGvFlA+/2x2AXm5CkDY2WAC5VR7bOWhsA9as5OFrjc5VNFTsgVxUWlx9IqrqPRQNgejpmpl0RTcVNkjIjlFN3DXBd02XKL7x16Bn50H100w1+5kr5qEQGvaabJSFidjaeAAAAAAAAAAAAAAAAlINO3IkaP+uLqV/KHrkfThlR3xKjoim4qbdo0L+o6tox8yeNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNomNNolQAA/v/fbtQAAAAAAAAAADB/7ozQGhnhGoslEhtMKG47T/W1qEd3N0qBcbCJ1BXcwrgDlCUjtG53HcHWY/x9RZPHludi1EC2VORd8Ija+5xFTcI277XcMw8OFbYSGjUfug4tfvmfu2aNa3RcyopWtZ2BIr94sdTgu3BbxDrYOCmA2o0nQv7j90fwKNbQzDOA7RXqdR/Wifbj3dQiqOH+3flVChxlwMn5MFOa5zoxuYH+jvag9eGnhSU0nm01NqlwBCaXV+QR/Tex18WIaZSQCQ7OkGsmLTw3ZQTQAIODR7lv0dLAZf6RmxqItGvrQPufiQapF2Mn7JfMtgLMKtAa0V3zR1TZgwJVGkWl4NyBOATYRasYGOnlhNKfmOaGtB/mcsiaMb+NF/XI3phG4XFa+4TqcMaCBmjWbnYr45dZVfQNWSYBWanw+1jL/R8W5TsIzpJm1OXarhdQb+j2w3RgcFVy9+grmcvO2bNoTwS9f7EXn48gckTKauL90qhahZkcmc8e/+FGedXWW44rsN7E32g4OChJ2ocQl0pwq9udMG3iVR+FNftRLL3u4I/wW+0jMyUyN225ZivzzqOBbyte6KFHfEQtAuR3UUF5KK8qUmCMSTRFcyYWD1MtyeCZTNZJAaFcoQFgytdZJ545+uZ/4FN/2oWf7L/5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"}},"time_used":70,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":70,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.927Z","timestamp":1785132909927,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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://flowingfunded.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 407095\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-07-31T21:35:03.371896Z","times_seen":250200,"resource_available":false,"data":"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"}},"time_used":104,"timings":{"blocked":-1,"dns":0,"connect":31,"send":0,"wait":19,"receive":53,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.932Z","timestamp":1785132909932,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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://flowingfunded.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 407095\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-07-31T21:35:03.371896Z","times_seen":250200,"resource_available":false,"data":"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"}},"time_used":100,"timings":{"blocked":25,"dns":0,"connect":0,"send":0,"wait":35,"receive":40,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.935Z","timestamp":1785132909935,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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://flowingfunded.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 407095\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-07-31T21:35:03.371896Z","times_seen":250200,"resource_available":false,"data":"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"}},"time_used":99,"timings":{"blocked":24,"dns":0,"connect":0,"send":0,"wait":50,"receive":25,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.931Z","timestamp":1785132909931,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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://flowingfunded.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 407095\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-07-31T21:35:03.371896Z","times_seen":250200,"resource_available":false,"data":"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"}},"time_used":98,"timings":{"blocked":25,"dns":0,"connect":0,"send":0,"wait":29,"receive":44,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"flowingfunded.com/favicon.png","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:10.091Z","timestamp":1785132910091,"http_version":"HTTP/2","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":"flowingfunded.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 14:19:37 GMT","end":"Sun, 27 Sep 2026 15:19:26 GMT"},"fingerprint":{"sha1":"89:FB:AC:AE:FD:C5:E6:6C:69:96:FC:C9:2F:35:EE:BE:6D:00:74:59","sha256":"80:9F:22:30:AF:89:84:9A:68:2A:A1:33:43:79:81:0C:22:DE:46:21:AB:5F:D3:B3:0B:46:F6:D5:64:76:30:11"}}},"request":{"raw":"GET /favicon.png HTTP/1.1\r\nHost: flowingfunded.com\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\nReferer: https://flowingfunded.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: __dpl=74a49da6-df72-4018-ae46-fd887bfd03c1; __cf_bm=pbR.8upXfhqfjXZJVBx4ZBKa0FNEihqEnkCVuO1dXBw-1785132908.4524689-1.0.1.1-MMtPjJdYJlho8meZJBIR6RaPq7rySJLmpHioPKijBxWMLKtCcvxpSOrOXa62bPYjdaaCzmm8GljMDkd3PxqMDruoe9RuSzvPfUBjehuCUzg0qR7aPhArgerBS6.5Bw8l\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\ndate: Mon, 27 Jul 2026 06:15:10 GMT\r\ncontent-type: image/png\r\ncontent-length: 18643\r\netag: \"71775e0d0f1bdaa765d7d117c74108e0\"\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-content-type-options: nosniff\r\nx-deployment-id: 74a49da6-df72-4018-ae46-fd887bfd03c1\r\nserver: cloudflare\r\ncf-ray: a21982101fba0afa-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":"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":18643,"size_decoded":19057,"mime_type":"image/png","magic":"PNG image data, 2000 x 2000, 8-bit/color RGB, non-interlaced","md5":"71775e0d0f1bdaa765d7d117c74108e0","sha1":"5c303962af65f9bb30ba8536eaff004360843404","sha256":"bc4d22b9bb7fd72f6360bcb966878edbd21588e0aef172b8f359c1e337345606","sha512":"fc173582ee27f67f61f81ef57f5dfd0b3f8366d1c7fc095fd447cd22de1fd354c7f26ad592f70969795997f19c831d72904ca8abeed3f5506f817481784e3445","ssdeep":"384:NbxmKWWXmXmXmXmXX41mxXmXXfmyXmXXmXmsXmXXmXmXmAb:D7x","tlshash":"298216405b722796cc68673746c32fb40b798e4b94e01f7e431b56c329dba325a63be1","first_seen":"2026-05-23T19:58:24.193164Z","last_seen":"2026-07-27T10:45:50.807442Z","times_seen":5,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAB9AAAAfQCAIAAAAVWlMuAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFP2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI2LTAyLTI2PC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkRhdGE+eyZxdW90O2RvYyZxdW90OzomcXVvdDtEQUhDY2RHX1llayZxdW90OywmcXVvdDt1c2VyJnF1b3Q7OiZxdW90O1VBRTh2SVdjZUFJJnF1b3Q7LCZxdW90O2JyYW5kJnF1b3Q7OiZxdW90O0JBRTh2T19FMzRrJnF1b3Q7fTwvQXR0cmliOkRhdGE+CiAgICAgPEF0dHJpYjpFeHRJZD5hY2UzNTcxYy01YWIyLTQzZjQtYjc1OC0yMTNhYzQxNGU3MGM8L0F0dHJpYjpFeHRJZD4KICAgICA8QXR0cmliOkZiSWQ+NTI1MjY1OTE0MTc5NTgwPC9BdHRyaWI6RmJJZD4KICAgICA8QXR0cmliOlRvdWNoVHlwZT4yPC9BdHRyaWI6VG91Y2hUeXBlPgogICAgPC9yZGY6bGk+CiAgIDwvcmRmOlNlcT4KICA8L0F0dHJpYjpBZHM+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyc+CiAgPGRjOnRpdGxlPgogICA8cmRmOkFsdD4KICAgIDxyZGY6bGkgeG1sOmxhbmc9J3gtZGVmYXVsdCc+RkYgLSAxPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogIDxwZGY6QXV0aG9yPnptNGY5N2hrbW48L3BkZjpBdXRob3I+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOnhtcD0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyc+CiAgPHhtcDpDcmVhdG9yVG9vbD5DYW52YSAoUmVuZGVyZXIpIGRvYz1EQUhDY2RHX1llayB1c2VyPVVBRTh2SVdjZUFJIGJyYW5kPUJBRTh2T19FMzRrPC94bXA6Q3JlYXRvclRvb2w+CiA8L3JkZjpEZXNjcmlwdGlvbj4KPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0ncic/Po26MFYAAABOZVhJZk1NACoAAAAIAAQBGgAFAAAAAQAAAD4BGwAFAAAAAQAAAEYBKAADAAAAAQACAAACEwADAAAAAQABAAAAAAAAAAAAYAAAAAEAAABgAAAAAXcF3+cAAELgSURBVHic7NjBCQAhEMDA8/rveS3CgCAzFeSdNTMfAAAAAABw5r8dAAAAAAAALzDcAQAAAAAgYLgDAAAAAEDAcAcAAAAAgIDhDgAAAAAAAcMdAAAAAAAChjsAAAAAAAQMdwAAAAAACBjuAAAAAAAQMNwBAAAAACBguAMAAAAAQMBwBwAAAACAgOEOAAAAAAABwx0AAAAAAAKGOwAAAAAABAx3AAAAAAAIGO4AAAAAABAw3AEAAAAAIGC4AwAAAABAwHAHAAAAAICA4Q4AAAAAAAHDHQAAAAAAAoY7AAAAAAAEDHcAAAAAAAgY7gAAAAAAEDDcAQAAAAAgYLgDAAAAAEDAcAcAAAAAgIDhDgAAAAAAAcMdAAAAAAAChjsAAAAAAAQMdwAAAAAACBjuAAAAAAAQMNwBAAAAACBguAMAAAAAQMBwBwAAAACAgOEOAAAAAAABwx0AAAAAAAKGOwAAAAAABAx3AAAAAAAIGO4AAAAAABAw3AEAAAAAIGC4AwAAAABAYAMAAP//7NixAAAAAMAgf+tJ7CyMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADAIAAP//7NixAAAAAMAgf+tJ7CyMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+zYsQAAAADAIH/rSewsjIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+zYsQAAAADAIH/rSewsjIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADAIAAP//7NixAAAAAMAgf+tJ7CyMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADAIAAP//7NixAAAAAMAgf+tJ7CyMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+zaIRECUQBF0S8waBQ9GDRZNggl6EEBPBq3EdDbgBKX+TNwToKn7zzBHQAAAAAAAoI7AAAAAAAEBHcAAAAAAAgI7gAAAAAAEBDcAQAAAAAgILgDAAAAAEBAcAcAAAAAgIDgDgAAAAAAAcEdAAAAAAACgjsAAAAAAAQEdwAAAAAACAjuAAAAAAAQENwBAAAAACAguAMAAAAAQEBwBwAAAACAgOAOAAAAAAABwR0AAAAAAAKCOwAAAAAABAR3AAAAAAAICO4AAAAAABAQ3AEAAAAAICC4AwAAAABAYDd7APCbrq/xeM8eAQCp437cL7NH8GXLc6zb7BEAkDodxu08ewT8DQ93AAAAAAAICO4AAAAAABAQ3AEAAAAAICC4AwAAAABAQHAHAAAAAICA4A4AAAAAAAHBHQAAAAAAAoI7AAAAAAAEBHcAAAAAAAgI7gAAAAAAEBDcAQAAAAAgILgDAAAAAEBAcAcAAAAAgIDgDgAAAAAAAcEdAAAAAAACgjsAAAAAAAQEdwAAAAAACAjuAAAAAAAQENwBAAAAACAguAMAAAAAQEBwBwAAAACAwAcAAP//7NixAAAAAMAgf+tJ7CyMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2rEJgEAABEEDDcU6bMHYOi3E6qxBWHjBmQouXk5wBwAAAACAgOAOAAAAAAABwR0AAAAAAAKCOwAAAAAABAR3AAAAAAAICO4AAAAAABAQ3AEAAAAAICC4AwAAAABAQHAHAAAAAICA4A4AAAAAAAHBHQAAAAAAAoI7AAAAAAAEBHcAAAAAAAgI7gAAAAAAEBDcAQAAAAAgILgDAAAAAEBAcAcAAAAAgIDgDgAAAAAAAcEdAAAAAAACgjsAAAAAAAQEdwAAAAAACAjuAAAAAAAQENwBAAAAACAguAMAAAAAQEBwBwAAAACAgOAOAAAAAAABwR0AAAAAAAKCOwAAAAAABAR3AAAAAAAICO4AAAAAABAQ3AEAAAAAICC4AwAAAABAQHAHAAAAAICA4A4AAAAAAAHBHQAAAAAAAoI7AAAAAAAEBHcAAAAAAAgI7gAAAAAAEBDcAQAAAAAgILgDAAAAAEBAcAcAAAAAgIDgDgAAAAAAgXn0AAB+6jqmfRs9AgDgpfuc1mX0CADgqzzcAQAAAAAgILgDAAAAAEDgAQAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+zYsQAAAADAIH/rSewsjIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+zYsQAAAADAIH/rSewsjIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAA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AAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADAIAAP//7NixAAAAAMAgf+tJ7CyMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADAIAAP//7NixAAAAAMAgf+tJ7CyMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADAIAAP//7NixAAAAAMAgf+tJ7CyMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+zYsQAAAADAIH/rSewsjIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+zawQkAIAADMdx/6LrEgQjJBH0fFdwBAAAAACAguAMAAAAAQEBwBwAAAACAgOAOAAAAAAABwR0AAAAAAAKCOwAAAAAABAR3AAAAAAAICO4AAAAAABAQ3AEAAAAAICC4AwAAAABAQHAHAAAAAICA4A4AAAAAAAHBHQAAAAAAAoI7AAAAAAAEzrbXGwAAAAAA4Hse7gAAAAAAEBDcAQAAAAAgILgDAAAAAEBAcAcAAAAAgIDgDgAAAAAAAcEdAAAAAAACgjsAAAAAAAQEdwAAAAAACAjuAAAAAAAQENwBAAAAACAguAMAAAAAQEBwBwAAAACAgOAOAAAAAAABwR0AAAAAAAKCOwAAAAAABAR3AAAAAAAICO4AAAAAABAQ3AEAAAAAICC4AwAAAABAQHAHAAAAAICA4A4AAAAAAAHBHQAAAAAAAoI7AAAAAAAEBHcAAAAAAAgI7gAAAAAAEBDcAQAAAAAgILgDAAAAAEBAcAcAAAAAgIDgDgAAAAAAAcEdAAAAAAACFwAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+zYsQAAAADAIH/rSewsjIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+zYsQAAAADAIH/rSewsjIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+zYsQAAAADAIH/rSewsjIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADAIAAP//7NixAAAAAMAgf+tJ7CyMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADAIAAP//7NixAAAAAMAgf+tJ7CyMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMAgAA///s2LEAAAAAwCB/60nsLIyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+zYsQAAAADAIH/rSewsjIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAwCAAD//+3YsQAAAADAIH/rSewsjIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADIQ7AAAAAAAMhDsAAAAAAAyEOwAAAAAADAJMhSYrHZll+AAAAABJRU5ErkJggg=="}},"time_used":56,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":56,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"flowingfunded.com/~api/analytics","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:10.159Z","timestamp":1785132910159,"http_version":"HTTP/2","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":"flowingfunded.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 14:19:37 GMT","end":"Sun, 27 Sep 2026 15:19:26 GMT"},"fingerprint":{"sha1":"89:FB:AC:AE:FD:C5:E6:6C:69:96:FC:C9:2F:35:EE:BE:6D:00:74:59","sha256":"80:9F:22:30:AF:89:84:9A:68:2A:A1:33:43:79:81:0C:22:DE:46:21:AB:5F:D3:B3:0B:46:F6:D5:64:76:30:11"}}},"request":{"raw":"POST /~api/analytics HTTP/1.1\r\nHost: flowingfunded.com\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\nReferer: https://flowingfunded.com/\r\nContent-Type: application/json\r\nContent-Length: 338\r\nOrigin: https://flowingfunded.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: __dpl=74a49da6-df72-4018-ae46-fd887bfd03c1; __cf_bm=pbR.8upXfhqfjXZJVBx4ZBKa0FNEihqEnkCVuO1dXBw-1785132908.4524689-1.0.1.1-MMtPjJdYJlho8meZJBIR6RaPq7rySJLmpHioPKijBxWMLKtCcvxpSOrOXa62bPYjdaaCzmm8GljMDkd3PxqMDruoe9RuSzvPfUBjehuCUzg0qR7aPhArgerBS6.5Bw8l; session-id=141801f6-5e65-40fb-978b-2d6432ab3546\r\nSec-Fetch-Dest: empty\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":"POST","post_data":{"size":338,"data":"{\"timestamp\":\"2026-07-27T06:15:10.154Z\",\"action\":\"page_hit\",\"version\":\"1\",\"session_id\":\"141801f6-5e65-40fb-978b-2d6432ab3546\",\"payload\":\"{\\\"user-agent\\\":\\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\\\",\\\"locale\\\":\\\"en-US\\\",\\\"referrer\\\":\\\"\\\",\\\"pathname\\\":\\\"/\\\",\\\"href\\\":\\\"https://flowingfunded.com/\\\"}\"}"}},"response":{"raw":"HTTP/2 202 \r\ndate: Mon, 27 Jul 2026 06:15:10 GMT\r\ncontent-type: text/plain; charset=UTF-8\r\ncontent-length: 8\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-content-type-options: nosniff\r\nserver: cloudflare\r\ncf-ray: a21982107fd40afa-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"202","status_text":"","fingerprints":[{"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":"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":8,"size_decoded":337,"mime_type":"text/plain; charset=UTF-8","magic":"ASCII text, with no line terminators","md5":"382ab522931673c11e398ead1b7b1678","sha1":"61a0572c4893ef34311320d84c82df88bea83e11","sha256":"a00fb0c50741f81bb51d35b4475a4357f8039aabd896a21036bc516839401595","sha512":"685c859b43ec0b2f873fb61ff4c48b3748ede3e31bdda719b69b528546f7a1d528216146db9626d1a411dccdd13f3fd155f3d62d3e2ec8090c71f6710ee60641","ssdeep":"","tlshash":"455000003c0000c0000000c000000000c0000000000000c0c000000000c0c000000000","first_seen":"2023-04-11T14:35:59Z","last_seen":"2026-07-31T20:26:19.921352Z","times_seen":4298,"resource_available":false,"data":"QWNjZXB0ZWQ="}},"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":"flowingfunded.com/assets/index-Df6ZBrGJ.css","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.102Z","timestamp":1785132909102,"http_version":"HTTP/2","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":"flowingfunded.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 14:19:37 GMT","end":"Sun, 27 Sep 2026 15:19:26 GMT"},"fingerprint":{"sha1":"89:FB:AC:AE:FD:C5:E6:6C:69:96:FC:C9:2F:35:EE:BE:6D:00:74:59","sha256":"80:9F:22:30:AF:89:84:9A:68:2A:A1:33:43:79:81:0C:22:DE:46:21:AB:5F:D3:B3:0B:46:F6:D5:64:76:30:11"}}},"request":{"raw":"GET /assets/index-Df6ZBrGJ.css HTTP/1.1\r\nHost: flowingfunded.com\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\nReferer: https://flowingfunded.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: __dpl=74a49da6-df72-4018-ae46-fd887bfd03c1; __cf_bm=pbR.8upXfhqfjXZJVBx4ZBKa0FNEihqEnkCVuO1dXBw-1785132908.4524689-1.0.1.1-MMtPjJdYJlho8meZJBIR6RaPq7rySJLmpHioPKijBxWMLKtCcvxpSOrOXa62bPYjdaaCzmm8GljMDkd3PxqMDruoe9RuSzvPfUBjehuCUzg0qR7aPhArgerBS6.5Bw8l\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\ndate: Mon, 27 Jul 2026 06:15:09 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncache-control: public, max-age=31536000, immutable\r\nx-deployment-id: 74a49da6-df72-4018-ae46-fd887bfd03c1\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-content-type-options: nosniff\r\netag: W/\"d9e69e345ce35260ccb100aa2de15c05\"\r\ncontent-encoding: gzip\r\nserver: cloudflare\r\ncf-ray: a2198209ed840afa-OSL\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":"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"]}],"data":{"size":170801,"size_decoded":24143,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"d9e69e345ce35260ccb100aa2de15c05","sha1":"77accecb3e92fab7b775f9bafd703aa7c5a84139","sha256":"0bab97e8e32c46d7edfc6357bbfa1c6cf94dfe9108cf3f233bcbfb02dc391483","sha512":"06547533de95c12b208a51c6616972489cf13d2641a25aeafa9660c00f70fb70b4615b981d582f7529a6cafa8d9fd88cd5ab1d53a1b308da7ee3cf019adbfa5f","ssdeep":"3072:vz0FRhmmQchOifUf+agIgUIB8U0OOgG380378VQZkt5F8efI:vz0nhmmQchOifUf+agIgUJ80378VQZkK","tlshash":"65f31079a9a4607bbc17f1e4d38c786de92af1d4de3e06a9e885021477f23f60d5b900","first_seen":"2026-07-27T04:18:19.654747Z","last_seen":"2026-07-27T10:45:50.808066Z","times_seen":4,"resource_available":false,"data":"Kiw6YmVmb3JlLDphZnRlcnstLXR3LWJvcmRlci1zcGFjaW5nLXg6IDA7LS10dy1ib3JkZXItc3BhY2luZy15OiAwOy0tdHctdHJhbnNsYXRlLXg6IDA7LS10dy10cmFuc2xhdGUteTogMDstLXR3LXJvdGF0ZTogMDstLXR3LXNrZXcteDogMDstLXR3LXNrZXcteTogMDstLXR3LXNjYWxlLXg6IDE7LS10dy1zY2FsZS15OiAxOy0tdHctcGFuLXg6IDstLXR3LXBhbi15OiA7LS10dy1waW5jaC16b29tOiA7LS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOiBwcm94aW1pdHk7LS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiA7LS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246IDstLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOiA7LS10dy1vcmRpbmFsOiA7LS10dy1zbGFzaGVkLXplcm86IDstLXR3LW51bWVyaWMtZmlndXJlOiA7LS10dy1udW1lcmljLXNwYWNpbmc6IDstLXR3LW51bWVyaWMtZnJhY3Rpb246IDstLXR3LXJpbmctaW5zZXQ6IDstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7LS10dy1yaW5nLW9mZnNldC1jb2xvcjogI2ZmZjstLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gLjUpOy0tdHctcmluZy1vZmZzZXQtc2hhZG93OiAwIDAgIzAwMDA7LS10dy1yaW5nLXNoYWRvdzogMCAwICMwMDAwOy0tdHctc2hhZG93OiAwIDAgIzAwMDA7LS10dy1zaGFkb3ctY29sb3JlZDogMCAwICMwMDAwOy0tdHctYmx1cjogOy0tdHctYnJpZ2h0bmVzczogOy0tdHctY29udHJhc3Q6IDstLXR3LWdyYXlzY2FsZTogOy0tdHctaHVlLXJvdGF0ZTogOy0tdHctaW52ZXJ0OiA7LS10dy1zYXR1cmF0ZTogOy0tdHctc2VwaWE6IDstLXR3LWRyb3Atc2hhZG93OiA7LS10dy1iYWNrZHJvcC1ibHVyOiA7LS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiA7LS10dy1iYWNrZHJvcC1jb250cmFzdDogOy0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiA7LS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiA7LS10dy1iYWNrZHJvcC1pbnZlcnQ6IDstLXR3LWJhY2tkcm9wLW9wYWNpdHk6IDstLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiA7LS10dy1iYWNrZHJvcC1zZXBpYTogOy0tdHctY29udGFpbi1zaXplOiA7LS10dy1jb250YWluLWxheW91dDogOy0tdHctY29udGFpbi1wYWludDogOy0tdHctY29udGFpbi1zdHlsZTogfTo6YmFja2Ryb3B7LS10dy1ib3JkZXItc3BhY2luZy14OiAwOy0tdHctYm9yZGVyLXNwYWNpbmcteTogMDstLXR3LXRyYW5zbGF0ZS14OiAwOy0tdHctdHJhbnNsYXRlLXk6IDA7LS10dy1yb3RhdGU6IDA7LS10dy1za2V3LXg6IDA7LS10dy1za2V3LXk6IDA7LS10dy1zY2FsZS14OiAxOy0tdHctc2NhbGUteTogMTstLXR3LXBhbi14OiA7LS10dy1wYW4teTogOy0tdHctcGluY2gtem9vbTogOy0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzczogcHJveGltaXR5Oy0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogOy0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiA7LS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogOy0tdHctb3JkaW5hbDogOy0tdHctc2xhc2hlZC16ZXJvOiA7LS10dy1udW1lcmljLWZpZ3VyZTogOy0tdHctbnVtZXJpYy1zcGFjaW5nOiA7LS10dy1udW1lcmljLWZyYWN0aW9uOiA7LS10dy1yaW5nLWluc2V0OiA7LS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4Oy0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7LS10dy1yaW5nLWNvbG9yOiByZ2IoNTkgMTMwIDI0NiAvIC41KTstLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwOy0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDstLXR3LXNoYWRvdzogMCAwICMwMDAwOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDstLXR3LWJsdXI6IDstLXR3LWJyaWdodG5lc3M6IDstLXR3LWNvbnRyYXN0OiA7LS10dy1ncmF5c2NhbGU6IDstLXR3LWh1ZS1yb3RhdGU6IDstLXR3LWludmVydDogOy0tdHctc2F0dXJhdGU6IDstLXR3LXNlcGlhOiA7LS10dy1kcm9wLXNoYWRvdzogOy0tdHctYmFja2Ryb3AtYmx1cjogOy0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogOy0tdHctYmFja2Ryb3AtY29udHJhc3Q6IDstLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogOy0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogOy0tdHctYmFja2Ryb3AtaW52ZXJ0OiA7LS10dy1iYWNrZHJvcC1vcGFjaXR5OiA7LS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogOy0tdHctYmFja2Ryb3Atc2VwaWE6IDstLXR3LWNvbnRhaW4tc2l6ZTogOy0tdHctY29udGFpbi1sYXlvdXQ6IDstLXR3LWNvbnRhaW4tcGFpbnQ6IDstLXR3LWNvbnRhaW4tc3R5bGU6IH0qLDpiZWZvcmUsOmFmdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItd2lkdGg6MDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiNlNWU3ZWJ9OmJlZm9yZSw6YWZ0ZXJ7LS10dy1jb250ZW50OiAiIn1odG1sLDpob3N0e2xpbmUtaGVpZ2h0OjEuNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbW96LXRhYi1zaXplOjQ7LW8tdGFiLXNpemU6NDt0YWItc2l6ZTo0O2ZvbnQtZmFtaWx5OkludGVyLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWJvZHl7bWFyZ2luOjA7bGluZS1oZWlnaHQ6aW5oZXJpdH1ocntoZWlnaHQ6MDtjb2xvcjppbmhlcml0O2JvcmRlci10b3Atd2lkdGg6MXB4fWFiYnI6d2hlcmUoW3RpdGxlXSl7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIGRvdHRlZDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIGRvdHRlZH1oMSxoMixoMyxoNCxoNSxoNntmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0fWF7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sQ291cmllciBOZXcsbW9ub3NwYWNlO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saW5wdXQ6d2hlcmUoW3R5cGU9YnV0dG9uXSksaW5wdXQ6d2hlcmUoW3R5cGU9cmVzZXRdKSxpbnB1dDp3aGVyZShbdHlwZT1zdWJtaXRdKXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lfTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOmF1dG99Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31bdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7b3V0bGluZS1vZmZzZXQ6LTJweH06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfWJsb2NrcXVvdGUsZGwsZGQsaDEsaDIsaDMsaDQsaDUsaDYsaHIsZmlndXJlLHAscHJle21hcmdpbjowfWZpZWxkc2V0e21hcmdpbjowO3BhZGRpbmc6MH1sZWdlbmR7cGFkZGluZzowfW9sLHVsLG1lbnV7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MH1kaWFsb2d7cGFkZGluZzowfXRleHRhcmVhe3Jlc2l6ZTp2ZXJ0aWNhbH1pbnB1dDo6LW1vei1wbGFjZWhvbGRlcix0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcntvcGFjaXR5OjE7Y29sb3I6IzljYTNhZn1pbnB1dDo6cGxhY2Vob2xkZXIsdGV4dGFyZWE6OnBsYWNlaG9sZGVye29wYWNpdHk6MTtjb2xvcjojOWNhM2FmfWJ1dHRvbixbcm9sZT1idXR0b25de2N1cnNvcjpwb2ludGVyfTpkaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH1pbWcsc3ZnLHZpZGVvLGNhbnZhcyxhdWRpbyxpZnJhbWUsZW1iZWQsb2JqZWN0e2Rpc3BsYXk6YmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWltZyx2aWRlb3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b31baGlkZGVuXTp3aGVyZSg6bm90KFtoaWRkZW49dW50aWwtZm91bmRdKSl7ZGlzcGxheTpub25lfTpyb290ey0tYmFja2dyb3VuZDogMCAwJSAxMDAlOy0tZm9yZWdyb3VuZDogMjIwIDE1JSAxMCU7LS1jYXJkOiAwIDAlIDEwMCU7LS1jYXJkLWZvcmVncm91bmQ6IDIyMCAxNSUgMTAlOy0tcG9wb3ZlcjogMCAwJSAxMDAlOy0tcG9wb3Zlci1mb3JlZ3JvdW5kOiAyMjAgMTUlIDEwJTstLXByaW1hcnk6IDIwNCAxMDAlIDQzJTstLXByaW1hcnktZm9yZWdyb3VuZDogMCAwJSAxMDAlOy0tc2Vjb25kYXJ5OiAyMTAgNDAlIDk2JTstLXNlY29uZGFyeS1mb3JlZ3JvdW5kOiAyMjAgMTUlIDEwJTstLW11dGVkOiAyMTAgNDAlIDk2JTstLW11dGVkLWZvcmVncm91bmQ6IDIyMCAxNSUgNDAlOy0tYWNjZW50OiAyMDYgMTAwJSA1MCU7LS1hY2NlbnQtZm9yZWdyb3VuZDogMCAwJSAxMDAlOy0tZGVzdHJ1Y3RpdmU6IDAgODQlIDYwJTstLWRlc3RydWN0aXZlLWZvcmVncm91bmQ6IDAgMCUgMTAwJTstLXN1Y2Nlc3M6IDE0MiA3MSUgNDUlOy0tc3VjY2Vzcy1mb3JlZ3JvdW5kOiAwIDAlIDEwMCU7LS1wcm9maXQ6IDE0MiA3MSUgNDUlOy0tbG9zczogMCA4NCUgNjAlOy0tYm9yZGVyOiAyMTQgMzIlIDkxJTstLWlucHV0OiAyMTQgMzIlIDkxJTstLXJpbmc6IDIwNiAxMDAlIDUwJTstLXJhZGl1czogLjVyZW07LS1jaGFydC0xOiAyMDYgMTAwJSA1MCU7LS1jaGFydC0yOiAxNDIgNzElIDQ1JTstLWNoYXJ0LTM6IDI4MCA3NSUgNjAlOy0tY2hhcnQtNDogMzAgOTUlIDU1JTstLWNoYXJ0LTU6IDM0MCA4NSUgNTUlfSp7Ym9yZGVyLWNvbG9yOmhzbCh2YXIoLS1ib3JkZXIpKX1ib2R5e2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLWJhY2tncm91bmQpKTtjb2xvcjpoc2wodmFyKC0tZm9yZWdyb3VuZCkpO2ZvbnQtZmFtaWx5OkludGVyLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93LXg6aGlkZGVuO21heC13aWR0aDoxMDB2d31odG1se292ZXJmbG93LXg6aGlkZGVuO21heC13aWR0aDoxMDB2d306Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjBweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fSp7c2Nyb2xsYmFyLXdpZHRoOm5vbmU7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmV9LmNvbnRhaW5lcnt3aWR0aDoxMDAlO21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG87cGFkZGluZy1yaWdodDoycmVtO3BhZGRpbmctbGVmdDoycmVtfUBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjE0MDBweH19LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30udmlzaWJsZXt2aXNpYmlsaXR5OnZpc2libGV9LmludmlzaWJsZXt2aXNpYmlsaXR5OmhpZGRlbn0uY29sbGFwc2V7dmlzaWJpbGl0eTpjb2xsYXBzZX0uc3RhdGlje3Bvc2l0aW9uOnN0YXRpY30uZml4ZWR7cG9zaXRpb246Zml4ZWR9LmFic29sdXRle3Bvc2l0aW9uOmFic29sdXRlfS5yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZX0uc3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0uaW5zZXQtMHt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0uaW5zZXQteC0we2xlZnQ6MDtyaWdodDowfS5pbnNldC15LTB7dG9wOjA7Ym90dG9tOjB9Li1ib3R0b20tMTJ7Ym90dG9tOi0zcmVtfS4tYm90dG9tLTJ7Ym90dG9tOi0uNXJlbX0uLWxlZnQtMTJ7bGVmdDotM3JlbX0uLWxlZnQtMjB7bGVmdDotNXJlbX0uLWxlZnQtNHtsZWZ0Oi0xcmVtfS4tcmlnaHQtMXtyaWdodDotLjI1cmVtfS4tcmlnaHQtMTJ7cmlnaHQ6LTNyZW19Li1yaWdodC0ye3JpZ2h0Oi0uNXJlbX0uLXJpZ2h0LTIwe3JpZ2h0Oi01cmVtfS4tcmlnaHQtM3tyaWdodDotLjc1cmVtfS4tcmlnaHQtOHtyaWdodDotMnJlbX0uLXRvcC0xe3RvcDotLjI1cmVtfS4tdG9wLTEye3RvcDotM3JlbX0uLXRvcC0ye3RvcDotLjVyZW19Li10b3AtMlwuNXt0b3A6LS42MjVyZW19Li10b3AtM3t0b3A6LS43NXJlbX0uYm90dG9tLTB7Ym90dG9tOjB9LmJvdHRvbS0xXC80e2JvdHRvbToyNSV9LmJvdHRvbS0ye2JvdHRvbTouNXJlbX0uYm90dG9tLTIwe2JvdHRvbTo1cmVtfS5ib3R0b20tNXtib3R0b206MS4yNXJlbX0uYm90dG9tLTh7Ym90dG9tOjJyZW19LmxlZnQtMHtsZWZ0OjB9LmxlZnQtMXtsZWZ0Oi4yNXJlbX0ubGVmdC0xXC8ye2xlZnQ6NTAlfS5sZWZ0LTFcLzR7bGVmdDoyNSV9LmxlZnQtMTB7bGVmdDoyLjVyZW19LmxlZnQtMntsZWZ0Oi41cmVtfS5sZWZ0LTN7bGVmdDouNzVyZW19LmxlZnQtNHtsZWZ0OjFyZW19LmxlZnQtNntsZWZ0OjEuNXJlbX0ubGVmdC04e2xlZnQ6MnJlbX0ubGVmdC1cWzE1cHhcXXtsZWZ0OjE1cHh9LmxlZnQtXFs1MFwlXF17bGVmdDo1MCV9LnJpZ2h0LTB7cmlnaHQ6MH0ucmlnaHQtMXtyaWdodDouMjVyZW19LnJpZ2h0LTEwe3JpZ2h0OjIuNXJlbX0ucmlnaHQtMntyaWdodDouNXJlbX0ucmlnaHQtM3tyaWdodDouNzVyZW19LnJpZ2h0LTR7cmlnaHQ6MXJlbX0ucmlnaHQtOHtyaWdodDoycmVtfS50b3AtMHt0b3A6MH0udG9wLTF7dG9wOi4yNXJlbX0udG9wLTFcLjV7dG9wOi4zNzVyZW19LnRvcC0xXC8ye3RvcDo1MCV9LnRvcC0xXC80e3RvcDoyNSV9LnRvcC0xMnt0b3A6M3JlbX0udG9wLTE2e3RvcDo0cmVtfS50b3AtMnt0b3A6LjVyZW19LnRvcC0yMHt0b3A6NXJlbX0udG9wLTN7dG9wOi43NXJlbX0udG9wLTNcLjV7dG9wOi44NzVyZW19LnRvcC00e3RvcDoxcmVtfS50b3AtNXt0b3A6MS4yNXJlbX0udG9wLTh7dG9wOjJyZW19LnRvcC1cWzFweFxde3RvcDoxcHh9LnRvcC1cWzMycHhcXXt0b3A6MzJweH0udG9wLVxbNTBcJVxde3RvcDo1MCV9LnRvcC1cWzYwXCVcXXt0b3A6NjAlfS50b3AtZnVsbHt0b3A6MTAwJX0uei0xMHt6LWluZGV4OjEwfS56LTIwe3otaW5kZXg6MjB9LnotNDB7ei1pbmRleDo0MH0uei01MHt6LWluZGV4OjUwfS56LVxbMTAwXF17ei1pbmRleDoxMDB9LnotXFsxNTBcXXt6LWluZGV4OjE1MH0uei1cWzFcXXt6LWluZGV4OjF9LnotXFsyMDBcXXt6LWluZGV4OjIwMH0uY29sLXNwYW4tMntncmlkLWNvbHVtbjpzcGFuIDIgLyBzcGFuIDJ9Li1teC0xe21hcmdpbi1sZWZ0Oi0uMjVyZW07bWFyZ2luLXJpZ2h0Oi0uMjVyZW19Lm14LTJ7bWFyZ2luLWxlZnQ6LjVyZW07bWFyZ2luLXJpZ2h0Oi41cmVtfS5teC0ze21hcmdpbi1sZWZ0Oi43NXJlbTttYXJnaW4tcmlnaHQ6Ljc1cmVtfS5teC0zXC41e21hcmdpbi1sZWZ0Oi44NzVyZW07bWFyZ2luLXJpZ2h0Oi44NzVyZW19Lm14LTR7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6MXJlbX0ubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5teS0wXC41e21hcmdpbi10b3A6LjEyNXJlbTttYXJnaW4tYm90dG9tOi4xMjVyZW19Lm15LTF7bWFyZ2luLXRvcDouMjVyZW07bWFyZ2luLWJvdHRvbTouMjVyZW19Lm15LTJ7bWFyZ2luLXRvcDouNXJlbTttYXJnaW4tYm90dG9tOi41cmVtfS5teS04e21hcmdpbi10b3A6MnJlbTttYXJnaW4tYm90dG9tOjJyZW19Li1tbC0ye21hcmdpbi1sZWZ0Oi0uNXJlbX0uLW1sLTR7bWFyZ2luLWxlZnQ6LTFyZW19Li1tdC00e21hcmdpbi10b3A6LTFyZW19Lm1iLTBcLjV7bWFyZ2luLWJvdHRvbTouMTI1cmVtfS5tYi0xe21hcmdpbi1ib3R0b206LjI1cmVtfS5tYi0xXC41e21hcmdpbi1ib3R0b206LjM3NXJlbX0ubWItMTB7bWFyZ2luLWJvdHRvbToyLjVyZW19Lm1iLTEye21hcmdpbi1ib3R0b206M3JlbX0ubWItMTZ7bWFyZ2luLWJvdHRvbTo0cmVtfS5tYi0ye21hcmdpbi1ib3R0b206LjVyZW19Lm1iLTIwe21hcmdpbi1ib3R0b206NXJlbX0ubWItM3ttYXJnaW4tYm90dG9tOi43NXJlbX0ubWItNHttYXJnaW4tYm90dG9tOjFyZW19Lm1iLTV7bWFyZ2luLWJvdHRvbToxLjI1cmVtfS5tYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5tYi04e21hcmdpbi1ib3R0b206MnJlbX0ubWwtMXttYXJnaW4tbGVmdDouMjVyZW19Lm1sLTEye21hcmdpbi1sZWZ0OjNyZW19Lm1sLTJ7bWFyZ2luLWxlZnQ6LjVyZW19Lm1sLTN7bWFyZ2luLWxlZnQ6Ljc1cmVtfS5tbC00e21hcmdpbi1sZWZ0OjFyZW19Lm1sLTV7bWFyZ2luLWxlZnQ6MS4yNXJlbX0ubWwtOHttYXJnaW4tbGVmdDoycmVtfS5tbC1hdXRve21hcmdpbi1sZWZ0OmF1dG99Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItMnttYXJnaW4tcmlnaHQ6LjVyZW19Lm10LTBcLjV7bWFyZ2luLXRvcDouMTI1cmVtfS5tdC0xe21hcmdpbi10b3A6LjI1cmVtfS5tdC0xXC41e21hcmdpbi10b3A6LjM3NXJlbX0ubXQtMTB7bWFyZ2luLXRvcDoyLjVyZW19Lm10LTEye21hcmdpbi10b3A6M3JlbX0ubXQtMnttYXJnaW4tdG9wOi41cmVtfS5tdC0yNHttYXJnaW4tdG9wOjZyZW19Lm10LTN7bWFyZ2luLXRvcDouNzVyZW19Lm10LTR7bWFyZ2luLXRvcDoxcmVtfS5tdC01e21hcmdpbi10b3A6MS4yNXJlbX0ubXQtNnttYXJnaW4tdG9wOjEuNXJlbX0ubXQtOHttYXJnaW4tdG9wOjJyZW19Lm10LWF1dG97bWFyZ2luLXRvcDphdXRvfS5saW5lLWNsYW1wLTF7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS5saW5lLWNsYW1wLTJ7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmlubGluZXtkaXNwbGF5OmlubGluZX0uZmxleHtkaXNwbGF5OmZsZXh9LmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnRhYmxle2Rpc3BsYXk6dGFibGV9LmdyaWR7ZGlzcGxheTpncmlkfS5jb250ZW50c3tkaXNwbGF5OmNvbnRlbnRzfS5oaWRkZW57ZGlzcGxheTpub25lfS5hc3BlY3Qtc3F1YXJle2FzcGVjdC1yYXRpbzoxIC8gMX0uYXNwZWN0LXZpZGVve2FzcGVjdC1yYXRpbzoxNiAvIDl9LnNpemUtNHt3aWR0aDoxcmVtO2hlaWdodDoxcmVtfS5oLTF7aGVpZ2h0Oi4yNXJlbX0uaC0xXC41e2hlaWdodDouMzc1cmVtfS5oLTEwe2hlaWdodDoyLjVyZW19LmgtMTF7aGVpZ2h0OjIuNzVyZW19LmgtMTJ7aGVpZ2h0OjNyZW19LmgtMTR7aGVpZ2h0OjMuNXJlbX0uaC0xNntoZWlnaHQ6NHJlbX0uaC0ye2hlaWdodDouNXJlbX0uaC0yXC41e2hlaWdodDouNjI1cmVtfS5oLTIwe2hlaWdodDo1cmVtfS5oLTI0e2hlaWdodDo2cmVtfS5oLTI4e2hlaWdodDo3cmVtfS5oLTN7aGVpZ2h0Oi43NXJlbX0uaC0zXC41e2hlaWdodDouODc1cmVtfS5oLTMye2hlaWdodDo4cmVtfS5oLTR7aGVpZ2h0OjFyZW19LmgtNDB7aGVpZ2h0OjEwcmVtfS5oLTQ4e2hlaWdodDoxMnJlbX0uaC01e2hlaWdodDoxLjI1cmVtfS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02NHtoZWlnaHQ6MTZyZW19LmgtN3toZWlnaHQ6MS43NXJlbX0uaC03MntoZWlnaHQ6MThyZW19LmgtOHtoZWlnaHQ6MnJlbX0uaC05e2hlaWdodDoyLjI1cmVtfS5oLTk2e2hlaWdodDoyNHJlbX0uaC1cWzFweFxde2hlaWdodDoxcHh9LmgtXFs5MHZoXF17aGVpZ2h0Ojkwdmh9LmgtXFtjYWxjXCgxMDBcJVwpXF17aGVpZ2h0OjEwMCV9LmgtXFt2YXJcKC0tcmFkaXgtbmF2aWdhdGlvbi1tZW51LXZpZXdwb3J0LWhlaWdodFwpXF17aGVpZ2h0OnZhcigtLXJhZGl4LW5hdmlnYXRpb24tbWVudS12aWV3cG9ydC1oZWlnaHQpfS5oLVxbdmFyXCgtLXJhZGl4LXNlbGVjdC10cmlnZ2VyLWhlaWdodFwpXF17aGVpZ2h0OnZhcigtLXJhZGl4LXNlbGVjdC10cmlnZ2VyLWhlaWdodCl9LmgtYXV0b3toZWlnaHQ6YXV0b30uaC1mdWxse2hlaWdodDoxMDAlfS5oLXB4e2hlaWdodDoxcHh9Lmgtc2NyZWVue2hlaWdodDoxMDB2aH0uaC1zdmh7aGVpZ2h0OjEwMHN2aH0ubWF4LWgtMzJ7bWF4LWhlaWdodDo4cmVtfS5tYXgtaC05NnttYXgtaGVpZ2h0OjI0cmVtfS5tYXgtaC1cWzMwMHB4XF17bWF4LWhlaWdodDozMDBweH0ubWF4LWgtXFs2MHZoXF17bWF4LWhlaWdodDo2MHZofS5tYXgtaC1cWzcwdmhcXXttYXgtaGVpZ2h0Ojcwdmh9Lm1heC1oLVxbODB2aFxde21heC1oZWlnaHQ6ODB2aH0ubWF4LWgtXFs4NXZoXF17bWF4LWhlaWdodDo4NXZofS5tYXgtaC1cWzkwdmhcXXttYXgtaGVpZ2h0Ojkwdmh9Lm1heC1oLXNjcmVlbnttYXgtaGVpZ2h0OjEwMHZofS5taW4taC0we21pbi1oZWlnaHQ6MHB4fS5taW4taC1cWzQwMHB4XF17bWluLWhlaWdodDo0MDBweH0ubWluLWgtXFs4MHB4XF17bWluLWhlaWdodDo4MHB4fS5taW4taC1zY3JlZW57bWluLWhlaWdodDoxMDB2aH0ubWluLWgtc3Zoe21pbi1oZWlnaHQ6MTAwc3ZofS53LTB7d2lkdGg6MHB4fS53LTBcLjV7d2lkdGg6LjEyNXJlbX0udy0xe3dpZHRoOi4yNXJlbX0udy0xXC41e3dpZHRoOi4zNzVyZW19LnctMTB7d2lkdGg6Mi41cmVtfS53LTExe3dpZHRoOjIuNzVyZW19LnctMTJ7d2lkdGg6M3JlbX0udy0xNHt3aWR0aDozLjVyZW19LnctMTZ7d2lkdGg6NHJlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcLjV7d2lkdGg6LjYyNXJlbX0udy0yMHt3aWR0aDo1cmVtfS53LTI0e3dpZHRoOjZyZW19LnctMjh7d2lkdGg6N3JlbX0udy0ze3dpZHRoOi43NXJlbX0udy0zXC41e3dpZHRoOi44NzVyZW19LnctM1wvNHt3aWR0aDo3NSV9LnctMzJ7d2lkdGg6OHJlbX0udy00e3dpZHRoOjFyZW19LnctNDB7d2lkdGg6MTByZW19LnctNDh7d2lkdGg6MTJyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTU2e3dpZHRoOjE0cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTY0e3dpZHRoOjE2cmVtfS53LTd7d2lkdGg6MS43NXJlbX0udy03Mnt3aWR0aDoxOHJlbX0udy04e3dpZHRoOjJyZW19LnctOXt3aWR0aDoyLjI1cmVtfS53LTk2e3dpZHRoOjI0cmVtfS53LVxbLS1zaWRlYmFyLXdpZHRoXF17d2lkdGg6dmFyKC0tc2lkZWJhci13aWR0aCl9LnctXFsxMDBweFxde3dpZHRoOjEwMHB4fS53LVxbMTQwcHhcXXt3aWR0aDoxNDBweH0udy1cWzE4MHB4XF17d2lkdGg6MTgwcHh9LnctXFsxcHhcXXt3aWR0aDoxcHh9LnctXFsyMDBweFxde3dpZHRoOjIwMHB4fS53LVxbODBweFxde3dpZHRoOjgwcHh9LnctYXV0b3t3aWR0aDphdXRvfS53LWZpdHt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50fS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6LW1vei1tYXgtY29udGVudDt3aWR0aDptYXgtY29udGVudH0udy1weHt3aWR0aDoxcHh9Lm1pbi13LTB7bWluLXdpZHRoOjBweH0ubWluLXctNXttaW4td2lkdGg6MS4yNXJlbX0ubWluLXctXFsxMDAwcHhcXXttaW4td2lkdGg6MTAwMHB4fS5taW4tdy1cWzEwMHB4XF17bWluLXdpZHRoOjEwMHB4fS5taW4tdy1cWzEyMHB4XF17bWluLXdpZHRoOjEyMHB4fS5taW4tdy1cWzEycmVtXF17bWluLXdpZHRoOjEycmVtfS5taW4tdy1cWzE0MHB4XF17bWluLXdpZHRoOjE0MHB4fS5taW4tdy1cWzE4MHB4XF17bWluLXdpZHRoOjE4MHB4fS5taW4tdy1cWzMwMHB4XF17bWluLXdpZHRoOjMwMHB4fS5taW4tdy1cWzM2cHhcXXttaW4td2lkdGg6MzZweH0ubWluLXctXFs0NXB4XF17bWluLXdpZHRoOjQ1cHh9Lm1pbi13LVxbNTBweFxde21pbi13aWR0aDo1MHB4fS5taW4tdy1cWzYwcHhcXXttaW4td2lkdGg6NjBweH0ubWluLXctXFs4cmVtXF17bWluLXdpZHRoOjhyZW19Lm1pbi13LVxbdmFyXCgtLXJhZGl4LXNlbGVjdC10cmlnZ2VyLXdpZHRoXClcXXttaW4td2lkdGg6dmFyKC0tcmFkaXgtc2VsZWN0LXRyaWdnZXItd2lkdGgpfS5tYXgtdy0yeGx7bWF4LXdpZHRoOjQycmVtfS5tYXgtdy0zeGx7bWF4LXdpZHRoOjQ4cmVtfS5tYXgtdy00eGx7bWF4LXdpZHRoOjU2cmVtfS5tYXgtdy01eGx7bWF4LXdpZHRoOjY0cmVtfS5tYXgtdy02eGx7bWF4LXdpZHRoOjcycmVtfS5tYXgtdy03eGx7bWF4LXdpZHRoOjgwcmVtfS5tYXgtdy1cWy0tc2tlbGV0b24td2lkdGhcXXttYXgtd2lkdGg6dmFyKC0tc2tlbGV0b24td2lkdGgpfS5tYXgtdy1cWzEwMHB4XF17bWF4LXdpZHRoOjEwMHB4fS5tYXgtdy1cWzE4MHB4XF17bWF4LXdpZHRoOjE4MHB4fS5tYXgtdy1cWzIwMHB4XF17bWF4LXdpZHRoOjIwMHB4fS5tYXgtdy1cWzk1dndcXXttYXgtd2lkdGg6OTV2d30ubWF4LXctZnVsbHttYXgtd2lkdGg6MTAwJX0ubWF4LXctbGd7bWF4LXdpZHRoOjMycmVtfS5tYXgtdy1tYXh7bWF4LXdpZHRoOi1tb3otbWF4LWNvbnRlbnQ7bWF4LXdpZHRoOm1heC1jb250ZW50fS5tYXgtdy1tZHttYXgtd2lkdGg6MjhyZW19Lm1heC13LXNte21heC13aWR0aDoyNHJlbX0ubWF4LXcteGx7bWF4LXdpZHRoOjM2cmVtfS5tYXgtdy14c3ttYXgtd2lkdGg6MjByZW19LmZsZXgtMXtmbGV4OjEgMSAwJX0uZmxleC1zaHJpbmstMCwuc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZ3Jvd3tmbGV4LWdyb3c6MX0uZ3Jvdy0we2ZsZXgtZ3JvdzowfS5iYXNpcy1cWzg1XCVcXXtmbGV4LWJhc2lzOjg1JX0uYmFzaXMtZnVsbHtmbGV4LWJhc2lzOjEwMCV9LmNhcHRpb24tYm90dG9te2NhcHRpb24tc2lkZTpib3R0b219LmJvcmRlci1jb2xsYXBzZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9Lm9yaWdpbi1sZWZ0e3RyYW5zZm9ybS1vcmlnaW46bGVmdH0uLXRyYW5zbGF0ZS14LTFcLzJ7LS10dy10cmFuc2xhdGUteDogLTUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uLXRyYW5zbGF0ZS14LXB4ey0tdHctdHJhbnNsYXRlLXg6IC0xcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9Li10cmFuc2xhdGUteS0xXC8yey0tdHctdHJhbnNsYXRlLXk6IC01MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnRyYW5zbGF0ZS14LVxbLTUwXCVcXXstLXR3LXRyYW5zbGF0ZS14OiAtNTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS50cmFuc2xhdGUteC1weHstLXR3LXRyYW5zbGF0ZS14OiAxcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnRyYW5zbGF0ZS15LTB7LS10dy10cmFuc2xhdGUteTogMHB4O3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS50cmFuc2xhdGUteS1cWy01MFwlXF17LS10dy10cmFuc2xhdGUteTogLTUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uLXJvdGF0ZS0xMnstLXR3LXJvdGF0ZTogLTEyZGVnO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS4tcm90YXRlLTkwey0tdHctcm90YXRlOiAtOTBkZWc7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnJvdGF0ZS0xMnstLXR3LXJvdGF0ZTogMTJkZWc7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnJvdGF0ZS00NXstLXR3LXJvdGF0ZTogNDVkZWc7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnJvdGF0ZS02ey0tdHctcm90YXRlOiA2ZGVnO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5yb3RhdGUtOTB7LS10dy1yb3RhdGU6IDkwZGVnO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5zY2FsZS0xMDB7LS10dy1zY2FsZS14OiAxOy0tdHctc2NhbGUteTogMTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uc2NhbGUtMTA1ey0tdHctc2NhbGUteDogMS4wNTstLXR3LXNjYWxlLXk6IDEuMDU7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnNjYWxlLTE1MHstLXR3LXNjYWxlLXg6IDEuNTstLXR3LXNjYWxlLXk6IDEuNTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfUBrZXlmcmFtZXMgYm91bmNlezAlLHRve3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yNSUpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC44LDAsMSwxKX01MCV7dHJhbnNmb3JtOm5vbmU7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwwLC4yLDEpfX0uYW5pbWF0ZS1ib3VuY2V7YW5pbWF0aW9uOmJvdW5jZSAxcyBpbmZpbml0ZX1Aa2V5ZnJhbWVzIGNvbmZldHRpLWZhbGx7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwdmgpIHJvdGF0ZSgwKTtvcGFjaXR5OjF9dG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTEwdmgpIHJvdGF0ZSg3MjBkZWcpO29wYWNpdHk6LjN9fS5hbmltYXRlLWNvbmZldHRpLWZhbGx7YW5pbWF0aW9uOmNvbmZldHRpLWZhbGwgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgcGluZ3s3NSUsdG97dHJhbnNmb3JtOnNjYWxlKDIpO29wYWNpdHk6MH19LmFuaW1hdGUtcGluZ3thbmltYXRpb246cGluZyAxcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIGluZmluaXRlfUBrZXlmcmFtZXMgcHVsc2V7NTAle29wYWNpdHk6LjV9fS5hbmltYXRlLXB1bHNle2FuaW1hdGlvbjpwdWxzZSAycyBjdWJpYy1iZXppZXIoLjQsMCwuNiwxKSBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0uYW5pbWF0ZS1zcGlue2FuaW1hdGlvbjpzcGluIDFzIGxpbmVhciBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHR3aW5rbGV7MCUsdG97b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX01MCV7b3BhY2l0eTouMzt0cmFuc2Zvcm06c2NhbGUoLjgpfX0uY3Vyc29yLWRlZmF1bHR7Y3Vyc29yOmRlZmF1bHR9LmN1cnNvci1ub3QtYWxsb3dlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS50b3VjaC1ub25le3RvdWNoLWFjdGlvbjpub25lfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lmxpc3QtZGlzY3tsaXN0LXN0eWxlLXR5cGU6ZGlzY30ubGlzdC1ub25le2xpc3Qtc3R5bGUtdHlwZTpub25lfS5ncmlkLWNvbHMtMXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9LmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uZ3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5ncmlkLWNvbHMtN3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDcsbWlubWF4KDAsMWZyKSl9LmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30uZmxleC1yb3ctcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZX0uZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mbGV4LWNvbC1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfS5mbGV4LXdyYXB7ZmxleC13cmFwOndyYXB9Lml0ZW1zLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lml0ZW1zLWVuZHthbGlnbi1pdGVtczpmbGV4LWVuZH0uaXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uaXRlbXMtYmFzZWxpbmV7YWxpZ24taXRlbXM6YmFzZWxpbmV9Lml0ZW1zLXN0cmV0Y2h7YWxpZ24taXRlbXM6c3RyZXRjaH0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0wXC41e2dhcDouMTI1cmVtfS5nYXAtMXtnYXA6LjI1cmVtfS5nYXAtMVwuNXtnYXA6LjM3NXJlbX0uZ2FwLTEye2dhcDozcmVtfS5nYXAtMTZ7Z2FwOjRyZW19LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTJcLjV7Z2FwOi42MjVyZW19LmdhcC0ze2dhcDouNzVyZW19LmdhcC00e2dhcDoxcmVtfS5nYXAtNXtnYXA6MS4yNXJlbX0uZ2FwLTZ7Z2FwOjEuNXJlbX0uZ2FwLTh7Z2FwOjJyZW19LmdhcC14LTZ7LW1vei1jb2x1bW4tZ2FwOjEuNXJlbTtjb2x1bW4tZ2FwOjEuNXJlbX0uZ2FwLXktMntyb3ctZ2FwOi41cmVtfS5zcGFjZS14LTE+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6IDA7bWFyZ2luLXJpZ2h0OmNhbGMoLjI1cmVtICogdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7bWFyZ2luLWxlZnQ6Y2FsYyguMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSl9LnNwYWNlLXgtMj46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXgtcmV2ZXJzZTogMDttYXJnaW4tcmlnaHQ6Y2FsYyguNXJlbSAqIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO21hcmdpbi1sZWZ0OmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSl9LnNwYWNlLXgtND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXgtcmV2ZXJzZTogMDttYXJnaW4tcmlnaHQ6Y2FsYygxcmVtICogdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7bWFyZ2luLWxlZnQ6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpfS5zcGFjZS15LTA+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKDBweCAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoMHB4ICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktMFwuNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXktcmV2ZXJzZTogMDttYXJnaW4tdG9wOmNhbGMoLjEyNXJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoLjEyNXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zcGFjZS15LTE+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKC4yNXJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoLjI1cmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktMVwuNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXktcmV2ZXJzZTogMDttYXJnaW4tdG9wOmNhbGMoLjM3NXJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoLjM3NXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zcGFjZS15LTEwPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYygyLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKDIuNXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zcGFjZS15LTEyPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYygzcmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygzcmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktMTY+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKDRyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKDRyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0uc3BhY2UteS0yPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYyguNXJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoLjVyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0uc3BhY2UteS0zPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYyguNzVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC43NXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zcGFjZS15LTQ+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKDFyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKDFyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0uc3BhY2UteS01Pjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYygxLjI1cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjI1cmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktNj46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXktcmV2ZXJzZTogMDttYXJnaW4tdG9wOmNhbGMoMS41cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjVyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0uc3BhY2UteS04Pjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYygycmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygycmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9LmRpdmlkZS15Pjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctZGl2aWRlLXktcmV2ZXJzZTogMDtib3JkZXItdG9wLXdpZHRoOmNhbGMoMXB4ICogY2FsYygxIC0gdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpKTtib3JkZXItYm90dG9tLXdpZHRoOmNhbGMoMXB4ICogdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpfS5kaXZpZGUtYm9yZGVyPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pe2JvcmRlci1jb2xvcjpoc2wodmFyKC0tYm9yZGVyKSl9LmRpdmlkZS1ncmF5LTEwMD46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LWRpdmlkZS1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1kaXZpZGUtb3BhY2l0eSwgMSkpfS5zZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH0uc2VsZi1jZW50ZXJ7YWxpZ24tc2VsZjpjZW50ZXJ9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctaGlkZGVue292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3cteC1hdXRve292ZXJmbG93LXg6YXV0b30ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ub3ZlcmZsb3cteC1oaWRkZW57b3ZlcmZsb3cteDpoaWRkZW59LnRydW5jYXRle292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS5icmVhay13b3Jkc3tvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmJyZWFrLWFsbHt3b3JkLWJyZWFrOmJyZWFrLWFsbH0ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbX0ucm91bmRlZC0yeGx7Ym9yZGVyLXJhZGl1czoxcmVtfS5yb3VuZGVkLTN4bHtib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1cWzJweFxde2JvcmRlci1yYWRpdXM6MnB4fS5yb3VuZGVkLVxbMnJlbVxde2JvcmRlci1yYWRpdXM6MnJlbX0ucm91bmRlZC1cW2luaGVyaXRcXXtib3JkZXItcmFkaXVzOmluaGVyaXR9LnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjk5OTlweH0ucm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cyl9LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSAycHgpfS5yb3VuZGVkLXNte2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpIC0gNHB4KX0ucm91bmRlZC14bHtib3JkZXItcmFkaXVzOi43NXJlbX0ucm91bmRlZC1yLWxne2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhcigtLXJhZGl1cyk7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6dmFyKC0tcmFkaXVzKX0ucm91bmRlZC10e2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbX0ucm91bmRlZC10LVxbMTBweFxde2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MTBweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czoxMHB4fS5yb3VuZGVkLWJsLWxne2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6dmFyKC0tcmFkaXVzKX0ucm91bmRlZC10bC1zbXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDRweCl9LmJvcmRlcntib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItd2lkdGg6MHB4fS5ib3JkZXItMntib3JkZXItd2lkdGg6MnB4fS5ib3JkZXItNHtib3JkZXItd2lkdGg6NHB4fS5ib3JkZXItXFsxXC41cHhcXXtib3JkZXItd2lkdGg6MS41cHh9LmJvcmRlci15e2JvcmRlci10b3Atd2lkdGg6MXB4O2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5ib3JkZXItYntib3JkZXItYm90dG9tLXdpZHRoOjFweH0uYm9yZGVyLWItMntib3JkZXItYm90dG9tLXdpZHRoOjJweH0uYm9yZGVyLWx7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4fS5ib3JkZXItbC00e2JvcmRlci1sZWZ0LXdpZHRoOjRweH0uYm9yZGVyLXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjFweH0uYm9yZGVyLXR7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1kYXNoZWR7Ym9yZGVyLXN0eWxlOmRhc2hlZH0uYm9yZGVyLVxbXCMwMDZhZGFcXXstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMCAxMDYgMjE4IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uYm9yZGVyLVxbXCMwMDZhZGFcXVwvMzB7Ym9yZGVyLWNvbG9yOiMwMDZhZGE0ZH0uYm9yZGVyLVxbLS1jb2xvci1ib3JkZXJcXXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyKX0uYm9yZGVyLWFjY2VudFwvNDB7Ym9yZGVyLWNvbG9yOmhzbCh2YXIoLS1hY2NlbnQpIC8gLjQpfS5ib3JkZXItYW1iZXItMjAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyNTMgMjMwIDEzOCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1hbWJlci0yMDBcLzUwe2JvcmRlci1jb2xvcjojZmRlNjhhODB9LmJvcmRlci1hbWJlci0zMDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDI1MiAyMTEgNzcgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ib3JkZXItYW1iZXItNDAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyNTEgMTkxIDM2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uYm9yZGVyLWFtYmVyLTQwMFwvNDB7Ym9yZGVyLWNvbG9yOiNmYmJmMjQ2Nn0uYm9yZGVyLWFtYmVyLTUwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMjQ1IDE1OCAxMSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1hbWJlci01MDBcLzIwe2JvcmRlci1jb2xvcjojZjU5ZTBiMzN9LmJvcmRlci1hbWJlci01MDBcLzMwe2JvcmRlci1jb2xvcjojZjU5ZTBiNGR9LmJvcmRlci1hbWJlci01MDBcLzQwe2JvcmRlci1jb2xvcjojZjU5ZTBiNjZ9LmJvcmRlci1hbWJlci01MDBcLzUwe2JvcmRlci1jb2xvcjojZjU5ZTBiODB9LmJvcmRlci1hbWJlci02MDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIxNyAxMTkgNiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1hbWJlci03MDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDE4MCA4MyA5IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uYm9yZGVyLWJsdWUtMjAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigxOTEgMjE5IDI1NCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1ibHVlLTUwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoNTkgMTMwIDI0NiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1ibHVlLTUwMFwvMjB7Ym9yZGVyLWNvbG9yOiMzYjgyZjYzM30uYm9yZGVyLWJsdWUtNTAwXC8zMHtib3JkZXItY29sb3I6IzNiODJmNjRkfS5ib3JkZXItYmx1ZS02MDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDM3IDk5IDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1ib3JkZXJ7Ym9yZGVyLWNvbG9yOmhzbCh2YXIoLS1ib3JkZXIpKX0uYm9yZGVyLWJvcmRlclwvMzB7Ym9yZGVyLWNvbG9yOmhzbCh2YXIoLS1ib3JkZXIpIC8gLjMpfS5ib3JkZXItYm9yZGVyXC80MHtib3JkZXItY29sb3I6aHNsKHZhcigtLWJvcmRlcikgLyAuNCl9LmJvcmRlci1ib3JkZXJcLzUwe2JvcmRlci1jb2xvcjpoc2wodmFyKC0tYm9yZGVyKSAvIC41KX0uYm9yZGVyLWN1cnJlbnR7Ym9yZGVyLWNvbG9yOmN1cnJlbnRDb2xvcn0uYm9yZGVyLWRlc3RydWN0aXZlXC8yMHtib3JkZXItY29sb3I6aHNsKHZhcigtLWRlc3RydWN0aXZlKSAvIC4yKX0uYm9yZGVyLWRlc3RydWN0aXZlXC8zMHtib3JkZXItY29sb3I6aHNsKHZhcigtLWRlc3RydWN0aXZlKSAvIC4zKX0uYm9yZGVyLWRlc3RydWN0aXZlXC80MHtib3JkZXItY29sb3I6aHNsKHZhcigtLWRlc3RydWN0aXZlKSAvIC40KX0uYm9yZGVyLWRlc3RydWN0aXZlXC81MHtib3JkZXItY29sb3I6aHNsKHZhcigtLWRlc3RydWN0aXZlKSAvIC41KX0uYm9yZGVyLWVtZXJhbGQtMjAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigxNjcgMjQzIDIwOCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1lbWVyYWxkLTQwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoNTIgMjExIDE1MyAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1lbWVyYWxkLTUwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMTYgMTg1IDEyOSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1lbWVyYWxkLTUwMFwvMjB7Ym9yZGVyLWNvbG9yOiMxMGI5ODEzM30uYm9yZGVyLWVtZXJhbGQtNjAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYig1IDE1MCAxMDUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ib3JkZXItZ3JheS0xMDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uYm9yZGVyLWdyYXktMjAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyMjkgMjMxIDIzNSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1ncmF5LTIwMFwvNTB7Ym9yZGVyLWNvbG9yOiNlNWU3ZWI4MH0uYm9yZGVyLWdyYXktMzAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1ncmF5LTQwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMTU2IDE2MyAxNzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ib3JkZXItZ3JlZW4tMjAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigxODcgMjQ3IDIwOCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1ncmVlbi01MDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDM0IDE5NyA5NCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1ncmVlbi01MDBcLzIwe2JvcmRlci1jb2xvcjojMjJjNTVlMzN9LmJvcmRlci1ncmVlbi01MDBcLzMwe2JvcmRlci1jb2xvcjojMjJjNTVlNGR9LmJvcmRlci1ncmVlbi01MDBcLzUwe2JvcmRlci1jb2xvcjojMjJjNTVlODB9LmJvcmRlci1ncmVlbi02MDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIyIDE2MyA3NCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1ncmVlbi02MDBcLzMwe2JvcmRlci1jb2xvcjojMTZhMzRhNGR9LmJvcmRlci1pbmRpZ28tMjAwXC81MHtib3JkZXItY29sb3I6I2M3ZDJmZTgwfS5ib3JkZXItaW5kaWdvLTUwMFwvMjB7Ym9yZGVyLWNvbG9yOiM2MzY2ZjEzM30uYm9yZGVyLWlucHV0e2JvcmRlci1jb2xvcjpoc2wodmFyKC0taW5wdXQpKX0uYm9yZGVyLW9yYW5nZS0yMDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDI1NCAyMTUgMTcwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uYm9yZGVyLW9yYW5nZS01MDBcLzIwe2JvcmRlci1jb2xvcjojZjk3MzE2MzN9LmJvcmRlci1wcmltYXJ5e2JvcmRlci1jb2xvcjpoc2wodmFyKC0tcHJpbWFyeSkpfS5ib3JkZXItcHJpbWFyeS1mb3JlZ3JvdW5ke2JvcmRlci1jb2xvcjpoc2wodmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKSl9LmJvcmRlci1wcmltYXJ5XC8xMHtib3JkZXItY29sb3I6aHNsKHZhcigtLXByaW1hcnkpIC8gLjEpfS5ib3JkZXItcHJpbWFyeVwvMTV7Ym9yZGVyLWNvbG9yOmhzbCh2YXIoLS1wcmltYXJ5KSAvIC4xNSl9LmJvcmRlci1wcmltYXJ5XC8yMHtib3JkZXItY29sb3I6aHNsKHZhcigtLXByaW1hcnkpIC8gLjIpfS5ib3JkZXItcHJpbWFyeVwvMzB7Ym9yZGVyLWNvbG9yOmhzbCh2YXIoLS1wcmltYXJ5KSAvIC4zKX0uYm9yZGVyLXByaW1hcnlcLzQwe2JvcmRlci1jb2xvcjpoc2wodmFyKC0tcHJpbWFyeSkgLyAuNCl9LmJvcmRlci1wcmltYXJ5XC81MHtib3JkZXItY29sb3I6aHNsKHZhcigtLXByaW1hcnkpIC8gLjUpfS5ib3JkZXItcHVycGxlLTIwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMjMzIDIxMyAyNTUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ib3JkZXItcHVycGxlLTQwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMTkyIDEzMiAyNTIgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ib3JkZXItcHVycGxlLTUwMFwvMjB7Ym9yZGVyLWNvbG9yOiNhODU1ZjczM30uYm9yZGVyLXJlZC0yMDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDI1NCAyMDIgMjAyIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uYm9yZGVyLXJlZC00MDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDI0OCAxMTMgMTEzIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uYm9yZGVyLXJlZC01MDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIzOSA2OCA2OCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci1yZWQtNTAwXC8yMHtib3JkZXItY29sb3I6I2VmNDQ0NDMzfS5ib3JkZXItcmVkLTUwMFwvMzB7Ym9yZGVyLWNvbG9yOiNlZjQ0NDQ0ZH0uYm9yZGVyLXJlZC01MDBcLzQwe2JvcmRlci1jb2xvcjojZWY0NDQ0NjZ9LmJvcmRlci1yZWQtNjAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyMjAgMzggMzggLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ib3JkZXItcmVkLTgwMFwvMzB7Ym9yZGVyLWNvbG9yOiM5OTFiMWI0ZH0uYm9yZGVyLXNlY29uZGFyeS1mb3JlZ3JvdW5kXC8yMHtib3JkZXItY29sb3I6aHNsKHZhcigtLXNlY29uZGFyeS1mb3JlZ3JvdW5kKSAvIC4yKX0uYm9yZGVyLXNsYXRlLTYwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoNzEgODUgMTA1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uYm9yZGVyLXNsYXRlLTcwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoNTEgNjUgODUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ib3JkZXItc3VjY2Vzc1wvNDB7Ym9yZGVyLWNvbG9yOmhzbCh2YXIoLS1zdWNjZXNzKSAvIC40KX0uYm9yZGVyLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYm9yZGVyLXZpb2xldC0yMDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIyMSAyMTQgMjU0IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uYm9yZGVyLXZpb2xldC01MDBcLzIwe2JvcmRlci1jb2xvcjojOGI1Y2Y2MzN9LmJvcmRlci12aW9sZXQtNjAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigxMjQgNTggMjM3IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uYm9yZGVyLXdoaXRley0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci13aGl0ZVwvMTB7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxYX0uYm9yZGVyLXdoaXRlXC8yMHtib3JkZXItY29sb3I6I2ZmZjN9LmJvcmRlci13aGl0ZVwvNXtib3JkZXItY29sb3I6I2ZmZmZmZjBkfS5ib3JkZXIteWVsbG93LTIwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMjU0IDI0MCAxMzggLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ib3JkZXIteWVsbG93LTMwMHstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMjUzIDIyNCA3MSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci15ZWxsb3ctNDAwey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigyNTAgMjA0IDIxIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uYm9yZGVyLXllbGxvdy01MDB7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIzNCAxNzkgOCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmJvcmRlci15ZWxsb3ctNTAwXC8yMHtib3JkZXItY29sb3I6I2VhYjMwODMzfS5ib3JkZXIteWVsbG93LTUwMFwvMzB7Ym9yZGVyLWNvbG9yOiNlYWIzMDg0ZH0uYm9yZGVyLWwtdHJhbnNwYXJlbnR7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnR9LmJvcmRlci10LXRyYW5zcGFyZW50e2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnR9LmJnLVxbXCMwMDZhZGFcXXstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAxMDYgMjE4IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1cW1wjMDA2YWRhXF1cLzIwe2JhY2tncm91bmQtY29sb3I6IzAwNmFkYTMzfS5iZy1cW1wjMGEwYTBhXF17LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDEwIDEwIDEwIC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1cW1wjMGExNjI4XF17LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDEwIDIyIDQwIC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1cW1wjMTg3N0YyXF17LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0IDExOSAyNDIgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLVxbXCMxYTFhMmVcXXstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjYgMjYgNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLVxbXCMxYTFkM2FcXXstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjYgMjkgNTggLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLVxbLS1jb2xvci1iZ1xde2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmcpfS5iZy1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tYWNjZW50KSl9LmJnLWFjY2VudFwvMTV7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tYWNjZW50KSAvIC4xNSl9LmJnLWFtYmVyLTEwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU0IDI0MyAxOTkgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLWFtYmVyLTEwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojZmVmM2M3ODB9LmJnLWFtYmVyLTIwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjUzIDIzMCAxMzggLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLWFtYmVyLTQwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjUxIDE5MSAzNiAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uYmctYW1iZXItNTB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSAyNTEgMjM1IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1hbWJlci01MFwvMTB7YmFja2dyb3VuZC1jb2xvcjojZmZmYmViMWF9LmJnLWFtYmVyLTUwXC82MHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZiZWI5OX0uYmctYW1iZXItNTAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDUgMTU4IDExIC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1hbWJlci01MDBcLzEwe2JhY2tncm91bmQtY29sb3I6I2Y1OWUwYjFhfS5iZy1hbWJlci01MDBcLzIwe2JhY2tncm91bmQtY29sb3I6I2Y1OWUwYjMzfS5iZy1hbWJlci01MDBcLzV7YmFja2dyb3VuZC1jb2xvcjojZjU5ZTBiMGR9LmJnLWFtYmVyLTUwMFwvOTV7YmFja2dyb3VuZC1jb2xvcjojZjU5ZTBiZjJ9LmJnLWFtYmVyLTYwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjE3IDExOSA2IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLWJhY2tncm91bmQpKX0uYmctYmFja2dyb3VuZFwvNTB7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tYmFja2dyb3VuZCkgLyAuNSl9LmJnLWJhY2tncm91bmRcLzgwe2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLWJhY2tncm91bmQpIC8gLjgpfS5iZy1ibGFja1wvMjB7YmFja2dyb3VuZC1jb2xvcjojMDAwM30uYmctYmxhY2tcLzQwe2JhY2tncm91bmQtY29sb3I6IzAwMDZ9LmJnLWJsYWNrXC82MHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA5fS5iZy1ibGFja1wvNzB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwYjN9LmJnLWJsYWNrXC84MHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDBjfS5iZy1ibHVlLTEwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjE5IDIzNCAyNTQgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLWJsdWUtNDAwXC8yMHtiYWNrZ3JvdW5kLWNvbG9yOiM2MGE1ZmEzM30uYmctYmx1ZS01MHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjM5IDI0NiAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLWJsdWUtNTAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1OSAxMzAgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1ibHVlLTUwMFwvMTB7YmFja2dyb3VuZC1jb2xvcjojM2I4MmY2MWF9LmJnLWJsdWUtNTAwXC8yMHtiYWNrZ3JvdW5kLWNvbG9yOiMzYjgyZjYzM30uYmctYmx1ZS01MDBcLzMwe2JhY2tncm91bmQtY29sb3I6IzNiODJmNjRkfS5iZy1ibHVlLTYwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMzcgOTkgMjM1IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1ib3JkZXJ7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tYm9yZGVyKSl9LmJnLWNhcmR7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tY2FyZCkpfS5iZy1jYXJkXC81MHtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1jYXJkKSAvIC41KX0uYmctY3lhbi01MDBcLzV7YmFja2dyb3VuZC1jb2xvcjojMDZiNmQ0MGR9LmJnLWRlc3RydWN0aXZle2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLWRlc3RydWN0aXZlKSl9LmJnLWRlc3RydWN0aXZlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1kZXN0cnVjdGl2ZSkgLyAuMSl9LmJnLWRlc3RydWN0aXZlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1kZXN0cnVjdGl2ZSkgLyAuMTUpfS5iZy1lbWVyYWxkLTEwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjA5IDI1MCAyMjkgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLWVtZXJhbGQtNTB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDIzNiAyNTMgMjQ1IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1lbWVyYWxkLTUwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTYgMTg1IDEyOSAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uYmctZW1lcmFsZC01MDBcLzEwe2JhY2tncm91bmQtY29sb3I6IzEwYjk4MTFhfS5iZy1lbWVyYWxkLTUwMFwvNXtiYWNrZ3JvdW5kLWNvbG9yOiMxMGI5ODEwZH0uYmctZW1lcmFsZC02MDB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDUgMTUwIDEwNSAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uYmctZm9yZWdyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1mb3JlZ3JvdW5kKSl9LmJnLWdyYXktMTAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDMgMjQ0IDI0NiAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uYmctZ3JheS0yMDB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1ncmF5LTUwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMjUwIDI1MSAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uYmctZ3JheS01MDB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDEwNyAxMTQgMTI4IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1ncmF5LTkwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLWdyZWVuLTEwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjIwIDI1MiAyMzEgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLWdyZWVuLTUwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDAgMjUzIDI0NCAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uYmctZ3JlZW4tNTAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigzNCAxOTcgOTQgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLWdyZWVuLTUwMFwvMTB7YmFja2dyb3VuZC1jb2xvcjojMjJjNTVlMWF9LmJnLWdyZWVuLTUwMFwvMjB7YmFja2dyb3VuZC1jb2xvcjojMjJjNTVlMzN9LmJnLWdyZWVuLTUwMFwvMzB7YmFja2dyb3VuZC1jb2xvcjojMjJjNTVlNGR9LmJnLWdyZWVuLTUwMFwvNXtiYWNrZ3JvdW5kLWNvbG9yOiMyMmM1NWUwZH0uYmctZ3JlZW4tNTAwXC81MHtiYWNrZ3JvdW5kLWNvbG9yOiMyMmM1NWU4MH0uYmctZ3JlZW4tNjAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMiAxNjMgNzQgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLWluZGlnby01MDBcLzEwe2JhY2tncm91bmQtY29sb3I6IzYzNjZmMTFhfS5iZy1sb3Nze2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLWxvc3MpKX0uYmctbG9zc1wvMjB7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tbG9zcykgLyAuMil9LmJnLW11dGVke2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLW11dGVkKSl9LmJnLW11dGVkXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1tdXRlZCkgLyAuMSl9LmJnLW11dGVkXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1tdXRlZCkgLyAuMyl9LmJnLW11dGVkXC81MHtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1tdXRlZCkgLyAuNSl9LmJnLW9yYW5nZS0xMDB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSAyMzcgMjEzIC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1vcmFuZ2UtNTB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSAyNDcgMjM3IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1vcmFuZ2UtNTAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMTE1IDIyIC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1vcmFuZ2UtNTAwXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOiNmOTczMTYxYX0uYmctb3JhbmdlLTYwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjM0IDg4IDEyIC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1wb3BvdmVye2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXBvcG92ZXIpKX0uYmctcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1wcmltYXJ5KSl9LmJnLXByaW1hcnlcLzEwe2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXByaW1hcnkpIC8gLjEpfS5iZy1wcmltYXJ5XC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1wcmltYXJ5KSAvIC4xNSl9LmJnLXByaW1hcnlcLzIwe2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXByaW1hcnkpIC8gLjIpfS5iZy1wcmltYXJ5XC81e2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXByaW1hcnkpIC8gLjA1KX0uYmctcHJpbWFyeVwvODB7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tcHJpbWFyeSkgLyAuOCl9LmJnLXByb2ZpdHtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1wcm9maXQpKX0uYmctcHJvZml0XC8yMHtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1wcm9maXQpIC8gLjIpfS5iZy1wdXJwbGUtMTAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDMgMjMyIDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uYmctcHVycGxlLTQwMFwvMjB7YmFja2dyb3VuZC1jb2xvcjojYzA4NGZjMzN9LmJnLXB1cnBsZS01MHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjUwIDI0NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLXB1cnBsZS01MDBcLzEwe2JhY2tncm91bmQtY29sb3I6I2E4NTVmNzFhfS5iZy1wdXJwbGUtNjAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNDcgNTEgMjM0IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1yZWQtMTAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTQgMjI2IDIyNiAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uYmctcmVkLTUwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTQgMjQyIDI0MiAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uYmctcmVkLTUwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjM5IDY4IDY4IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5iZy1yZWQtNTAwXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjQ0NDQxYX0uYmctcmVkLTUwMFwvMjB7YmFja2dyb3VuZC1jb2xvcjojZWY0NDQ0MzN9LmJnLXJlZC01MDBcLzV7YmFja2dyb3VuZC1jb2xvcjojZWY0NDQ0MGR9LmJnLXJlZC01MDBcLzgwe2JhY2tncm91bmQtY29sb3I6I2VmNDQ0NGNjfS5iZy1yZWQtNjAwey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMzggMzggLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLXJlZC05MDBcLzIwe2JhY2tncm91bmQtY29sb3I6IzdmMWQxZDMzfS5iZy1yZWQtOTUwXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOiM0NTBhMGExYX0uYmctc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXNlY29uZGFyeSkpfS5iZy1zZWNvbmRhcnlcLzIwe2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXNlY29uZGFyeSkgLyAuMil9LmJnLXNlY29uZGFyeVwvMzB7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tc2Vjb25kYXJ5KSAvIC4zKX0uYmctc2Vjb25kYXJ5XC81MHtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1zZWNvbmRhcnkpIC8gLjUpfS5iZy1zZWNvbmRhcnlcLzgwe2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXNlY29uZGFyeSkgLyAuOCl9LmJnLXNsYXRlLTcwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojMzM0MTU1ODB9LmJnLXNsYXRlLTgwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojMWUyOTNiODB9LmJnLXNsYXRlLTkwMHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTUgMjMgNDIgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLXN1Y2Nlc3NcLzE1e2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXN1Y2Nlc3MpIC8gLjE1KX0uYmctdHJhbnNwYXJlbnR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYmctdmlvbGV0LTUwMFwvMTB7YmFja2dyb3VuZC1jb2xvcjojOGI1Y2Y2MWF9LmJnLXZpb2xldC01MDBcLzV7YmFja2dyb3VuZC1jb2xvcjojOGI1Y2Y2MGR9LmJnLXZpb2xldC02MDB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDEyNCA1OCAyMzcgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLXdoaXRley0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uYmctd2hpdGVcLzEwe2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFhfS5iZy13aGl0ZVwvMjB7YmFja2dyb3VuZC1jb2xvcjojZmZmM30uYmctd2hpdGVcLzV7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMGR9LmJnLXdoaXRlXC81MHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY4MH0uYmctd2hpdGVcLzYwe2JhY2tncm91bmQtY29sb3I6I2ZmZjl9LmJnLXdoaXRlXC84MHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZjfS5iZy13aGl0ZVwvOTV7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmZjJ9LmJnLXllbGxvdy01MHstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU0IDI1MiAyMzIgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmJnLXllbGxvdy01MDB7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDIzNCAxNzkgOCAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uYmcteWVsbG93LTUwMFwvMTB7YmFja2dyb3VuZC1jb2xvcjojZWFiMzA4MWF9LmJnLXllbGxvdy01MDBcLzIwe2JhY2tncm91bmQtY29sb3I6I2VhYjMwODMzfS5iZy15ZWxsb3ctNTAwXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOiNlYWIzMDg0ZH0uYmctZ3JhZGllbnQtdG8tYntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sdmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKX0uYmctZ3JhZGllbnQtdG8tYnJ7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSl9LmJnLWdyYWRpZW50LXRvLXJ7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsdmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKX0uZnJvbS1cW1wjMDA2YWRhXF17LS10dy1ncmFkaWVudC1mcm9tOiAjMDA2YWRhIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigwIDEwNiAyMTggLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1cW1wjODMzQUI0XF17LS10dy1ncmFkaWVudC1mcm9tOiAjODMzQUI0IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigxMzEgNTggMTgwIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tYW1iZXItMTAwey0tdHctZ3JhZGllbnQtZnJvbTogI2ZlZjNjNyB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjU0IDI0MyAxOTkgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1hbWJlci00MDB7LS10dy1ncmFkaWVudC1mcm9tOiAjZmJiZjI0IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNTEgMTkxIDM2IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tYW1iZXItNTB7LS10dy1ncmFkaWVudC1mcm9tOiAjZmZmYmViIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNTUgMjUxIDIzNSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWFtYmVyLTUwMHstLXR3LWdyYWRpZW50LWZyb206ICNmNTllMGIgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDI0NSAxNTggMTEgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1hbWJlci01MDBcLzEwey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDI0NSAxNTggMTEgLyAuMSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDI0NSAxNTggMTEgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1hbWJlci01MDBcLzIwey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDI0NSAxNTggMTEgLyAuMikgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDI0NSAxNTggMTEgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1hbWJlci01MDBcLzUwey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDI0NSAxNTggMTEgLyAuNSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDI0NSAxNTggMTEgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1hbWJlci02MDB7LS10dy1ncmFkaWVudC1mcm9tOiAjZDk3NzA2IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyMTcgMTE5IDYgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1hbWJlci03MDB7LS10dy1ncmFkaWVudC1mcm9tOiAjYjQ1MzA5IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigxODAgODMgOSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWJhY2tncm91bmR7LS10dy1ncmFkaWVudC1mcm9tOiBoc2wodmFyKC0tYmFja2dyb3VuZCkpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IGhzbCh2YXIoLS1iYWNrZ3JvdW5kKSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWJsdWUtMTAwey0tdHctZ3JhZGllbnQtZnJvbTogI2RiZWFmZSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjE5IDIzNCAyNTQgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1ibHVlLTIwMHstLXR3LWdyYWRpZW50LWZyb206ICNiZmRiZmUgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDE5MSAyMTkgMjU0IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tYmx1ZS0zMDB7LS10dy1ncmFkaWVudC1mcm9tOiAjOTNjNWZkIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigxNDcgMTk3IDI1MyAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWJsdWUtNTB7LS10dy1ncmFkaWVudC1mcm9tOiAjZWZmNmZmIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyMzkgMjQ2IDI1NSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWJsdWUtNTAwey0tdHctZ3JhZGllbnQtZnJvbTogIzNiODJmNiB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoNTkgMTMwIDI0NiAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWJsdWUtNTAwXC8xMHstLXR3LWdyYWRpZW50LWZyb206IHJnYig1OSAxMzAgMjQ2IC8gLjEpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYig1OSAxMzAgMjQ2IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tYmx1ZS01MDBcLzIwey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDU5IDEzMCAyNDYgLyAuMikgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDU5IDEzMCAyNDYgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1ibHVlLTYwMHstLXR3LWdyYWRpZW50LWZyb206ICMyNTYzZWIgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDM3IDk5IDIzNSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWNhcmR7LS10dy1ncmFkaWVudC1mcm9tOiBoc2wodmFyKC0tY2FyZCkpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IGhzbCh2YXIoLS1jYXJkKSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWRlc3RydWN0aXZlXC85NXstLXR3LWdyYWRpZW50LWZyb206IGhzbCh2YXIoLS1kZXN0cnVjdGl2ZSkgLyAuOTUpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IGhzbCh2YXIoLS1kZXN0cnVjdGl2ZSkgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1lbWVyYWxkLTQwMHstLXR3LWdyYWRpZW50LWZyb206ICMzNGQzOTkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDUyIDIxMSAxNTMgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1lbWVyYWxkLTUwey0tdHctZ3JhZGllbnQtZnJvbTogI2VjZmRmNSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjM2IDI1MyAyNDUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1lbWVyYWxkLTUwMHstLXR3LWdyYWRpZW50LWZyb206ICMxMGI5ODEgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDE2IDE4NSAxMjkgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1lbWVyYWxkLTUwMFwvMTB7LS10dy1ncmFkaWVudC1mcm9tOiByZ2IoMTYgMTg1IDEyOSAvIC4xKSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTYgMTg1IDEyOSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWVtZXJhbGQtNjAwey0tdHctZ3JhZGllbnQtZnJvbTogIzA1OTY2OSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoNSAxNTAgMTA1IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tZm9yZWdyb3VuZHstLXR3LWdyYWRpZW50LWZyb206IGhzbCh2YXIoLS1mb3JlZ3JvdW5kKSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLWZvcmVncm91bmQpIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tZ3JheS0xMDB7LS10dy1ncmFkaWVudC1mcm9tOiAjZjNmNGY2IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNDMgMjQ0IDI0NiAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWdyYXktNDAwey0tdHctZ3JhZGllbnQtZnJvbTogIzljYTNhZiB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTU2IDE2MyAxNzUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1ncmF5LTUwey0tdHctZ3JhZGllbnQtZnJvbTogI2Y5ZmFmYiB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjQ5IDI1MCAyNTEgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1ncmF5LTkwMHstLXR3LWdyYWRpZW50LWZyb206ICMxMTE4MjcgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDE3IDI0IDM5IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tZ3JlZW4tMTAwey0tdHctZ3JhZGllbnQtZnJvbTogI2RjZmNlNyB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjIwIDI1MiAyMzEgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1ncmVlbi00MDB7LS10dy1ncmFkaWVudC1mcm9tOiAjNGFkZTgwIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYig3NCAyMjIgMTI4IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tZ3JlZW4tNTB7LS10dy1ncmFkaWVudC1mcm9tOiAjZjBmZGY0IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNDAgMjUzIDI0NCAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWdyZWVuLTUwMHstLXR3LWdyYWRpZW50LWZyb206ICMyMmM1NWUgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDM0IDE5NyA5NCAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLWdyZWVuLTUwMFwvMTB7LS10dy1ncmFkaWVudC1mcm9tOiByZ2IoMzQgMTk3IDk0IC8gLjEpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigzNCAxOTcgOTQgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1ncmVlbi01MDBcLzIwey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDM0IDE5NyA5NCAvIC4yKSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMzQgMTk3IDk0IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tZ3JlZW4tNjAwey0tdHctZ3JhZGllbnQtZnJvbTogIzE2YTM0YSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjIgMTYzIDc0IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20taW5kaWdvLTUwMFwvMTB7LS10dy1ncmFkaWVudC1mcm9tOiByZ2IoOTkgMTAyIDI0MSAvIC4xKSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoOTkgMTAyIDI0MSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLW9yYW5nZS01MDB7LS10dy1ncmFkaWVudC1mcm9tOiAjZjk3MzE2IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNDkgMTE1IDIyIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tcHJpbWFyeXstLXR3LWdyYWRpZW50LWZyb206IGhzbCh2YXIoLS1wcmltYXJ5KSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tcHJpbWFyeVwvMTB7LS10dy1ncmFkaWVudC1mcm9tOiBoc2wodmFyKC0tcHJpbWFyeSkgLyAuMSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tcHJpbWFyeVwvMjB7LS10dy1ncmFkaWVudC1mcm9tOiBoc2wodmFyKC0tcHJpbWFyeSkgLyAuMikgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tcHJpbWFyeVwvMzB7LS10dy1ncmFkaWVudC1mcm9tOiBoc2wodmFyKC0tcHJpbWFyeSkgLyAuMykgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tcHJpbWFyeVwvNXstLXR3LWdyYWRpZW50LWZyb206IGhzbCh2YXIoLS1wcmltYXJ5KSAvIC4wNSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tcHJpbWFyeVwvNTB7LS10dy1ncmFkaWVudC1mcm9tOiBoc2wodmFyKC0tcHJpbWFyeSkgLyAuNSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tcHJpbWFyeVwvOTV7LS10dy1ncmFkaWVudC1mcm9tOiBoc2wodmFyKC0tcHJpbWFyeSkgLyAuOTUpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IGhzbCh2YXIoLS1wcmltYXJ5KSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLXB1cnBsZS01MHstLXR3LWdyYWRpZW50LWZyb206ICNmYWY1ZmYgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDI1MCAyNDUgMjU1IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tcHVycGxlLTUwMHstLXR3LWdyYWRpZW50LWZyb206ICNhODU1ZjcgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDE2OCA4NSAyNDcgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1wdXJwbGUtNTAwXC8xMHstLXR3LWdyYWRpZW50LWZyb206IHJnYigxNjggODUgMjQ3IC8gLjEpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigxNjggODUgMjQ3IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tcHVycGxlLTYwMHstLXR3LWdyYWRpZW50LWZyb206ICM5MzMzZWEgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDE0NyA1MSAyMzQgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1yZWQtNTB7LS10dy1ncmFkaWVudC1mcm9tOiAjZmVmMmYyIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNTQgMjQyIDI0MiAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLXJlZC01MDB7LS10dy1ncmFkaWVudC1mcm9tOiAjZWY0NDQ0IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyMzkgNjggNjggLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1yZWQtNTAwXC8yMHstLXR3LWdyYWRpZW50LWZyb206IHJnYigyMzkgNjggNjggLyAuMikgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDIzOSA2OCA2OCAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLXJlZC02MDB7LS10dy1ncmFkaWVudC1mcm9tOiAjZGMyNjI2IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyMjAgMzggMzggLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1yZWQtOTUwey0tdHctZ3JhZGllbnQtZnJvbTogIzQ1MGEwYSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoNjkgMTAgMTAgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1yZWQtOTUwXC81MHstLXR3LWdyYWRpZW50LWZyb206IHJnYig2OSAxMCAxMCAvIC41KSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoNjkgMTAgMTAgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1zZWNvbmRhcnlcLzEwey0tdHctZ3JhZGllbnQtZnJvbTogaHNsKHZhcigtLXNlY29uZGFyeSkgLyAuMSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXNlY29uZGFyeSkgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1zZWNvbmRhcnlcLzMwey0tdHctZ3JhZGllbnQtZnJvbTogaHNsKHZhcigtLXNlY29uZGFyeSkgLyAuMykgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXNlY29uZGFyeSkgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS1zbGF0ZS0xMDB7LS10dy1ncmFkaWVudC1mcm9tOiAjZjFmNWY5IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNDEgMjQ1IDI0OSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLXNsYXRlLTkwMHstLXR3LWdyYWRpZW50LWZyb206ICMwZjE3MmEgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDE1IDIzIDQyIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tdHJhbnNwYXJlbnR7LS10dy1ncmFkaWVudC1mcm9tOiB0cmFuc3BhcmVudCB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMCAwIDAgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS12aW9sZXQtNTB7LS10dy1ncmFkaWVudC1mcm9tOiAjZjVmM2ZmIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNDUgMjQzIDI1NSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLXZpb2xldC01MDBcLzEwey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDEzOSA5MiAyNDYgLyAuMSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDEzOSA5MiAyNDYgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS12aW9sZXQtNjAwey0tdHctZ3JhZGllbnQtZnJvbTogIzdjM2FlZCB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTI0IDU4IDIzNyAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLXdoaXRley0tdHctZ3JhZGllbnQtZnJvbTogI2ZmZiB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjU1IDI1NSAyNTUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS13aGl0ZVwvMjB7LS10dy1ncmFkaWVudC1mcm9tOiByZ2IoMjU1IDI1NSAyNTUgLyAuMikgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDI1NSAyNTUgMjU1IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20td2hpdGVcLzQwey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDI1NSAyNTUgMjU1IC8gLjQpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNTUgMjU1IDI1NSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5mcm9tLXllbGxvdy00MDB7LS10dy1ncmFkaWVudC1mcm9tOiAjZmFjYzE1IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNTAgMjA0IDIxIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20teWVsbG93LTUwey0tdHctZ3JhZGllbnQtZnJvbTogI2ZlZmNlOCB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjU0IDI1MiAyMzIgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS15ZWxsb3ctNTAwey0tdHctZ3JhZGllbnQtZnJvbTogI2VhYjMwOCB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjM0IDE3OSA4IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20teWVsbG93LTUwMFwvMTB7LS10dy1ncmFkaWVudC1mcm9tOiByZ2IoMjM0IDE3OSA4IC8gLjEpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyMzQgMTc5IDggLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZnJvbS15ZWxsb3ctNTAwXC8yMHstLXR3LWdyYWRpZW50LWZyb206IHJnYigyMzQgMTc5IDggLyAuMikgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDIzNCAxNzkgOCAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtXFtcI0ZEMUQxRFxdey0tdHctZ3JhZGllbnQtdG86IHJnYigyNTMgMjkgMjkgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksICNGRDFEMUQgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtYW1iZXItNTAwey0tdHctZ3JhZGllbnQtdG86IHJnYigyNDUgMTU4IDExIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAjZjU5ZTBiIHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLWFtYmVyLTgwMFwvNDB7LS10dy1ncmFkaWVudC10bzogcmdiKDE0NiA2NCAxNCAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgcmdiKDE0NiA2NCAxNCAvIC40KSB2YXIoLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LnZpYS1hbWJlci05MDBcLzQwey0tdHctZ3JhZGllbnQtdG86IHJnYigxMjAgNTMgMTUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHJnYigxMjAgNTMgMTUgLyAuNCkgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtYmFja2dyb3VuZHstLXR3LWdyYWRpZW50LXRvOiBoc2wodmFyKC0tYmFja2dyb3VuZCkgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIGhzbCh2YXIoLS1iYWNrZ3JvdW5kKSkgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtYmFja2dyb3VuZFwvOTV7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLWJhY2tncm91bmQpIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCBoc2wodmFyKC0tYmFja2dyb3VuZCkgLyAuOTUpIHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLWJsdWUtNDAwey0tdHctZ3JhZGllbnQtdG86IHJnYig5NiAxNjUgMjUwIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAjNjBhNWZhIHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLWJsdWUtNTB7LS10dy1ncmFkaWVudC10bzogcmdiKDIzOSAyNDYgMjU1IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAjZWZmNmZmIHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLWJsdWUtNTBcLzMwey0tdHctZ3JhZGllbnQtdG86IHJnYigyMzkgMjQ2IDI1NSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgcmdiKDIzOSAyNDYgMjU1IC8gLjMpIHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLWJsdWUtNTAwey0tdHctZ3JhZGllbnQtdG86IHJnYig1OSAxMzAgMjQ2IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAjM2I4MmY2IHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLWJsdWUtNTAwXC8xMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoNTkgMTMwIDI0NiAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgcmdiKDU5IDEzMCAyNDYgLyAuMSkgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtYmx1ZS01MDBcLzV7LS10dy1ncmFkaWVudC10bzogcmdiKDU5IDEzMCAyNDYgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHJnYig1OSAxMzAgMjQ2IC8gLjA1KSB2YXIoLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LnZpYS1ibHVlLTYwMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMzcgOTkgMjM1IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAjMjU2M2ViIHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLWJsdWUtNzAwey0tdHctZ3JhZGllbnQtdG86IHJnYigyOSA3OCAyMTYgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksICMxZDRlZDggdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtZ3JheS04MDB7LS10dy1ncmFkaWVudC10bzogcmdiKDMxIDQxIDU1IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAjMWYyOTM3IHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLWdyYXktOTAwey0tdHctZ3JhZGllbnQtdG86IHJnYigxNyAyNCAzOSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgIzExMTgyNyB2YXIoLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LnZpYS1ncmVlbi01MHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjQwIDI1MyAyNDQgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksICNmMGZkZjQgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtZ3JlZW4tNTAwey0tdHctZ3JhZGllbnQtdG86IHJnYigzNCAxOTcgOTQgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksICMyMmM1NWUgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtZ3JlZW4tNTAwXC81ey0tdHctZ3JhZGllbnQtdG86IHJnYigzNCAxOTcgOTQgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHJnYigzNCAxOTcgOTQgLyAuMDUpIHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLW9yYW5nZS01MHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjU1IDI0NyAyMzcgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksICNmZmY3ZWQgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtb3JhbmdlLTUwMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjQ5IDExNSAyMiAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgI2Y5NzMxNiB2YXIoLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LnZpYS1vcmFuZ2UtNTAwXC8xMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjQ5IDExNSAyMiAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgcmdiKDI0OSAxMTUgMjIgLyAuMSkgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtcHJpbWFyeXstLXR3LWdyYWRpZW50LXRvOiBoc2wodmFyKC0tcHJpbWFyeSkgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIGhzbCh2YXIoLS1wcmltYXJ5KSkgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtcHJpbWFyeVwvODB7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCBoc2wodmFyKC0tcHJpbWFyeSkgLyAuOCkgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtcHVycGxlLTIwMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjMzIDIxMyAyNTUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksICNlOWQ1ZmYgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtcHVycGxlLTQwMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTkyIDEzMiAyNTIgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksICNjMDg0ZmMgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtcHVycGxlLTUwey0tdHctZ3JhZGllbnQtdG86IHJnYigyNTAgMjQ1IDI1NSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgI2ZhZjVmZiB2YXIoLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LnZpYS1wdXJwbGUtNTAwey0tdHctZ3JhZGllbnQtdG86IHJnYigxNjggODUgMjQ3IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAjYTg1NWY3IHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLXB1cnBsZS01MDBcLzEwey0tdHctZ3JhZGllbnQtdG86IHJnYigxNjggODUgMjQ3IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCByZ2IoMTY4IDg1IDI0NyAvIC4xKSB2YXIoLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LnZpYS1yZWQtNTAwey0tdHctZ3JhZGllbnQtdG86IHJnYigyMzkgNjggNjggLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksICNlZjQ0NDQgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS52aWEtc2xhdGUtODAwey0tdHctZ3JhZGllbnQtdG86IHJnYigzMCA0MSA1OSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgIzFlMjkzYiB2YXIoLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LnZpYS10cmFuc3BhcmVudHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMCAwIDAgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHRyYW5zcGFyZW50IHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLXdoaXRley0tdHctZ3JhZGllbnQtdG86IHJnYigyNTUgMjU1IDI1NSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgI2ZmZiB2YXIoLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LnZpYS15ZWxsb3ctNDAwey0tdHctZ3JhZGllbnQtdG86IHJnYigyNTAgMjA0IDIxIC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAjZmFjYzE1IHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLXllbGxvdy01MDB7LS10dy1ncmFkaWVudC10bzogcmdiKDIzNCAxNzkgOCAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgI2VhYjMwOCB2YXIoLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LnZpYS15ZWxsb3ctNTAwXC8xMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjM0IDE3OSA4IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCByZ2IoMjM0IDE3OSA4IC8gLjEpIHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLXllbGxvdy01MDBcLzV7LS10dy1ncmFkaWVudC10bzogcmdiKDIzNCAxNzkgOCAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgcmdiKDIzNCAxNzkgOCAvIC4wNSkgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS50by1cW1wjMDg5MWIyXF17LS10dy1ncmFkaWVudC10bzogIzA4OTFiMiB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLVxbXCNGNzc3MzdcXXstLXR3LWdyYWRpZW50LXRvOiAjRjc3NzM3IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tYWNjZW50ey0tdHctZ3JhZGllbnQtdG86IGhzbCh2YXIoLS1hY2NlbnQpKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWFtYmVyLTEwMHstLXR3LWdyYWRpZW50LXRvOiAjZmVmM2M3IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tYW1iZXItNDAwey0tdHctZ3JhZGllbnQtdG86ICNmYmJmMjQgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1hbWJlci01MDB7LS10dy1ncmFkaWVudC10bzogI2Y1OWUwYiB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWFtYmVyLTUwMFwvMTB7LS10dy1ncmFkaWVudC10bzogcmdiKDI0NSAxNTggMTEgLyAuMSkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1hbWJlci01MDBcLzIwey0tdHctZ3JhZGllbnQtdG86IHJnYigyNDUgMTU4IDExIC8gLjIpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tYW1iZXItNjAwey0tdHctZ3JhZGllbnQtdG86ICNkOTc3MDYgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1hbWJlci02MDBcLzMwey0tdHctZ3JhZGllbnQtdG86IHJnYigyMTcgMTE5IDYgLyAuMykgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1hbWJlci05NTBcLzUwey0tdHctZ3JhZGllbnQtdG86IHJnYig2OSAyNiAzIC8gLjUpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tYmFja2dyb3VuZHstLXR3LWdyYWRpZW50LXRvOiBoc2wodmFyKC0tYmFja2dyb3VuZCkpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tYmx1ZS0yMDB7LS10dy1ncmFkaWVudC10bzogI2JmZGJmZSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWJsdWUtMzAwey0tdHctZ3JhZGllbnQtdG86ICM5M2M1ZmQgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1ibHVlLTQwMHstLXR3LWdyYWRpZW50LXRvOiAjNjBhNWZhIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tYmx1ZS01MHstLXR3LWdyYWRpZW50LXRvOiAjZWZmNmZmIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tYmx1ZS01MFwvNTB7LS10dy1ncmFkaWVudC10bzogcmdiKDIzOSAyNDYgMjU1IC8gLjUpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tYmx1ZS01MDB7LS10dy1ncmFkaWVudC10bzogIzNiODJmNiB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWJsdWUtNTAwXC8xMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoNTkgMTMwIDI0NiAvIC4xKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWJsdWUtNTAwXC81ey0tdHctZ3JhZGllbnQtdG86IHJnYig1OSAxMzAgMjQ2IC8gLjA1KSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWJsdWUtNjAwey0tdHctZ3JhZGllbnQtdG86ICMyNTYzZWIgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1ibHVlLTYwMFwvMjB7LS10dy1ncmFkaWVudC10bzogcmdiKDM3IDk5IDIzNSAvIC4yKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWJsdWUtNzAwey0tdHctZ3JhZGllbnQtdG86ICMxZDRlZDggdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1jYXJkXC81MHstLXR3LWdyYWRpZW50LXRvOiBoc2wodmFyKC0tY2FyZCkgLyAuNSkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1jeWFuLTQwMHstLXR3LWdyYWRpZW50LXRvOiAjMjJkM2VlIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tY3lhbi01MDB7LS10dy1ncmFkaWVudC10bzogIzA2YjZkNCB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWN5YW4tNTAwXC8yMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoNiAxODIgMjEyIC8gLjIpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tY3lhbi05MDBcLzUwey0tdHctZ3JhZGllbnQtdG86IHJnYigyMiA3OCA5OSAvIC41KSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWRlc3RydWN0aXZley0tdHctZ3JhZGllbnQtdG86IGhzbCh2YXIoLS1kZXN0cnVjdGl2ZSkpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tZW1lcmFsZC01MHstLXR3LWdyYWRpZW50LXRvOiAjZWNmZGY1IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tZW1lcmFsZC01MDB7LS10dy1ncmFkaWVudC10bzogIzEwYjk4MSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWVtZXJhbGQtNTAwXC8xMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTYgMTg1IDEyOSAvIC4xKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWVtZXJhbGQtNTAwXC8yMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTYgMTg1IDEyOSAvIC4yKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWVtZXJhbGQtNjAwey0tdHctZ3JhZGllbnQtdG86ICMwNTk2NjkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1mb3JlZ3JvdW5kXC82MHstLXR3LWdyYWRpZW50LXRvOiBoc2wodmFyKC0tZm9yZWdyb3VuZCkgLyAuNikgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1mdWNoc2lhLTUwMHstLXR3LWdyYWRpZW50LXRvOiAjZDk0NmVmIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tZ3JheS0xMDB7LS10dy1ncmFkaWVudC10bzogI2YzZjRmNiB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWdyYXktMzAwey0tdHctZ3JhZGllbnQtdG86ICNkMWQ1ZGIgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1ncmF5LTUwey0tdHctZ3JhZGllbnQtdG86ICNmOWZhZmIgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1ncmF5LTcwMHstLXR3LWdyYWRpZW50LXRvOiAjMzc0MTUxIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tZ3JheS05MDB7LS10dy1ncmFkaWVudC10bzogIzExMTgyNyB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWdyZWVuLTUwey0tdHctZ3JhZGllbnQtdG86ICNmMGZkZjQgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1ncmVlbi02MDB7LS10dy1ncmFkaWVudC10bzogIzE2YTM0YSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLWluZGlnby01MHstLXR3LWdyYWRpZW50LXRvOiAjZWVmMmZmIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8taW5kaWdvLTUwMHstLXR3LWdyYWRpZW50LXRvOiAjNjM2NmYxIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8taW5kaWdvLTUwMFwvMTB7LS10dy1ncmFkaWVudC10bzogcmdiKDk5IDEwMiAyNDEgLyAuMSkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1pbmRpZ28tNjAwey0tdHctZ3JhZGllbnQtdG86ICM0ZjQ2ZTUgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1tdXRlZFwvMjB7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLW11dGVkKSAvIC4yKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLW11dGVkXC8zMHstLXR3LWdyYWRpZW50LXRvOiBoc2wodmFyKC0tbXV0ZWQpIC8gLjMpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tb3JhbmdlLTEwMHstLXR3LWdyYWRpZW50LXRvOiAjZmZlZGQ1IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tb3JhbmdlLTUwey0tdHctZ3JhZGllbnQtdG86ICNmZmY3ZWQgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1vcmFuZ2UtNTAwey0tdHctZ3JhZGllbnQtdG86ICNmOTczMTYgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1vcmFuZ2UtNTAwXC8yMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjQ5IDExNSAyMiAvIC4yKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLXBpbmstMjAwey0tdHctZ3JhZGllbnQtdG86ICNmYmNmZTggdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1waW5rLTUwMHstLXR3LWdyYWRpZW50LXRvOiAjZWM0ODk5IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tcGluay01MDBcLzEwey0tdHctZ3JhZGllbnQtdG86IHJnYigyMzYgNzIgMTUzIC8gLjEpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tcHJpbWFyeXstLXR3LWdyYWRpZW50LXRvOiBoc2wodmFyKC0tcHJpbWFyeSkpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tcHJpbWFyeVwvMTB7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gLjEpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tcHJpbWFyeVwvNXstLXR3LWdyYWRpZW50LXRvOiBoc2wodmFyKC0tcHJpbWFyeSkgLyAuMDUpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tcHJpbWFyeVwvNTB7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gLjUpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tcHJpbWFyeVwvNjB7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gLjYpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tcHJpbWFyeVwvNzB7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gLjcpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tcHJpbWFyeVwvODB7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gLjgpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tcHJpbWFyeVwvOTB7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gLjkpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tcHVycGxlLTUwey0tdHctZ3JhZGllbnQtdG86ICNmYWY1ZmYgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1wdXJwbGUtNTAwey0tdHctZ3JhZGllbnQtdG86ICNhODU1ZjcgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1wdXJwbGUtNjAwey0tdHctZ3JhZGllbnQtdG86ICM5MzMzZWEgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1wdXJwbGUtNzAwey0tdHctZ3JhZGllbnQtdG86ICM3ZTIyY2UgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1yZWQtNTAwey0tdHctZ3JhZGllbnQtdG86ICNlZjQ0NDQgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1yZWQtNjAwey0tdHctZ3JhZGllbnQtdG86ICNkYzI2MjYgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1yZWQtOTUwey0tdHctZ3JhZGllbnQtdG86ICM0NTBhMGEgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1yb3NlLTUwMFwvMjB7LS10dy1ncmFkaWVudC10bzogcmdiKDI0NCA2MyA5NCAvIC4yKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLXNlY29uZGFyeVwvMTB7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXNlY29uZGFyeSkgLyAuMSkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1zZWNvbmRhcnlcLzIwey0tdHctZ3JhZGllbnQtdG86IGhzbCh2YXIoLS1zZWNvbmRhcnkpIC8gLjIpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tc2Vjb25kYXJ5XC81ey0tdHctZ3JhZGllbnQtdG86IGhzbCh2YXIoLS1zZWNvbmRhcnkpIC8gLjA1KSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLXNlY29uZGFyeVwvNTB7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXNlY29uZGFyeSkgLyAuNSkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1zbGF0ZS0yMDB7LS10dy1ncmFkaWVudC10bzogI2UyZThmMCB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLXNsYXRlLTgwMHstLXR3LWdyYWRpZW50LXRvOiAjMWUyOTNiIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tc2xhdGUtOTAwey0tdHctZ3JhZGllbnQtdG86ICMwZjE3MmEgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by10ZWFsLTUwey0tdHctZ3JhZGllbnQtdG86ICNmMGZkZmEgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by10ZWFsLTUwMHstLXR3LWdyYWRpZW50LXRvOiAjMTRiOGE2IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tdHJhbnNwYXJlbnR7LS10dy1ncmFkaWVudC10bzogdHJhbnNwYXJlbnQgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by12aW9sZXQtNTAwXC8xMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTM5IDkyIDI0NiAvIC4xKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLXdoaXRley0tdHctZ3JhZGllbnQtdG86ICNmZmYgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by13aGl0ZVwvNjB7LS10dy1ncmFkaWVudC10bzogcmdiKDI1NSAyNTUgMjU1IC8gLjYpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8teWVsbG93LTEwMHstLXR3LWdyYWRpZW50LXRvOiAjZmVmOWMzIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8teWVsbG93LTQwMHstLXR3LWdyYWRpZW50LXRvOiAjZmFjYzE1IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8teWVsbG93LTUwey0tdHctZ3JhZGllbnQtdG86ICNmZWZjZTggdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by15ZWxsb3ctNTAwey0tdHctZ3JhZGllbnQtdG86ICNlYWIzMDggdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by15ZWxsb3ctNTAwXC8xMHstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjM0IDE3OSA4IC8gLjEpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8teWVsbG93LTUwMFwvMjB7LS10dy1ncmFkaWVudC10bzogcmdiKDIzNCAxNzkgOCAvIC4yKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnRvLXllbGxvdy02MDB7LS10dy1ncmFkaWVudC10bzogI2NhOGEwNCB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LmJnLWNsaXAtdGV4dHstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2JhY2tncm91bmQtY2xpcDp0ZXh0fS5maWxsLWFtYmVyLTQwMHtmaWxsOiNmYmJmMjR9LmZpbGwtYW1iZXItNTAwe2ZpbGw6I2Y1OWUwYn0uZmlsbC1jdXJyZW50e2ZpbGw6Y3VycmVudENvbG9yfS5maWxsLXdoaXRle2ZpbGw6I2ZmZn0uZmlsbC15ZWxsb3ctNDAwe2ZpbGw6I2ZhY2MxNX0ub2JqZWN0LWNvbnRhaW57LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbn0ub2JqZWN0LWNvdmVyey1vLW9iamVjdC1maXQ6Y292ZXI7b2JqZWN0LWZpdDpjb3Zlcn0ucC0we3BhZGRpbmc6MH0ucC0xe3BhZGRpbmc6LjI1cmVtfS5wLTFcLjV7cGFkZGluZzouMzc1cmVtfS5wLTEye3BhZGRpbmc6M3JlbX0ucC0ye3BhZGRpbmc6LjVyZW19LnAtM3twYWRkaW5nOi43NXJlbX0ucC00e3BhZGRpbmc6MXJlbX0ucC01e3BhZGRpbmc6MS4yNXJlbX0ucC02e3BhZGRpbmc6MS41cmVtfS5wLTh7cGFkZGluZzoycmVtfS5wLVxbMXB4XF17cGFkZGluZzoxcHh9LnAtXFszcHhcXXtwYWRkaW5nOjNweH0ucHgtMXtwYWRkaW5nLWxlZnQ6LjI1cmVtO3BhZGRpbmctcmlnaHQ6LjI1cmVtfS5weC0xXC41e3BhZGRpbmctbGVmdDouMzc1cmVtO3BhZGRpbmctcmlnaHQ6LjM3NXJlbX0ucHgtMTB7cGFkZGluZy1sZWZ0OjIuNXJlbTtwYWRkaW5nLXJpZ2h0OjIuNXJlbX0ucHgtMTJ7cGFkZGluZy1sZWZ0OjNyZW07cGFkZGluZy1yaWdodDozcmVtfS5weC0ye3BhZGRpbmctbGVmdDouNXJlbTtwYWRkaW5nLXJpZ2h0Oi41cmVtfS5weC0yXC41e3BhZGRpbmctbGVmdDouNjI1cmVtO3BhZGRpbmctcmlnaHQ6LjYyNXJlbX0ucHgtM3twYWRkaW5nLWxlZnQ6Ljc1cmVtO3BhZGRpbmctcmlnaHQ6Ljc1cmVtfS5weC00e3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbX0ucHgtNXtwYWRkaW5nLWxlZnQ6MS4yNXJlbTtwYWRkaW5nLXJpZ2h0OjEuMjVyZW19LnB4LTZ7cGFkZGluZy1sZWZ0OjEuNXJlbTtwYWRkaW5nLXJpZ2h0OjEuNXJlbX0ucHgtOHtwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19LnB5LTBcLjV7cGFkZGluZy10b3A6LjEyNXJlbTtwYWRkaW5nLWJvdHRvbTouMTI1cmVtfS5weS0xe3BhZGRpbmctdG9wOi4yNXJlbTtwYWRkaW5nLWJvdHRvbTouMjVyZW19LnB5LTFcLjV7cGFkZGluZy10b3A6LjM3NXJlbTtwYWRkaW5nLWJvdHRvbTouMzc1cmVtfS5weS0xMHtwYWRkaW5nLXRvcDoyLjVyZW07cGFkZGluZy1ib3R0b206Mi41cmVtfS5weS0xMntwYWRkaW5nLXRvcDozcmVtO3BhZGRpbmctYm90dG9tOjNyZW19LnB5LTE2e3BhZGRpbmctdG9wOjRyZW07cGFkZGluZy1ib3R0b206NHJlbX0ucHktMntwYWRkaW5nLXRvcDouNXJlbTtwYWRkaW5nLWJvdHRvbTouNXJlbX0ucHktMlwuNXtwYWRkaW5nLXRvcDouNjI1cmVtO3BhZGRpbmctYm90dG9tOi42MjVyZW19LnB5LTIwe3BhZGRpbmctdG9wOjVyZW07cGFkZGluZy1ib3R0b206NXJlbX0ucHktMjR7cGFkZGluZy10b3A6NnJlbTtwYWRkaW5nLWJvdHRvbTo2cmVtfS5weS0ze3BhZGRpbmctdG9wOi43NXJlbTtwYWRkaW5nLWJvdHRvbTouNzVyZW19LnB5LTNcLjV7cGFkZGluZy10b3A6Ljg3NXJlbTtwYWRkaW5nLWJvdHRvbTouODc1cmVtfS5weS0zMntwYWRkaW5nLXRvcDo4cmVtO3BhZGRpbmctYm90dG9tOjhyZW19LnB5LTR7cGFkZGluZy10b3A6MXJlbTtwYWRkaW5nLWJvdHRvbToxcmVtfS5weS01e3BhZGRpbmctdG9wOjEuMjVyZW07cGFkZGluZy1ib3R0b206MS4yNXJlbX0ucHktNntwYWRkaW5nLXRvcDoxLjVyZW07cGFkZGluZy1ib3R0b206MS41cmVtfS5weS04e3BhZGRpbmctdG9wOjJyZW07cGFkZGluZy1ib3R0b206MnJlbX0ucGItMXtwYWRkaW5nLWJvdHRvbTouMjVyZW19LnBiLTE2e3BhZGRpbmctYm90dG9tOjRyZW19LnBiLTJ7cGFkZGluZy1ib3R0b206LjVyZW19LnBiLTN7cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wYi00e3BhZGRpbmctYm90dG9tOjFyZW19LnBiLTV7cGFkZGluZy1ib3R0b206MS4yNXJlbX0ucGItNntwYWRkaW5nLWJvdHRvbToxLjVyZW19LnBiLTh7cGFkZGluZy1ib3R0b206MnJlbX0ucGwtMTB7cGFkZGluZy1sZWZ0OjIuNXJlbX0ucGwtMTJ7cGFkZGluZy1sZWZ0OjNyZW19LnBsLTE0e3BhZGRpbmctbGVmdDozLjVyZW19LnBsLTE2e3BhZGRpbmctbGVmdDo0cmVtfS5wbC0ye3BhZGRpbmctbGVmdDouNXJlbX0ucGwtMlwuNXtwYWRkaW5nLWxlZnQ6LjYyNXJlbX0ucGwtNHtwYWRkaW5nLWxlZnQ6MXJlbX0ucGwtNXtwYWRkaW5nLWxlZnQ6MS4yNXJlbX0ucGwtOHtwYWRkaW5nLWxlZnQ6MnJlbX0ucGwtOXtwYWRkaW5nLWxlZnQ6Mi4yNXJlbX0ucHItMTJ7cGFkZGluZy1yaWdodDozcmVtfS5wci0ye3BhZGRpbmctcmlnaHQ6LjVyZW19LnByLTJcLjV7cGFkZGluZy1yaWdodDouNjI1cmVtfS5wci00e3BhZGRpbmctcmlnaHQ6MXJlbX0ucHItNntwYWRkaW5nLXJpZ2h0OjEuNXJlbX0ucHItOHtwYWRkaW5nLXJpZ2h0OjJyZW19LnB0LTB7cGFkZGluZy10b3A6MH0ucHQtMXtwYWRkaW5nLXRvcDouMjVyZW19LnB0LTE2e3BhZGRpbmctdG9wOjRyZW19LnB0LTJ7cGFkZGluZy10b3A6LjVyZW19LnB0LTIwe3BhZGRpbmctdG9wOjVyZW19LnB0LTN7cGFkZGluZy10b3A6Ljc1cmVtfS5wdC0zMntwYWRkaW5nLXRvcDo4cmVtfS5wdC00e3BhZGRpbmctdG9wOjFyZW19LnB0LTV7cGFkZGluZy10b3A6MS4yNXJlbX0ucHQtNntwYWRkaW5nLXRvcDoxLjVyZW19LnB0LTh7cGFkZGluZy10b3A6MnJlbX0udGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdH0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uYWxpZ24tbWlkZGxle3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9udC1tb25ve2ZvbnQtZmFtaWx5OnVpLW1vbm9zcGFjZSxTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsTGliZXJhdGlvbiBNb25vLENvdXJpZXIgTmV3LG1vbm9zcGFjZX0uZm9udC1zYW5ze2ZvbnQtZmFtaWx5OkludGVyLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWZ9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC0zeGx7Zm9udC1zaXplOjEuODc1cmVtO2xpbmUtaGVpZ2h0OjIuMjVyZW19LnRleHQtNHhse2ZvbnQtc2l6ZToyLjI1cmVtO2xpbmUtaGVpZ2h0OjIuNXJlbX0udGV4dC01eGx7Zm9udC1zaXplOjNyZW07bGluZS1oZWlnaHQ6MX0udGV4dC02eGx7Zm9udC1zaXplOjMuNzVyZW07bGluZS1oZWlnaHQ6MX0udGV4dC03eGx7Zm9udC1zaXplOjQuNXJlbTtsaW5lLWhlaWdodDoxfS50ZXh0LVxbMFwuOHJlbVxde2ZvbnQtc2l6ZTouOHJlbX0udGV4dC1cWzEwcHhcXXtmb250LXNpemU6MTBweH0udGV4dC1cWzExcHhcXXtmb250LXNpemU6MTFweH0udGV4dC1cWzEzcHhcXXtmb250LXNpemU6MTNweH0udGV4dC1cWzhweFxde2ZvbnQtc2l6ZTo4cHh9LnRleHQtXFs5cHhcXXtmb250LXNpemU6OXB4fS50ZXh0LWJhc2V7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS41cmVtfS50ZXh0LWxne2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtfS50ZXh0LXNte2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnRleHQteGx7Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS43NXJlbX0udGV4dC14c3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjFyZW19LmZvbnQtYmxhY2t7Zm9udC13ZWlnaHQ6OTAwfS5mb250LWJvbGR7Zm9udC13ZWlnaHQ6NzAwfS5mb250LWV4dHJhYm9sZHtmb250LXdlaWdodDo4MDB9LmZvbnQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwfS5mb250LW1lZGl1bXtmb250LXdlaWdodDo1MDB9LmZvbnQtbm9ybWFse2ZvbnQtd2VpZ2h0OjQwMH0uZm9udC1zZW1pYm9sZHtmb250LXdlaWdodDo2MDB9LnVwcGVyY2FzZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lmxvd2VyY2FzZXt0ZXh0LXRyYW5zZm9ybTpsb3dlcmNhc2V9Lm5vcm1hbC1jYXNle3RleHQtdHJhbnNmb3JtOm5vbmV9Lml0YWxpY3tmb250LXN0eWxlOml0YWxpY30udGFidWxhci1udW1zey0tdHctbnVtZXJpYy1zcGFjaW5nOiB0YWJ1bGFyLW51bXM7Zm9udC12YXJpYW50LW51bWVyaWM6dmFyKC0tdHctb3JkaW5hbCkgdmFyKC0tdHctc2xhc2hlZC16ZXJvKSB2YXIoLS10dy1udW1lcmljLWZpZ3VyZSkgdmFyKC0tdHctbnVtZXJpYy1zcGFjaW5nKSB2YXIoLS10dy1udW1lcmljLWZyYWN0aW9uKX0ubGVhZGluZy1ub25le2xpbmUtaGVpZ2h0OjF9LmxlYWRpbmctcmVsYXhlZHtsaW5lLWhlaWdodDoxLjYyNX0ubGVhZGluZy1zbnVne2xpbmUtaGVpZ2h0OjEuMzc1fS5sZWFkaW5nLXRpZ2h0e2xpbmUtaGVpZ2h0OjEuMjV9LnRyYWNraW5nLVxbMFwuM2VtXF17bGV0dGVyLXNwYWNpbmc6LjNlbX0udHJhY2tpbmctdGlnaHR7bGV0dGVyLXNwYWNpbmc6LS4wMjVlbX0udHJhY2tpbmctd2lkZXtsZXR0ZXItc3BhY2luZzouMDI1ZW19LnRyYWNraW5nLXdpZGVye2xldHRlci1zcGFjaW5nOi4wNWVtfS50cmFja2luZy13aWRlc3R7bGV0dGVyLXNwYWNpbmc6LjFlbX0udGV4dC1cW1wjMDA2YWRhXF17LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDAgMTA2IDIxOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LVxbXCMwYTE2MjhcXXstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTAgMjIgNDAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1hY2NlbnR7Y29sb3I6aHNsKHZhcigtLWFjY2VudCkpfS50ZXh0LWFjY2VudC1mb3JlZ3JvdW5ke2NvbG9yOmhzbCh2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCkpfS50ZXh0LWFtYmVyLTEwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjU0IDI0MyAxOTkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1hbWJlci0yMDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI1MyAyMzAgMTM4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtYW1iZXItNDAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyNTEgMTkxIDM2IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtYW1iZXItNTAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyNDUgMTU4IDExIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtYW1iZXItNjAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMTcgMTE5IDYgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1hbWJlci03MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE4MCA4MyA5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtYW1iZXItODAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxNDYgNjQgMTQgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1hbWJlci05MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDEyMCA1MyAxNSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWFtYmVyLTk1MHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoNjkgMjYgMyAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWJsYWNrey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigwIDAgMCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWJsdWUtMTAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMTkgMjM0IDI1NCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWJsdWUtMjAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxOTEgMjE5IDI1NCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWJsdWUtMzAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxNDcgMTk3IDI1MyAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWJsdWUtNDAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYig5NiAxNjUgMjUwIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtYmx1ZS01MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDU5IDEzMCAyNDYgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1ibHVlLTYwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMzcgOTkgMjM1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtYmx1ZS02MDBcLzYwe2NvbG9yOiMyNTYzZWI5OX0udGV4dC1ibHVlLTYwMFwvNzB7Y29sb3I6IzI1NjNlYmIzfS50ZXh0LWJsdWUtNjAwXC84MHtjb2xvcjojMjU2M2ViY2N9LnRleHQtYmx1ZS03MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI5IDc4IDIxNiAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWJsdWUtODAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigzMCA2NCAxNzUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1ibHVlLTkwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMzAgNTggMTM4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtY2FyZC1mb3JlZ3JvdW5ke2NvbG9yOmhzbCh2YXIoLS1jYXJkLWZvcmVncm91bmQpKX0udGV4dC1jdXJyZW50e2NvbG9yOmN1cnJlbnRDb2xvcn0udGV4dC1jeWFuLTQwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMzQgMjExIDIzOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWRlc3RydWN0aXZle2NvbG9yOmhzbCh2YXIoLS1kZXN0cnVjdGl2ZSkpfS50ZXh0LWRlc3RydWN0aXZlLWZvcmVncm91bmR7Y29sb3I6aHNsKHZhcigtLWRlc3RydWN0aXZlLWZvcmVncm91bmQpKX0udGV4dC1lbWVyYWxkLTEwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjA5IDI1MCAyMjkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1lbWVyYWxkLTQwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoNTIgMjExIDE1MyAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWVtZXJhbGQtNTAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxNiAxODUgMTI5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtZW1lcmFsZC02MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDUgMTUwIDEwNSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWVtZXJhbGQtNzAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYig0IDEyMCA4NyAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWZvcmVncm91bmR7Y29sb3I6aHNsKHZhcigtLWZvcmVncm91bmQpKX0udGV4dC1mb3JlZ3JvdW5kXC84MHtjb2xvcjpoc2wodmFyKC0tZm9yZWdyb3VuZCkgLyAuOCl9LnRleHQtZ3JheS0zMDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDIwOSAyMTMgMjE5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtZ3JheS00MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE1NiAxNjMgMTc1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtZ3JheS01MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDEwNyAxMTQgMTI4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtZ3JheS02MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDc1IDg1IDk5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtZ3JheS03MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDU1IDY1IDgxIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtZ3JheS04MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDMxIDQxIDU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtZ3JheS05MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE3IDI0IDM5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtZ3JlZW4tMzAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxMzQgMjM5IDE3MiAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWdyZWVuLTQwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoNzQgMjIyIDEyOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWdyZWVuLTUwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMzQgMTk3IDk0IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtZ3JlZW4tNjAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMiAxNjMgNzQgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1ncmVlbi02MDBcLzgwe2NvbG9yOiMxNmEzNGFjY30udGV4dC1ncmVlbi03MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDIxIDEyOCA2MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LWdyZWVuLTgwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjIgMTAxIDUyIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtaW5kaWdvLTYwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoNzkgNzAgMjI5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtbG9zc3tjb2xvcjpoc2wodmFyKC0tbG9zcykpfS50ZXh0LW11dGVkLWZvcmVncm91bmR7Y29sb3I6aHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKX0udGV4dC1tdXRlZC1mb3JlZ3JvdW5kXC81MHtjb2xvcjpoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkgLyAuNSl9LnRleHQtbXV0ZWQtZm9yZWdyb3VuZFwvNjB7Y29sb3I6aHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpIC8gLjYpfS50ZXh0LW11dGVkLWZvcmVncm91bmRcLzcwe2NvbG9yOmhzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSAvIC43KX0udGV4dC1tdXRlZC1mb3JlZ3JvdW5kXC84MHtjb2xvcjpoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkgLyAuOCl9LnRleHQtb3JhbmdlLTEwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjU1IDIzNyAyMTMgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1vcmFuZ2UtMjAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyNTQgMjE1IDE3MCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LW9yYW5nZS01MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI0OSAxMTUgMjIgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1vcmFuZ2UtNjAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMzQgODggMTIgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1wb3BvdmVyLWZvcmVncm91bmR7Y29sb3I6aHNsKHZhcigtLXBvcG92ZXItZm9yZWdyb3VuZCkpfS50ZXh0LXByaW1hcnl7Y29sb3I6aHNsKHZhcigtLXByaW1hcnkpKX0udGV4dC1wcmltYXJ5LWZvcmVncm91bmR7Y29sb3I6aHNsKHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCkpfS50ZXh0LXByb2ZpdHtjb2xvcjpoc2wodmFyKC0tcHJvZml0KSl9LnRleHQtcHVycGxlLTEwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjQzIDIzMiAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1wdXJwbGUtMjAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMzMgMjEzIDI1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LXB1cnBsZS01MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE2OCA4NSAyNDcgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1wdXJwbGUtNjAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxNDcgNTEgMjM0IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtcmVkLTQwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjQ4IDExMyAxMTMgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1yZWQtNTAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMzkgNjggNjggLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1yZWQtNjAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMjAgMzggMzggLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1yZWQtNjAwXC84MHtjb2xvcjojZGMyNjI2Y2N9LnRleHQtcmVkLTcwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTg1IDI4IDI4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtcmVkLTgwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTUzIDI3IDI3IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtcmVkLTkwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTI3IDI5IDI5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmR7Y29sb3I6aHNsKHZhcigtLXNlY29uZGFyeS1mb3JlZ3JvdW5kKSl9LnRleHQtc2xhdGUtMzAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMDMgMjEzIDIyNSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LXNsYXRlLTQwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTQ4IDE2MyAxODQgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC1zdWNjZXNze2NvbG9yOmhzbCh2YXIoLS1zdWNjZXNzKSl9LnRleHQtdHJhbnNwYXJlbnR7Y29sb3I6dHJhbnNwYXJlbnR9LnRleHQtdmlvbGV0LTUwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTM5IDkyIDI0NiAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LXZpb2xldC02MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDEyNCA1OCAyMzcgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0udGV4dC12aW9sZXQtNzAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxMDkgNDAgMjE3IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtdmlvbGV0LTkwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoNzYgMjkgMTQ5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtd2hpdGV7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LnRleHQtd2hpdGVcLzQwe2NvbG9yOiNmZmY2fS50ZXh0LXdoaXRlXC81MHtjb2xvcjojZmZmZmZmODB9LnRleHQtd2hpdGVcLzYwe2NvbG9yOiNmZmY5fS50ZXh0LXdoaXRlXC83MHtjb2xvcjojZmZmZmZmYjN9LnRleHQtd2hpdGVcLzgwe2NvbG9yOiNmZmZjfS50ZXh0LXdoaXRlXC85MHtjb2xvcjojZmZmZmZmZTZ9LnRleHQteWVsbG93LTQwMHstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjUwIDIwNCAyMSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LXllbGxvdy01MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDIzNCAxNzkgOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LXllbGxvdy02MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDIwMiAxMzggNCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LXllbGxvdy02MDBcLzgwe2NvbG9yOiNjYThhMDRjY30udGV4dC15ZWxsb3ctNzAwey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxNjEgOTggNyAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LXllbGxvdy04MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDEzMyA3NyAxNCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS50ZXh0LXllbGxvdy05MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDExMyA2MyAxOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS51bmRlcmxpbmV7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5saW5lLXRocm91Z2h7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bGluZS10aHJvdWdofS51bmRlcmxpbmUtb2Zmc2V0LTR7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjRweH0uYWNjZW50LWFtYmVyLTYwMHthY2NlbnQtY29sb3I6I2Q5NzcwNn0uYWNjZW50LXByaW1hcnl7YWNjZW50LWNvbG9yOmhzbCh2YXIoLS1wcmltYXJ5KSl9Lm9wYWNpdHktMHtvcGFjaXR5OjB9Lm9wYWNpdHktMTB7b3BhY2l0eTouMX0ub3BhY2l0eS0xMDB7b3BhY2l0eToxfS5vcGFjaXR5LTIwe29wYWNpdHk6LjJ9Lm9wYWNpdHktMzB7b3BhY2l0eTouM30ub3BhY2l0eS00MHtvcGFjaXR5Oi40fS5vcGFjaXR5LTV7b3BhY2l0eTouMDV9Lm9wYWNpdHktNTB7b3BhY2l0eTouNX0ub3BhY2l0eS02MHtvcGFjaXR5Oi42fS5vcGFjaXR5LTcwe29wYWNpdHk6Ljd9Lm9wYWNpdHktNzV7b3BhY2l0eTouNzV9Lm9wYWNpdHktODB7b3BhY2l0eTouOH0ub3BhY2l0eS05MHtvcGFjaXR5Oi45fS5zaGFkb3ctMnhsey0tdHctc2hhZG93OiAwIDI1cHggNTBweCAtMTJweCByZ2IoMCAwIDAgLyAuMjUpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMjVweCA1MHB4IC0xMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF8wXzBfMXB4X2hzbFwodmFyXCgtLXNpZGViYXItYm9yZGVyXClcKVxdey0tdHctc2hhZG93OiAwIDAgMCAxcHggaHNsKHZhcigtLXNpZGViYXItYm9yZGVyKSk7LS10dy1zaGFkb3ctY29sb3JlZDogMCAwIDAgMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF8wXzIwcHhfcmdiYVwoMFwsMFwsMFwsMFwuM1wpXF17LS10dy1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwwLDAsLjMpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAyMHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF8wXzQwcHhfcmdiYVwoNTlcLDEzMFwsMjQ2XCwwXC4zXClcXXstLXR3LXNoYWRvdzogMCAwIDQwcHggcmdiYSg1OSwxMzAsMjQ2LC4zKTstLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgNDBweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzBfOHB4XzI0cHhfLThweF9yZ2JhXCgyMzlcLDY4XCw2OFwsMFwuNVwpXF17LS10dy1zaGFkb3c6IDAgOHB4IDI0cHggLThweCByZ2JhKDIzOSw2OCw2OCwuNSk7LS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggMjRweCAtOHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF84cHhfMjRweF8tOHB4X3JnYmFcKDM0XCwxOTdcLDk0XCwwXC41XClcXXstLXR3LXNoYWRvdzogMCA4cHggMjRweCAtOHB4IHJnYmEoMzQsMTk3LDk0LC41KTstLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDhweCAyNHB4IC04cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctXFswXzhweF8yNHB4Xy04cHhfcmdiYVwoNTlcLDEzMFwsMjQ2XCwwXC41XClcXXstLXR3LXNoYWRvdzogMCA4cHggMjRweCAtOHB4IHJnYmEoNTksMTMwLDI0NiwuNSk7LS10dy1zaGFkb3ctY29sb3JlZDogMCA4cHggMjRweCAtOHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LWxney0tdHctc2hhZG93OiAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gLjEpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMTBweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggNnB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbWR7LS10dy1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYigwIDAgMCAvIC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gLjEpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW5vbmV7LS10dy1zaGFkb3c6IDAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAgIzAwMDA7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LXNtey0tdHctc2hhZG93OiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAuMDUpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDJweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LXhsey0tdHctc2hhZG93OiAwIDIwcHggMjVweCAtNXB4IHJnYigwIDAgMCAvIC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIC4xKTstLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDIwcHggMjVweCAtNXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgOHB4IDEwcHggLTZweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cW1wjMDA2YWRhXF1cLzMwey0tdHctc2hhZG93LWNvbG9yOiByZ2IoMCAxMDYgMjE4IC8gLjMpOy0tdHctc2hhZG93OiB2YXIoLS10dy1zaGFkb3ctY29sb3JlZCl9LnNoYWRvdy1hY2NlbnRcLzE1ey0tdHctc2hhZG93LWNvbG9yOiBoc2wodmFyKC0tYWNjZW50KSAvIC4xNSk7LS10dy1zaGFkb3c6IHZhcigtLXR3LXNoYWRvdy1jb2xvcmVkKX0uc2hhZG93LWFtYmVyLTIwMFwvNTB7LS10dy1zaGFkb3ctY29sb3I6IHJnYigyNTMgMjMwIDEzOCAvIC41KTstLXR3LXNoYWRvdzogdmFyKC0tdHctc2hhZG93LWNvbG9yZWQpfS5zaGFkb3ctYW1iZXItNTAwXC8zMHstLXR3LXNoYWRvdy1jb2xvcjogcmdiKDI0NSAxNTggMTEgLyAuMyk7LS10dy1zaGFkb3c6IHZhcigtLXR3LXNoYWRvdy1jb2xvcmVkKX0uc2hhZG93LWRlc3RydWN0aXZlXC8xNXstLXR3LXNoYWRvdy1jb2xvcjogaHNsKHZhcigtLWRlc3RydWN0aXZlKSAvIC4xNSk7LS10dy1zaGFkb3c6IHZhcigtLXR3LXNoYWRvdy1jb2xvcmVkKX0uc2hhZG93LWRlc3RydWN0aXZlXC8yMHstLXR3LXNoYWRvdy1jb2xvcjogaHNsKHZhcigtLWRlc3RydWN0aXZlKSAvIC4yKTstLXR3LXNoYWRvdzogdmFyKC0tdHctc2hhZG93LWNvbG9yZWQpfS5zaGFkb3ctZW1lcmFsZC01MDBcLzMwey0tdHctc2hhZG93LWNvbG9yOiByZ2IoMTYgMTg1IDEyOSAvIC4zKTstLXR3LXNoYWRvdzogdmFyKC0tdHctc2hhZG93LWNvbG9yZWQpfS5zaGFkb3ctZ3JheS00MDBcLzMwey0tdHctc2hhZG93LWNvbG9yOiByZ2IoMTU2IDE2MyAxNzUgLyAuMyk7LS10dy1zaGFkb3c6IHZhcigtLXR3LXNoYWRvdy1jb2xvcmVkKX0uc2hhZG93LWdyZWVuLTIwMFwvNTB7LS10dy1zaGFkb3ctY29sb3I6IHJnYigxODcgMjQ3IDIwOCAvIC41KTstLXR3LXNoYWRvdzogdmFyKC0tdHctc2hhZG93LWNvbG9yZWQpfS5zaGFkb3ctcHJpbWFyeVwvMTV7LS10dy1zaGFkb3ctY29sb3I6IGhzbCh2YXIoLS1wcmltYXJ5KSAvIC4xNSk7LS10dy1zaGFkb3c6IHZhcigtLXR3LXNoYWRvdy1jb2xvcmVkKX0uc2hhZG93LXByaW1hcnlcLzIwey0tdHctc2hhZG93LWNvbG9yOiBoc2wodmFyKC0tcHJpbWFyeSkgLyAuMik7LS10dy1zaGFkb3c6IHZhcigtLXR3LXNoYWRvdy1jb2xvcmVkKX0uc2hhZG93LXByaW1hcnlcLzI1ey0tdHctc2hhZG93LWNvbG9yOiBoc2wodmFyKC0tcHJpbWFyeSkgLyAuMjUpOy0tdHctc2hhZG93OiB2YXIoLS10dy1zaGFkb3ctY29sb3JlZCl9LnNoYWRvdy1wcmltYXJ5XC8zMHstLXR3LXNoYWRvdy1jb2xvcjogaHNsKHZhcigtLXByaW1hcnkpIC8gLjMpOy0tdHctc2hhZG93OiB2YXIoLS10dy1zaGFkb3ctY29sb3JlZCl9LnNoYWRvdy1wdXJwbGUtNTAwXC8zMHstLXR3LXNoYWRvdy1jb2xvcjogcmdiKDE2OCA4NSAyNDcgLyAuMyk7LS10dy1zaGFkb3c6IHZhcigtLXR3LXNoYWRvdy1jb2xvcmVkKX0uc2hhZG93LXJlZC01MDBcLzMwey0tdHctc2hhZG93LWNvbG9yOiByZ2IoMjM5IDY4IDY4IC8gLjMpOy0tdHctc2hhZG93OiB2YXIoLS10dy1zaGFkb3ctY29sb3JlZCl9LnNoYWRvdy1zdWNjZXNzXC8xNXstLXR3LXNoYWRvdy1jb2xvcjogaHNsKHZhcigtLXN1Y2Nlc3MpIC8gLjE1KTstLXR3LXNoYWRvdzogdmFyKC0tdHctc2hhZG93LWNvbG9yZWQpfS5zaGFkb3cteWVsbG93LTUwMFwvMzB7LS10dy1zaGFkb3ctY29sb3I6IHJnYigyMzQgMTc5IDggLyAuMyk7LS10dy1zaGFkb3c6IHZhcigtLXR3LXNoYWRvdy1jb2xvcmVkKX0ub3V0bGluZS1ub25le291dGxpbmU6MnB4IHNvbGlkIHRyYW5zcGFyZW50O291dGxpbmUtb2Zmc2V0OjJweH0ub3V0bGluZXtvdXRsaW5lLXN0eWxlOnNvbGlkfS5yaW5ney0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKX0ucmluZy0wey0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKX0ucmluZy0yey0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKX0ucmluZy00ey0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoNHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKX0ucmluZy1wcmltYXJ5ey0tdHctcmluZy1jb2xvcjogaHNsKHZhcigtLXByaW1hcnkpKX0ucmluZy1yaW5ney0tdHctcmluZy1jb2xvcjogaHNsKHZhcigtLXJpbmcpKX0ucmluZy13aGl0ZXstLXR3LXJpbmctb3BhY2l0eTogMTstLXR3LXJpbmctY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LXJpbmctb3BhY2l0eSwgMSkpfS5yaW5nLW9mZnNldC1iYWNrZ3JvdW5key0tdHctcmluZy1vZmZzZXQtY29sb3I6IGhzbCh2YXIoLS1iYWNrZ3JvdW5kKSl9LmJsdXJ7LS10dy1ibHVyOiBibHVyKDhweCk7ZmlsdGVyOnZhcigtLXR3LWJsdXIpIHZhcigtLXR3LWJyaWdodG5lc3MpIHZhcigtLXR3LWNvbnRyYXN0KSB2YXIoLS10dy1ncmF5c2NhbGUpIHZhcigtLXR3LWh1ZS1yb3RhdGUpIHZhcigtLXR3LWludmVydCkgdmFyKC0tdHctc2F0dXJhdGUpIHZhcigtLXR3LXNlcGlhKSB2YXIoLS10dy1kcm9wLXNoYWRvdyl9LmJsdXItMnhsey0tdHctYmx1cjogYmx1cig0MHB4KTtmaWx0ZXI6dmFyKC0tdHctYmx1cikgdmFyKC0tdHctYnJpZ2h0bmVzcykgdmFyKC0tdHctY29udHJhc3QpIHZhcigtLXR3LWdyYXlzY2FsZSkgdmFyKC0tdHctaHVlLXJvdGF0ZSkgdmFyKC0tdHctaW52ZXJ0KSB2YXIoLS10dy1zYXR1cmF0ZSkgdmFyKC0tdHctc2VwaWEpIHZhcigtLXR3LWRyb3Atc2hhZG93KX0uYmx1ci0zeGx7LS10dy1ibHVyOiBibHVyKDY0cHgpO2ZpbHRlcjp2YXIoLS10dy1ibHVyKSB2YXIoLS10dy1icmlnaHRuZXNzKSB2YXIoLS10dy1jb250cmFzdCkgdmFyKC0tdHctZ3JheXNjYWxlKSB2YXIoLS10dy1odWUtcm90YXRlKSB2YXIoLS10dy1pbnZlcnQpIHZhcigtLXR3LXNhdHVyYXRlKSB2YXIoLS10dy1zZXBpYSkgdmFyKC0tdHctZHJvcC1zaGFkb3cpfS5ibHVyLXNtey0tdHctYmx1cjogYmx1cig0cHgpO2ZpbHRlcjp2YXIoLS10dy1ibHVyKSB2YXIoLS10dy1icmlnaHRuZXNzKSB2YXIoLS10dy1jb250cmFzdCkgdmFyKC0tdHctZ3JheXNjYWxlKSB2YXIoLS10dy1odWUtcm90YXRlKSB2YXIoLS10dy1pbnZlcnQpIHZhcigtLXR3LXNhdHVyYXRlKSB2YXIoLS10dy1zZXBpYSkgdmFyKC0tdHctZHJvcC1zaGFkb3cpfS5kcm9wLXNoYWRvd3stLXR3LWRyb3Atc2hhZG93OiBkcm9wLXNoYWRvdygwIDFweCAycHggcmdiKDAgMCAwIC8gLjEpKSBkcm9wLXNoYWRvdygwIDFweCAxcHggcmdiKDAgMCAwIC8gLjA2KSk7ZmlsdGVyOnZhcigtLXR3LWJsdXIpIHZhcigtLXR3LWJyaWdodG5lc3MpIHZhcigtLXR3LWNvbnRyYXN0KSB2YXIoLS10dy1ncmF5c2NhbGUpIHZhcigtLXR3LWh1ZS1yb3RhdGUpIHZhcigtLXR3LWludmVydCkgdmFyKC0tdHctc2F0dXJhdGUpIHZhcigtLXR3LXNlcGlhKSB2YXIoLS10dy1kcm9wLXNoYWRvdyl9LmRyb3Atc2hhZG93LWxney0tdHctZHJvcC1zaGFkb3c6IGRyb3Atc2hhZG93KDAgMTBweCA4cHggcmdiKDAgMCAwIC8gLjA0KSkgZHJvcC1zaGFkb3coMCA0cHggM3B4IHJnYigwIDAgMCAvIC4xKSk7ZmlsdGVyOnZhcigtLXR3LWJsdXIpIHZhcigtLXR3LWJyaWdodG5lc3MpIHZhcigtLXR3LWNvbnRyYXN0KSB2YXIoLS10dy1ncmF5c2NhbGUpIHZhcigtLXR3LWh1ZS1yb3RhdGUpIHZhcigtLXR3LWludmVydCkgdmFyKC0tdHctc2F0dXJhdGUpIHZhcigtLXR3LXNlcGlhKSB2YXIoLS10dy1kcm9wLXNoYWRvdyl9LmZpbHRlcntmaWx0ZXI6dmFyKC0tdHctYmx1cikgdmFyKC0tdHctYnJpZ2h0bmVzcykgdmFyKC0tdHctY29udHJhc3QpIHZhcigtLXR3LWdyYXlzY2FsZSkgdmFyKC0tdHctaHVlLXJvdGF0ZSkgdmFyKC0tdHctaW52ZXJ0KSB2YXIoLS10dy1zYXR1cmF0ZSkgdmFyKC0tdHctc2VwaWEpIHZhcigtLXR3LWRyb3Atc2hhZG93KX0uYmFja2Ryb3AtYmx1cnstLXR3LWJhY2tkcm9wLWJsdXI6IGJsdXIoOHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyKSB2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzKSB2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCkgdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlKSB2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlKSB2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQpIHZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHkpIHZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlKSB2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIpIHZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MpIHZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0KSB2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUpIHZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUpIHZhcigtLXR3LWJhY2tkcm9wLWludmVydCkgdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSkgdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUpIHZhcigtLXR3LWJhY2tkcm9wLXNlcGlhKX0uYmFja2Ryb3AtYmx1ci1sZ3stLXR3LWJhY2tkcm9wLWJsdXI6IGJsdXIoMTZweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1cikgdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcykgdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QpIHZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSkgdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSkgdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0KSB2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5KSB2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSkgdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyKSB2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzKSB2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCkgdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlKSB2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlKSB2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQpIHZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHkpIHZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlKSB2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSl9LmJhY2tkcm9wLWJsdXItbWR7LS10dy1iYWNrZHJvcC1ibHVyOiBibHVyKDEycHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIpIHZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MpIHZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0KSB2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUpIHZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUpIHZhcigtLXR3LWJhY2tkcm9wLWludmVydCkgdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSkgdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUpIHZhcigtLXR3LWJhY2tkcm9wLXNlcGlhKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1cikgdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcykgdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QpIHZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSkgdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSkgdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0KSB2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5KSB2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSkgdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEpfS5iYWNrZHJvcC1ibHVyLXNtey0tdHctYmFja2Ryb3AtYmx1cjogYmx1cig0cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIpIHZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MpIHZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0KSB2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUpIHZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUpIHZhcigtLXR3LWJhY2tkcm9wLWludmVydCkgdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSkgdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUpIHZhcigtLXR3LWJhY2tkcm9wLXNlcGlhKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1cikgdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcykgdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QpIHZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSkgdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSkgdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0KSB2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5KSB2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSkgdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEpfS5iYWNrZHJvcC1ibHVyLXhsey0tdHctYmFja2Ryb3AtYmx1cjogYmx1cigyNHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyKSB2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzKSB2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCkgdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlKSB2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlKSB2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQpIHZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHkpIHZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlKSB2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIpIHZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MpIHZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0KSB2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUpIHZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUpIHZhcigtLXR3LWJhY2tkcm9wLWludmVydCkgdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSkgdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUpIHZhcigtLXR3LWJhY2tkcm9wLXNlcGlhKX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2Usb3BhY2l0eSxib3gtc2hhZG93LHRyYW5zZm9ybSxmaWx0ZXIsYmFja2Ryb3AtZmlsdGVyLC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30udHJhbnNpdGlvbi1cW2xlZnRcLHJpZ2h0XCx3aWR0aFxde3RyYW5zaXRpb24tcHJvcGVydHk6bGVmdCxyaWdodCx3aWR0aDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LnRyYW5zaXRpb24tXFttYXJnaW5cLG9wYVxde3RyYW5zaXRpb24tcHJvcGVydHk6bWFyZ2luLG9wYTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LnRyYW5zaXRpb24tXFt3aWR0aFwsaGVpZ2h0XCxwYWRkaW5nXF17dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxoZWlnaHQscGFkZGluZzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LnRyYW5zaXRpb24tXFt3aWR0aFxde3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGg7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LnRyYW5zaXRpb24tc2hhZG93e3RyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LnRyYW5zaXRpb24tdHJhbnNmb3Jte3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30uZHVyYXRpb24tMTAwMHt0cmFuc2l0aW9uLWR1cmF0aW9uOjFzfS5kdXJhdGlvbi0yMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9LmR1cmF0aW9uLTMwMHt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uZHVyYXRpb24tNTAwe3RyYW5zaXRpb24tZHVyYXRpb246LjVzfS5lYXNlLWluLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uZWFzZS1saW5lYXJ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyfUBrZXlmcmFtZXMgZW50ZXJ7MCV7b3BhY2l0eTp2YXIoLS10dy1lbnRlci1vcGFjaXR5LCAxKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QodmFyKC0tdHctZW50ZXItdHJhbnNsYXRlLXgsIDApLHZhcigtLXR3LWVudGVyLXRyYW5zbGF0ZS15LCAwKSwwKSBzY2FsZTNkKHZhcigtLXR3LWVudGVyLXNjYWxlLCAxKSx2YXIoLS10dy1lbnRlci1zY2FsZSwgMSksdmFyKC0tdHctZW50ZXItc2NhbGUsIDEpKSByb3RhdGUodmFyKC0tdHctZW50ZXItcm90YXRlLCAwKSl9fUBrZXlmcmFtZXMgZXhpdHt0b3tvcGFjaXR5OnZhcigtLXR3LWV4aXQtb3BhY2l0eSwgMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKHZhcigtLXR3LWV4aXQtdHJhbnNsYXRlLXgsIDApLHZhcigtLXR3LWV4aXQtdHJhbnNsYXRlLXksIDApLDApIHNjYWxlM2QodmFyKC0tdHctZXhpdC1zY2FsZSwgMSksdmFyKC0tdHctZXhpdC1zY2FsZSwgMSksdmFyKC0tdHctZXhpdC1zY2FsZSwgMSkpIHJvdGF0ZSh2YXIoLS10dy1leGl0LXJvdGF0ZSwgMCkpfX0uYW5pbWF0ZS1pbnthbmltYXRpb24tbmFtZTplbnRlcjthbmltYXRpb24tZHVyYXRpb246LjE1czstLXR3LWVudGVyLW9wYWNpdHk6IGluaXRpYWw7LS10dy1lbnRlci1zY2FsZTogaW5pdGlhbDstLXR3LWVudGVyLXJvdGF0ZTogaW5pdGlhbDstLXR3LWVudGVyLXRyYW5zbGF0ZS14OiBpbml0aWFsOy0tdHctZW50ZXItdHJhbnNsYXRlLXk6IGluaXRpYWx9LmZhZGUtaW4tMHstLXR3LWVudGVyLW9wYWNpdHk6IDB9LmZhZGUtaW4tODB7LS10dy1lbnRlci1vcGFjaXR5OiAuOH0uem9vbS1pbi05NXstLXR3LWVudGVyLXNjYWxlOiAuOTV9LmR1cmF0aW9uLTEwMDB7YW5pbWF0aW9uLWR1cmF0aW9uOjFzfS5kdXJhdGlvbi0yMDB7YW5pbWF0aW9uLWR1cmF0aW9uOi4yc30uZHVyYXRpb24tMzAwe2FuaW1hdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTUwMHthbmltYXRpb24tZHVyYXRpb246LjVzfS5lYXNlLWluLW91dHthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5lYXNlLWxpbmVhcnthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcn0ucnVubmluZ3thbmltYXRpb24tcGxheS1zdGF0ZTpydW5uaW5nfS5jYXJkLXNoYWRvd3tib3gtc2hhZG93OjAgMXB4IDNweCAjMDAwMDAwMWEsMCAxcHggMnB4ICMwMDAwMDAwZn0udGV4dC1ncmFkaWVudHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsaHNsKHZhcigtLXByaW1hcnkpKSwjMDA3M2U2KTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY2xpcDp0ZXh0fUBrZXlmcmFtZXMgY29uZmV0dGl7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpIHJvdGF0ZSgwKTtvcGFjaXR5OjB9MTAle29wYWNpdHk6MX05MCV7b3BhY2l0eToxfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMHZoKSByb3RhdGUoNzIwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgdHdpbmtsZXswJSx0b3tvcGFjaXR5Oi40O3RyYW5zZm9ybTpzY2FsZSguOCl9NTAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMS4yKX19LmFuaW1hdGUtdHdpbmtsZXthbmltYXRpb246dHdpbmtsZSAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5cW21hc2staW1hZ2VcOmxpbmVhci1ncmFkaWVudFwoMGRlZ1wsdHJhbnNwYXJlbnRcLGJsYWNrXClcXXstd2Via2l0LW1hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDBkZWcsdHJhbnNwYXJlbnQsYmxhY2spO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDBkZWcsdHJhbnNwYXJlbnQsYmxhY2spfS5maWxlXDpib3JkZXItMDo6ZmlsZS1zZWxlY3Rvci1idXR0b257Ym9yZGVyLXdpZHRoOjBweH0uZmlsZVw6YmctdHJhbnNwYXJlbnQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmZpbGVcOnRleHQtc206OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LmZpbGVcOmZvbnQtbWVkaXVtOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntmb250LXdlaWdodDo1MDB9LmZpbGVcOnRleHQtZm9yZWdyb3VuZDo6ZmlsZS1zZWxlY3Rvci1idXR0b257Y29sb3I6aHNsKHZhcigtLWZvcmVncm91bmQpKX0ucGxhY2Vob2xkZXJcOnRleHQtbXV0ZWQtZm9yZWdyb3VuZDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjpoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpfS5wbGFjZWhvbGRlclw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOjpwbGFjZWhvbGRlcntjb2xvcjpoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpfS5iZWZvcmVcOmFic29sdXRlOmJlZm9yZXtjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3Bvc2l0aW9uOmFic29sdXRlfS5iZWZvcmVcOmluc2V0LTA6YmVmb3Jle2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjB9LmJlZm9yZVw6dHJhbnNsYXRlLXgtXFstMjAwXCVcXTpiZWZvcmV7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTstLXR3LXRyYW5zbGF0ZS14OiAtMjAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uYmVmb3JlXDpiZy1ncmFkaWVudC10by1yOmJlZm9yZXtjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSl9LmJlZm9yZVw6ZnJvbS13aGl0ZVwvMDpiZWZvcmV7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTstLXR3LWdyYWRpZW50LWZyb206IHJnYigyNTUgMjU1IDI1NSAvIDApIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNTUgMjU1IDI1NSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5iZWZvcmVcOnZpYS13aGl0ZVwvMjA6YmVmb3Jle2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7LS10dy1ncmFkaWVudC10bzogcmdiKDI1NSAyNTUgMjU1IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCByZ2IoMjU1IDI1NSAyNTUgLyAuMikgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5iZWZvcmVcOnRvLXdoaXRlXC8wOmJlZm9yZXtjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpOy0tdHctZ3JhZGllbnQtdG86IHJnYigyNTUgMjU1IDI1NSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uYmVmb3JlXDp0cmFuc2l0aW9uLXRyYW5zZm9ybTpiZWZvcmV7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LmJlZm9yZVw6ZHVyYXRpb24tNzAwOmJlZm9yZXt0cmFuc2l0aW9uLWR1cmF0aW9uOi43cztjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2FuaW1hdGlvbi1kdXJhdGlvbjouN3N9LmFmdGVyXDphYnNvbHV0ZTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3Bvc2l0aW9uOmFic29sdXRlfS5hZnRlclw6LWluc2V0LTI6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTt0b3A6LS41cmVtO3JpZ2h0Oi0uNXJlbTtib3R0b206LS41cmVtO2xlZnQ6LS41cmVtfS5hZnRlclw6aW5zZXQteS0wOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7dG9wOjA7Ym90dG9tOjB9LmFmdGVyXDpsZWZ0LTFcLzI6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtsZWZ0OjUwJX0uYWZ0ZXJcOnctMTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3dpZHRoOi4yNXJlbX0uYWZ0ZXJcOnctXFsycHhcXTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3dpZHRoOjJweH0uYWZ0ZXJcOi10cmFuc2xhdGUteC0xXC8yOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7LS10dy10cmFuc2xhdGUteDogLTUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uZmlyc3RcOnJvdW5kZWQtbC1tZDpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDJweCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSAycHgpfS5maXJzdFw6Ym9yZGVyLWw6Zmlyc3QtY2hpbGR7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4fS5sYXN0XDpyb3VuZGVkLXItbWQ6bGFzdC1jaGlsZHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSAycHgpO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDJweCl9Lmxhc3RcOmJvcmRlci0wOmxhc3QtY2hpbGR7Ym9yZGVyLXdpZHRoOjBweH0uZm9jdXMtd2l0aGluXDpyZWxhdGl2ZTpmb2N1cy13aXRoaW57cG9zaXRpb246cmVsYXRpdmV9LmZvY3VzLXdpdGhpblw6ei0yMDpmb2N1cy13aXRoaW57ei1pbmRleDoyMH0uaG92ZXJcOi10cmFuc2xhdGUteS0xOmhvdmVyey0tdHctdHJhbnNsYXRlLXk6IC0uMjVyZW07dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LmhvdmVyXDp0cmFuc2xhdGUteC1cWzJweFxdOmhvdmVyey0tdHctdHJhbnNsYXRlLXg6IDJweDt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uaG92ZXJcOnRyYW5zbGF0ZS15LVxbLTFweFxdOmhvdmVyey0tdHctdHJhbnNsYXRlLXk6IC0xcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LmhvdmVyXDp0cmFuc2xhdGUteS1cWy0ycHhcXTpob3ZlcnstLXR3LXRyYW5zbGF0ZS15OiAtMnB4O3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5ob3Zlclw6c2NhbGUtMTA1OmhvdmVyey0tdHctc2NhbGUteDogMS4wNTstLXR3LXNjYWxlLXk6IDEuMDU7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LmhvdmVyXDpzY2FsZS0xMTA6aG92ZXJ7LS10dy1zY2FsZS14OiAxLjE7LS10dy1zY2FsZS15OiAxLjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LmhvdmVyXDpzY2FsZS1cWzFcLjAxXF06aG92ZXJ7LS10dy1zY2FsZS14OiAxLjAxOy0tdHctc2NhbGUteTogMS4wMTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uaG92ZXJcOnNjYWxlLVxbMVwuMDJcXTpob3ZlcnstLXR3LXNjYWxlLXg6IDEuMDI7LS10dy1zY2FsZS15OiAxLjAyO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5ob3Zlclw6Ym9yZGVyLVxbXCMwMDZhZGFcXVwvNTA6aG92ZXJ7Ym9yZGVyLWNvbG9yOiMwMDZhZGE4MH0uaG92ZXJcOmJvcmRlci1hbWJlci01MDA6aG92ZXJ7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDI0NSAxNTggMTEgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ob3Zlclw6Ym9yZGVyLWFtYmVyLTYwMDpob3ZlcnstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMjE3IDExOSA2IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uaG92ZXJcOmJvcmRlci1ibHVlLTMwMDpob3ZlcnstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMTQ3IDE5NyAyNTMgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ob3Zlclw6Ym9yZGVyLWJsdWUtNDAwOmhvdmVyey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYig5NiAxNjUgMjUwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uaG92ZXJcOmJvcmRlci1ibHVlLTUwMFwvNDA6aG92ZXJ7Ym9yZGVyLWNvbG9yOiMzYjgyZjY2Nn0uaG92ZXJcOmJvcmRlci1lbWVyYWxkLTIwMDpob3ZlcnstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMTY3IDI0MyAyMDggLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ob3Zlclw6Ym9yZGVyLWVtZXJhbGQtNDAwOmhvdmVyey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYig1MiAyMTEgMTUzIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uaG92ZXJcOmJvcmRlci1lbWVyYWxkLTUwMDpob3ZlcnstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMTYgMTg1IDEyOSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmhvdmVyXDpib3JkZXItZ3JheS0zMDA6aG92ZXJ7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uaG92ZXJcOmJvcmRlci1ncmVlbi01MDA6aG92ZXJ7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDM0IDE5NyA5NCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmhvdmVyXDpib3JkZXItaW5kaWdvLTUwMFwvNDA6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM2MzY2ZjE2Nn0uaG92ZXJcOmJvcmRlci1wcmltYXJ5OmhvdmVye2JvcmRlci1jb2xvcjpoc2wodmFyKC0tcHJpbWFyeSkpfS5ob3Zlclw6Ym9yZGVyLXByaW1hcnlcLzIwOmhvdmVye2JvcmRlci1jb2xvcjpoc2wodmFyKC0tcHJpbWFyeSkgLyAuMil9LmhvdmVyXDpib3JkZXItcHJpbWFyeVwvMzA6aG92ZXJ7Ym9yZGVyLWNvbG9yOmhzbCh2YXIoLS1wcmltYXJ5KSAvIC4zKX0uaG92ZXJcOmJvcmRlci1wcmltYXJ5XC80MDpob3Zlcntib3JkZXItY29sb3I6aHNsKHZhcigtLXByaW1hcnkpIC8gLjQpfS5ob3Zlclw6Ym9yZGVyLXByaW1hcnlcLzUwOmhvdmVye2JvcmRlci1jb2xvcjpoc2wodmFyKC0tcHJpbWFyeSkgLyAuNSl9LmhvdmVyXDpib3JkZXItdmlvbGV0LTMwMDpob3ZlcnstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMTk2IDE4MSAyNTMgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5ob3Zlclw6Ym9yZGVyLXZpb2xldC00MDA6aG92ZXJ7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDE2NyAxMzkgMjUwIC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uaG92ZXJcOmJnLVxbXCMwMDViYzBcXTpob3ZlcnstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCA5MSAxOTIgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmhvdmVyXDpiZy1cW1wjMTY2RkU1XF06aG92ZXJ7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDIyIDExMSAyMjkgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmhvdmVyXDpiZy1hY2NlbnQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tYWNjZW50KSl9LmhvdmVyXDpiZy1hY2NlbnRcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLWFjY2VudCkgLyAuMil9LmhvdmVyXDpiZy1hY2NlbnRcLzUwOmhvdmVye2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLWFjY2VudCkgLyAuNSl9LmhvdmVyXDpiZy1hbWJlci01MDBcLzEwOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2Y1OWUwYjFhfS5ob3Zlclw6YmctYW1iZXItNjAwOmhvdmVyey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMTcgMTE5IDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmhvdmVyXDpiZy1ibGFja1wvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwNn0uaG92ZXJcOmJnLWJsdWUtNTA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDIzOSAyNDYgMjU1IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5ob3Zlclw6YmctYmx1ZS03MDA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI5IDc4IDIxNiAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uaG92ZXJcOmJnLWNhcmRcLzUwOmhvdmVye2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLWNhcmQpIC8gLjUpfS5ob3Zlclw6YmctZGVzdHJ1Y3RpdmVcLzkwOmhvdmVye2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLWRlc3RydWN0aXZlKSAvIC45KX0uaG92ZXJcOmJnLWVtZXJhbGQtNTA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDIzNiAyNTMgMjQ1IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5ob3Zlclw6YmctZW1lcmFsZC01MFwvNTA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWNmZGY1ODB9LmhvdmVyXDpiZy1lbWVyYWxkLTYwMDpob3ZlcnstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNSAxNTAgMTA1IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5ob3Zlclw6YmctZ3JheS0xMDA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MyAyNDQgMjQ2IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5ob3Zlclw6YmctZ3JheS0yMDA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5ob3Zlclw6YmctZ3JheS01MDpob3ZlcnstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ5IDI1MCAyNTEgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmhvdmVyXDpiZy1ncmF5LTgwMDpob3ZlcnstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMzEgNDEgNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmhvdmVyXDpiZy1ncmVlbi01MDpob3ZlcnstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQwIDI1MyAyNDQgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmhvdmVyXDpiZy1ncmVlbi01MDBcLzE1OmhvdmVye2JhY2tncm91bmQtY29sb3I6IzIyYzU1ZTI2fS5ob3Zlclw6YmctZ3JlZW4tNjAwOmhvdmVyey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMiAxNjMgNzQgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmhvdmVyXDpiZy1ncmVlbi02MDBcLzEwOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzE2YTM0YTFhfS5ob3Zlclw6YmctZ3JlZW4tNzAwOmhvdmVyey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMSAxMjggNjEgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmhvdmVyXDpiZy1sb3NzXC85MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1sb3NzKSAvIC45KX0uaG92ZXJcOmJnLW11dGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLW11dGVkKSl9LmhvdmVyXDpiZy1tdXRlZFwvMzA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tbXV0ZWQpIC8gLjMpfS5ob3Zlclw6YmctbXV0ZWRcLzUwOmhvdmVye2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLW11dGVkKSAvIC41KX0uaG92ZXJcOmJnLW9yYW5nZS03MDA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDE5NCA2NSAxMiAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uaG92ZXJcOmJnLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tcHJpbWFyeSkpfS5ob3Zlclw6YmctcHJpbWFyeVwvMTA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tcHJpbWFyeSkgLyAuMSl9LmhvdmVyXDpiZy1wcmltYXJ5XC81OmhvdmVye2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXByaW1hcnkpIC8gLjA1KX0uaG92ZXJcOmJnLXByaW1hcnlcLzkwOmhvdmVye2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXByaW1hcnkpIC8gLjkpfS5ob3Zlclw6YmctcHJvZml0XC85MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1wcm9maXQpIC8gLjkpfS5ob3Zlclw6YmctcHVycGxlLTcwMDpob3ZlcnstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTI2IDM0IDIwNiAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uaG92ZXJcOmJnLXJlZC01MDpob3ZlcnstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU0IDI0MiAyNDIgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmhvdmVyXDpiZy1yZWQtNjAwOmhvdmVyey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMzggMzggLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmhvdmVyXDpiZy1zZWNvbmRhcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tc2Vjb25kYXJ5KSl9LmhvdmVyXDpiZy1zbGF0ZS03MDA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDUxIDY1IDg1IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5ob3Zlclw6YmctdHJhbnNwYXJlbnQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaG92ZXJcOmJnLXdoaXRlOmhvdmVyey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uaG92ZXJcOmJnLXdoaXRlXC8xMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxYX0uaG92ZXJcOmJnLXdoaXRlXC8yMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmYzfS5ob3Zlclw6Ymctd2hpdGVcLzkwOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZmU2fS5ob3Zlclw6ZnJvbS1hbWJlci02MDA6aG92ZXJ7LS10dy1ncmFkaWVudC1mcm9tOiAjZDk3NzA2IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigyMTcgMTE5IDYgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uaG92ZXJcOmZyb20tYmx1ZS02MDA6aG92ZXJ7LS10dy1ncmFkaWVudC1mcm9tOiAjMjU2M2ViIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigzNyA5OSAyMzUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uaG92ZXJcOmZyb20tZW1lcmFsZC02MDA6aG92ZXJ7LS10dy1ncmFkaWVudC1mcm9tOiAjMDU5NjY5IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYig1IDE1MCAxMDUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uaG92ZXJcOmZyb20tZW1lcmFsZC02MDBcLzkwOmhvdmVyey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDUgMTUwIDEwNSAvIC45KSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoNSAxNTAgMTA1IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmhvdmVyXDpmcm9tLWdyYXktODAwOmhvdmVyey0tdHctZ3JhZGllbnQtZnJvbTogIzFmMjkzNyB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMzEgNDEgNTUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uaG92ZXJcOmZyb20tZ3JlZW4tNjAwOmhvdmVyey0tdHctZ3JhZGllbnQtZnJvbTogIzE2YTM0YSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjIgMTYzIDc0IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmhvdmVyXDpmcm9tLXByaW1hcnlcLzkwOmhvdmVyey0tdHctZ3JhZGllbnQtZnJvbTogaHNsKHZhcigtLXByaW1hcnkpIC8gLjkpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IGhzbCh2YXIoLS1wcmltYXJ5KSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5ob3Zlclw6ZnJvbS1wdXJwbGUtNzAwOmhvdmVyey0tdHctZ3JhZGllbnQtZnJvbTogIzdlMjJjZSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTI2IDM0IDIwNiAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5ob3Zlclw6ZnJvbS1yZWQtNjAwOmhvdmVyey0tdHctZ3JhZGllbnQtZnJvbTogI2RjMjYyNiB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjIwIDM4IDM4IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmhvdmVyXDpmcm9tLXZpb2xldC02MDBcLzkwOmhvdmVyey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDEyNCA1OCAyMzcgLyAuOSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDEyNCA1OCAyMzcgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uaG92ZXJcOnZpYS1ibHVlLTUwMFwvOTA6aG92ZXJ7LS10dy1ncmFkaWVudC10bzogcmdiKDU5IDEzMCAyNDYgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHJnYig1OSAxMzAgMjQ2IC8gLjkpIHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uaG92ZXJcOnZpYS1ncmVlbi01MDBcLzkwOmhvdmVyey0tdHctZ3JhZGllbnQtdG86IHJnYigzNCAxOTcgOTQgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHJnYigzNCAxOTcgOTQgLyAuOSkgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5ob3Zlclw6dmlhLXB1cnBsZS01MDBcLzkwOmhvdmVyey0tdHctZ3JhZGllbnQtdG86IHJnYigxNjggODUgMjQ3IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCByZ2IoMTY4IDg1IDI0NyAvIC45KSB2YXIoLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmhvdmVyXDp2aWEteWVsbG93LTYwMDpob3ZlcnstLXR3LWdyYWRpZW50LXRvOiByZ2IoMjAyIDEzOCA0IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAjY2E4YTA0IHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uaG92ZXJcOnRvLWFtYmVyLTUwMFwvOTA6aG92ZXJ7LS10dy1ncmFkaWVudC10bzogcmdiKDI0NSAxNTggMTEgLyAuOSkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5ob3Zlclw6dG8tYW1iZXItNjAwOmhvdmVyey0tdHctZ3JhZGllbnQtdG86ICNkOTc3MDYgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5ob3Zlclw6dG8tYW1iZXItNzAwOmhvdmVyey0tdHctZ3JhZGllbnQtdG86ICNiNDUzMDkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5ob3Zlclw6dG8tYmx1ZS03MDA6aG92ZXJ7LS10dy1ncmFkaWVudC10bzogIzFkNGVkOCB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LmhvdmVyXDp0by1lbWVyYWxkLTYwMDpob3ZlcnstLXR3LWdyYWRpZW50LXRvOiAjMDU5NjY5IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uaG92ZXJcOnRvLWVtZXJhbGQtNzAwOmhvdmVyey0tdHctZ3JhZGllbnQtdG86ICMwNDc4NTcgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5ob3Zlclw6dG8tZnVjaHNpYS01MDBcLzkwOmhvdmVyey0tdHctZ3JhZGllbnQtdG86IHJnYigyMTcgNzAgMjM5IC8gLjkpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uaG92ZXJcOnRvLWdyYXktNjAwOmhvdmVyey0tdHctZ3JhZGllbnQtdG86ICM0YjU1NjMgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5ob3Zlclw6dG8tZ3JlZW4tNzAwOmhvdmVyey0tdHctZ3JhZGllbnQtdG86ICMxNTgwM2QgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5ob3Zlclw6dG8tcHJpbWFyeVwvNzA6aG92ZXJ7LS10dy1ncmFkaWVudC10bzogaHNsKHZhcigtLXByaW1hcnkpIC8gLjcpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uaG92ZXJcOnRvLXJlZC03MDA6aG92ZXJ7LS10dy1ncmFkaWVudC10bzogI2I5MWMxYyB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LmhvdmVyXDp0by10ZWFsLTUwMFwvOTA6aG92ZXJ7LS10dy1ncmFkaWVudC10bzogcmdiKDIwIDE4NCAxNjYgLyAuOSkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5ob3Zlclw6dG8teWVsbG93LTYwMDpob3ZlcnstLXR3LWdyYWRpZW50LXRvOiAjY2E4YTA0IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uaG92ZXJcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6aG92ZXJ7Y29sb3I6aHNsKHZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKSl9LmhvdmVyXDp0ZXh0LWJsdWUtNzAwOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyOSA3OCAyMTYgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0uaG92ZXJcOnRleHQtZm9yZWdyb3VuZDpob3Zlcntjb2xvcjpoc2wodmFyKC0tZm9yZWdyb3VuZCkpfS5ob3Zlclw6dGV4dC1ncmF5LTcwMDpob3ZlcnstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoNTUgNjUgODEgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0uaG92ZXJcOnRleHQtZ3JheS05MDA6aG92ZXJ7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE3IDI0IDM5IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LmhvdmVyXDp0ZXh0LW11dGVkLWZvcmVncm91bmQ6aG92ZXJ7Y29sb3I6aHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKX0uaG92ZXJcOnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjpoc2wodmFyKC0tcHJpbWFyeSkpfS5ob3Zlclw6dGV4dC1wcmltYXJ5LWZvcmVncm91bmQ6aG92ZXJ7Y29sb3I6aHNsKHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCkpfS5ob3Zlclw6dGV4dC1yZWQtNDAwOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyNDggMTEzIDExMyAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5ob3Zlclw6dGV4dC13aGl0ZTpob3ZlcnstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0uaG92ZXJcOnVuZGVybGluZTpob3Zlcnt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9LmhvdmVyXDpuby11bmRlcmxpbmU6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZX0uaG92ZXJcOm9wYWNpdHktMTAwOmhvdmVye29wYWNpdHk6MX0uaG92ZXJcOm9wYWNpdHktODA6aG92ZXJ7b3BhY2l0eTouOH0uaG92ZXJcOm9wYWNpdHktOTA6aG92ZXJ7b3BhY2l0eTouOX0uaG92ZXJcOnNoYWRvdy0yeGw6aG92ZXJ7LS10dy1zaGFkb3c6IDAgMjVweCA1MHB4IC0xMnB4IHJnYigwIDAgMCAvIC4yNSk7LS10dy1zaGFkb3ctY29sb3JlZDogMCAyNXB4IDUwcHggLTEycHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1zaGFkb3cpfS5ob3Zlclw6c2hhZG93LVxbMF8wXzBfMXB4X2hzbFwodmFyXCgtLXNpZGViYXItYWNjZW50XClcKVxdOmhvdmVyey0tdHctc2hhZG93OiAwIDAgMCAxcHggaHNsKHZhcigtLXNpZGViYXItYWNjZW50KSk7LS10dy1zaGFkb3ctY29sb3JlZDogMCAwIDAgMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uaG92ZXJcOnNoYWRvdy1cWzBfMTZweF80MHB4Xy04cHhfcmdiYVwoMjM5XCw2OFwsNjhcLDBcLjdcKVxdOmhvdmVyey0tdHctc2hhZG93OiAwIDE2cHggNDBweCAtOHB4IHJnYmEoMjM5LDY4LDY4LC43KTstLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDE2cHggNDBweCAtOHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uaG92ZXJcOnNoYWRvdy1cWzBfMTZweF80MHB4Xy04cHhfcmdiYVwoMzRcLDE5N1wsOTRcLDBcLjdcKVxdOmhvdmVyey0tdHctc2hhZG93OiAwIDE2cHggNDBweCAtOHB4IHJnYmEoMzQsMTk3LDk0LC43KTstLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDE2cHggNDBweCAtOHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uaG92ZXJcOnNoYWRvdy1cWzBfMTZweF80MHB4Xy04cHhfcmdiYVwoNTlcLDEzMFwsMjQ2XCwwXC43XClcXTpob3ZlcnstLXR3LXNoYWRvdzogMCAxNnB4IDQwcHggLThweCByZ2JhKDU5LDEzMCwyNDYsLjcpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMTZweCA0MHB4IC04cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1zaGFkb3cpfS5ob3Zlclw6c2hhZG93LWxnOmhvdmVyey0tdHctc2hhZG93OiAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gLjEpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMTBweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggNnB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1zaGFkb3cpfS5ob3Zlclw6c2hhZG93LXhsOmhvdmVyey0tdHctc2hhZG93OiAwIDIwcHggMjVweCAtNXB4IHJnYigwIDAgMCAvIC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIC4xKTstLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDIwcHggMjVweCAtNXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgOHB4IDEwcHggLTZweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LmhvdmVyXDpzaGFkb3ctcHJpbWFyeVwvNTpob3ZlcnstLXR3LXNoYWRvdy1jb2xvcjogaHNsKHZhcigtLXByaW1hcnkpIC8gLjA1KTstLXR3LXNoYWRvdzogdmFyKC0tdHctc2hhZG93LWNvbG9yZWQpfS5ob3Zlclw6YnJpZ2h0bmVzcy0xMTA6aG92ZXJ7LS10dy1icmlnaHRuZXNzOiBicmlnaHRuZXNzKDEuMSk7ZmlsdGVyOnZhcigtLXR3LWJsdXIpIHZhcigtLXR3LWJyaWdodG5lc3MpIHZhcigtLXR3LWNvbnRyYXN0KSB2YXIoLS10dy1ncmF5c2NhbGUpIHZhcigtLXR3LWh1ZS1yb3RhdGUpIHZhcigtLXR3LWludmVydCkgdmFyKC0tdHctc2F0dXJhdGUpIHZhcigtLXR3LXNlcGlhKSB2YXIoLS10dy1kcm9wLXNoYWRvdyl9LmhvdmVyXDpjYXJkLXNoYWRvdy1ob3Zlcjpob3Zlcntib3gtc2hhZG93OjAgMTBweCAxNXB4IC0zcHggIzAwMDAwMDFhLDAgNHB4IDZweCAtMnB4ICMwMDAwMDAwZH0uaG92ZXJcOmJlZm9yZVw6dHJhbnNsYXRlLXgtXFsyMDBcJVxdOmhvdmVyOmJlZm9yZXtjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpOy0tdHctdHJhbnNsYXRlLXg6IDIwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LmZvY3VzXDpib3JkZXItYmx1ZS01MDA6Zm9jdXN7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDU5IDEzMCAyNDYgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5mb2N1c1w6Ym9yZGVyLXByaW1hcnk6Zm9jdXN7Ym9yZGVyLWNvbG9yOmhzbCh2YXIoLS1wcmltYXJ5KSl9LmZvY3VzXDpiZy1hY2NlbnQ6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tYWNjZW50KSl9LmZvY3VzXDpiZy1wcmltYXJ5OmZvY3Vze2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXByaW1hcnkpKX0uZm9jdXNcOmJnLXdoaXRlXC8xMDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxYX0uZm9jdXNcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6Zm9jdXN7Y29sb3I6aHNsKHZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKSl9LmZvY3VzXDp0ZXh0LW9yYW5nZS02MDA6Zm9jdXN7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDIzNCA4OCAxMiAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5mb2N1c1w6dGV4dC1wcmltYXJ5LWZvcmVncm91bmQ6Zm9jdXN7Y29sb3I6aHNsKHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCkpfS5mb2N1c1w6dGV4dC1yZWQtNjAwOmZvY3Vzey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMjAgMzggMzggLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0uZm9jdXNcOnRleHQtd2hpdGU6Zm9jdXN7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LmZvY3VzXDpvdXRsaW5lLW5vbmU6Zm9jdXN7b3V0bGluZToycHggc29saWQgdHJhbnNwYXJlbnQ7b3V0bGluZS1vZmZzZXQ6MnB4fS5mb2N1c1w6cmluZy0yOmZvY3Vzey0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKX0uZm9jdXNcOnJpbmctNDpmb2N1c3stLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTstLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDRweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCl9LmZvY3VzXDpyaW5nLWJsdWUtNTAwXC8xMDpmb2N1c3stLXR3LXJpbmctY29sb3I6IHJnYig1OSAxMzAgMjQ2IC8gLjEpfS5mb2N1c1w6cmluZy1wcmltYXJ5OmZvY3Vzey0tdHctcmluZy1jb2xvcjogaHNsKHZhcigtLXByaW1hcnkpKX0uZm9jdXNcOnJpbmctcmluZzpmb2N1c3stLXR3LXJpbmctY29sb3I6IGhzbCh2YXIoLS1yaW5nKSl9LmZvY3VzXDpyaW5nLXdoaXRlXC81MDpmb2N1c3stLXR3LXJpbmctY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIC41KX0uZm9jdXNcOnJpbmctb2Zmc2V0LTI6Zm9jdXN7LS10dy1yaW5nLW9mZnNldC13aWR0aDogMnB4fS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW5vbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB0cmFuc3BhcmVudDtvdXRsaW5lLW9mZnNldDoycHh9LmZvY3VzLXZpc2libGVcOnJpbmctMTpmb2N1cy12aXNpYmxley0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKX0uZm9jdXMtdmlzaWJsZVw6cmluZy0yOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7LS10dy1yaW5nLXNoYWRvdzogdmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93LCAwIDAgIzAwMDApfS5mb2N1cy12aXNpYmxlXDpyaW5nLXJpbmc6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6IGhzbCh2YXIoLS1yaW5nKSl9LmZvY3VzLXZpc2libGVcOnJpbmctb2Zmc2V0LTE6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAxcHh9LmZvY3VzLXZpc2libGVcOnJpbmctb2Zmc2V0LTI6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAycHh9LmZvY3VzLXZpc2libGVcOnJpbmctb2Zmc2V0LWJhY2tncm91bmQ6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiBoc2wodmFyKC0tYmFja2dyb3VuZCkpfS5hY3RpdmVcOnRyYW5zbGF0ZS14LTA6YWN0aXZley0tdHctdHJhbnNsYXRlLXg6IDBweDt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uYWN0aXZlXDp0cmFuc2xhdGUteS0wOmFjdGl2ZXstLXR3LXRyYW5zbGF0ZS15OiAwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LmRpc2FibGVkXDpwb2ludGVyLWV2ZW50cy1ub25lOmRpc2FibGVke3BvaW50ZXItZXZlbnRzOm5vbmV9LmRpc2FibGVkXDpjdXJzb3Itbm90LWFsbG93ZWQ6ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5kaXNhYmxlZFw6b3BhY2l0eS01MDpkaXNhYmxlZHtvcGFjaXR5Oi41fS5ncm91cFwvbWVudS1pdGVtOmZvY3VzLXdpdGhpbiAuZ3JvdXAtZm9jdXMtd2l0aGluXC9tZW51LWl0ZW1cOm9wYWNpdHktMTAwe29wYWNpdHk6MX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDp0cmFuc2xhdGUteC0xey0tdHctdHJhbnNsYXRlLXg6IC4yNXJlbTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpzY2FsZS0xMTB7LS10dy1zY2FsZS14OiAxLjE7LS10dy1zY2FsZS15OiAxLjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9Lmdyb3VwOmhvdmVyIC5ncm91cC1ob3Zlclw6YmctcHJpbWFyeVwvMjB7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tcHJpbWFyeSkgLyAuMil9Lmdyb3VwOmhvdmVyIC5ncm91cC1ob3Zlclw6dGV4dC1ncmVlbi02MDB7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDIyIDE2MyA3NCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5ncm91cDpob3ZlciAuZ3JvdXAtaG92ZXJcOnRleHQtcHJpbWFyeXtjb2xvcjpoc2wodmFyKC0tcHJpbWFyeSkpfS5ncm91cFwvbWVudS1pdGVtOmhvdmVyIC5ncm91cC1ob3ZlclwvbWVudS1pdGVtXDpvcGFjaXR5LTEwMCwuZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpvcGFjaXR5LTEwMHtvcGFjaXR5OjF9Lmdyb3VwOmhvdmVyIC5ncm91cC1ob3Zlclw6c2hhZG93LXhsey0tdHctc2hhZG93OiAwIDIwcHggMjVweCAtNXB4IHJnYigwIDAgMCAvIC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIC4xKTstLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDIwcHggMjVweCAtNXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgOHB4IDEwcHggLTZweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9Lmdyb3VwLmRlc3RydWN0aXZlIC5ncm91cC1cW1wuZGVzdHJ1Y3RpdmVcXVw6Ym9yZGVyLW11dGVkXC80MHtib3JkZXItY29sb3I6aHNsKHZhcigtLW11dGVkKSAvIC40KX0uZ3JvdXAudG9hc3QgLmdyb3VwLVxbXC50b2FzdFxdXDpib3JkZXItYm9yZGVyLC5ncm91cC50b2FzdGVyIC5ncm91cC1cW1wudG9hc3RlclxdXDpib3JkZXItYm9yZGVye2JvcmRlci1jb2xvcjpoc2wodmFyKC0tYm9yZGVyKSl9Lmdyb3VwLnRvYXN0IC5ncm91cC1cW1wudG9hc3RcXVw6YmctYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1iYWNrZ3JvdW5kKSl9Lmdyb3VwLnRvYXN0IC5ncm91cC1cW1wudG9hc3RcXVw6YmctbXV0ZWR7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tbXV0ZWQpKX0uZ3JvdXAudG9hc3QgLmdyb3VwLVxbXC50b2FzdFxdXDpiZy1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXByaW1hcnkpKX0uZ3JvdXAudG9hc3RlciAuZ3JvdXAtXFtcLnRvYXN0ZXJcXVw6YmctYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1iYWNrZ3JvdW5kKSl9Lmdyb3VwLnRvYXN0IC5ncm91cC1cW1wudG9hc3RcXVw6dGV4dC1mb3JlZ3JvdW5ke2NvbG9yOmhzbCh2YXIoLS1mb3JlZ3JvdW5kKSl9Lmdyb3VwLnRvYXN0IC5ncm91cC1cW1wudG9hc3RcXVw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5ke2NvbG9yOmhzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSl9Lmdyb3VwLnRvYXN0IC5ncm91cC1cW1wudG9hc3RcXVw6dGV4dC1wcmltYXJ5LWZvcmVncm91bmR7Y29sb3I6aHNsKHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCkpfS5ncm91cC50b2FzdGVyIC5ncm91cC1cW1wudG9hc3RlclxdXDp0ZXh0LWZvcmVncm91bmR7Y29sb3I6aHNsKHZhcigtLWZvcmVncm91bmQpKX0uZ3JvdXAudG9hc3RlciAuZ3JvdXAtXFtcLnRvYXN0ZXJcXVw6c2hhZG93LWxney0tdHctc2hhZG93OiAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gLjEpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMTBweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwgMCA0cHggNnB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1zaGFkb3cpfS5ncm91cC5kZXN0cnVjdGl2ZSAuZ3JvdXAtXFtcLmRlc3RydWN0aXZlXF1cOmhvdmVyXDpib3JkZXItZGVzdHJ1Y3RpdmVcLzMwOmhvdmVye2JvcmRlci1jb2xvcjpoc2wodmFyKC0tZGVzdHJ1Y3RpdmUpIC8gLjMpfS5ncm91cC5kZXN0cnVjdGl2ZSAuZ3JvdXAtXFtcLmRlc3RydWN0aXZlXF1cOmhvdmVyXDpiZy1kZXN0cnVjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1kZXN0cnVjdGl2ZSkpfS5ncm91cC50b2FzdCAuaG92ZXJcOmdyb3VwLVxbXC50b2FzdFxdXDpiZy1tdXRlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1tdXRlZCkpfS5ncm91cC5kZXN0cnVjdGl2ZSAuZ3JvdXAtXFtcLmRlc3RydWN0aXZlXF1cOmhvdmVyXDp0ZXh0LWRlc3RydWN0aXZlLWZvcmVncm91bmQ6aG92ZXJ7Y29sb3I6aHNsKHZhcigtLWRlc3RydWN0aXZlLWZvcmVncm91bmQpKX0uZ3JvdXAuZGVzdHJ1Y3RpdmUgLmdyb3VwLVxbXC5kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6cmluZy1kZXN0cnVjdGl2ZTpmb2N1c3stLXR3LXJpbmctY29sb3I6IGhzbCh2YXIoLS1kZXN0cnVjdGl2ZSkpfS5wZWVyOmRpc2FibGVkfi5wZWVyLWRpc2FibGVkXDpjdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5wZWVyOmRpc2FibGVkfi5wZWVyLWRpc2FibGVkXDpvcGFjaXR5LTcwe29wYWNpdHk6Ljd9Lmhhcy1cW1w6ZGlzYWJsZWRcXVw6b3BhY2l0eS01MDpoYXMoOmRpc2FibGVkKXtvcGFjaXR5Oi41fS5ncm91cFwvbWVudS1pdGVtOmhhcyhbZGF0YS1zaWRlYmFyPW1lbnUtYWN0aW9uXSkgLmdyb3VwLWhhcy1cW1xbZGF0YS1zaWRlYmFyXD1tZW51LWFjdGlvblxdXF1cL21lbnUtaXRlbVw6cHItOHtwYWRkaW5nLXJpZ2h0OjJyZW19LmFyaWEtZGlzYWJsZWRcOnBvaW50ZXItZXZlbnRzLW5vbmVbYXJpYS1kaXNhYmxlZD10cnVlXXtwb2ludGVyLWV2ZW50czpub25lfS5hcmlhLWRpc2FibGVkXDpvcGFjaXR5LTUwW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17b3BhY2l0eTouNX0uYXJpYS1zZWxlY3RlZFw6YmctYWNjZW50W2FyaWEtc2VsZWN0ZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tYWNjZW50KSl9LmFyaWEtc2VsZWN0ZWRcOmJnLWFjY2VudFwvNTBbYXJpYS1zZWxlY3RlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1hY2NlbnQpIC8gLjUpfS5hcmlhLXNlbGVjdGVkXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV17Y29sb3I6aHNsKHZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKSl9LmFyaWEtc2VsZWN0ZWRcOnRleHQtbXV0ZWQtZm9yZWdyb3VuZFthcmlhLXNlbGVjdGVkPXRydWVde2NvbG9yOmhzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSl9LmFyaWEtc2VsZWN0ZWRcOm9wYWNpdHktMTAwW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV17b3BhY2l0eToxfS5hcmlhLXNlbGVjdGVkXDpvcGFjaXR5LTMwW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV17b3BhY2l0eTouM30uZGF0YS1cW2Rpc2FibGVkXD10cnVlXF1cOnBvaW50ZXItZXZlbnRzLW5vbmVbZGF0YS1kaXNhYmxlZD10cnVlXSwuZGF0YS1cW2Rpc2FibGVkXF1cOnBvaW50ZXItZXZlbnRzLW5vbmVbZGF0YS1kaXNhYmxlZF17cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1cW3BhbmVsLWdyb3VwLWRpcmVjdGlvblw9dmVydGljYWxcXVw6aC1weFtkYXRhLXBhbmVsLWdyb3VwLWRpcmVjdGlvbj12ZXJ0aWNhbF17aGVpZ2h0OjFweH0uZGF0YS1cW3BhbmVsLWdyb3VwLWRpcmVjdGlvblw9dmVydGljYWxcXVw6dy1mdWxsW2RhdGEtcGFuZWwtZ3JvdXAtZGlyZWN0aW9uPXZlcnRpY2FsXXt3aWR0aDoxMDAlfS5kYXRhLVxbc2lkZVw9Ym90dG9tXF1cOnRyYW5zbGF0ZS15LTFbZGF0YS1zaWRlPWJvdHRvbV17LS10dy10cmFuc2xhdGUteTogLjI1cmVtO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5kYXRhLVxbc2lkZVw9bGVmdFxdXDotdHJhbnNsYXRlLXgtMVtkYXRhLXNpZGU9bGVmdF17LS10dy10cmFuc2xhdGUteDogLS4yNXJlbTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOnRyYW5zbGF0ZS14LTFbZGF0YS1zaWRlPXJpZ2h0XXstLXR3LXRyYW5zbGF0ZS14OiAuMjVyZW07dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LmRhdGEtXFtzaWRlXD10b3BcXVw6LXRyYW5zbGF0ZS15LTFbZGF0YS1zaWRlPXRvcF17LS10dy10cmFuc2xhdGUteTogLS4yNXJlbTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uZGF0YS1cW3N0YXRlXD1jaGVja2VkXF1cOnRyYW5zbGF0ZS14LTVbZGF0YS1zdGF0ZT1jaGVja2VkXXstLXR3LXRyYW5zbGF0ZS14OiAxLjI1cmVtO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5kYXRhLVxbc3RhdGVcPXVuY2hlY2tlZFxdXDp0cmFuc2xhdGUteC0wW2RhdGEtc3RhdGU9dW5jaGVja2VkXSwuZGF0YS1cW3N3aXBlXD1jYW5jZWxcXVw6dHJhbnNsYXRlLXgtMFtkYXRhLXN3aXBlPWNhbmNlbF17LS10dy10cmFuc2xhdGUteDogMHB4O3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5kYXRhLVxbc3dpcGVcPWVuZFxdXDp0cmFuc2xhdGUteC1cW3ZhclwoLS1yYWRpeC10b2FzdC1zd2lwZS1lbmQteFwpXF1bZGF0YS1zd2lwZT1lbmRdey0tdHctdHJhbnNsYXRlLXg6IHZhcigtLXJhZGl4LXRvYXN0LXN3aXBlLWVuZC14KTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uZGF0YS1cW3N3aXBlXD1tb3ZlXF1cOnRyYW5zbGF0ZS14LVxbdmFyXCgtLXJhZGl4LXRvYXN0LXN3aXBlLW1vdmUteFwpXF1bZGF0YS1zd2lwZT1tb3ZlXXstLXR3LXRyYW5zbGF0ZS14OiB2YXIoLS1yYWRpeC10b2FzdC1zd2lwZS1tb3ZlLXgpO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfUBrZXlmcmFtZXMgYWNjb3JkaW9uLXVwezAle2hlaWdodDp2YXIoLS1yYWRpeC1hY2NvcmRpb24tY29udGVudC1oZWlnaHQpfXRve2hlaWdodDowfX0uZGF0YS1cW3N0YXRlXD1jbG9zZWRcXVw6YW5pbWF0ZS1hY2NvcmRpb24tdXBbZGF0YS1zdGF0ZT1jbG9zZWRde2FuaW1hdGlvbjphY2NvcmRpb24tdXAgLjJzIGVhc2Utb3V0fUBrZXlmcmFtZXMgYWNjb3JkaW9uLWRvd257MCV7aGVpZ2h0OjB9dG97aGVpZ2h0OnZhcigtLXJhZGl4LWFjY29yZGlvbi1jb250ZW50LWhlaWdodCl9fS5kYXRhLVxbc3RhdGVcPW9wZW5cXVw6YW5pbWF0ZS1hY2NvcmRpb24tZG93bltkYXRhLXN0YXRlPW9wZW5de2FuaW1hdGlvbjphY2NvcmRpb24tZG93biAuMnMgZWFzZS1vdXR9LmRhdGEtXFtwYW5lbC1ncm91cC1kaXJlY3Rpb25cPXZlcnRpY2FsXF1cOmZsZXgtY29sW2RhdGEtcGFuZWwtZ3JvdXAtZGlyZWN0aW9uPXZlcnRpY2FsXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmRhdGEtXFthY3RpdmVcXVw6YmctYWNjZW50XC81MFtkYXRhLWFjdGl2ZV17YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tYWNjZW50KSAvIC41KX0uZGF0YS1cW3NlbGVjdGVkXD1cJ3RydWVcJ1xdXDpiZy1hY2NlbnRbZGF0YS1zZWxlY3RlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1hY2NlbnQpKX0uZGF0YS1cW3N0YXRlXD1hY3RpdmVcXVw6YmctYmFja2dyb3VuZFtkYXRhLXN0YXRlPWFjdGl2ZV17YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tYmFja2dyb3VuZCkpfS5kYXRhLVxbc3RhdGVcPWNoZWNrZWRcXVw6YmctcHJpbWFyeVtkYXRhLXN0YXRlPWNoZWNrZWRde2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLXByaW1hcnkpKX0uZGF0YS1cW3N0YXRlXD1vblxdXDpiZy1hY2NlbnRbZGF0YS1zdGF0ZT1vbl0sLmRhdGEtXFtzdGF0ZVw9b3BlblxdXDpiZy1hY2NlbnRbZGF0YS1zdGF0ZT1vcGVuXXtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1hY2NlbnQpKX0uZGF0YS1cW3N0YXRlXD1vcGVuXF1cOmJnLWFjY2VudFwvNTBbZGF0YS1zdGF0ZT1vcGVuXXtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1hY2NlbnQpIC8gLjUpfS5kYXRhLVxbc3RhdGVcPW9wZW5cXVw6Ymctc2Vjb25kYXJ5W2RhdGEtc3RhdGU9b3Blbl17YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tc2Vjb25kYXJ5KSl9LmRhdGEtXFtzdGF0ZVw9c2VsZWN0ZWRcXVw6YmctbXV0ZWRbZGF0YS1zdGF0ZT1zZWxlY3RlZF17YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tbXV0ZWQpKX0uZGF0YS1cW3N0YXRlXD11bmNoZWNrZWRcXVw6YmctaW5wdXRbZGF0YS1zdGF0ZT11bmNoZWNrZWRde2JhY2tncm91bmQtY29sb3I6aHNsKHZhcigtLWlucHV0KSl9LmRhdGEtXFthY3RpdmVcPXRydWVcXVw6Zm9udC1tZWRpdW1bZGF0YS1hY3RpdmU9dHJ1ZV17Zm9udC13ZWlnaHQ6NTAwfS5kYXRhLVxbc2VsZWN0ZWRcPXRydWVcXVw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZFtkYXRhLXNlbGVjdGVkPXRydWVde2NvbG9yOmhzbCh2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCkpfS5kYXRhLVxbc3RhdGVcPWFjdGl2ZVxdXDp0ZXh0LWZvcmVncm91bmRbZGF0YS1zdGF0ZT1hY3RpdmVde2NvbG9yOmhzbCh2YXIoLS1mb3JlZ3JvdW5kKSl9LmRhdGEtXFtzdGF0ZVw9Y2hlY2tlZFxdXDp0ZXh0LXByaW1hcnktZm9yZWdyb3VuZFtkYXRhLXN0YXRlPWNoZWNrZWRde2NvbG9yOmhzbCh2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpKX0uZGF0YS1cW3N0YXRlXD1vblxdXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kW2RhdGEtc3RhdGU9b25dLC5kYXRhLVxbc3RhdGVcPW9wZW5cXVw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZFtkYXRhLXN0YXRlPW9wZW5de2NvbG9yOmhzbCh2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCkpfS5kYXRhLVxbc3RhdGVcPW9wZW5cXVw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kW2RhdGEtc3RhdGU9b3Blbl17Y29sb3I6aHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKX0uZGF0YS1cW2Rpc2FibGVkXD10cnVlXF1cOm9wYWNpdHktNTBbZGF0YS1kaXNhYmxlZD10cnVlXSwuZGF0YS1cW2Rpc2FibGVkXF1cOm9wYWNpdHktNTBbZGF0YS1kaXNhYmxlZF17b3BhY2l0eTouNX0uZGF0YS1cW3N0YXRlXD1vcGVuXF1cOm9wYWNpdHktMTAwW2RhdGEtc3RhdGU9b3Blbl17b3BhY2l0eToxfS5kYXRhLVxbc3RhdGVcPWFjdGl2ZVxdXDpzaGFkb3ctc21bZGF0YS1zdGF0ZT1hY3RpdmVdey0tdHctc2hhZG93OiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAuMDUpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDJweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uZGF0YS1cW3N3aXBlXD1tb3ZlXF1cOnRyYW5zaXRpb24tbm9uZVtkYXRhLXN3aXBlPW1vdmVde3RyYW5zaXRpb24tcHJvcGVydHk6bm9uZX0uZGF0YS1cW3N0YXRlXD1jbG9zZWRcXVw6ZHVyYXRpb24tMzAwW2RhdGEtc3RhdGU9Y2xvc2VkXXt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uZGF0YS1cW3N0YXRlXD1vcGVuXF1cOmR1cmF0aW9uLTUwMFtkYXRhLXN0YXRlPW9wZW5de3RyYW5zaXRpb24tZHVyYXRpb246LjVzfS5kYXRhLVxbbW90aW9uXF5cPWZyb20tXF1cOmFuaW1hdGUtaW5bZGF0YS1tb3Rpb25ePWZyb20tXSwuZGF0YS1cW3N0YXRlXD1vcGVuXF1cOmFuaW1hdGUtaW5bZGF0YS1zdGF0ZT1vcGVuXSwuZGF0YS1cW3N0YXRlXD12aXNpYmxlXF1cOmFuaW1hdGUtaW5bZGF0YS1zdGF0ZT12aXNpYmxlXXthbmltYXRpb24tbmFtZTplbnRlcjthbmltYXRpb24tZHVyYXRpb246LjE1czstLXR3LWVudGVyLW9wYWNpdHk6IGluaXRpYWw7LS10dy1lbnRlci1zY2FsZTogaW5pdGlhbDstLXR3LWVudGVyLXJvdGF0ZTogaW5pdGlhbDstLXR3LWVudGVyLXRyYW5zbGF0ZS14OiBpbml0aWFsOy0tdHctZW50ZXItdHJhbnNsYXRlLXk6IGluaXRpYWx9LmRhdGEtXFttb3Rpb25cXlw9dG8tXF1cOmFuaW1hdGUtb3V0W2RhdGEtbW90aW9uXj10by1dLC5kYXRhLVxbc3RhdGVcPWNsb3NlZFxdXDphbmltYXRlLW91dFtkYXRhLXN0YXRlPWNsb3NlZF0sLmRhdGEtXFtzdGF0ZVw9aGlkZGVuXF1cOmFuaW1hdGUtb3V0W2RhdGEtc3RhdGU9aGlkZGVuXSwuZGF0YS1cW3N3aXBlXD1lbmRcXVw6YW5pbWF0ZS1vdXRbZGF0YS1zd2lwZT1lbmRde2FuaW1hdGlvbi1uYW1lOmV4aXQ7YW5pbWF0aW9uLWR1cmF0aW9uOi4xNXM7LS10dy1leGl0LW9wYWNpdHk6IGluaXRpYWw7LS10dy1leGl0LXNjYWxlOiBpbml0aWFsOy0tdHctZXhpdC1yb3RhdGU6IGluaXRpYWw7LS10dy1leGl0LXRyYW5zbGF0ZS14OiBpbml0aWFsOy0tdHctZXhpdC10cmFuc2xhdGUteTogaW5pdGlhbH0uZGF0YS1cW21vdGlvblxeXD1mcm9tLVxdXDpmYWRlLWluW2RhdGEtbW90aW9uXj1mcm9tLV17LS10dy1lbnRlci1vcGFjaXR5OiAwfS5kYXRhLVxbbW90aW9uXF5cPXRvLVxdXDpmYWRlLW91dFtkYXRhLW1vdGlvbl49dG8tXSwuZGF0YS1cW3N0YXRlXD1jbG9zZWRcXVw6ZmFkZS1vdXQtMFtkYXRhLXN0YXRlPWNsb3NlZF17LS10dy1leGl0LW9wYWNpdHk6IDB9LmRhdGEtXFtzdGF0ZVw9Y2xvc2VkXF1cOmZhZGUtb3V0LTgwW2RhdGEtc3RhdGU9Y2xvc2VkXXstLXR3LWV4aXQtb3BhY2l0eTogLjh9LmRhdGEtXFtzdGF0ZVw9aGlkZGVuXF1cOmZhZGUtb3V0W2RhdGEtc3RhdGU9aGlkZGVuXXstLXR3LWV4aXQtb3BhY2l0eTogMH0uZGF0YS1cW3N0YXRlXD1vcGVuXF1cOmZhZGUtaW4tMFtkYXRhLXN0YXRlPW9wZW5dLC5kYXRhLVxbc3RhdGVcPXZpc2libGVcXVw6ZmFkZS1pbltkYXRhLXN0YXRlPXZpc2libGVdey0tdHctZW50ZXItb3BhY2l0eTogMH0uZGF0YS1cW3N0YXRlXD1jbG9zZWRcXVw6em9vbS1vdXQtOTVbZGF0YS1zdGF0ZT1jbG9zZWRdey0tdHctZXhpdC1zY2FsZTogLjk1fS5kYXRhLVxbc3RhdGVcPW9wZW5cXVw6em9vbS1pbi05MFtkYXRhLXN0YXRlPW9wZW5dey0tdHctZW50ZXItc2NhbGU6IC45fS5kYXRhLVxbc3RhdGVcPW9wZW5cXVw6em9vbS1pbi05NVtkYXRhLXN0YXRlPW9wZW5dey0tdHctZW50ZXItc2NhbGU6IC45NX0uZGF0YS1cW21vdGlvblw9ZnJvbS1lbmRcXVw6c2xpZGUtaW4tZnJvbS1yaWdodC01MltkYXRhLW1vdGlvbj1mcm9tLWVuZF17LS10dy1lbnRlci10cmFuc2xhdGUteDogMTNyZW19LmRhdGEtXFttb3Rpb25cPWZyb20tc3RhcnRcXVw6c2xpZGUtaW4tZnJvbS1sZWZ0LTUyW2RhdGEtbW90aW9uPWZyb20tc3RhcnRdey0tdHctZW50ZXItdHJhbnNsYXRlLXg6IC0xM3JlbX0uZGF0YS1cW21vdGlvblw9dG8tZW5kXF1cOnNsaWRlLW91dC10by1yaWdodC01MltkYXRhLW1vdGlvbj10by1lbmRdey0tdHctZXhpdC10cmFuc2xhdGUteDogMTNyZW19LmRhdGEtXFttb3Rpb25cPXRvLXN0YXJ0XF1cOnNsaWRlLW91dC10by1sZWZ0LTUyW2RhdGEtbW90aW9uPXRvLXN0YXJ0XXstLXR3LWV4aXQtdHJhbnNsYXRlLXg6IC0xM3JlbX0uZGF0YS1cW3NpZGVcPWJvdHRvbVxdXDpzbGlkZS1pbi1mcm9tLXRvcC0yW2RhdGEtc2lkZT1ib3R0b21dey0tdHctZW50ZXItdHJhbnNsYXRlLXk6IC0uNXJlbX0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6c2xpZGUtaW4tZnJvbS1yaWdodC0yW2RhdGEtc2lkZT1sZWZ0XXstLXR3LWVudGVyLXRyYW5zbGF0ZS14OiAuNXJlbX0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOnNsaWRlLWluLWZyb20tbGVmdC0yW2RhdGEtc2lkZT1yaWdodF17LS10dy1lbnRlci10cmFuc2xhdGUteDogLS41cmVtfS5kYXRhLVxbc2lkZVw9dG9wXF1cOnNsaWRlLWluLWZyb20tYm90dG9tLTJbZGF0YS1zaWRlPXRvcF17LS10dy1lbnRlci10cmFuc2xhdGUteTogLjVyZW19LmRhdGEtXFtzdGF0ZVw9Y2xvc2VkXF1cOnNsaWRlLW91dC10by1ib3R0b21bZGF0YS1zdGF0ZT1jbG9zZWRdey0tdHctZXhpdC10cmFuc2xhdGUteTogMTAwJX0uZGF0YS1cW3N0YXRlXD1jbG9zZWRcXVw6c2xpZGUtb3V0LXRvLWxlZnRbZGF0YS1zdGF0ZT1jbG9zZWRdey0tdHctZXhpdC10cmFuc2xhdGUteDogLTEwMCV9LmRhdGEtXFtzdGF0ZVw9Y2xvc2VkXF1cOnNsaWRlLW91dC10by1sZWZ0LTFcLzJbZGF0YS1zdGF0ZT1jbG9zZWRdey0tdHctZXhpdC10cmFuc2xhdGUteDogLTUwJX0uZGF0YS1cW3N0YXRlXD1jbG9zZWRcXVw6c2xpZGUtb3V0LXRvLXJpZ2h0W2RhdGEtc3RhdGU9Y2xvc2VkXSwuZGF0YS1cW3N0YXRlXD1jbG9zZWRcXVw6c2xpZGUtb3V0LXRvLXJpZ2h0LWZ1bGxbZGF0YS1zdGF0ZT1jbG9zZWRdey0tdHctZXhpdC10cmFuc2xhdGUteDogMTAwJX0uZGF0YS1cW3N0YXRlXD1jbG9zZWRcXVw6c2xpZGUtb3V0LXRvLXRvcFtkYXRhLXN0YXRlPWNsb3NlZF17LS10dy1leGl0LXRyYW5zbGF0ZS15OiAtMTAwJX0uZGF0YS1cW3N0YXRlXD1jbG9zZWRcXVw6c2xpZGUtb3V0LXRvLXRvcC1cWzQ4XCVcXVtkYXRhLXN0YXRlPWNsb3NlZF17LS10dy1leGl0LXRyYW5zbGF0ZS15OiAtNDglfS5kYXRhLVxbc3RhdGVcPW9wZW5cXVw6c2xpZGUtaW4tZnJvbS1ib3R0b21bZGF0YS1zdGF0ZT1vcGVuXXstLXR3LWVudGVyLXRyYW5zbGF0ZS15OiAxMDAlfS5kYXRhLVxbc3RhdGVcPW9wZW5cXVw6c2xpZGUtaW4tZnJvbS1sZWZ0W2RhdGEtc3RhdGU9b3Blbl17LS10dy1lbnRlci10cmFuc2xhdGUteDogLTEwMCV9LmRhdGEtXFtzdGF0ZVw9b3BlblxdXDpzbGlkZS1pbi1mcm9tLWxlZnQtMVwvMltkYXRhLXN0YXRlPW9wZW5dey0tdHctZW50ZXItdHJhbnNsYXRlLXg6IC01MCV9LmRhdGEtXFtzdGF0ZVw9b3BlblxdXDpzbGlkZS1pbi1mcm9tLXJpZ2h0W2RhdGEtc3RhdGU9b3Blbl17LS10dy1lbnRlci10cmFuc2xhdGUteDogMTAwJX0uZGF0YS1cW3N0YXRlXD1vcGVuXF1cOnNsaWRlLWluLWZyb20tdG9wW2RhdGEtc3RhdGU9b3Blbl17LS10dy1lbnRlci10cmFuc2xhdGUteTogLTEwMCV9LmRhdGEtXFtzdGF0ZVw9b3BlblxdXDpzbGlkZS1pbi1mcm9tLXRvcC1cWzQ4XCVcXVtkYXRhLXN0YXRlPW9wZW5dey0tdHctZW50ZXItdHJhbnNsYXRlLXk6IC00OCV9LmRhdGEtXFtzdGF0ZVw9b3BlblxdXDpzbGlkZS1pbi1mcm9tLXRvcC1mdWxsW2RhdGEtc3RhdGU9b3Blbl17LS10dy1lbnRlci10cmFuc2xhdGUteTogLTEwMCV9LmRhdGEtXFtzdGF0ZVw9Y2xvc2VkXF1cOmR1cmF0aW9uLTMwMFtkYXRhLXN0YXRlPWNsb3NlZF17YW5pbWF0aW9uLWR1cmF0aW9uOi4zc30uZGF0YS1cW3N0YXRlXD1vcGVuXF1cOmR1cmF0aW9uLTUwMFtkYXRhLXN0YXRlPW9wZW5de2FuaW1hdGlvbi1kdXJhdGlvbjouNXN9LmRhdGEtXFtwYW5lbC1ncm91cC1kaXJlY3Rpb25cPXZlcnRpY2FsXF1cOmFmdGVyXDpsZWZ0LTBbZGF0YS1wYW5lbC1ncm91cC1kaXJlY3Rpb249dmVydGljYWxdOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bGVmdDowfS5kYXRhLVxbcGFuZWwtZ3JvdXAtZGlyZWN0aW9uXD12ZXJ0aWNhbFxdXDphZnRlclw6aC0xW2RhdGEtcGFuZWwtZ3JvdXAtZGlyZWN0aW9uPXZlcnRpY2FsXTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2hlaWdodDouMjVyZW19LmRhdGEtXFtwYW5lbC1ncm91cC1kaXJlY3Rpb25cPXZlcnRpY2FsXF1cOmFmdGVyXDp3LWZ1bGxbZGF0YS1wYW5lbC1ncm91cC1kaXJlY3Rpb249dmVydGljYWxdOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7d2lkdGg6MTAwJX0uZGF0YS1cW3BhbmVsLWdyb3VwLWRpcmVjdGlvblw9dmVydGljYWxcXVw6YWZ0ZXJcOi10cmFuc2xhdGUteS0xXC8yW2RhdGEtcGFuZWwtZ3JvdXAtZGlyZWN0aW9uPXZlcnRpY2FsXTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpOy0tdHctdHJhbnNsYXRlLXk6IC01MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LmRhdGEtXFtwYW5lbC1ncm91cC1kaXJlY3Rpb25cPXZlcnRpY2FsXF1cOmFmdGVyXDp0cmFuc2xhdGUteC0wW2RhdGEtcGFuZWwtZ3JvdXAtZGlyZWN0aW9uPXZlcnRpY2FsXTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpOy0tdHctdHJhbnNsYXRlLXg6IDBweDt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uZ3JvdXBbZGF0YS1jb2xsYXBzaWJsZT1vZmZjYW52YXNdIC5ncm91cC1kYXRhLVxbY29sbGFwc2libGVcPW9mZmNhbnZhc1xdXDpsZWZ0LVxbY2FsY1wodmFyXCgtLXNpZGViYXItd2lkdGhcKVwqLTFcKVxde2xlZnQ6Y2FsYyh2YXIoLS1zaWRlYmFyLXdpZHRoKSAqIC0xKX0uZ3JvdXBbZGF0YS1jb2xsYXBzaWJsZT1vZmZjYW52YXNdIC5ncm91cC1kYXRhLVxbY29sbGFwc2libGVcPW9mZmNhbnZhc1xdXDpyaWdodC1cW2NhbGNcKHZhclwoLS1zaWRlYmFyLXdpZHRoXClcKi0xXClcXXtyaWdodDpjYWxjKHZhcigtLXNpZGViYXItd2lkdGgpICogLTEpfS5ncm91cFtkYXRhLXNpZGU9bGVmdF0gLmdyb3VwLWRhdGEtXFtzaWRlXD1sZWZ0XF1cOi1yaWdodC00e3JpZ2h0Oi0xcmVtfS5ncm91cFtkYXRhLXNpZGU9cmlnaHRdIC5ncm91cC1kYXRhLVxbc2lkZVw9cmlnaHRcXVw6bGVmdC0we2xlZnQ6MH0uZ3JvdXBbZGF0YS1jb2xsYXBzaWJsZT1pY29uXSAuZ3JvdXAtZGF0YS1cW2NvbGxhcHNpYmxlXD1pY29uXF1cOi1tdC04e21hcmdpbi10b3A6LTJyZW19Lmdyb3VwW2RhdGEtY29sbGFwc2libGU9aWNvbl0gLmdyb3VwLWRhdGEtXFtjb2xsYXBzaWJsZVw9aWNvblxdXDpoaWRkZW57ZGlzcGxheTpub25lfS5ncm91cFtkYXRhLWNvbGxhcHNpYmxlPWljb25dIC5ncm91cC1kYXRhLVxbY29sbGFwc2libGVcPWljb25cXVw6XCFzaXplLTh7d2lkdGg6MnJlbSFpbXBvcnRhbnQ7aGVpZ2h0OjJyZW0haW1wb3J0YW50fS5ncm91cFtkYXRhLWNvbGxhcHNpYmxlPWljb25dIC5ncm91cC1kYXRhLVxbY29sbGFwc2libGVcPWljb25cXVw6dy1cWy0tc2lkZWJhci13aWR0aC1pY29uXF17d2lkdGg6dmFyKC0tc2lkZWJhci13aWR0aC1pY29uKX0uZ3JvdXBbZGF0YS1jb2xsYXBzaWJsZT1pY29uXSAuZ3JvdXAtZGF0YS1cW2NvbGxhcHNpYmxlXD1pY29uXF1cOnctXFtjYWxjXCh2YXJcKC0tc2lkZWJhci13aWR0aC1pY29uXClfXCtfdGhlbWVcKHNwYWNpbmdcLjRcKVwpXF17d2lkdGg6Y2FsYyh2YXIoLS1zaWRlYmFyLXdpZHRoLWljb24pICsgMXJlbSl9Lmdyb3VwW2RhdGEtY29sbGFwc2libGU9aWNvbl0gLmdyb3VwLWRhdGEtXFtjb2xsYXBzaWJsZVw9aWNvblxdXDp3LVxbY2FsY1wodmFyXCgtLXNpZGViYXItd2lkdGgtaWNvblwpX1wrX3RoZW1lXChzcGFjaW5nXC40XClfXCsycHhcKVxde3dpZHRoOmNhbGModmFyKC0tc2lkZWJhci13aWR0aC1pY29uKSArIDFyZW0gKyAycHgpfS5ncm91cFtkYXRhLWNvbGxhcHNpYmxlPW9mZmNhbnZhc10gLmdyb3VwLWRhdGEtXFtjb2xsYXBzaWJsZVw9b2ZmY2FudmFzXF1cOnctMHt3aWR0aDowcHh9Lmdyb3VwW2RhdGEtY29sbGFwc2libGU9b2ZmY2FudmFzXSAuZ3JvdXAtZGF0YS1cW2NvbGxhcHNpYmxlXD1vZmZjYW52YXNcXVw6dHJhbnNsYXRlLXgtMHstLXR3LXRyYW5zbGF0ZS14OiAwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9Lmdyb3VwW2RhdGEtc2lkZT1yaWdodF0gLmdyb3VwLWRhdGEtXFtzaWRlXD1yaWdodFxdXDpyb3RhdGUtMTgwLC5ncm91cFtkYXRhLXN0YXRlPW9wZW5dIC5ncm91cC1kYXRhLVxbc3RhdGVcPW9wZW5cXVw6cm90YXRlLTE4MHstLXR3LXJvdGF0ZTogMTgwZGVnO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5ncm91cFtkYXRhLWNvbGxhcHNpYmxlPWljb25dIC5ncm91cC1kYXRhLVxbY29sbGFwc2libGVcPWljb25cXVw6b3ZlcmZsb3ctaGlkZGVue292ZXJmbG93OmhpZGRlbn0uZ3JvdXBbZGF0YS12YXJpYW50PWZsb2F0aW5nXSAuZ3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWZsb2F0aW5nXF1cOnJvdW5kZWQtbGd7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpfS5ncm91cFtkYXRhLXZhcmlhbnQ9ZmxvYXRpbmddIC5ncm91cC1kYXRhLVxbdmFyaWFudFw9ZmxvYXRpbmdcXVw6Ym9yZGVye2JvcmRlci13aWR0aDoxcHh9Lmdyb3VwW2RhdGEtc2lkZT1sZWZ0XSAuZ3JvdXAtZGF0YS1cW3NpZGVcPWxlZnRcXVw6Ym9yZGVyLXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjFweH0uZ3JvdXBbZGF0YS1zaWRlPXJpZ2h0XSAuZ3JvdXAtZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOmJvcmRlci1se2JvcmRlci1sZWZ0LXdpZHRoOjFweH0uZ3JvdXBbZGF0YS1jb2xsYXBzaWJsZT1pY29uXSAuZ3JvdXAtZGF0YS1cW2NvbGxhcHNpYmxlXD1pY29uXF1cOlwhcC0we3BhZGRpbmc6MCFpbXBvcnRhbnR9Lmdyb3VwW2RhdGEtY29sbGFwc2libGU9aWNvbl0gLmdyb3VwLWRhdGEtXFtjb2xsYXBzaWJsZVw9aWNvblxdXDpcIXAtMntwYWRkaW5nOi41cmVtIWltcG9ydGFudH0uZ3JvdXBbZGF0YS1jb2xsYXBzaWJsZT1pY29uXSAuZ3JvdXAtZGF0YS1cW2NvbGxhcHNpYmxlXD1pY29uXF1cOm9wYWNpdHktMHtvcGFjaXR5OjB9Lmdyb3VwW2RhdGEtdmFyaWFudD1mbG9hdGluZ10gLmdyb3VwLWRhdGEtXFt2YXJpYW50XD1mbG9hdGluZ1xdXDpzaGFkb3d7LS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gLjEpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uZ3JvdXBbZGF0YS1jb2xsYXBzaWJsZT1vZmZjYW52YXNdIC5ncm91cC1kYXRhLVxbY29sbGFwc2libGVcPW9mZmNhbnZhc1xdXDphZnRlclw6bGVmdC1mdWxsOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bGVmdDoxMDAlfS5wZWVyXC9tZW51LWJ1dHRvbltkYXRhLXNpemU9ZGVmYXVsdF1+LnBlZXItZGF0YS1cW3NpemVcPWRlZmF1bHRcXVwvbWVudS1idXR0b25cOnRvcC0xXC41e3RvcDouMzc1cmVtfS5wZWVyXC9tZW51LWJ1dHRvbltkYXRhLXNpemU9bGddfi5wZWVyLWRhdGEtXFtzaXplXD1sZ1xdXC9tZW51LWJ1dHRvblw6dG9wLTJcLjV7dG9wOi42MjVyZW19LnBlZXJcL21lbnUtYnV0dG9uW2RhdGEtc2l6ZT1zbV1+LnBlZXItZGF0YS1cW3NpemVcPXNtXF1cL21lbnUtYnV0dG9uXDp0b3AtMXt0b3A6LjI1cmVtfS5wZWVyW2RhdGEtdmFyaWFudD1pbnNldF1+LnBlZXItZGF0YS1cW3ZhcmlhbnRcPWluc2V0XF1cOm1pbi1oLVxbY2FsY1woMTAwc3ZoLXRoZW1lXChzcGFjaW5nXC40XClcKVxde21pbi1oZWlnaHQ6Y2FsYygxMDBzdmggLSAxcmVtKX0uZGFya1w6Ym9yZGVyLWFtYmVyLTgwMDppcyguZGFyayAqKXstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMTQ2IDY0IDE0IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uZGFya1w6Ym9yZGVyLWFtYmVyLTgwMFwvNTA6aXMoLmRhcmsgKil7Ym9yZGVyLWNvbG9yOiM5MjQwMGU4MH0uZGFya1w6Ym9yZGVyLWFtYmVyLTkwMDppcyguZGFyayAqKXstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMTIwIDUzIDE1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uZGFya1w6Ym9yZGVyLWJsdWUtODAwOmlzKC5kYXJrICopey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigzMCA2NCAxNzUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5kYXJrXDpib3JkZXItZGVzdHJ1Y3RpdmU6aXMoLmRhcmsgKil7Ym9yZGVyLWNvbG9yOmhzbCh2YXIoLS1kZXN0cnVjdGl2ZSkpfS5kYXJrXDpib3JkZXItZW1lcmFsZC04MDA6aXMoLmRhcmsgKil7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDYgOTUgNzAgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5kYXJrXDpib3JkZXItZ3JheS0yMDA6aXMoLmRhcmsgKil7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIyOSAyMzEgMjM1IC8gdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksIDEpKX0uZGFya1w6Ym9yZGVyLWdyYXktNjAwOmlzKC5kYXJrICopey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYig3NSA4NSA5OSAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmRhcmtcOmJvcmRlci1ncmF5LTcwMDppcyguZGFyayAqKXstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5kYXJrXDpib3JkZXItZ3JheS03MDBcLzUwOmlzKC5kYXJrICope2JvcmRlci1jb2xvcjojMzc0MTUxODB9LmRhcmtcOmJvcmRlci1ncmF5LTgwMDppcyguZGFyayAqKXstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoMzEgNDEgNTUgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5kYXJrXDpib3JkZXItZ3JheS04MDBcLzUwOmlzKC5kYXJrICope2JvcmRlci1jb2xvcjojMWYyOTM3ODB9LmRhcmtcOmJvcmRlci1ncmVlbi04MDA6aXMoLmRhcmsgKil7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDIyIDEwMSA1MiAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmRhcmtcOmJvcmRlci1pbmRpZ28tNTAwXC8yMDppcyguZGFyayAqKXtib3JkZXItY29sb3I6IzYzNjZmMTMzfS5kYXJrXDpib3JkZXItcHVycGxlLTgwMFwvNTA6aXMoLmRhcmsgKil7Ym9yZGVyLWNvbG9yOiM2YjIxYTg4MH0uZGFya1w6Ym9yZGVyLXJlZC04MDA6aXMoLmRhcmsgKil7LS10dy1ib3JkZXItb3BhY2l0eTogMTtib3JkZXItY29sb3I6cmdiKDE1MyAyNyAyNyAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmRhcmtcOmJvcmRlci1yZWQtOTAwOmlzKC5kYXJrICopey0tdHctYm9yZGVyLW9wYWNpdHk6IDE7Ym9yZGVyLWNvbG9yOnJnYigxMjcgMjkgMjkgLyB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSwgMSkpfS5kYXJrXDpiZy1hbWJlci04MDA6aXMoLmRhcmsgKil7LS10dy1iZy1vcGFjaXR5OiAxO2JhY2tncm91bmQtY29sb3I6cmdiKDE0NiA2NCAxNCAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uZGFya1w6YmctYW1iZXItOTAwXC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOiM3ODM1MGY0ZH0uZGFya1w6YmctYW1iZXItOTAwXC81MDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOiM3ODM1MGY4MH0uZGFya1w6YmctYW1iZXItOTUwXC8yMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOiM0NTFhMDMzM30uZGFya1w6YmctYW1iZXItOTUwXC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOiM0NTFhMDM0ZH0uZGFya1w6YmctYmxhY2tcLzIwOmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzAwMDN9LmRhcmtcOmJnLWJsdWUtOTAwXC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOiMxZTNhOGE0ZH0uZGFya1w6YmctYmx1ZS05NTBcLzMwOmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzE3MjU1NDRkfS5kYXJrXDpiZy1lbWVyYWxkLTUwMFwvMTA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojMTBiOTgxMWF9LmRhcmtcOmJnLWVtZXJhbGQtOTAwXC8yMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOiMwNjRlM2IzM30uZGFya1w6YmctZW1lcmFsZC05MDBcLzMwOmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzA2NGUzYjRkfS5kYXJrXDpiZy1ncmF5LTcwMDppcyguZGFyayAqKXstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNTUgNjUgODEgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmRhcmtcOmJnLWdyYXktODAwOmlzKC5kYXJrICopey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uZGFya1w6YmctZ3JheS04MDBcLzUwOmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzFmMjkzNzgwfS5kYXJrXDpiZy1ncmF5LTkwMDppcyguZGFyayAqKXstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTcgMjQgMzkgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmRhcmtcOmJnLWdyYXktOTAwXC81MDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOiMxMTE4Mjc4MH0uZGFya1w6YmctZ3JheS05MDBcLzgwOmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzExMTgyN2NjfS5kYXJrXDpiZy1ncmF5LTk1MDppcyguZGFyayAqKXstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMyA3IDE4IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpfS5kYXJrXDpiZy1ncmF5LTk1MFwvODA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojMDMwNzEyY2N9LmRhcmtcOmJnLWdyZWVuLTkwMDppcyguZGFyayAqKXstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjAgODMgNDUgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmRhcmtcOmJnLWdyZWVuLTkwMFwvMzA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojMTQ1MzJkNGR9LmRhcmtcOmJnLWdyZWVuLTk1MFwvMzA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojMDUyZTE2NGR9LmRhcmtcOmJnLW9yYW5nZS05MDBcLzMwOmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzdjMmQxMjRkfS5kYXJrXDpiZy1wcmltYXJ5XC8xMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1wcmltYXJ5KSAvIC4xKX0uZGFya1w6YmctcmVkLTgwMFwvNTA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojOTkxYjFiODB9LmRhcmtcOmJnLXJlZC05MDBcLzIwOmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzdmMWQxZDMzfS5kYXJrXDpiZy1yZWQtOTAwXC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOiM3ZjFkMWQ0ZH0uZGFya1w6YmctcmVkLTkwMFwvNTA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojN2YxZDFkODB9LmRhcmtcOmJnLXNsYXRlLTgwMDppcyguZGFyayAqKXstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMzAgNDEgNTkgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmRhcmtcOmJnLXNsYXRlLTkwMDppcyguZGFyayAqKXstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTUgMjMgNDIgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmRhcmtcOmJnLXNsYXRlLTkwMFwvNTA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojMGYxNzJhODB9LmRhcmtcOmJnLXZpb2xldC01MDBcLzEwOmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzhiNWNmNjFhfS5kYXJrXDpiZy13aGl0ZTppcyguZGFyayAqKXstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmRhcmtcOmZyb20tYW1iZXItOTAwXC8yMDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LWZyb206IHJnYigxMjAgNTMgMTUgLyAuMikgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDEyMCA1MyAxNSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5kYXJrXDpmcm9tLWFtYmVyLTkwMFwvNTA6aXMoLmRhcmsgKil7LS10dy1ncmFkaWVudC1mcm9tOiByZ2IoMTIwIDUzIDE1IC8gLjUpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigxMjAgNTMgMTUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZGFya1w6ZnJvbS1hbWJlci05NTBcLzMwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDY5IDI2IDMgLyAuMykgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDY5IDI2IDMgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZGFya1w6ZnJvbS1hbWJlci05NTBcLzQwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDY5IDI2IDMgLyAuNCkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDY5IDI2IDMgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZGFya1w6ZnJvbS1lbWVyYWxkLTUwMFwvNTppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LWZyb206IHJnYigxNiAxODUgMTI5IC8gLjA1KSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTYgMTg1IDEyOSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5kYXJrXDpmcm9tLWVtZXJhbGQtOTAwXC8yMDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LWZyb206IHJnYig2IDc4IDU5IC8gLjIpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYig2IDc4IDU5IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmRhcmtcOmZyb20tZ3JheS04MDA6aXMoLmRhcmsgKil7LS10dy1ncmFkaWVudC1mcm9tOiAjMWYyOTM3IHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigzMSA0MSA1NSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5kYXJrXDpmcm9tLWdyYXktODAwXC8yMDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LWZyb206IHJnYigzMSA0MSA1NSAvIC4yKSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMzEgNDEgNTUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZGFya1w6ZnJvbS1ncmF5LTkwMDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LWZyb206ICMxMTE4MjcgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDE3IDI0IDM5IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmRhcmtcOmZyb20tZ3JheS05NTA6aXMoLmRhcmsgKil7LS10dy1ncmFkaWVudC1mcm9tOiAjMDMwNzEyIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IHJnYigzIDcgMTggLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZGFya1w6ZnJvbS1ncmVlbi05NTBcLzMwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDUgNDYgMjIgLyAuMykgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDUgNDYgMjIgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZGFya1w6ZnJvbS1pbmRpZ28tOTAwXC8zMDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LWZyb206IHJnYig0OSA0NiAxMjkgLyAuMykgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDQ5IDQ2IDEyOSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5kYXJrXDpmcm9tLXByaW1hcnlcLzU6aXMoLmRhcmsgKil7LS10dy1ncmFkaWVudC1mcm9tOiBoc2wodmFyKC0tcHJpbWFyeSkgLyAuMDUpIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86IGhzbCh2YXIoLS1wcmltYXJ5KSAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5kYXJrXDpmcm9tLXNsYXRlLTcwMDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LWZyb206ICMzMzQxNTUgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzogcmdiKDUxIDY1IDg1IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmRhcmtcOmZyb20tdmlvbGV0LTUwMFwvNTppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LWZyb206IHJnYigxMzkgOTIgMjQ2IC8gLjA1KSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTM5IDkyIDI0NiAvIDApIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5kYXJrXDpmcm9tLXllbGxvdy05MDBcLzIwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtZnJvbTogcmdiKDExMyA2MyAxOCAvIC4yKSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTEzIDYzIDE4IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmRhcmtcOnZpYS1ncmF5LTgwMDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LXRvOiByZ2IoMzEgNDEgNTUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksICMxZjI5MzcgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5kYXJrXDp2aWEtZ3JheS05MDA6aXMoLmRhcmsgKil7LS10dy1ncmFkaWVudC10bzogcmdiKDE3IDI0IDM5IC8gMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAjMTExODI3IHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZGFya1w6dmlhLWdyYXktOTUwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtdG86IHJnYigzIDcgMTggLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksICMwMzA3MTIgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5kYXJrXDp2aWEtb3JhbmdlLTk1MFwvNDA6aXMoLmRhcmsgKil7LS10dy1ncmFkaWVudC10bzogcmdiKDY3IDIwIDcgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHJnYig2NyAyMCA3IC8gLjQpIHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0uZGFya1w6dmlhLXB1cnBsZS05MDBcLzMwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtdG86IHJnYig4OCAyOCAxMzUgLyAwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHJnYig4OCAyOCAxMzUgLyAuMykgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pfS5kYXJrXDp0by1hbWJlci04MDBcLzIwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtdG86IHJnYigxNDYgNjQgMTQgLyAuMikgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5kYXJrXDp0by1lbWVyYWxkLTUwMFwvNTppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTYgMTg1IDEyOSAvIC4wNSkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5kYXJrXDp0by1lbWVyYWxkLTk1MDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LXRvOiAjMDIyYzIyIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZGFya1w6dG8tZW1lcmFsZC05NTBcLzMwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtdG86IHJnYigyIDQ0IDM0IC8gLjMpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZGFya1w6dG8tZ3JheS03MDBcLzIwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtdG86IHJnYig1NSA2NSA4MSAvIC4yKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LmRhcmtcOnRvLWdyYXktODAwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtdG86ICMxZjI5MzcgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5kYXJrXDp0by1ncmF5LTkwMDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LXRvOiAjMTExODI3IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZGFya1w6dG8tZ3JheS05NTA6aXMoLmRhcmsgKil7LS10dy1ncmFkaWVudC10bzogIzAzMDcxMiB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LmRhcmtcOnRvLW9yYW5nZS05MDBcLzUwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtdG86IHJnYigxMjQgNDUgMTggLyAuNSkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5kYXJrXDp0by1vcmFuZ2UtOTUwXC8zMDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LXRvOiByZ2IoNjcgMjAgNyAvIC4zKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LmRhcmtcOnRvLXBpbmstOTAwXC8zMDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTMxIDI0IDY3IC8gLjMpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZGFya1w6dG8tcHJpbWFyeVwvNTppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LXRvOiBoc2wodmFyKC0tcHJpbWFyeSkgLyAuMDUpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZGFya1w6dG8tcmVkLTk1MDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LXRvOiAjNDUwYTBhIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZGFya1w6dG8tc2xhdGUtODAwOmlzKC5kYXJrICopey0tdHctZ3JhZGllbnQtdG86ICMxZTI5M2IgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5kYXJrXDp0by10ZWFsLTkwMFwvMjA6aXMoLmRhcmsgKil7LS10dy1ncmFkaWVudC10bzogcmdiKDE5IDc4IDc0IC8gLjIpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZGFya1w6dG8tdmlvbGV0LTUwMFwvNTppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTM5IDkyIDI0NiAvIC4wNSkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5kYXJrXDp0by15ZWxsb3ctODAwXC8yMDppcyguZGFyayAqKXstLXR3LWdyYWRpZW50LXRvOiByZ2IoMTMzIDc3IDE0IC8gLjIpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZGFya1w6dG8teWVsbG93LTk1MFwvNDA6aXMoLmRhcmsgKil7LS10dy1ncmFkaWVudC10bzogcmdiKDY2IDMyIDYgLyAuNCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS5kYXJrXDp0ZXh0LWFtYmVyLTEwMDppcyguZGFyayAqKXstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjU0IDI0MyAxOTkgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0uZGFya1w6dGV4dC1hbWJlci0yMDA6aXMoLmRhcmsgKil7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI1MyAyMzAgMTM4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LmRhcmtcOnRleHQtYW1iZXItMzAwOmlzKC5kYXJrICopey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyNTIgMjExIDc3IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LmRhcmtcOnRleHQtYW1iZXItNDAwOmlzKC5kYXJrICopey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyNTEgMTkxIDM2IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LmRhcmtcOnRleHQtYmx1ZS0zMDA6aXMoLmRhcmsgKil7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDE0NyAxOTcgMjUzIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LmRhcmtcOnRleHQtYmx1ZS00MDA6aXMoLmRhcmsgKil7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDk2IDE2NSAyNTAgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0uZGFya1w6dGV4dC1ibHVlLTQwMFwvNjA6aXMoLmRhcmsgKil7Y29sb3I6IzYwYTVmYTk5fS5kYXJrXDp0ZXh0LWJsdWUtNDAwXC83MDppcyguZGFyayAqKXtjb2xvcjojNjBhNWZhYjN9LmRhcmtcOnRleHQtYmx1ZS00MDBcLzgwOmlzKC5kYXJrICope2NvbG9yOiM2MGE1ZmFjY30uZGFya1w6dGV4dC1lbWVyYWxkLTQwMDppcyguZGFyayAqKXstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoNTIgMjExIDE1MyAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5kYXJrXDp0ZXh0LWdyYXktMzAwOmlzKC5kYXJrICopey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigyMDkgMjEzIDIxOSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5kYXJrXDp0ZXh0LWdyYXktNDAwOmlzKC5kYXJrICopey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxNTYgMTYzIDE3NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5kYXJrXDp0ZXh0LWdyYXktNTAwOmlzKC5kYXJrICopey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxMDcgMTE0IDEyOCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5kYXJrXDp0ZXh0LWdyYXktNjAwOmlzKC5kYXJrICopey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYig3NSA4NSA5OSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5kYXJrXDp0ZXh0LWdyYXktNzAwOmlzKC5kYXJrICopey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYig1NSA2NSA4MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5kYXJrXDp0ZXh0LWdyYXktOTAwOmlzKC5kYXJrICopey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYigxNyAyNCAzOSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5kYXJrXDp0ZXh0LWdyZWVuLTIwMDppcyguZGFyayAqKXstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMTg3IDI0NyAyMDggLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0uZGFya1w6dGV4dC1ncmVlbi0zMDA6aXMoLmRhcmsgKil7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDEzNCAyMzkgMTcyIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LmRhcmtcOnRleHQtZ3JlZW4tNDAwOmlzKC5kYXJrICopey0tdHctdGV4dC1vcGFjaXR5OiAxO2NvbG9yOnJnYig3NCAyMjIgMTI4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LmRhcmtcOnRleHQtZ3JlZW4tNDAwXC84MDppcyguZGFyayAqKXtjb2xvcjojNGFkZTgwY2N9LmRhcmtcOnRleHQtb3JhbmdlLTQwMDppcyguZGFyayAqKXstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjUxIDE0NiA2MCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5kYXJrXDp0ZXh0LXJlZC0zMDA6aXMoLmRhcmsgKil7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI1MiAxNjUgMTY1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LmRhcmtcOnRleHQtcmVkLTQwMDppcyguZGFyayAqKXstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjQ4IDExMyAxMTMgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0uZGFya1w6dGV4dC1yZWQtNDAwXC84MDppcyguZGFyayAqKXtjb2xvcjojZjg3MTcxY2N9LmRhcmtcOnRleHQtd2hpdGU6aXMoLmRhcmsgKil7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9LmRhcmtcOnRleHQteWVsbG93LTMwMDppcyguZGFyayAqKXstLXR3LXRleHQtb3BhY2l0eTogMTtjb2xvcjpyZ2IoMjUzIDIyNCA3MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpfS5kYXJrXDp0ZXh0LXllbGxvdy00MDA6aXMoLmRhcmsgKil7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI1MCAyMDQgMjEgLyB2YXIoLS10dy10ZXh0LW9wYWNpdHksIDEpKX0uZGFya1w6dGV4dC15ZWxsb3ctNDAwXC84MDppcyguZGFyayAqKXtjb2xvcjojZmFjYzE1Y2N9LmRhcmtcOnNoYWRvdy1hbWJlci05MDBcLzMwOmlzKC5kYXJrICopey0tdHctc2hhZG93LWNvbG9yOiByZ2IoMTIwIDUzIDE1IC8gLjMpOy0tdHctc2hhZG93OiB2YXIoLS10dy1zaGFkb3ctY29sb3JlZCl9LmRhcmtcOnNoYWRvdy1ncmVlbi05MDBcLzMwOmlzKC5kYXJrICopey0tdHctc2hhZG93LWNvbG9yOiByZ2IoMjAgODMgNDUgLyAuMyk7LS10dy1zaGFkb3c6IHZhcigtLXR3LXNoYWRvdy1jb2xvcmVkKX0uZGFya1w6aG92ZXJcOmJvcmRlci1lbWVyYWxkLTgwMDpob3ZlcjppcyguZGFyayAqKXstLXR3LWJvcmRlci1vcGFjaXR5OiAxO2JvcmRlci1jb2xvcjpyZ2IoNiA5NSA3MCAvIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5LCAxKSl9LmRhcmtcOmhvdmVyXDpiZy1lbWVyYWxkLTkwMFwvMTA6aG92ZXI6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojMDY0ZTNiMWF9LmRhcmtcOmhvdmVyXDpiZy1lbWVyYWxkLTkwMFwvMjA6aG92ZXI6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojMDY0ZTNiMzN9LmRhcmtcOmhvdmVyXDpiZy1ncmF5LTEwMDpob3ZlcjppcyguZGFyayAqKXstLXR3LWJnLW9wYWNpdHk6IDE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSl9LmRhcmtcOmhvdmVyXDpiZy1ncmF5LTUwOmhvdmVyOmlzKC5kYXJrICopey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMjUwIDI1MSAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uZGFya1w6aG92ZXJcOmJnLWdyYXktNzAwOmhvdmVyOmlzKC5kYXJrICopey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1NSA2NSA4MSAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uZGFya1w6aG92ZXJcOmJnLWdyYXktODAwOmhvdmVyOmlzKC5kYXJrICopey0tdHctYmctb3BhY2l0eTogMTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigzMSA0MSA1NSAvIHZhcigtLXR3LWJnLW9wYWNpdHksIDEpKX0uZGFya1w6aG92ZXJcOnRleHQtd2hpdGU6aG92ZXI6aXMoLmRhcmsgKil7LS10dy10ZXh0LW9wYWNpdHk6IDE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSl9QG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KXsuc21cOmJvdHRvbS0we2JvdHRvbTowfS5zbVw6cmlnaHQtMHtyaWdodDowfS5zbVw6dG9wLWF1dG97dG9wOmF1dG99LnNtXDpjb2wtc3Bhbi0xe2dyaWQtY29sdW1uOnNwYW4gMSAvIHNwYW4gMX0uc21cOmNvbC1zcGFuLTJ7Z3JpZC1jb2x1bW46c3BhbiAyIC8gc3BhbiAyfS5zbVw6bWItMTJ7bWFyZ2luLWJvdHRvbTozcmVtfS5zbVw6bWItMTR7bWFyZ2luLWJvdHRvbTozLjVyZW19LnNtXDptYi0xNnttYXJnaW4tYm90dG9tOjRyZW19LnNtXDptYi0ye21hcmdpbi1ib3R0b206LjVyZW19LnNtXDptYi0ze21hcmdpbi1ib3R0b206Ljc1cmVtfS5zbVw6bWItNHttYXJnaW4tYm90dG9tOjFyZW19LnNtXDptYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5zbVw6bWItOHttYXJnaW4tYm90dG9tOjJyZW19LnNtXDptci0xe21hcmdpbi1yaWdodDouMjVyZW19LnNtXDptci0ye21hcmdpbi1yaWdodDouNXJlbX0uc21cOm10LTB7bWFyZ2luLXRvcDowfS5zbVw6bXQtMXttYXJnaW4tdG9wOi4yNXJlbX0uc21cOm10LTEye21hcmdpbi10b3A6M3JlbX0uc21cOm10LTN7bWFyZ2luLXRvcDouNzVyZW19LnNtXDptdC04e21hcmdpbi10b3A6MnJlbX0uc21cOmJsb2Nre2Rpc3BsYXk6YmxvY2t9LnNtXDppbmxpbmV7ZGlzcGxheTppbmxpbmV9LnNtXDpmbGV4e2Rpc3BsYXk6ZmxleH0uc21cOmhpZGRlbntkaXNwbGF5Om5vbmV9LnNtXDpoLTEwe2hlaWdodDoyLjVyZW19LnNtXDpoLTEye2hlaWdodDozcmVtfS5zbVw6aC0xNntoZWlnaHQ6NHJlbX0uc21cOmgtMntoZWlnaHQ6LjVyZW19LnNtXDpoLTIwe2hlaWdodDo1cmVtfS5zbVw6aC0yNHtoZWlnaHQ6NnJlbX0uc21cOmgtNHtoZWlnaHQ6MXJlbX0uc21cOmgtNXtoZWlnaHQ6MS4yNXJlbX0uc21cOmgtNntoZWlnaHQ6MS41cmVtfS5zbVw6aC04e2hlaWdodDoycmVtfS5zbVw6aC05e2hlaWdodDoyLjI1cmVtfS5zbVw6bWluLWgtXFs1NTBweFxde21pbi1oZWlnaHQ6NTUwcHh9LnNtXDp3LTEwe3dpZHRoOjIuNXJlbX0uc21cOnctMTJ7d2lkdGg6M3JlbX0uc21cOnctMTZ7d2lkdGg6NHJlbX0uc21cOnctMnt3aWR0aDouNXJlbX0uc21cOnctMjB7d2lkdGg6NXJlbX0uc21cOnctMjR7d2lkdGg6NnJlbX0uc21cOnctNHt3aWR0aDoxcmVtfS5zbVw6dy01e3dpZHRoOjEuMjVyZW19LnNtXDp3LTZ7d2lkdGg6MS41cmVtfS5zbVw6dy02NHt3aWR0aDoxNnJlbX0uc21cOnctNzJ7d2lkdGg6MThyZW19LnNtXDp3LTh7d2lkdGg6MnJlbX0uc21cOnctODB7d2lkdGg6MjByZW19LnNtXDp3LTl7d2lkdGg6Mi4yNXJlbX0uc21cOnctYXV0b3t3aWR0aDphdXRvfS5zbVw6bWF4LXctMnhse21heC13aWR0aDo0MnJlbX0uc21cOm1heC13LWxne21heC13aWR0aDozMnJlbX0uc21cOm1heC13LW1ke21heC13aWR0aDoyOHJlbX0uc21cOm1heC13LXNte21heC13aWR0aDoyNHJlbX0uc21cOmZsZXgtaW5pdGlhbHtmbGV4OjAgMSBhdXRvfS5zbVw6ZmxleC1ub25le2ZsZXg6bm9uZX0uc21cOmJhc2lzLTFcLzJ7ZmxleC1iYXNpczo1MCV9LnNtXDpyb3RhdGUtMHstLXR3LXJvdGF0ZTogMGRlZzt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uc21cOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uc21cOmdyaWQtY29scy0ze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKX0uc21cOmdyaWQtY29scy00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX0uc21cOmdyaWQtY29scy02e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNixtaW5tYXgoMCwxZnIpKX0uc21cOmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30uc21cOmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc21cOmZsZXgtd3JhcHtmbGV4LXdyYXA6d3JhcH0uc21cOml0ZW1zLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LnNtXDppdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5zbVw6anVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uc21cOmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc21cOmp1c3RpZnktY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnNtXDpqdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnNtXDpnYXAtMHtnYXA6MHB4fS5zbVw6Z2FwLTEye2dhcDozcmVtfS5zbVw6Z2FwLTJ7Z2FwOi41cmVtfS5zbVw6Z2FwLTJcLjV7Z2FwOi42MjVyZW19LnNtXDpnYXAtM3tnYXA6Ljc1cmVtfS5zbVw6Z2FwLTR7Z2FwOjFyZW19LnNtXDpnYXAtNntnYXA6MS41cmVtfS5zbVw6Z2FwLTh7Z2FwOjJyZW19LnNtXDpzcGFjZS14LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6IDA7bWFyZ2luLXJpZ2h0OmNhbGMoLjVyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTttYXJnaW4tbGVmdDpjYWxjKC41cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpfS5zbVw6c3BhY2UteC00Pjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteC1yZXZlcnNlOiAwO21hcmdpbi1yaWdodDpjYWxjKDFyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTttYXJnaW4tbGVmdDpjYWxjKDFyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSl9LnNtXDpzcGFjZS15LTA+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKDBweCAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoMHB4ICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9LnNtXDpzcGFjZS15LTE+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKC4yNXJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoLjI1cmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9LnNtXDpzcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKC41cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYyguNXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zbVw6c3BhY2UteS00Pjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteS1yZXZlcnNlOiAwO21hcmdpbi10b3A6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxcmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9LnNtXDpzcGFjZS15LTY+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKDEuNXJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoMS41cmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9LnNtXDpzcGFjZS15LTg+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKDJyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKDJyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0uc21cOnNlbGYtYXV0b3thbGlnbi1zZWxmOmF1dG99LnNtXDpyb3VuZGVkLTJ4bHtib3JkZXItcmFkaXVzOjFyZW19LnNtXDpyb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKX0uc21cOmJvcmRlci1se2JvcmRlci1sZWZ0LXdpZHRoOjFweH0uc21cOmJvcmRlci10LTB7Ym9yZGVyLXRvcC13aWR0aDowcHh9LnNtXDpiZy1ncmFkaWVudC10by1ye2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSl9LnNtXDpwLTEye3BhZGRpbmc6M3JlbX0uc21cOnAtM3twYWRkaW5nOi43NXJlbX0uc21cOnAtNHtwYWRkaW5nOjFyZW19LnNtXDpwLTZ7cGFkZGluZzoxLjVyZW19LnNtXDpwLTh7cGFkZGluZzoycmVtfS5zbVw6cHgtMTB7cGFkZGluZy1sZWZ0OjIuNXJlbTtwYWRkaW5nLXJpZ2h0OjIuNXJlbX0uc21cOnB4LTN7cGFkZGluZy1sZWZ0Oi43NXJlbTtwYWRkaW5nLXJpZ2h0Oi43NXJlbX0uc21cOnB4LTR7cGFkZGluZy1sZWZ0OjFyZW07cGFkZGluZy1yaWdodDoxcmVtfS5zbVw6cHgtNntwYWRkaW5nLWxlZnQ6MS41cmVtO3BhZGRpbmctcmlnaHQ6MS41cmVtfS5zbVw6cHgtOHtwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19LnNtXDpweS0xXC41e3BhZGRpbmctdG9wOi4zNzVyZW07cGFkZGluZy1ib3R0b206LjM3NXJlbX0uc21cOnB5LTEwe3BhZGRpbmctdG9wOjIuNXJlbTtwYWRkaW5nLWJvdHRvbToyLjVyZW19LnNtXDpweS0xMntwYWRkaW5nLXRvcDozcmVtO3BhZGRpbmctYm90dG9tOjNyZW19LnNtXDpweS0xNntwYWRkaW5nLXRvcDo0cmVtO3BhZGRpbmctYm90dG9tOjRyZW19LnNtXDpweS0ye3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5zbVw6cHktM3twYWRkaW5nLXRvcDouNzVyZW07cGFkZGluZy1ib3R0b206Ljc1cmVtfS5zbVw6cHktNHtwYWRkaW5nLXRvcDoxcmVtO3BhZGRpbmctYm90dG9tOjFyZW19LnNtXDpweS02e3BhZGRpbmctdG9wOjEuNXJlbTtwYWRkaW5nLWJvdHRvbToxLjVyZW19LnNtXDpweS04e3BhZGRpbmctdG9wOjJyZW07cGFkZGluZy1ib3R0b206MnJlbX0uc21cOnBiLTE2e3BhZGRpbmctYm90dG9tOjRyZW19LnNtXDpwYi00e3BhZGRpbmctYm90dG9tOjFyZW19LnNtXDpwYi02e3BhZGRpbmctYm90dG9tOjEuNXJlbX0uc21cOnBiLTh7cGFkZGluZy1ib3R0b206MnJlbX0uc21cOnBsLTR7cGFkZGluZy1sZWZ0OjFyZW19LnNtXDpwdC0we3BhZGRpbmctdG9wOjB9LnNtXDpwdC0xMntwYWRkaW5nLXRvcDozcmVtfS5zbVw6cHQtNHtwYWRkaW5nLXRvcDoxcmVtfS5zbVw6cHQtNntwYWRkaW5nLXRvcDoxLjVyZW19LnNtXDpwdC04e3BhZGRpbmctdG9wOjJyZW19LnNtXDp0ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS5zbVw6dGV4dC0yeGx7Zm9udC1zaXplOjEuNXJlbTtsaW5lLWhlaWdodDoycmVtfS5zbVw6dGV4dC0zeGx7Zm9udC1zaXplOjEuODc1cmVtO2xpbmUtaGVpZ2h0OjIuMjVyZW19LnNtXDp0ZXh0LTR4bHtmb250LXNpemU6Mi4yNXJlbTtsaW5lLWhlaWdodDoyLjVyZW19LnNtXDp0ZXh0LTV4bHtmb250LXNpemU6M3JlbTtsaW5lLWhlaWdodDoxfS5zbVw6dGV4dC1cWzEwcHhcXXtmb250LXNpemU6MTBweH0uc21cOnRleHQtXFsxMXB4XF17Zm9udC1zaXplOjExcHh9LnNtXDp0ZXh0LWJhc2V7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS41cmVtfS5zbVw6dGV4dC1sZ3tmb250LXNpemU6MS4xMjVyZW07bGluZS1oZWlnaHQ6MS43NXJlbX0uc21cOnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX0uc21cOnRleHQteGx7Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS43NXJlbX0uc21cOnRleHQteHN7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxcmVtfS5kYXRhLVxbc3RhdGVcPW9wZW5cXVw6c21cOnNsaWRlLWluLWZyb20tYm90dG9tLWZ1bGxbZGF0YS1zdGF0ZT1vcGVuXXstLXR3LWVudGVyLXRyYW5zbGF0ZS15OiAxMDAlfX1AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpey5tZFw6YWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGV9Lm1kXDpjb2wtc3Bhbi0xe2dyaWQtY29sdW1uOnNwYW4gMSAvIHNwYW4gMX0ubWRcOm14LTB7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH0ubWRcOi1tbC00e21hcmdpbi1sZWZ0Oi0xcmVtfS5tZFw6bWItMTB7bWFyZ2luLWJvdHRvbToyLjVyZW19Lm1kXDptYi0xMnttYXJnaW4tYm90dG9tOjNyZW19Lm1kXDptYi0xNnttYXJnaW4tYm90dG9tOjRyZW19Lm1kXDptYi0ye21hcmdpbi1ib3R0b206LjVyZW19Lm1kXDptYi00e21hcmdpbi1ib3R0b206MXJlbX0ubWRcOm1iLTZ7bWFyZ2luLWJvdHRvbToxLjVyZW19Lm1kXDptYi04e21hcmdpbi1ib3R0b206MnJlbX0ubWRcOm1sLTB7bWFyZ2luLWxlZnQ6MH0ubWRcOm1sLTY0e21hcmdpbi1sZWZ0OjE2cmVtfS5tZFw6bXQtNnttYXJnaW4tdG9wOjEuNXJlbX0ubWRcOmJsb2Nre2Rpc3BsYXk6YmxvY2t9Lm1kXDppbmxpbmV7ZGlzcGxheTppbmxpbmV9Lm1kXDpmbGV4e2Rpc3BsYXk6ZmxleH0ubWRcOmhpZGRlbntkaXNwbGF5Om5vbmV9Lm1kXDpoLTEwe2hlaWdodDoyLjVyZW19Lm1kXDpoLTExe2hlaWdodDoyLjc1cmVtfS5tZFw6aC0xMntoZWlnaHQ6M3JlbX0ubWRcOmgtMTR7aGVpZ2h0OjMuNXJlbX0ubWRcOmgtMTZ7aGVpZ2h0OjRyZW19Lm1kXDpoLTN7aGVpZ2h0Oi43NXJlbX0ubWRcOmgtMzJ7aGVpZ2h0OjhyZW19Lm1kXDpoLTR7aGVpZ2h0OjFyZW19Lm1kXDpoLTV7aGVpZ2h0OjEuMjVyZW19Lm1kXDpoLTZ7aGVpZ2h0OjEuNXJlbX0ubWRcOmgtN3toZWlnaHQ6MS43NXJlbX0ubWRcOmgtOHtoZWlnaHQ6MnJlbX0ubWRcOmgtOXtoZWlnaHQ6Mi4yNXJlbX0ubWRcOmgtYXV0b3toZWlnaHQ6YXV0b30ubWRcOnctMTB7d2lkdGg6Mi41cmVtfS5tZFw6dy0xMnt3aWR0aDozcmVtfS5tZFw6dy0xNnt3aWR0aDo0cmVtfS5tZFw6dy0zMnt3aWR0aDo4cmVtfS5tZFw6dy00e3dpZHRoOjFyZW19Lm1kXDp3LTV7d2lkdGg6MS4yNXJlbX0ubWRcOnctNnt3aWR0aDoxLjVyZW19Lm1kXDp3LTd7d2lkdGg6MS43NXJlbX0ubWRcOnctOHt3aWR0aDoycmVtfS5tZFw6dy1cW3ZhclwoLS1yYWRpeC1uYXZpZ2F0aW9uLW1lbnUtdmlld3BvcnQtd2lkdGhcKVxde3dpZHRoOnZhcigtLXJhZGl4LW5hdmlnYXRpb24tbWVudS12aWV3cG9ydC13aWR0aCl9Lm1kXDp3LWF1dG97d2lkdGg6YXV0b30ubWRcOm1heC13LVxbNDIwcHhcXXttYXgtd2lkdGg6NDIwcHh9Lm1kXDpzY2FsZS0xMDV7LS10dy1zY2FsZS14OiAxLjA1Oy0tdHctc2NhbGUteTogMS4wNTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0ubWRcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0ubWRcOmdyaWQtY29scy0ze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKX0ubWRcOmdyaWQtY29scy00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX0ubWRcOmdyaWQtY29scy01e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSxtaW5tYXgoMCwxZnIpKX0ubWRcOmdyaWQtY29scy03e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNyxtaW5tYXgoMCwxZnIpKX0ubWRcOmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30ubWRcOmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubWRcOml0ZW1zLWNlbnRlcnthbGlnbi1pdGVtczpjZW50ZXJ9Lm1kXDpqdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5tZFw6Z2FwLTB7Z2FwOjBweH0ubWRcOmdhcC0ye2dhcDouNXJlbX0ubWRcOmdhcC0ze2dhcDouNzVyZW19Lm1kXDpnYXAtNHtnYXA6MXJlbX0ubWRcOmdhcC02e2dhcDoxLjVyZW19Lm1kXDpnYXAtOHtnYXA6MnJlbX0ubWRcOnNwYWNlLXktMTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKDNyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKDNyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0ubWRcOnNwYWNlLXktMj46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXktcmV2ZXJzZTogMDttYXJnaW4tdG9wOmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC41cmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9Lm1kXDpzcGFjZS15LTM+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKC43NXJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoLjc1cmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9Lm1kXDpzcGFjZS15LTQ+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6IDA7bWFyZ2luLXRvcDpjYWxjKDFyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKDFyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0ubWRcOnNwYWNlLXktNj46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXktcmV2ZXJzZTogMDttYXJnaW4tdG9wOmNhbGMoMS41cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjVyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0ubWRcOnNwYWNlLXktOD46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXktcmV2ZXJzZTogMDttYXJnaW4tdG9wOmNhbGMoMnJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoMnJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5tZFw6cm91bmRlZC1tZHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDJweCl9Lm1kXDpwLTEye3BhZGRpbmc6M3JlbX0ubWRcOnAtNHtwYWRkaW5nOjFyZW19Lm1kXDpwLTV7cGFkZGluZzoxLjI1cmVtfS5tZFw6cC02e3BhZGRpbmc6MS41cmVtfS5tZFw6cC04e3BhZGRpbmc6MnJlbX0ubWRcOnB4LTEye3BhZGRpbmctbGVmdDozcmVtO3BhZGRpbmctcmlnaHQ6M3JlbX0ubWRcOnB4LTN7cGFkZGluZy1sZWZ0Oi43NXJlbTtwYWRkaW5nLXJpZ2h0Oi43NXJlbX0ubWRcOnB4LTR7cGFkZGluZy1sZWZ0OjFyZW07cGFkZGluZy1yaWdodDoxcmVtfS5tZFw6cHgtNntwYWRkaW5nLWxlZnQ6MS41cmVtO3BhZGRpbmctcmlnaHQ6MS41cmVtfS5tZFw6cHgtOHtwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19Lm1kXDpweS0xMHtwYWRkaW5nLXRvcDoyLjVyZW07cGFkZGluZy1ib3R0b206Mi41cmVtfS5tZFw6cHktMTJ7cGFkZGluZy10b3A6M3JlbTtwYWRkaW5nLWJvdHRvbTozcmVtfS5tZFw6cHktMntwYWRkaW5nLXRvcDouNXJlbTtwYWRkaW5nLWJvdHRvbTouNXJlbX0ubWRcOnB5LTIwe3BhZGRpbmctdG9wOjVyZW07cGFkZGluZy1ib3R0b206NXJlbX0ubWRcOnB5LTR7cGFkZGluZy10b3A6MXJlbTtwYWRkaW5nLWJvdHRvbToxcmVtfS5tZFw6cHktNXtwYWRkaW5nLXRvcDoxLjI1cmVtO3BhZGRpbmctYm90dG9tOjEuMjVyZW19Lm1kXDpweS04e3BhZGRpbmctdG9wOjJyZW07cGFkZGluZy1ib3R0b206MnJlbX0ubWRcOnBiLTJ7cGFkZGluZy1ib3R0b206LjVyZW19Lm1kXDpwYi02e3BhZGRpbmctYm90dG9tOjEuNXJlbX0ubWRcOnBsLTR7cGFkZGluZy1sZWZ0OjFyZW19Lm1kXDpwdC0we3BhZGRpbmctdG9wOjB9Lm1kXDpwdC02e3BhZGRpbmctdG9wOjEuNXJlbX0ubWRcOnB0LTh7cGFkZGluZy10b3A6MnJlbX0ubWRcOnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0ubWRcOnRleHQtM3hse2ZvbnQtc2l6ZToxLjg3NXJlbTtsaW5lLWhlaWdodDoyLjI1cmVtfS5tZFw6dGV4dC00eGx7Zm9udC1zaXplOjIuMjVyZW07bGluZS1oZWlnaHQ6Mi41cmVtfS5tZFw6dGV4dC01eGx7Zm9udC1zaXplOjNyZW07bGluZS1oZWlnaHQ6MX0ubWRcOnRleHQtNnhse2ZvbnQtc2l6ZTozLjc1cmVtO2xpbmUtaGVpZ2h0OjF9Lm1kXDp0ZXh0LTh4bHtmb250LXNpemU6NnJlbTtsaW5lLWhlaWdodDoxfS5tZFw6dGV4dC1iYXNle2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNXJlbX0ubWRcOnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19Lm1kXDp0ZXh0LXNte2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19Lm1kXDp0ZXh0LXhse2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19Lm1kXDp0ZXh0LXhze2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MXJlbX0ubWRcOm9wYWNpdHktMHtvcGFjaXR5OjB9Lm1kXDpzaGFkb3ctbm9uZXstLXR3LXNoYWRvdzogMCAwICMwMDAwOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMCAjMDAwMDtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSx2YXIoLS10dy1zaGFkb3cpfS5hZnRlclw6bWRcOmhpZGRlbjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2Rpc3BsYXk6bm9uZX0ucGVlcltkYXRhLXZhcmlhbnQ9aW5zZXRdfi5tZFw6cGVlci1kYXRhLVxbdmFyaWFudFw9aW5zZXRcXVw6bS0ye21hcmdpbjouNXJlbX0ucGVlcltkYXRhLXN0YXRlPWNvbGxhcHNlZF1bZGF0YS12YXJpYW50PWluc2V0XX4ubWRcOnBlZXItZGF0YS1cW3N0YXRlXD1jb2xsYXBzZWRcXVw6cGVlci1kYXRhLVxbdmFyaWFudFw9aW5zZXRcXVw6bWwtMnttYXJnaW4tbGVmdDouNXJlbX0ucGVlcltkYXRhLXZhcmlhbnQ9aW5zZXRdfi5tZFw6cGVlci1kYXRhLVxbdmFyaWFudFw9aW5zZXRcXVw6bWwtMHttYXJnaW4tbGVmdDowfS5wZWVyW2RhdGEtdmFyaWFudD1pbnNldF1+Lm1kXDpwZWVyLWRhdGEtXFt2YXJpYW50XD1pbnNldFxdXDpyb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6Ljc1cmVtfS5wZWVyW2RhdGEtdmFyaWFudD1pbnNldF1+Lm1kXDpwZWVyLWRhdGEtXFt2YXJpYW50XD1pbnNldFxdXDpzaGFkb3d7LS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIC4xKSwgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gLjEpOy0tdHctc2hhZG93LWNvbG9yZWQ6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX19QG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCl7LmxnXDpjb2wtc3Bhbi0ye2dyaWQtY29sdW1uOnNwYW4gMiAvIHNwYW4gMn0ubGdcOmNvbC1zcGFuLTV7Z3JpZC1jb2x1bW46c3BhbiA1IC8gc3BhbiA1fS5sZ1w6Y29sLXNwYW4tN3tncmlkLWNvbHVtbjpzcGFuIDcgLyBzcGFuIDd9LmxnXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5sZ1w6ZmxleHtkaXNwbGF5OmZsZXh9LmxnXDpoaWRkZW57ZGlzcGxheTpub25lfS5sZ1w6YmFzaXMtMVwvM3tmbGV4LWJhc2lzOjMzLjMzMzMzMyV9LmxnXDpncmlkLWNvbHMtMTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxMixtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy0ze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy01e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy02e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNixtaW5tYXgoMCwxZnIpKX0ubGdcOnAtOHtwYWRkaW5nOjJyZW19LmxnXDpweC0xNntwYWRkaW5nLWxlZnQ6NHJlbTtwYWRkaW5nLXJpZ2h0OjRyZW19LmxnXDpweC04e3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ubGdcOnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LmxnXDp0ZXh0LTV4bHtmb250LXNpemU6M3JlbTtsaW5lLWhlaWdodDoxfS5sZ1w6dGV4dC02eGx7Zm9udC1zaXplOjMuNzVyZW07bGluZS1oZWlnaHQ6MX0ubGdcOnRleHQtN3hse2ZvbnQtc2l6ZTo0LjVyZW07bGluZS1oZWlnaHQ6MX0ubGdcOnRleHQteGx7Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS43NXJlbX19LlxbXCZcOmhhc1woXFthcmlhLXNlbGVjdGVkXF1cKVxdXDpiZy1hY2NlbnQ6aGFzKFthcmlhLXNlbGVjdGVkXSl7YmFja2dyb3VuZC1jb2xvcjpoc2wodmFyKC0tYWNjZW50KSl9LmZpcnN0XDpcW1wmXDpoYXNcKFxbYXJpYS1zZWxlY3RlZFxdXClcXVw6cm91bmRlZC1sLW1kOmhhcyhbYXJpYS1zZWxlY3RlZF0pOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpIC0gMnB4KTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDJweCl9Lmxhc3RcOlxbXCZcOmhhc1woXFthcmlhLXNlbGVjdGVkXF1cKVxdXDpyb3VuZGVkLXItbWQ6aGFzKFthcmlhLXNlbGVjdGVkXSk6bGFzdC1jaGlsZHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSAycHgpO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDJweCl9LlxbXCZcOmhhc1woXFthcmlhLXNlbGVjdGVkXF1cLmRheS1vdXRzaWRlXClcXVw6YmctYWNjZW50XC81MDpoYXMoW2FyaWEtc2VsZWN0ZWRdLmRheS1vdXRzaWRlKXtiYWNrZ3JvdW5kLWNvbG9yOmhzbCh2YXIoLS1hY2NlbnQpIC8gLjUpfS5cW1wmXDpoYXNcKFxbYXJpYS1zZWxlY3RlZFxdXC5kYXktcmFuZ2UtZW5kXClcXVw6cm91bmRlZC1yLW1kOmhhcyhbYXJpYS1zZWxlY3RlZF0uZGF5LXJhbmdlLWVuZCl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpIC0gMnB4KTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSAycHgpfS5cW1wmXDpoYXNcKFxbcm9sZVw9Y2hlY2tib3hcXVwpXF1cOnByLTA6aGFzKFtyb2xlPWNoZWNrYm94XSl7cGFkZGluZy1yaWdodDowfS5cW1wmXD5idXR0b25cXVw6aGlkZGVuPmJ1dHRvbntkaXNwbGF5Om5vbmV9LlxbXCZcPnNwYW5cOmxhc3QtY2hpbGRcXVw6dHJ1bmNhdGU+c3BhbjpsYXN0LWNoaWxke292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uXFtcJlw+c3BhblxdXDpsaW5lLWNsYW1wLTE+c3BhbntvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjF9LlxbXCZcPnN2Z1wrZGl2XF1cOnRyYW5zbGF0ZS15LVxbLTNweFxdPnN2ZytkaXZ7LS10dy10cmFuc2xhdGUteTogLTNweDt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3KHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0uXFtcJlw+c3ZnXF1cOmFic29sdXRlPnN2Z3twb3NpdGlvbjphYnNvbHV0ZX0uXFtcJlw+c3ZnXF1cOmxlZnQtND5zdmd7bGVmdDoxcmVtfS5cW1wmXD5zdmdcXVw6dG9wLTQ+c3Zne3RvcDoxcmVtfS5cW1wmXD5zdmdcXVw6c2l6ZS0zXC41PnN2Z3t3aWR0aDouODc1cmVtO2hlaWdodDouODc1cmVtfS5cW1wmXD5zdmdcXVw6c2l6ZS00PnN2Z3t3aWR0aDoxcmVtO2hlaWdodDoxcmVtfS5cW1wmXD5zdmdcXVw6aC0yXC41PnN2Z3toZWlnaHQ6LjYyNXJlbX0uXFtcJlw+c3ZnXF1cOmgtMz5zdmd7aGVpZ2h0Oi43NXJlbX0uXFtcJlw+c3ZnXF1cOnctMlwuNT5zdmd7d2lkdGg6LjYyNXJlbX0uXFtcJlw+c3ZnXF1cOnctMz5zdmd7d2lkdGg6Ljc1cmVtfS5cW1wmXD5zdmdcXVw6c2hyaW5rLTA+c3Zne2ZsZXgtc2hyaW5rOjB9LlxbXCZcPnN2Z1xdXDp0ZXh0LWRlc3RydWN0aXZlPnN2Z3tjb2xvcjpoc2wodmFyKC0tZGVzdHJ1Y3RpdmUpKX0uXFtcJlw+c3ZnXF1cOnRleHQtZm9yZWdyb3VuZD5zdmd7Y29sb3I6aHNsKHZhcigtLWZvcmVncm91bmQpKX0uXFtcJlw+c3ZnXF1cOnRleHQtbXV0ZWQtZm9yZWdyb3VuZD5zdmd7Y29sb3I6aHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKX0uXFtcJlw+c3ZnXH5cKlxdXDpwbC03PnN2Z34qe3BhZGRpbmctbGVmdDoxLjc1cmVtfS5cW1wmXD50clxdXDpsYXN0XDpib3JkZXItYi0wOmxhc3QtY2hpbGQ+dHJ7Ym9yZGVyLWJvdHRvbS13aWR0aDowcHh9LlxbXCZcW2RhdGEtcGFuZWwtZ3JvdXAtZGlyZWN0aW9uXD12ZXJ0aWNhbFxdXD5kaXZcXVw6cm90YXRlLTkwW2RhdGEtcGFuZWwtZ3JvdXAtZGlyZWN0aW9uPXZlcnRpY2FsXT5kaXZ7LS10dy1yb3RhdGU6IDkwZGVnO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXcodmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5cW1wmXFtkYXRhLXN0YXRlXD1vcGVuXF1cPnN2Z1xdXDpyb3RhdGUtMTgwW2RhdGEtc3RhdGU9b3Blbl0+c3Zney0tdHctcm90YXRlOiAxODBkZWc7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tldyh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LlxbXCZfXC5yZWNoYXJ0cy1jYXJ0ZXNpYW4tYXhpcy10aWNrX3RleHRcXVw6ZmlsbC1tdXRlZC1mb3JlZ3JvdW5kIC5yZWNoYXJ0cy1jYXJ0ZXNpYW4tYXhpcy10aWNrIHRleHR7ZmlsbDpoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpfS5cW1wmX1wucmVjaGFydHMtY2FydGVzaWFuLWdyaWRfbGluZVxbc3Ryb2tlXD1cJ1wjY2NjXCdcXVxdXDpzdHJva2UtYm9yZGVyXC81MCAucmVjaGFydHMtY2FydGVzaWFuLWdyaWQgbGluZVtzdHJva2U9IiNjY2MiXXtzdHJva2U6aHNsKHZhcigtLWJvcmRlcikgLyAuNSl9LlxbXCZfXC5yZWNoYXJ0cy1jdXJ2ZVwucmVjaGFydHMtdG9vbHRpcC1jdXJzb3JcXVw6c3Ryb2tlLWJvcmRlciAucmVjaGFydHMtY3VydmUucmVjaGFydHMtdG9vbHRpcC1jdXJzb3J7c3Ryb2tlOmhzbCh2YXIoLS1ib3JkZXIpKX0uXFtcJl9cLnJlY2hhcnRzLWRvdFxbc3Ryb2tlXD1cJ1wjZmZmXCdcXVxdXDpzdHJva2UtdHJhbnNwYXJlbnQgLnJlY2hhcnRzLWRvdFtzdHJva2U9IiNmZmYiXXtzdHJva2U6dHJhbnNwYXJlbnR9LlxbXCZfXC5yZWNoYXJ0cy1sYXllclxdXDpvdXRsaW5lLW5vbmUgLnJlY2hhcnRzLWxheWVye291dGxpbmU6MnB4IHNvbGlkIHRyYW5zcGFyZW50O291dGxpbmUtb2Zmc2V0OjJweH0uXFtcJl9cLnJlY2hhcnRzLXBvbGFyLWdyaWRfXFtzdHJva2VcPVwnXCNjY2NcJ1xdXF1cOnN0cm9rZS1ib3JkZXIgLnJlY2hhcnRzLXBvbGFyLWdyaWQgW3N0cm9rZT0iI2NjYyJde3N0cm9rZTpoc2wodmFyKC0tYm9yZGVyKSl9LlxbXCZfXC5yZWNoYXJ0cy1yYWRpYWwtYmFyLWJhY2tncm91bmQtc2VjdG9yXF1cOmZpbGwtbXV0ZWQgLnJlY2hhcnRzLXJhZGlhbC1iYXItYmFja2dyb3VuZC1zZWN0b3IsLlxbXCZfXC5yZWNoYXJ0cy1yZWN0YW5nbGVcLnJlY2hhcnRzLXRvb2x0aXAtY3Vyc29yXF1cOmZpbGwtbXV0ZWQgLnJlY2hhcnRzLXJlY3RhbmdsZS5yZWNoYXJ0cy10b29sdGlwLWN1cnNvcntmaWxsOmhzbCh2YXIoLS1tdXRlZCkpfS5cW1wmX1wucmVjaGFydHMtcmVmZXJlbmNlLWxpbmVfXFtzdHJva2VcPVwnXCNjY2NcJ1xdXF1cOnN0cm9rZS1ib3JkZXIgLnJlY2hhcnRzLXJlZmVyZW5jZS1saW5lIFtzdHJva2U9IiNjY2MiXXtzdHJva2U6aHNsKHZhcigtLWJvcmRlcikpfS5cW1wmX1wucmVjaGFydHMtc2VjdG9yXFtzdHJva2VcPVwnXCNmZmZcJ1xdXF1cOnN0cm9rZS10cmFuc3BhcmVudCAucmVjaGFydHMtc2VjdG9yW3N0cm9rZT0iI2ZmZiJde3N0cm9rZTp0cmFuc3BhcmVudH0uXFtcJl9cLnJlY2hhcnRzLXNlY3RvclxdXDpvdXRsaW5lLW5vbmUgLnJlY2hhcnRzLXNlY3RvciwuXFtcJl9cLnJlY2hhcnRzLXN1cmZhY2VcXVw6b3V0bGluZS1ub25lIC5yZWNoYXJ0cy1zdXJmYWNle291dGxpbmU6MnB4IHNvbGlkIHRyYW5zcGFyZW50O291dGxpbmUtb2Zmc2V0OjJweH0uXFtcJl9cW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnB4LTIgW2NtZGstZ3JvdXAtaGVhZGluZ117cGFkZGluZy1sZWZ0Oi41cmVtO3BhZGRpbmctcmlnaHQ6LjVyZW19LlxbXCZfXFtjbWRrLWdyb3VwLWhlYWRpbmdcXVxdXDpweS0xXC41IFtjbWRrLWdyb3VwLWhlYWRpbmdde3BhZGRpbmctdG9wOi4zNzVyZW07cGFkZGluZy1ib3R0b206LjM3NXJlbX0uXFtcJl9cW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnRleHQteHMgW2NtZGstZ3JvdXAtaGVhZGluZ117Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxcmVtfS5cW1wmX1xbY21kay1ncm91cC1oZWFkaW5nXF1cXVw6Zm9udC1tZWRpdW0gW2NtZGstZ3JvdXAtaGVhZGluZ117Zm9udC13ZWlnaHQ6NTAwfS5cW1wmX1xbY21kay1ncm91cC1oZWFkaW5nXF1cXVw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIFtjbWRrLWdyb3VwLWhlYWRpbmdde2NvbG9yOmhzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSl9LlxbXCZfXFtjbWRrLWdyb3VwXF1cOm5vdFwoXFtoaWRkZW5cXVwpX1x+XFtjbWRrLWdyb3VwXF1cXVw6cHQtMCBbY21kay1ncm91cF06bm90KFtoaWRkZW5dKX5bY21kay1ncm91cF17cGFkZGluZy10b3A6MH0uXFtcJl9cW2NtZGstZ3JvdXBcXVxdXDpweC0yIFtjbWRrLWdyb3VwXXtwYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0uXFtcJl9cW2NtZGstaW5wdXQtd3JhcHBlclxdX3N2Z1xdXDpoLTUgW2NtZGstaW5wdXQtd3JhcHBlcl0gc3Zne2hlaWdodDoxLjI1cmVtfS5cW1wmX1xbY21kay1pbnB1dC13cmFwcGVyXF1fc3ZnXF1cOnctNSBbY21kay1pbnB1dC13cmFwcGVyXSBzdmd7d2lkdGg6MS4yNXJlbX0uXFtcJl9cW2NtZGstaW5wdXRcXVxdXDpoLTEyIFtjbWRrLWlucHV0XXtoZWlnaHQ6M3JlbX0uXFtcJl9cW2NtZGstaXRlbVxdXF1cOnB4LTIgW2NtZGstaXRlbV17cGFkZGluZy1sZWZ0Oi41cmVtO3BhZGRpbmctcmlnaHQ6LjVyZW19LlxbXCZfXFtjbWRrLWl0ZW1cXVxdXDpweS0zIFtjbWRrLWl0ZW1de3BhZGRpbmctdG9wOi43NXJlbTtwYWRkaW5nLWJvdHRvbTouNzVyZW19LlxbXCZfXFtjbWRrLWl0ZW1cXV9zdmdcXVw6aC01IFtjbWRrLWl0ZW1dIHN2Z3toZWlnaHQ6MS4yNXJlbX0uXFtcJl9cW2NtZGstaXRlbVxdX3N2Z1xdXDp3LTUgW2NtZGstaXRlbV0gc3Zne3dpZHRoOjEuMjVyZW19LlxbXCZfcFxdXDpsZWFkaW5nLXJlbGF4ZWQgcHtsaW5lLWhlaWdodDoxLjYyNX0uXFtcJl9zdmdcXVw6cG9pbnRlci1ldmVudHMtbm9uZSBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uXFtcJl9zdmdcXVw6c2l6ZS00IHN2Z3t3aWR0aDoxcmVtO2hlaWdodDoxcmVtfS5cW1wmX3N2Z1xdXDpzaHJpbmstMCBzdmd7ZmxleC1zaHJpbms6MH0uXFtcJl90clw6bGFzdC1jaGlsZFxdXDpib3JkZXItMCB0cjpsYXN0LWNoaWxke2JvcmRlci13aWR0aDowcHh9LlxbXCZfdHJcXVw6Ym9yZGVyLWIgdHJ7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHh9W2RhdGEtc2lkZT1sZWZ0XVtkYXRhLWNvbGxhcHNpYmxlPW9mZmNhbnZhc10gLlxbXFtkYXRhLXNpZGVcPWxlZnRcXVxbZGF0YS1jb2xsYXBzaWJsZVw9b2ZmY2FudmFzXF1fXCZcXVw6LXJpZ2h0LTJ7cmlnaHQ6LS41cmVtfVtkYXRhLXNpZGU9bGVmdF1bZGF0YS1zdGF0ZT1jb2xsYXBzZWRdIC5cW1xbZGF0YS1zaWRlXD1sZWZ0XF1cW2RhdGEtc3RhdGVcPWNvbGxhcHNlZFxdX1wmXF1cOmN1cnNvci1lLXJlc2l6ZXtjdXJzb3I6ZS1yZXNpemV9W2RhdGEtc2lkZT1sZWZ0XSAuXFtcW2RhdGEtc2lkZVw9bGVmdFxdX1wmXF1cOmN1cnNvci13LXJlc2l6ZXtjdXJzb3I6dy1yZXNpemV9W2RhdGEtc2lkZT1yaWdodF1bZGF0YS1jb2xsYXBzaWJsZT1vZmZjYW52YXNdIC5cW1xbZGF0YS1zaWRlXD1yaWdodFxdXFtkYXRhLWNvbGxhcHNpYmxlXD1vZmZjYW52YXNcXV9cJlxdXDotbGVmdC0ye2xlZnQ6LS41cmVtfVtkYXRhLXNpZGU9cmlnaHRdW2RhdGEtc3RhdGU9Y29sbGFwc2VkXSAuXFtcW2RhdGEtc2lkZVw9cmlnaHRcXVxbZGF0YS1zdGF0ZVw9Y29sbGFwc2VkXF1fXCZcXVw6Y3Vyc29yLXctcmVzaXple2N1cnNvcjp3LXJlc2l6ZX1bZGF0YS1zaWRlPXJpZ2h0XSAuXFtcW2RhdGEtc2lkZVw9cmlnaHRcXV9cJlxdXDpjdXJzb3ItZS1yZXNpemV7Y3Vyc29yOmUtcmVzaXplfQo="}},"time_used":100,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":100,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"flowingfunded.com/~flock.js","fqdn":"flowingfunded.com","domain":"flowingfunded.com","tld":"com"},"ip":{"addr":"185.158.133.1","port":443,"asn":13213,"as":"UK-2 Limited","country":"United Arab Emirates","country_code":"AE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.104Z","timestamp":1785132909104,"http_version":"HTTP/2","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":"flowingfunded.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 14:19:37 GMT","end":"Sun, 27 Sep 2026 15:19:26 GMT"},"fingerprint":{"sha1":"89:FB:AC:AE:FD:C5:E6:6C:69:96:FC:C9:2F:35:EE:BE:6D:00:74:59","sha256":"80:9F:22:30:AF:89:84:9A:68:2A:A1:33:43:79:81:0C:22:DE:46:21:AB:5F:D3:B3:0B:46:F6:D5:64:76:30:11"}}},"request":{"raw":"GET /~flock.js HTTP/1.1\r\nHost: flowingfunded.com\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\nReferer: https://flowingfunded.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: __dpl=74a49da6-df72-4018-ae46-fd887bfd03c1; __cf_bm=pbR.8upXfhqfjXZJVBx4ZBKa0FNEihqEnkCVuO1dXBw-1785132908.4524689-1.0.1.1-MMtPjJdYJlho8meZJBIR6RaPq7rySJLmpHioPKijBxWMLKtCcvxpSOrOXa62bPYjdaaCzmm8GljMDkd3PxqMDruoe9RuSzvPfUBjehuCUzg0qR7aPhArgerBS6.5Bw8l\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-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\ndate: Mon, 27 Jul 2026 06:15:09 GMT\r\ncontent-type: text/javascript; charset=utf-8\r\ncache-control: max-age=1500\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-content-type-options: nosniff\r\ncontent-encoding: gzip\r\nserver: cloudflare\r\ncf-ray: a2198209ed870afa-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":"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":21296,"size_decoded":8697,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (21296), with no line terminators","md5":"ed557a78d5301fbb961abfe911a42b62","sha1":"d11a2a4e9fee28c4b1abc38cd8136bffec7e325b","sha256":"a86e084b4f82709814be6c15fd6305daa783fda87ad95402da9a4d3a1dd6d748","sha512":"18dd1525e2b4d89e3c46d92367fca020cf99fb07856acfd96a25dc7410611eea83b438c91691683983495945eb04a9427bc63e2a383cbe93449f4df0eb1ddb51","ssdeep":"384:FtUCBXTpeaFEo5TTThri1t/mCsOCXiTNZruJ4vKFlcEhRCDxOcX/YM2Vybyq/kmt:n7XTpeauI/Thri1CKWM4ldRzurwkTO0D","tlshash":"cea2b6d61007243d57ead1a13929f7d63177ea98a0caec8a7de91f84d414c83f3f294a","first_seen":"2025-07-30T15:25:28.733337Z","last_seen":"2026-07-31T21:29:43.554119Z","times_seen":14679,"resource_available":true,"data":"KCgpPT57ZnVuY3Rpb24gYShhLGUsaSxyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxlLHtnZXQ6aSxzZXQ6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pfXZhciBlPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6e30saT17fSxyPXt9LHQ9ZS5wYXJjZWxSZXF1aXJlYmM4MDtudWxsPT10JiYoKHQ9ZnVuY3Rpb24oYSl7aWYoYSBpbiBpKXJldHVybiBpW2FdLmV4cG9ydHM7aWYoYSBpbiByKXt2YXIgZT1yW2FdO2RlbGV0ZSByW2FdO3ZhciB0PXtpZDphLGV4cG9ydHM6e319O3JldHVybiBpW2FdPXQsZS5jYWxsKHQuZXhwb3J0cyx0LHQuZXhwb3J0cyksdC5leHBvcnRzfXZhciBuPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK2ErIiciKTt0aHJvdyBuLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLG59KS5yZWdpc3Rlcj1mdW5jdGlvbihhLGUpe3JbYV09ZX0sZS5wYXJjZWxSZXF1aXJlYmM4MD10KSx0LnJlZ2lzdGVyKCJpTTVZZSIsKGZ1bmN0aW9uKGUsaSl7YShlLmV4cG9ydHMsIkZDUFRocmVzaG9sZHMiLCgoKT0+VCkpLGEoZS5leHBvcnRzLCJvbkZDUCIsKCgpPT5NKSksYShlLmV4cG9ydHMsIkNMU1RocmVzaG9sZHMiLCgoKT0+RSkpLGEoZS5leHBvcnRzLCJvbkNMUyIsKCgpPT5QKSksYShlLmV4cG9ydHMsIklOUFRocmVzaG9sZHMiLCgoKT0+TikpLGEoZS5leHBvcnRzLCJvbklOUCIsKCgpPT5LKSksYShlLmV4cG9ydHMsIkxDUFRocmVzaG9sZHMiLCgoKT0+RCkpLGEoZS5leHBvcnRzLCJvbkxDUCIsKCgpPT5GKSksYShlLmV4cG9ydHMsIlRURkJUaHJlc2hvbGRzIiwoKCk9Pk8pKSxhKGUuZXhwb3J0cywib25UVEZCIiwoKCk9PkgpKTtsZXQgcj0tMTtjb25zdCB0PWE9PnthZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsKGU9PntlLnBlcnNpc3RlZCYmKHI9ZS50aW1lU3RhbXAsYShlKSl9KSwhMCl9LG49KGEsZSxpLHIpPT57bGV0IHQsbjtyZXR1cm4gbz0+e2UudmFsdWU+PTAmJihvfHxyKSYmKG49ZS52YWx1ZS0odD8/MCksKG58fHZvaWQgMD09PXQpJiYodD1lLnZhbHVlLGUuZGVsdGE9bixlLnJhdGluZz0oKGEsZSk9PmE+ZVsxXT8icG9vciI6YT5lWzBdPyJuZWVkcy1pbXByb3ZlbWVudCI6Imdvb2QiKShlLnZhbHVlLGkpLGEoZSkpKX19LG89YT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PmEoKSkpKSl9LGM9KCk9Pntjb25zdCBhPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm5hdmlnYXRpb24iKVswXTtpZihhJiZhLnJlc3BvbnNlU3RhcnQ+MCYmYS5yZXNwb25zZVN0YXJ0PHBlcmZvcm1hbmNlLm5vdygpKXJldHVybiBhfSxzPSgpPT5jKCk/LmFjdGl2YXRpb25TdGFydD8/MCxBPShhLGU9LTEpPT57Y29uc3QgaT1jKCk7bGV0IHQ9Im5hdmlnYXRlIjtyZXR1cm4gcj49MD90PSJiYWNrLWZvcndhcmQtY2FjaGUiOmkmJihkb2N1bWVudC5wcmVyZW5kZXJpbmd8fHMoKT4wP3Q9InByZXJlbmRlciI6ZG9jdW1lbnQud2FzRGlzY2FyZGVkP3Q9InJlc3RvcmUiOmkudHlwZSYmKHQ9aS50eXBlLnJlcGxhY2UoL18vZywiLSIpKSkse25hbWU6YSx2YWx1ZTplLHJhdGluZzoiZ29vZCIsZGVsdGE6MCxlbnRyaWVzOltdLGlkOmB2NS0ke0RhdGUubm93KCl9LSR7TWF0aC5mbG9vcig4OTk5OTk5OTk5OTk5Kk1hdGgucmFuZG9tKCkpKzFlMTJ9YCxuYXZpZ2F0aW9uVHlwZTp0fX0sdT1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGEsZSl7cmV0dXJuIHUuZ2V0KGEpfHx1LnNldChhLG5ldyBlKSx1LmdldChhKX1jbGFzcyBte3Q7aT0wO289W107aChhKXtpZihhLmhhZFJlY2VudElucHV0KXJldHVybjtjb25zdCBlPXRoaXMub1swXSxpPXRoaXMuby5hdCgtMSk7dGhpcy5pJiZlJiZpJiZhLnN0YXJ0VGltZS1pLnN0YXJ0VGltZTwxZTMmJmEuc3RhcnRUaW1lLWUuc3RhcnRUaW1lPDVlMz8odGhpcy5pKz1hLnZhbHVlLHRoaXMuby5wdXNoKGEpKToodGhpcy5pPWEudmFsdWUsdGhpcy5vPVthXSksdGhpcy50Py4oYSl9fWNvbnN0IGQ9KGEsZSxpPXt9KT0+e3RyeXtpZihQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoYSkpe2NvbnN0IHI9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGE9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e2UoYS5nZXRFbnRyaWVzKCkpfSkpfSkpO3JldHVybiByLm9ic2VydmUoe3R5cGU6YSxidWZmZXJlZDohMCwuLi5pfSkscn19Y2F0Y2h7fX0scD1hPT57bGV0IGU9ITE7cmV0dXJuKCk9PntlfHwoYSgpLGU9ITApfX07bGV0IGc9LTE7Y29uc3QgZj0oKT0+ImhpZGRlbiIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGV8fGRvY3VtZW50LnByZXJlbmRlcmluZz8xLzA6MCxoPWE9PnsiaGlkZGVuIj09PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSYmZz4tMSYmKGc9InZpc2liaWxpdHljaGFuZ2UiPT09YS50eXBlP2EudGltZVN0YW1wOjAsdigpKX0sUz0oKT0+e2FkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGgsITApLGFkZEV2ZW50TGlzdGVuZXIoInByZXJlbmRlcmluZ2NoYW5nZSIsaCwhMCl9LHY9KCk9PntyZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixoLCEwKSxyZW1vdmVFdmVudExpc3RlbmVyKCJwcmVyZW5kZXJpbmdjaGFuZ2UiLGgsITApfSxDPSgpPT57aWYoZzwwKXtjb25zdCBhPXMoKSxlPWRvY3VtZW50LnByZXJlbmRlcmluZz92b2lkIDA6Z2xvYmFsVGhpcy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJ2aXNpYmlsaXR5LXN0YXRlIikuZmlsdGVyKChlPT4iaGlkZGVuIj09PWUubmFtZSYmZS5zdGFydFRpbWU+YSkpWzBdPy5zdGFydFRpbWU7Zz1lPz9mKCksUygpLHQoKCgpPT57c2V0VGltZW91dCgoKCk9PntnPWYoKSxTKCl9KSl9KSl9cmV0dXJue2dldCBmaXJzdEhpZGRlblRpbWUoKXtyZXR1cm4gZ319fSx5PWE9Pntkb2N1bWVudC5wcmVyZW5kZXJpbmc/YWRkRXZlbnRMaXN0ZW5lcigicHJlcmVuZGVyaW5nY2hhbmdlIiwoKCk9PmEoKSksITApOmEoKX0sVD1bMTgwMCwzZTNdLE09KGEsZT17fSk9Pnt5KCgoKT0+e2NvbnN0IGk9QygpO2xldCByLGM9QSgiRkNQIik7Y29uc3QgdT1kKCJwYWludCIsKGE9Pntmb3IoY29uc3QgZSBvZiBhKSJmaXJzdC1jb250ZW50ZnVsLXBhaW50Ij09PWUubmFtZSYmKHUuZGlzY29ubmVjdCgpLGUuc3RhcnRUaW1lPGkuZmlyc3RIaWRkZW5UaW1lJiYoYy52YWx1ZT1NYXRoLm1heChlLnN0YXJ0VGltZS1zKCksMCksYy5lbnRyaWVzLnB1c2goZSkscighMCkpKX0pKTt1JiYocj1uKGEsYyxULGUucmVwb3J0QWxsQ2hhbmdlcyksdCgoaT0+e2M9QSgiRkNQIikscj1uKGEsYyxULGUucmVwb3J0QWxsQ2hhbmdlcyksbygoKCk9PntjLnZhbHVlPXBlcmZvcm1hbmNlLm5vdygpLWkudGltZVN0YW1wLHIoITApfSkpfSkpKX0pKX0sRT1bLjEsLjI1XSxQPShhLGU9e30pPT57TShwKCgoKT0+e2xldCBpLHI9QSgiQ0xTIiwwKTtjb25zdCBjPWwoZSxtKSxzPWE9Pntmb3IoY29uc3QgZSBvZiBhKWMuaChlKTtjLmk+ci52YWx1ZSYmKHIudmFsdWU9Yy5pLHIuZW50cmllcz1jLm8saSgpKX0sdT1kKCJsYXlvdXQtc2hpZnQiLHMpO3UmJihpPW4oYSxyLEUsZS5yZXBvcnRBbGxDaGFuZ2VzKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKCk9PnsiaGlkZGVuIj09PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSYmKHModS50YWtlUmVjb3JkcygpKSxpKCEwKSl9KSksdCgoKCk9PntjLmk9MCxyPUEoIkNMUyIsMCksaT1uKGEscixFLGUucmVwb3J0QWxsQ2hhbmdlcyksbygoKCk9PmkoKSkpfSkpLHNldFRpbWVvdXQoaSkpfSkpKX07bGV0IGI9MCxSPTEvMCxVPTA7Y29uc3QgQj1hPT57Zm9yKGNvbnN0IGUgb2YgYSllLmludGVyYWN0aW9uSWQmJihSPU1hdGgubWluKFIsZS5pbnRlcmFjdGlvbklkKSxVPU1hdGgubWF4KFUsZS5pbnRlcmFjdGlvbklkKSxiPVU/KFUtUikvNysxOjApfTtsZXQgaztjb25zdCBfPSgpPT5rP2I6cGVyZm9ybWFuY2UuaW50ZXJhY3Rpb25Db3VudD8/MDtsZXQgdz0wO2NsYXNzIEx7dT1bXTtsPW5ldyBNYXA7bTt2O3AoKXt3PV8oKSx0aGlzLnUubGVuZ3RoPTAsdGhpcy5sLmNsZWFyKCl9UCgpe2NvbnN0IGE9TWF0aC5taW4odGhpcy51Lmxlbmd0aC0xLE1hdGguZmxvb3IoKF8oKS13KS81MCkpO3JldHVybiB0aGlzLnVbYV19aChhKXtpZih0aGlzLm0/LihhKSwhYS5pbnRlcmFjdGlvbklkJiYiZmlyc3QtaW5wdXQiIT09YS5lbnRyeVR5cGUpcmV0dXJuO2NvbnN0IGU9dGhpcy51LmF0KC0xKTtsZXQgaT10aGlzLmwuZ2V0KGEuaW50ZXJhY3Rpb25JZCk7aWYoaXx8dGhpcy51Lmxlbmd0aDwxMHx8YS5kdXJhdGlvbj5lLlQpe2lmKGk/YS5kdXJhdGlvbj5pLlQ/KGkuZW50cmllcz1bYV0saS5UPWEuZHVyYXRpb24pOmEuZHVyYXRpb249PT1pLlQmJmEuc3RhcnRUaW1lPT09aS5lbnRyaWVzWzBdLnN0YXJ0VGltZSYmaS5lbnRyaWVzLnB1c2goYSk6KGk9e2lkOmEuaW50ZXJhY3Rpb25JZCxlbnRyaWVzOlthXSxUOmEuZHVyYXRpb259LHRoaXMubC5zZXQoaS5pZCxpKSx0aGlzLnUucHVzaChpKSksdGhpcy51LnNvcnQoKChhLGUpPT5lLlQtYS5UKSksdGhpcy51Lmxlbmd0aD4xMCl7Y29uc3QgYT10aGlzLnUuc3BsaWNlKDEwKTtmb3IoY29uc3QgZSBvZiBhKXRoaXMubC5kZWxldGUoZS5pZCl9dGhpcy52Py4oaSl9fX1jb25zdCBJPWE9Pntjb25zdCBlPWdsb2JhbFRoaXMucmVxdWVzdElkbGVDYWxsYmFja3x8c2V0VGltZW91dDsiaGlkZGVuIj09PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT9hKCk6KGE9cChhKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixhLHtvbmNlOiEwfSksZSgoKCk9PnthKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsYSl9KSkpfSxOPVsyMDAsNTAwXSxLPShhLGU9e30pPT57Z2xvYmFsVGhpcy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nJiYiaW50ZXJhY3Rpb25JZCJpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLnByb3RvdHlwZSYmeSgoKCk9PnsiaW50ZXJhY3Rpb25Db3VudCJpbiBwZXJmb3JtYW5jZXx8a3x8KGs9ZCgiZXZlbnQiLEIse3R5cGU6ImV2ZW50IixidWZmZXJlZDohMCxkdXJhdGlvblRocmVzaG9sZDowfSkpO2xldCBpLHI9QSgiSU5QIik7Y29uc3Qgbz1sKGUsTCksYz1hPT57SSgoKCk9Pntmb3IoY29uc3QgZSBvZiBhKW8uaChlKTtjb25zdCBlPW8uUCgpO2UmJmUuVCE9PXIudmFsdWUmJihyLnZhbHVlPWUuVCxyLmVudHJpZXM9ZS5lbnRyaWVzLGkoKSl9KSl9LHM9ZCgiZXZlbnQiLGMse2R1cmF0aW9uVGhyZXNob2xkOmUuZHVyYXRpb25UaHJlc2hvbGQ/PzQwfSk7aT1uKGEscixOLGUucmVwb3J0QWxsQ2hhbmdlcykscyYmKHMub2JzZXJ2ZSh7dHlwZToiZmlyc3QtaW5wdXQiLGJ1ZmZlcmVkOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCgpPT57ImhpZGRlbiI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJihjKHMudGFrZVJlY29yZHMoKSksaSghMCkpfSkpLHQoKCgpPT57by5wKCkscj1BKCJJTlAiKSxpPW4oYSxyLE4sZS5yZXBvcnRBbGxDaGFuZ2VzKX0pKSl9KSl9O2NsYXNzIEd7bTtoKGEpe3RoaXMubT8uKGEpfX1jb25zdCBEPVsyNTAwLDRlM10sRj0oYSxlPXt9KT0+e3koKCgpPT57Y29uc3QgaT1DKCk7bGV0IHIsYz1BKCJMQ1AiKTtjb25zdCB1PWwoZSxHKSxtPWE9PntlLnJlcG9ydEFsbENoYW5nZXN8fChhPWEuc2xpY2UoLTEpKTtmb3IoY29uc3QgZSBvZiBhKXUuaChlKSxlLnN0YXJ0VGltZTxpLmZpcnN0SGlkZGVuVGltZSYmKGMudmFsdWU9TWF0aC5tYXgoZS5zdGFydFRpbWUtcygpLDApLGMuZW50cmllcz1bZV0scigpKX0sZz1kKCJsYXJnZXN0LWNvbnRlbnRmdWwtcGFpbnQiLG0pO2lmKGcpe3I9bihhLGMsRCxlLnJlcG9ydEFsbENoYW5nZXMpO2NvbnN0IGk9cCgoKCk9PnttKGcudGFrZVJlY29yZHMoKSksZy5kaXNjb25uZWN0KCkscighMCl9KSk7Zm9yKGNvbnN0IGEgb2ZbImtleWRvd24iLCJjbGljayIsInZpc2liaWxpdHljaGFuZ2UiXSlhZGRFdmVudExpc3RlbmVyKGEsKCgpPT5JKGkpKSx7Y2FwdHVyZTohMCxvbmNlOiEwfSk7dCgoaT0+e2M9QSgiTENQIikscj1uKGEsYyxELGUucmVwb3J0QWxsQ2hhbmdlcyksbygoKCk9PntjLnZhbHVlPXBlcmZvcm1hbmNlLm5vdygpLWkudGltZVN0YW1wLHIoITApfSkpfSkpfX0pKX0sTz1bODAwLDE4MDBdLHg9YT0+e2RvY3VtZW50LnByZXJlbmRlcmluZz95KCgoKT0+eChhKSkpOiJjb21wbGV0ZSIhPT1kb2N1bWVudC5yZWFkeVN0YXRlP2FkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgoKT0+eChhKSksITApOnNldFRpbWVvdXQoYSl9LEg9KGEsZT17fSk9PntsZXQgaT1BKCJUVEZCIikscj1uKGEsaSxPLGUucmVwb3J0QWxsQ2hhbmdlcyk7eCgoKCk9Pntjb25zdCBvPWMoKTtvJiYoaS52YWx1ZT1NYXRoLm1heChvLnJlc3BvbnNlU3RhcnQtcygpLDApLGkuZW50cmllcz1bb10scighMCksdCgoKCk9PntpPUEoIlRURkIiLDApLHI9bihhLGksTyxlLnJlcG9ydEFsbENoYW5nZXMpLHIoITApfSkpKX0pKX19KSksZnVuY3Rpb24oKXtjb25zdCBhPXsiQXNpYS9CYXJuYXVsIjoiUlUiLCJBZnJpY2EvTm91YWtjaG90dCI6Ik1SIiwiQWZyaWNhL0x1c2FrYSI6IlpNIiwiQXNpYS9QeW9uZ3lhbmciOiJLUCIsIkV1cm9wZS9CcmF0aXNsYXZhIjoiU0siLCJBbWVyaWNhL0JlbGl6ZSI6IkJaIiwiQW1lcmljYS9NYWNlaW8iOiJCUiIsIlBhY2lmaWMvQ2h1dWsiOiJGTSIsIkluZGlhbi9Db21vcm8iOiJLTSIsIlBhY2lmaWMvUGFsYXUiOiJQVyIsIkFzaWEvSmFrYXJ0YSI6IklEIiwiQWZyaWNhL1dpbmRob2VrIjoiTkEiLCJBbWVyaWNhL0NoaWh1YWh1YSI6Ik1YIiwiQW1lcmljYS9Ob21lIjoiVVMiLCJBZnJpY2EvTWJhYmFuZSI6IlNaIiwiQWZyaWNhL1BvcnRvLU5vdm8iOiJCSiIsIkV1cm9wZS9TYW5fTWFyaW5vIjoiU00iLCJQYWNpZmljL0Zha2FvZm8iOiJUSyIsIkFtZXJpY2EvRGVudmVyIjoiVVMiLCJFdXJvcGUvQmVsZ3JhZGUiOiJSUyIsIkFtZXJpY2EvSW5kaWFuYS9UZWxsX0NpdHkiOiJVUyIsIkFtZXJpY2EvRm9ydGFsZXphIjoiQlIiLCJBbWVyaWNhL0hhbGlmYXgiOiJDQSIsIkV1cm9wZS9CdWNoYXJlc3QiOiJSTyIsIkFtZXJpY2EvSW5kaWFuYS9QZXRlcnNidXJnIjoiVVMiLCJFdXJvcGUvS2lyb3YiOiJSVSIsIkV1cm9wZS9BdGhlbnMiOiJHUiIsIkFtZXJpY2EvQXJnZW50aW5hL1VzaHVhaWEiOiJBUiIsIkV1cm9wZS9Nb25hY28iOiJNQyIsIkV1cm9wZS9WaWxuaXVzIjoiTFQiLCJFdXJvcGUvQ29wZW5oYWdlbiI6IkRLIiwiUGFjaWZpYy9LYW50b24iOiJLSSIsIkFtZXJpY2EvQ2FyYWNhcyI6IlZFIiwiQXNpYS9BbG1hdHkiOiJLWiIsIkV1cm9wZS9QYXJpcyI6IkZSIiwiQWZyaWNhL0JsYW50eXJlIjoiTVciLCJBc2lhL011c2NhdCI6Ik9NIiwiQW1lcmljYS9Ob3J0aF9EYWtvdGEvQmV1bGFoIjoiVVMiLCJBbWVyaWNhL01hdGFtb3JvcyI6Ik1YIiwiQXNpYS9Jcmt1dHNrIjoiUlUiLCJBbWVyaWNhL0Nvc3RhX1JpY2EiOiJDUiIsIkFtZXJpY2EvQXJhZ3VhaW5hIjoiQlIiLCJBdGxhbnRpYy9DYW5hcnkiOiJFUyIsIkFtZXJpY2EvU2FudG9fRG9taW5nbyI6IkRPIiwiQW1lcmljYS9WYW5jb3V2ZXIiOiJDQSIsIkFmcmljYS9BZGRpc19BYmFiYSI6IkVUIiwiQWZyaWNhL0FjY3JhIjoiR0giLCJQYWNpZmljL0t3YWphbGVpbiI6Ik1IIiwiQXNpYS9CYWdoZGFkIjoiSVEiLCJBdXN0cmFsaWEvQWRlbGFpZGUiOiJBVSIsIkF1c3RyYWxpYS9Ib2JhcnQiOiJBVSIsIkFtZXJpY2EvR3VheWFxdWlsIjoiRUMiLCJBbWVyaWNhL0FyZ2VudGluYS9UdWN1bWFuIjoiQVIiLCJBdXN0cmFsaWEvTGluZGVtYW4iOiJBVSIsIkFtZXJpY2EvTmV3X1lvcmsiOiJVUyIsIlBhY2lmaWMvRmlqaSI6IkZKIiwiQW1lcmljYS9BbnRpZ3VhIjoiQUciLCJBZnJpY2EvQ2FzYWJsYW5jYSI6Ik1BIiwiQW1lcmljYS9QYXJhbWFyaWJvIjoiU1IiLCJBZnJpY2EvQ2Fpcm8iOiJFRyIsIkFtZXJpY2EvQ2F5ZW5uZSI6IkdGIiwiQW1lcmljYS9EZXRyb2l0IjoiVVMiLCJBbnRhcmN0aWNhL1N5b3dhIjoiQVEiLCJBZnJpY2EvRG91YWxhIjoiQ00iLCJBbWVyaWNhL0FyZ2VudGluYS9MYV9SaW9qYSI6IkFSIiwiQWZyaWNhL0xhZ29zIjoiTkciLCJBbWVyaWNhL1N0X0JhcnRoZWxlbXkiOiJCTCIsIkFzaWEvTmljb3NpYSI6IkNZIiwiQXNpYS9NYWNhdSI6Ik1PIiwiRXVyb3BlL1JpZ2EiOiJMViIsIkFzaWEvQXNoZ2FiYXQiOiJUTSIsIkluZGlhbi9BbnRhbmFuYXJpdm8iOiJNRyIsIkFtZXJpY2EvQXJnZW50aW5hL1Nhbl9KdWFuIjoiQVIiLCJBc2lhL0FkZW4iOiJZRSIsIkFzaWEvVG9tc2siOiJSVSIsIkFtZXJpY2EvQXN1bmNpb24iOiJQWSIsIlBhY2lmaWMvQm91Z2FpbnZpbGxlIjoiUEciLCJBc2lhL1ZpZW50aWFuZSI6IkxBIiwiQW1lcmljYS9NYXphdGxhbiI6Ik1YIiwiQWZyaWNhL0x1YW5kYSI6IkFPIiwiRXVyb3BlL09zbG8iOiJOTyIsIkFmcmljYS9LaW5zaGFzYSI6IkNEIiwiRXVyb3BlL1dhcnNhdyI6IlBMIiwiQW1lcmljYS9HcmFuZF9UdXJrIjoiVEMiLCJBc2lhL1Nlb3VsIjoiS1IiLCJBZnJpY2EvVHJpcG9saSI6IkxZIiwiQW1lcmljYS9TdF9UaG9tYXMiOiJWSSIsIkFzaWEvS2F0aG1hbmR1IjoiTlAiLCJQYWNpZmljL1BpdGNhaXJuIjoiUE4iLCJQYWNpZmljL05hdXJ1IjoiTlIiLCJBbWVyaWNhL0N1cmFjYW8iOiJDVyIsIkFzaWEvS2FidWwiOiJBRiIsIlBhY2lmaWMvVG9uZ2F0YXB1IjoiVE8iLCJFdXJvcGUvU2ltZmVyb3BvbCI6IlVBIiwiQXNpYS9Vc3QtTmVyYSI6IlJVIiwiQWZyaWNhL01vZ2FkaXNodSI6IlNPIiwiSW5kaWFuL01heW90dGUiOiJZVCIsIlBhY2lmaWMvTml1ZSI6Ik5VIiwiQW1lcmljYS9UaHVuZGVyX0JheSI6IkNBIiwiQXRsYW50aWMvQXpvcmVzIjoiUFQiLCJQYWNpZmljL0dhbWJpZXIiOiJQRiIsIkV1cm9wZS9TdG9ja2hvbG0iOiJTRSIsIkFmcmljYS9MaWJyZXZpbGxlIjoiR0EiLCJBbWVyaWNhL1B1bnRhX0FyZW5hcyI6IkNMIiwiQW1lcmljYS9HdWF0ZW1hbGEiOiJHVCIsIkFtZXJpY2EvTm9yb25oYSI6IkJSIiwiRXVyb3BlL0hlbHNpbmtpIjoiRkkiLCJBc2lhL0dhemEiOiJQUyIsIlBhY2lmaWMvS29zcmFlIjoiRk0iLCJBbWVyaWNhL0FydWJhIjoiQVciLCJBbWVyaWNhL05hc3NhdSI6IkJTIiwiQXNpYS9DaG9pYmFsc2FuIjoiTU4iLCJBbWVyaWNhL1dpbm5pcGVnIjoiQ0EiLCJBbWVyaWNhL0FuZ3VpbGxhIjoiQUkiLCJBc2lhL1RoaW1waHUiOiJCVCIsIkFzaWEvQmVpcnV0IjoiTEIiLCJBdGxhbnRpYy9GYXJvZSI6IkZPIiwiRXVyb3BlL0JlcmxpbiI6IkRFIiwiRXVyb3BlL0Ftc3RlcmRhbSI6Ik5MIiwiUGFjaWZpYy9Ib25vbHVsdSI6IlVTIiwiQW1lcmljYS9SZWdpbmEiOiJDQSIsIkFtZXJpY2EvU2NvcmVzYnlzdW5kIjoiR0wiLCJFdXJvcGUvVmllbm5hIjoiQVQiLCJFdXJvcGUvVGlyYW5lIjoiQUwiLCJBZnJpY2EvRWxfQWFpdW4iOiJFSCIsIkFtZXJpY2EvQ3Jlc3RvbiI6IkNBIiwiQXNpYS9Rb3N0YW5heSI6IktaIiwiQXNpYS9Ib19DaGlfTWluaCI6IlZOIiwiRXVyb3BlL1NhbWFyYSI6IlJVIiwiRXVyb3BlL1JvbWUiOiJJVCIsIkF1c3RyYWxpYS9FdWNsYSI6IkFVIiwiQW1lcmljYS9FbF9TYWx2YWRvciI6IlNWIiwiQW1lcmljYS9DaGljYWdvIjoiVVMiLCJBZnJpY2EvQWJpZGphbiI6IkNJIiwiQXNpYS9LYW1jaGF0a2EiOiJSVSIsIlBhY2lmaWMvVGFyYXdhIjoiS0kiLCJBbWVyaWNhL1NhbnRpYWdvIjoiQ0wiLCJBbWVyaWNhL0JhaGlhIjoiQlIiLCJJbmRpYW4vQ2hyaXN0bWFzIjoiQ1giLCJBc2lhL0F0eXJhdSI6IktaIiwiQXNpYS9EdXNoYW5iZSI6IlRKIiwiRXVyb3BlL1VseWFub3ZzayI6IlJVIiwiQW1lcmljYS9ZZWxsb3drbmlmZSI6IkNBIiwiQW1lcmljYS9SZWNpZmUiOiJCUiIsIkF1c3RyYWxpYS9TeWRuZXkiOiJBVSIsIkFtZXJpY2EvRm9ydF9OZWxzb24iOiJDQSIsIlBhY2lmaWMvRWZhdGUiOiJWVSIsIkV1cm9wZS9TYXJhdG92IjoiUlUiLCJBZnJpY2EvQmFuanVsIjoiR00iLCJBc2lhL09tc2siOiJSVSIsIkV1cm9wZS9ManVibGphbmEiOiJTSSIsIkV1cm9wZS9CdWRhcGVzdCI6IkhVIiwiRXVyb3BlL0FzdHJha2hhbiI6IlJVIiwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjoiQVIiLCJQYWNpZmljL0NoYXRoYW0iOiJOWiIsIkFtZXJpY2EvQXJnZW50aW5hL1NhbHRhIjoiQVIiLCJBZnJpY2EvTmlhbWV5IjoiTkUiLCJBc2lhL1BvbnRpYW5hayI6IklEIiwiSW5kaWFuL1JldW5pb24iOiJSRSIsIkFzaWEvSG9uZ19Lb25nIjoiSEsiLCJBbnRhcmN0aWNhL01jTXVyZG8iOiJBUSIsIkFmcmljYS9NYWxhYm8iOiJHUSIsIkFtZXJpY2EvTG9zX0FuZ2VsZXMiOiJVUyIsIkFtZXJpY2EvQXJnZW50aW5hL0NvcmRvYmEiOiJBUiIsIlBhY2lmaWMvUG9obnBlaSI6IkZNIiwiQW1lcmljYS9UaWp1YW5hIjoiTVgiLCJBbWVyaWNhL0NhbXBvX0dyYW5kZSI6IkJSIiwiQW1lcmljYS9EYXdzb25fQ3JlZWsiOiJDQSIsIkFzaWEvTm92b3NpYmlyc2siOiJSVSIsIlBhY2lmaWMvUGFnb19QYWdvIjoiQVMiLCJBc2lhL0plcnVzYWxlbSI6IklMIiwiRXVyb3BlL1NhcmFqZXZvIjoiQkEiLCJBZnJpY2EvRnJlZXRvd24iOiJTTCIsIkFzaWEvWWVrYXRlcmluYnVyZyI6IlJVIiwiQW1lcmljYS9KdW5lYXUiOiJVUyIsIkFmcmljYS9PdWFnYWRvdWdvdSI6IkJGIiwiQWZyaWNhL01vbnJvdmlhIjoiTFIiLCJFdXJvcGUvS2lldiI6IlVBIiwiQW1lcmljYS9BcmdlbnRpbmEvU2FuX0x1aXMiOiJBUiIsIkFzaWEvVG9reW8iOiJKUCIsIkFzaWEvUWF0YXIiOiJRQSIsIkFtZXJpY2EvTGFfUGF6IjoiQk8iLCJBbWVyaWNhL0JvZ290YSI6IkNPIiwiQW1lcmljYS9UaHVsZSI6IkdMIiwiQXNpYS9NYW5pbGEiOiJQSCIsIkFzaWEvSG92ZCI6Ik1OIiwiQXNpYS9UZWhyYW4iOiJJUiIsIkF0bGFudGljL01hZGVpcmEiOiJQVCIsIkFtZXJpY2EvTWV0bGFrYXRsYSI6IlVTIiwiRXVyb3BlL1ZhdGljYW4iOiJWQSIsIkFzaWEvQmlzaGtlayI6IktHIiwiQXNpYS9EaWxpIjoiVEwiLCJBbnRhcmN0aWNhL1BhbG1lciI6IkFRIiwiQXRsYW50aWMvQ2FwZV9WZXJkZSI6IkNWIiwiSW5kaWFuL0NoYWdvcyI6IklPIiwiQW1lcmljYS9LZW50dWNreS9Nb250aWNlbGxvIjoiVVMiLCJBZnJpY2EvQWxnaWVycyI6IkRaIiwiQWZyaWNhL01hc2VydSI6IkxTIiwiQXNpYS9LdWFsYV9MdW1wdXIiOiJNWSIsIkFmcmljYS9LaGFydG91bSI6IlNEIiwiQW1lcmljYS9BcmdlbnRpbmEvUmlvX0dhbGxlZ29zIjoiQVIiLCJBbWVyaWNhL0JsYW5jLVNhYmxvbiI6IkNBIiwiQWZyaWNhL01hcHV0byI6Ik1aIiwiQW1lcmljYS9Ub3J0b2xhIjoiVkciLCJBdGxhbnRpYy9CZXJtdWRhIjoiQk0iLCJBbWVyaWNhL0FyZ2VudGluYS9DYXRhbWFyY2EiOiJBUiIsIkFtZXJpY2EvQ2F5bWFuIjoiS1kiLCJBbWVyaWNhL1B1ZXJ0b19SaWNvIjoiUFIiLCJQYWNpZmljL01hanVybyI6Ik1IIiwiRXVyb3BlL0J1c2luZ2VuIjoiREUiLCJQYWNpZmljL01pZHdheSI6IlVNIiwiSW5kaWFuL0NvY29zIjoiQ0MiLCJBc2lhL1NpbmdhcG9yZSI6IlNHIiwiQW1lcmljYS9Cb2lzZSI6IlVTIiwiQW1lcmljYS9OdXVrIjoiR0wiLCJBbWVyaWNhL0dvb3NlX0JheSI6IkNBIiwiQXVzdHJhbGlhL0Jyb2tlbl9IaWxsIjoiQVUiLCJBZnJpY2EvRGFyX2VzX1NhbGFhbSI6IlRaIiwiQWZyaWNhL0FzbWFyYSI6IkVSIiwiQXNpYS9TYW1hcmthbmQiOiJVWiIsIkFzaWEvVGJpbGlzaSI6IkdFIiwiQW1lcmljYS9BcmdlbnRpbmEvSnVqdXkiOiJBUiIsIkFtZXJpY2EvSW5kaWFuYS9XaW5hbWFjIjoiVVMiLCJBbWVyaWNhL1BvcnRvX1ZlbGhvIjoiQlIiLCJBc2lhL01hZ2FkYW4iOiJSVSIsIkV1cm9wZS9aYXBvcm96aHllIjoiVUEiLCJBbnRhcmN0aWNhL0Nhc2V5IjoiQVEiLCJBc2lhL1NoYW5naGFpIjoiQ04iLCJQYWNpZmljL05vcmZvbGsiOiJORiIsIkV1cm9wZS9HdWVybnNleSI6IkdHIiwiQXVzdHJhbGlhL0JyaXNiYW5lIjoiQVUiLCJBbnRhcmN0aWNhL0R1bW9udERVcnZpbGxlIjoiQVEiLCJBbWVyaWNhL0hhdmFuYSI6IkNVIiwiQW1lcmljYS9BdGlrb2thbiI6IkNBIiwiQW1lcmljYS9NZXhpY29fQ2l0eSI6Ik1YIiwiQW1lcmljYS9SYW5raW5fSW5sZXQiOiJDQSIsIkFtZXJpY2EvQ3VpYWJhIjoiQlIiLCJBbWVyaWNhL1Jlc29sdXRlIjoiQ0EiLCJBZnJpY2EvQ2V1dGEiOiJFUyIsIkFyY3RpYy9Mb25neWVhcmJ5ZW4iOiJTSiIsIlBhY2lmaWMvR3VhbSI6IkdVIiwiQXNpYS9EYW1hc2N1cyI6IlNZIiwiQXNpYS9Db2xvbWJvIjoiTEsiLCJBc2lhL1llcmV2YW4iOiJBTSIsIkFtZXJpY2EvTW9udHNlcnJhdCI6Ik1TIiwiQW1lcmljYS9CZWxlbSI6IkJSIiwiRXVyb3BlL0thbGluaW5ncmFkIjoiUlUiLCJBdGxhbnRpYy9Tb3V0aF9HZW9yZ2lhIjoiR1MiLCJBc2lhL1Rhc2hrZW50IjoiVVoiLCJBc2lhL0tvbGthdGEiOiJJTiIsIkFtZXJpY2EvU3RfSm9obnMiOiJDQSIsIkFzaWEvU3JlZG5la29seW1zayI6IlJVIiwiQXNpYS9ZYWt1dHNrIjoiUlUiLCJFdXJvcGUvUHJhZ3VlIjoiQ1oiLCJBZnJpY2EvRGppYm91dGkiOiJESiIsIkFzaWEvRHViYWkiOiJBRSIsIkV1cm9wZS9Vemhnb3JvZCI6IlVBIiwiQW1lcmljYS9FZG1vbnRvbiI6IkNBIiwiQXNpYS9GYW1hZ3VzdGEiOiJDWSIsIkFtZXJpY2EvSW5kaWFuYS9Lbm94IjoiVVMiLCJBc2lhL0hlYnJvbiI6IlBTIiwiQXNpYS9UYWlwZWkiOiJUVyIsIkV1cm9wZS9Mb25kb24iOiJHQiIsIkFmcmljYS9EYWthciI6IlNOIiwiQXVzdHJhbGlhL0RhcndpbiI6IkFVIiwiQW1lcmljYS9HbGFjZV9CYXkiOiJDQSIsIkFudGFyY3RpY2EvVm9zdG9rIjoiQVEiLCJBbWVyaWNhL0luZGlhbmEvVmluY2VubmVzIjoiVVMiLCJBbWVyaWNhL05pcGlnb24iOiJDQSIsIkFzaWEvS3V3YWl0IjoiS1ciLCJQYWNpZmljL0d1YWRhbGNhbmFsIjoiU0IiLCJBbWVyaWNhL1Rvcm9udG8iOiJDQSIsIkFmcmljYS9HYWJvcm9uZSI6IkJXIiwiQWZyaWNhL0J1anVtYnVyYSI6IkJJIiwiQWZyaWNhL0x1YnVtYmFzaGkiOiJDRCIsIkFtZXJpY2EvTWVyaWRhIjoiTVgiLCJBbWVyaWNhL01hcmlnb3QiOiJNRiIsIkV1cm9wZS9aYWdyZWIiOiJIUiIsIlBhY2lmaWMvRWFzdGVyIjoiQ0wiLCJBbWVyaWNhL1NhbnRhcmVtIjoiQlIiLCJQYWNpZmljL05vdW1lYSI6Ik5DIiwiQW1lcmljYS9TaXRrYSI6IlVTIiwiQXRsYW50aWMvU3RhbmxleSI6IkZLIiwiUGFjaWZpYy9GdW5hZnV0aSI6IlRWIiwiQW1lcmljYS9JcWFsdWl0IjoiQ0EiLCJBbWVyaWNhL1JhaW55X1JpdmVyIjoiQ0EiLCJBbWVyaWNhL0FuY2hvcmFnZSI6IlVTIiwiQW1lcmljYS9MaW1hIjoiUEUiLCJBc2lhL0Jha3UiOiJBWiIsIkFtZXJpY2EvSW5kaWFuYS9WZXZheSI6IlVTIiwiQXNpYS9VbGFhbmJhYXRhciI6Ik1OIiwiQW1lcmljYS9NYW5hZ3VhIjoiTkkiLCJBc2lhL0tyYXNub3lhcnNrIjoiUlUiLCJBc2lhL1F5enlsb3JkYSI6IktaIiwiQW1lcmljYS9FaXJ1bmVwZSI6IkJSIiwiRXVyb3BlL1BvZGdvcmljYSI6Ik1FIiwiRXVyb3BlL0NoaXNpbmF1IjoiTUQiLCJFdXJvcGUvTWFyaWVoYW1uIjoiQVgiLCJFdXJvcGUvVm9sZ29ncmFkIjoiUlUiLCJBZnJpY2EvTmFpcm9iaSI6IktFIiwiRXVyb3BlL0lzbGVfb2ZfTWFuIjoiSU0iLCJBbWVyaWNhL01lbm9taW5lZSI6IlVTIiwiQWZyaWNhL0hhcmFyZSI6IlpXIiwiQXNpYS9BbmFkeXIiOiJSVSIsIkFtZXJpY2EvTW9uY3RvbiI6IkNBIiwiSW5kaWFuL01hbGRpdmVzIjoiTVYiLCJBbWVyaWNhL1doaXRlaG9yc2UiOiJDQSIsIkFudGFyY3RpY2EvTWF3c29uIjoiQVEiLCJFdXJvcGUvTWFkcmlkIjoiRVMiLCJBbWVyaWNhL0FyZ2VudGluYS9NZW5kb3phIjoiQVIiLCJBbWVyaWNhL01hbmF1cyI6IkJSIiwiQWZyaWNhL0Jhbmd1aSI6IkNGIiwiSW5kaWFuL01hdXJpdGl1cyI6Ik1VIiwiQWZyaWNhL1R1bmlzIjoiVE4iLCJBdXN0cmFsaWEvTG9yZF9Ib3dlIjoiQVUiLCJBbWVyaWNhL0tlbnR1Y2t5L0xvdWlzdmlsbGUiOiJVUyIsIkFtZXJpY2EvTm9ydGhfRGFrb3RhL0NlbnRlciI6IlVTIiwiQXNpYS9Ob3Zva3V6bmV0c2siOiJSVSIsIkFzaWEvTWFrYXNzYXIiOiJJRCIsIkFtZXJpY2EvUG9ydF9vZl9TcGFpbiI6IlRUIiwiQW1lcmljYS9CYWhpYV9CYW5kZXJhcyI6Ik1YIiwiUGFjaWZpYy9BdWNrbGFuZCI6Ik5aIiwiQW1lcmljYS9TYW9fUGF1bG8iOiJCUiIsIkFzaWEvRGhha2EiOiJCRCIsIkFtZXJpY2EvUGFuZ25pcnR1bmciOiJDQSIsIkV1cm9wZS9EdWJsaW4iOiJJRSIsIkFzaWEvQnJ1bmVpIjoiQk4iLCJBZnJpY2EvQnJhenphdmlsbGUiOiJDRyIsIkFtZXJpY2EvTW9udGV2aWRlbyI6IlVZIiwiQW1lcmljYS9KYW1haWNhIjoiSk0iLCJBbWVyaWNhL0luZGlhbmEvSW5kaWFuYXBvbGlzIjoiVVMiLCJBbWVyaWNhL0tyYWxlbmRpamsiOiJCUSIsIkV1cm9wZS9HaWJyYWx0YXIiOiJHSSIsIlBhY2lmaWMvTWFycXVlc2FzIjoiUEYiLCJQYWNpZmljL0FwaWEiOiJXUyIsIkV1cm9wZS9KZXJzZXkiOiJKRSIsIkFtZXJpY2EvUGhvZW5peCI6IlVTIiwiQWZyaWNhL05kamFtZW5hIjoiVEQiLCJBc2lhL0thcmFjaGkiOiJQSyIsIkFmcmljYS9LYW1wYWxhIjoiVUciLCJBc2lhL1Nha2hhbGluIjoiUlUiLCJBbWVyaWNhL01hcnRpbmlxdWUiOiJNUSIsIkV1cm9wZS9Nb3Njb3ciOiJSVSIsIkFmcmljYS9Db25ha3J5IjoiR04iLCJBbWVyaWNhL0JhcmJhZG9zIjoiQkIiLCJBZnJpY2EvTG9tZSI6IlRHIiwiQW1lcmljYS9PamluYWdhIjoiTVgiLCJBbWVyaWNhL1RlZ3VjaWdhbHBhIjoiSE4iLCJBc2lhL0Jhbmdrb2siOiJUSCIsIkFmcmljYS9Kb2hhbm5lc2J1cmciOiJaQSIsIkV1cm9wZS9WYWR1eiI6IkxJIiwiQWZyaWNhL1Nhb19Ub21lIjoiU1QiLCJBbWVyaWNhL0NhbWJyaWRnZV9CYXkiOiJDQSIsIkFtZXJpY2EvTG93ZXJfUHJpbmNlcyI6IlNYIiwiQW1lcmljYS9NaXF1ZWxvbiI6IlBNIiwiQW1lcmljYS9TdF9LaXR0cyI6IktOIiwiQXVzdHJhbGlhL01lbGJvdXJuZSI6IkFVIiwiRXVyb3BlL01pbnNrIjoiQlkiLCJBc2lhL1ZsYWRpdm9zdG9rIjoiUlUiLCJFdXJvcGUvU29maWEiOiJCRyIsIkFudGFyY3RpY2EvRGF2aXMiOiJBUSIsIlBhY2lmaWMvR2FsYXBhZ29zIjoiRUMiLCJBbWVyaWNhL05vcnRoX0Rha290YS9OZXdfU2FsZW0iOiJVUyIsIkFzaWEvQW1tYW4iOiJKTyIsIlBhY2lmaWMvV2FsbGlzIjoiV0YiLCJBbWVyaWNhL0hlcm1vc2lsbG8iOiJNWCIsIlBhY2lmaWMvS2lyaXRpbWF0aSI6IktJIiwiQW50YXJjdGljYS9NYWNxdWFyaWUiOiJBVSIsIkFtZXJpY2EvR3V5YW5hIjoiR1kiLCJBc2lhL1JpeWFkaCI6IlNBIiwiUGFjaWZpYy9UYWhpdGkiOiJQRiIsIkFtZXJpY2EvU3RfVmluY2VudCI6IlZDIiwiQW1lcmljYS9DYW5jdW4iOiJNWCIsIkFtZXJpY2EvR3JlbmFkYSI6IkdEIiwiUGFjaWZpYy9XYWtlIjoiVU0iLCJBbWVyaWNhL0Rhd3NvbiI6IkNBIiwiRXVyb3BlL0JydXNzZWxzIjoiQkUiLCJJbmRpYW4vS2VyZ3VlbGVuIjoiVEYiLCJBbWVyaWNhL1lha3V0YXQiOiJVUyIsIkluZGlhbi9NYWhlIjoiU0MiLCJBdGxhbnRpYy9SZXlramF2aWsiOiJJUyIsIkFtZXJpY2EvUGFuYW1hIjoiUEEiLCJBbWVyaWNhL0d1YWRlbG91cGUiOiJHUCIsIkV1cm9wZS9NYWx0YSI6Ik1UIiwiQW50YXJjdGljYS9Ucm9sbCI6IkFRIiwiQXNpYS9KYXlhcHVyYSI6IklEIiwiQXNpYS9CYWhyYWluIjoiQkgiLCJBc2lhL0NoaXRhIjoiUlUiLCJFdXJvcGUvVGFsbGlubiI6IkVFIiwiQXNpYS9LaGFuZHlnYSI6IlJVIiwiQW1lcmljYS9SaW9fQnJhbmNvIjoiQlIiLCJBdGxhbnRpYy9TdF9IZWxlbmEiOiJTSCIsIkFmcmljYS9KdWJhIjoiU1MiLCJBbWVyaWNhL0FkYWsiOiJVUyIsIlBhY2lmaWMvU2FpcGFuIjoiTVAiLCJBbWVyaWNhL1N0X0x1Y2lhIjoiTEMiLCJBbWVyaWNhL0ludXZpayI6IkNBIiwiRXVyb3BlL0x1eGVtYm91cmciOiJMVSIsIkFmcmljYS9CaXNzYXUiOiJHVyIsIkFzaWEvT3JhbCI6IktaIiwiQW1lcmljYS9Cb2FfVmlzdGEiOiJCUiIsIkV1cm9wZS9Ta29wamUiOiJNSyIsIkFtZXJpY2EvUG9ydC1hdS1QcmluY2UiOiJIVCIsIlBhY2lmaWMvUG9ydF9Nb3Jlc2J5IjoiUEciLCJFdXJvcGUvQW5kb3JyYSI6IkFEIiwiQW1lcmljYS9JbmRpYW5hL01hcmVuZ28iOiJVUyIsIkFmcmljYS9LaWdhbGkiOiJSVyIsIkFmcmljYS9CYW1ha28iOiJNTCIsIkFtZXJpY2EvRG9taW5pY2EiOiJETSIsIkFzaWEvQXF0b2JlIjoiS1oiLCJFdXJvcGUvSXN0YW5idWwiOiJUUiIsIlBhY2lmaWMvUmFyb3RvbmdhIjoiQ0siLCJBbWVyaWNhL0Rhbm1hcmtzaGF2biI6IkdMIiwiRXVyb3BlL1p1cmljaCI6IkNIIiwiQXNpYS9ZYW5nb24iOiJNTSIsIkFtZXJpY2EvTW9udGVycmV5IjoiTVgiLCJFdXJvcGUvTGlzYm9uIjoiUFQiLCJBc2lhL0t1Y2hpbmciOiJNWSIsIkFudGFyY3RpY2EvUm90aGVyYSI6IkFRIiwiQXVzdHJhbGlhL1BlcnRoIjoiQVUiLCJBc2lhL1Bobm9tX1BlbmgiOiJLSCIsIkFtZXJpY2EvU3dpZnRfQ3VycmVudCI6IkNBIiwiQXNpYS9BcXRhdSI6IktaIiwiQXNpYS9VcnVtcWkiOiJDTiIsIkFzaWEvQ2FsY3V0dGEiOiJJTiJ9LGU9InNlc3Npb24taWQiO2xldCBpPSJhbmFseXRpY3NfZXZlbnRzIjtjb25zdCByPXtjb29raWU6ImNvb2tpZSIsbG9jYWxTdG9yYWdlOiJsb2NhbFN0b3JhZ2UiLHNlc3Npb25TdG9yYWdlOiJzZXNzaW9uU3RvcmFnZSJ9O2xldCBuLG8sYyxzLEEsdT1yLmNvb2tpZSxsPXt9LG09ITA7aWYoZG9jdW1lbnQuY3VycmVudFNjcmlwdCl7aWYocz1kb2N1bWVudC5jdXJyZW50U2NyaXB0LmdldEF0dHJpYnV0ZSgiZGF0YS1ob3N0Iiksbj1kb2N1bWVudC5jdXJyZW50U2NyaXB0LmdldEF0dHJpYnV0ZSgiZGF0YS1wcm94eSIpLG89ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5nZXRBdHRyaWJ1dGUoImRhdGEtcHJveHktdXJsIiksYz1kb2N1bWVudC5jdXJyZW50U2NyaXB0LmdldEF0dHJpYnV0ZSgiZGF0YS10b2tlbiIpLEE9ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5nZXRBdHRyaWJ1dGUoImRhdGEtZG9tYWluIiksbiYmbyl0aHJvdyBjb25zb2xlLmVycm9yKCJFcnJvcjogQm90aCBkYXRhLXByb3h5IGFuZCBkYXRhLXByb3h5LXVybCBhcmUgc3BlY2lmaWVkLiBQbGVhc2UgdXNlIG9ubHkgb25lIG9mIHRoZW0uIiksbmV3IEVycm9yKCJCb3RoIGRhdGEtcHJveHkgYW5kIGRhdGEtcHJveHktdXJsIGFyZSBzcGVjaWZpZWQuIFBsZWFzZSB1c2Ugb25seSBvbmUgb2YgdGhlbS4iKTtpPWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuZ2V0QXR0cmlidXRlKCJkYXRhLWRhdGFzb3VyY2UiKXx8aSx1PWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuZ2V0QXR0cmlidXRlKCJkYXRhLXN0b3JhZ2UiKXx8dSxtPSJmYWxzZSIhPT1kb2N1bWVudC5jdXJyZW50U2NyaXB0LmdldEF0dHJpYnV0ZSgiZGF0YS1zdHJpbmdpZnktcGF5bG9hZCIpO2Zvcihjb25zdCBFIG9mIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuYXR0cmlidXRlcylFLm5hbWUuc3RhcnRzV2l0aCgidGJfIikmJihsW0UubmFtZS5zbGljZSgzKS5yZXBsYWNlKC8tL2csIl8iKV09RS52YWx1ZSksRS5uYW1lLnN0YXJ0c1dpdGgoImRhdGEtdGItIikmJihsW0UubmFtZS5zbGljZSg4KS5yZXBsYWNlKC8tL2csIl8iKV09RS52YWx1ZSl9dmFyIGQ9bnVsbDtmdW5jdGlvbiBwKCl7cmV0dXJuIjEwMDAwMDAwLTEwMDAtNDAwMC04MDAwLTEwMDAwMDAwMDAwMCIucmVwbGFjZSgvWzAxOF0vZywoYT0+KGFeY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgxKSlbMF0mMTU+PmEvNCkudG9TdHJpbmcoMTYpKSl9ZnVuY3Rpb24gZygpe2lmKFtyLmxvY2FsU3RvcmFnZSxyLnNlc3Npb25TdG9yYWdlXS5pbmNsdWRlcyh1KSl7Y29uc3QgYT11PT09ci5sb2NhbFN0b3JhZ2U/bG9jYWxTdG9yYWdlOnNlc3Npb25TdG9yYWdlLGk9YS5nZXRJdGVtKGUpO2lmKCFpKXJldHVybiBudWxsO2xldCB0PW51bGw7dHJ5e3Q9SlNPTi5wYXJzZShpKX1jYXRjaChhKXtyZXR1cm4gbnVsbH1pZigib2JqZWN0IiE9dHlwZW9mIHR8fG51bGw9PT10KXJldHVybiBudWxsO3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpPnQuZXhwaXJ5PyhhLnJlbW92ZUl0ZW0oZSksbnVsbCk6dC52YWx1ZX1yZXR1cm4gZnVuY3Rpb24oKXtsZXQgYT17fTtyZXR1cm4gZG9jdW1lbnQuY29va2llLnNwbGl0KCI7IikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bGV0W2kscl09ZS5zcGxpdCgiPSIpO2FbaS50cmltKCldPXJ9KSksYVtlXX0oKX1mdW5jdGlvbiBmKCl7Y29uc3QgYT1nKCl8fHAoKTtpZihbci5sb2NhbFN0b3JhZ2Usci5zZXNzaW9uU3RvcmFnZV0uaW5jbHVkZXModSkpe2NvbnN0IGk9e3ZhbHVlOmEsZXhwaXJ5OihuZXcgRGF0ZSkuZ2V0VGltZSgpKzE4ZTV9LHQ9SlNPTi5zdHJpbmdpZnkoaSksbj11PT09ci5sb2NhbFN0b3JhZ2U/bG9jYWxTdG9yYWdlOnNlc3Npb25TdG9yYWdlO3JldHVybiB1PT09bi5zZXRJdGVtKGUsdCl9cmV0dXJuIGZ1bmN0aW9uKGEpe2xldCBlPWBzZXNzaW9uLWlkPSR7YX07IE1heC1BZ2U9MTgwMDsgcGF0aD0vOyBzZWN1cmVgO0EmJihlKz1gOyBkb21haW49JHtBfWApLGRvY3VtZW50LmNvb2tpZT1lfShhKX1mdW5jdGlvbiBoKGEpe3JldHVybiEoIWF8fCJzdHJpbmciIT10eXBlb2YgYSkmJiEoYS5sZW5ndGg8Mnx8YS5sZW5ndGg+MTAyNDApfSFkb2N1bWVudC5jdXJyZW50U2NyaXB0fHwidHJ1ZSIhPT1kb2N1bWVudC5jdXJyZW50U2NyaXB0LmdldEF0dHJpYnV0ZSgid2ViLXZpdGFscyIpJiYidHJ1ZSIhPT1kb2N1bWVudC5jdXJyZW50U2NyaXB0LmdldEF0dHJpYnV0ZSgiZGF0YS13ZWItdml0YWxzIil8fChkPXQoImlNNVllIikpO2NvbnN0IFM9YT0+e2xldCBlPUpTT04uc3RyaW5naWZ5KGEpO3JldHVyblsidXNlcm5hbWUiLCJ1c2VyIiwidXNlcl9pZCIsInVzZXJpZCIsInBhc3N3b3JkIiwicGFzcyIsInBpbiIsInBhc3Njb2RlIiwidG9rZW4iLCJhcGlfdG9rZW4iLCJlbWFpbCIsImFkZHJlc3MiLCJwaG9uZSIsInNleCIsImdlbmRlciIsIm9yZGVyIiwib3JkZXJfaWQiLCJvcmRlcmlkIiwicGF5bWVudCIsImNyZWRpdF9jYXJkIl0uZm9yRWFjaCgoYT0+e2U9ZS5yZXBsYWNlQWxsKG5ldyBSZWdFeHAoYCgiJHthfSIpOigiLis/InxcXGQrKWAsIm1naSIpLCckMToiKioqKioqKioiJyl9KSksZX07YXN5bmMgZnVuY3Rpb24gdihhLGUpe2lmKGYoKSwocj13aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkmJiJzdHJpbmciPT10eXBlb2YgciYmci5sZW5ndGg+NTAwKXJldHVybjt2YXIgcjtsZXQgdCxBO2lmKG8/dD1vOm4/dD1gJHtufS9hcGkvdHJhY2tpbmdgOnM/KHM9cy5yZXBsYWNlQWxsKC9cLyskL2dtLCIiKSx0PWAke3N9L3YwL2V2ZW50cz9uYW1lPSR7aX0mdG9rZW49JHtjfWApOnQ9YGh0dHBzOi8vYXBpLnRpbnliaXJkLmNvL3YwL2V2ZW50cz9uYW1lPSR7aX0mdG9rZW49JHtjfWAsbSl7aWYoQT1TKGUpLEE9T2JqZWN0LmFzc2lnbih7fSxKU09OLnBhcnNlKEEpLGwpLEE9SlNPTi5zdHJpbmdpZnkoQSksIWgoQSkpcmV0dXJufWVsc2V7QT1PYmplY3QuYXNzaWduKHt9LGUsbCk7Y29uc3QgYT1TKEEpO2lmKCFoKGEpKXJldHVybjtBPUpTT04ucGFyc2UoYSl9Y29uc3QgdT1nKCl8fHAoKSxkPW5ldyBYTUxIdHRwUmVxdWVzdDtkLm9wZW4oIlBPU1QiLHQsITApLGQuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbiIpLGQuc2VuZChKU09OLnN0cmluZ2lmeSh7dGltZXN0YW1wOihuZXcgRGF0ZSkudG9JU09TdHJpbmcoKSxhY3Rpb246YSx2ZXJzaW9uOiIxIixzZXNzaW9uX2lkOnUscGF5bG9hZDpBfSkpfWZ1bmN0aW9uIEMoKXtsZXQgZSxpO3RyeXtjb25zdCByPUludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTtlPWFbcl0saT1uYXZpZ2F0b3IubGFuZ3VhZ2VzJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzLmxlbmd0aD9uYXZpZ2F0b3IubGFuZ3VhZ2VzWzBdOm5hdmlnYXRvci51c2VyTGFuZ3VhZ2V8fG5hdmlnYXRvci5sYW5ndWFnZXx8bmF2aWdhdG9yLmJyb3dzZXJMYW5ndWFnZXx8ImVuIn1jYXRjaChhKXt9cmV0dXJue2NvdW50cnk6ZSxsb2NhbGU6aX19ZnVuY3Rpb24geSgpe2lmKHdpbmRvdy5fX25pZ2h0bWFyZXx8d2luZG93Lm5hdmlnYXRvci53ZWJkcml2ZXJ8fHdpbmRvdy5DeXByZXNzKXJldHVybjtjb25zdHtjb3VudHJ5OmEsbG9jYWxlOmV9PUMoKTtzZXRUaW1lb3V0KCgoKT0+e3YoInBhZ2VfaGl0Iix7InVzZXItYWdlbnQiOndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LGxvY2FsZTplLGxvY2F0aW9uOmEscmVmZXJyZXI6ZG9jdW1lbnQucmVmZXJyZXIscGF0aG5hbWU6d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLGhyZWY6d2luZG93LmxvY2F0aW9uLmhyZWZ9KX0pLDMwMCl9aWYoZCl7ZnVuY3Rpb24gVChhKXt0cnl7Y29uc3R7Y291bnRyeTplLGxvY2FsZTppfT1DKCk7digid2ViX3ZpdGFsIix7bmFtZTphLm5hbWUsdmFsdWU6YS52YWx1ZSxkZWx0YTphLmRlbHRhLHJhdGluZzphLnJhdGluZyxpZDphLmlkLG5hdmlnYXRpb25UeXBlOmEubmF2aWdhdGlvblR5cGUscGF0aG5hbWU6d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLGhyZWY6d2luZG93LmxvY2F0aW9uLmhyZWYsInVzZXItYWdlbnQiOndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LGxvY2FsZTppLGxvY2F0aW9uOmUscmVmZXJyZXI6ZG9jdW1lbnQucmVmZXJyZXJ9KX1jYXRjaChhKXtjb25zb2xlLmVycm9yKCJFcnJvciBzZW5kaW5nIHdlYiB2aXRhbDoiLGEpfX1kLm9uQ0xTJiZkLm9uQ0xTKFQpLGQub25GQ1AmJmQub25GQ1AoVCksZC5vbkxDUCYmZC5vbkxDUChUKSxkLm9uVFRGQiYmZC5vblRURkIoVCksZC5vbklOUCYmZC5vbklOUChUKX13aW5kb3cuVGlueWJpcmQ9e3RyYWNrRXZlbnQ6dn0sd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLHkpO2NvbnN0IE09d2luZG93Lmhpc3Rvcnk7aWYoTS5wdXNoU3RhdGUpe2NvbnN0IFA9TS5wdXNoU3RhdGU7TS5wdXNoU3RhdGU9ZnVuY3Rpb24oKXtQLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx5KCl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIseSl9InByZXJlbmRlciI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU/ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKGZ1bmN0aW9uKCl7InZpc2libGUiPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiZ5KCl9KSk6eSgpfSgpfSkoKTs="}},"time_used":35,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":35,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://flowingfunded.com/","date":"2026-07-27T06:15:09.929Z","timestamp":1785132909929,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\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://flowingfunded.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 407095\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-07-31T21:35:03.371896Z","times_seen":250200,"resource_available":false,"data":"d09GMgABAAAAAL2UABQAAAAB37AAAL0fAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoZeG4KyRBzVcD9IVkFSi2kGYD9TVEFUgU4nJgCFNi9sEQgKgbtAgaEUC4gOADCCnD4BNgIkA5AYBCAFhi4HoQQMB1sVzXEmcmP3c+AywnQbAnTSpqa685dwgXb5haNNb/Y48+ca9SMVjNtruB0iNz/9U7P///8/ManIWCUF03QbAwH17t6HgrSNar27dXdUZtXAVrOh7TtsQWN4F5U2TFldO44xZpHETdyhVDAzo2ezg10W2XZCyI4qyo0SLhKSUnQq6nkNmoLvEWWb0cykCSE1YJTwuiPB9D5Qje6qUEGR+GrbVkXZyMs+gbBh0M9xonPiiCoX/c5GEzomudPxjrquzSYZ12tQ8claYniyV6se/fzmpg3zbOPUQR5WkBk5cwqGISQk5bsrKGwn1R0dK7X1T5j1h4RZdpSQYr9orjGXJf9bXo/zxHdPzuNd3O7wq1AKFeeKc4X7UfThL2nJoYViNU7KdfYfjeIkiYboEtX37QvN3+fdFexIsSAShBLap/j/N3rlyZvhh1sHZHKTfo6Iq7PGqif9UlC2qjyyqnoW8BBIewKU5olRYpAQZALpbfqI162f3ffy8lIIISQBI4YQIELEUIx0pShFFESIgChVwEaJCAQiRkRFBRSOw9IQOURsqIClof087NjQ4xT9nna0Hx+RDPG6+Xdv5yV52YMQsgkQZEuYiqsVZx27w9ExtXZICB1rW2urtVs7vrXDWpbjA1ocIOBirCxIQgb/fOyt3699bnrD7W5CdigUGoTLQmUVdCyfhMRiBCoKh8zK/aBmhmBunSCoSBhUCLJRNdhIN5asAlaMUWMbMBgbo8ZGjRppEKkiZWGACiqh2K//zq6PVj/ygObsfzaOt0V7pSLyeufsBlo/E+N61FbCRklCSBySECPEgCRIEswLFaBY6/deVU7675cfcNP+BahRn9iJG2y77b6KUE5UOut6K/PWKcU0BAjBEwgESdBgIfHh/7f1v1BQb6RTYccEOoKnqBAQKYnM4TqvKr5uVDm3Ijf08GuvP+c1RVSEmuE1u0UOuAKBRseyuqwiVOkTKmDH9g583++nZyfCVZigcoW/+yKTgnCAtwhGlqWrNKwwnZzzVByoqH27tKXv3tO7/+mvMspUycByABVAhYyaVJlsmxlNv4FOwWqvzPyGUSED6ioT3Lc5/t2sGbTMEKR0z9y/bp8Q0i112lLxzcuckF/4PVVBzgSe3v16h/I+ICqC49mqZjZboStkpWFncuH5//3a74NZo09FVieqNCuVSpo9BwkFkkbxSKjyf+iiTeVdHsKln2+kldyvtaSjI9D+6TgojM3cOqUBSP9aZlszZ5s9fTNca0JLj6qbsA8JQYDxir3p+veT02pUm50knXQPCIfQSBTlKf+8RiP07t05jdPI51UX74M6N49Vps+LqcegqSStM+6Lpbl8TJ82NrqQsDxUZqCAwZLBFMb+NS1GYhHGQTwZQ4FdRhlGwR6GYQzgYOT270vVuv7X3SAbkM0iwF2xJ4PycuZzIiTPzJlkSxNSvO+5A6FGdwNkAyRtBNEGSQWAFMcNihyD5LDMJigZIiWnIHlD1mStvCl8gHK5RclTbXI0puQJlCZqfZsY5A0h3EKIp91biOe9nWI8hXy87vG8x7meFv6/n1bSfjr76m3u0cgxINLV2jEgBtiAz6q7d6y5LWtD/g4hsd0sA01ARlsmKAMSUkKGC6AZN8AGgBiKVNMWiyM1Ar7SsFLplPpeBOjhgyAV+E50iNXzHWk5F42rVk3povT/rZk2W2bjKxQQu7o+fzc/23+0B1QA1vwXMqEDoAKRqlZ9tXJ2SmkVUKAIqjx83rTdQPqXPCDcoiyYdBdQFgB+DPMknv9+7zubw6JexZ0LXSgGGWHeYNVPqZso6FdB1He04lUmDhQT4wXEf7/X2ewg1BfyOmJsrHp5UYdS1YcuS3XBJUE1YUAo/N5pmdIlpV+FKABmGbPnayyrzHZdSik4L8haZBsdvA07GMAuHIZAXUx3/ebiEU7BByZIM5xDKIEkKCSO9/mmzqb5uc51DMVWCJ865JdVNqvXcf8h19Q8hKUuOGSgdyZPep7AuiSwJvw1wYggXGFKj/WdWG99cjveI4EMn8GEwQRhjBBGGBGyQ37P9Liz9Tvf//+ulJ7fnHMfz6raoiJGREXEGBExKjZUxHQz9xTtS9LBRiLqy35ZvEQ8Kh3jpJS2yCAqdY/rb6+9v4omktmH7ppy796uRzmpDJPJIHaQtBERkcrk7uuOsZk6+Cz3v7dhgB5ImkvDqaYD6SEF/ebSWkofVgdBPFQIAtP/DP0s8FOYBFYNqdEKafcQ8sgTSK8B0C8pMIwwoEjEABQXcQHFQ6aAsk4GZZ8CKjg8VHhUqOqKoTamh9qSEWpbZVD78kIdKAB1ukaojpqhruZE1BcH9bkAtO9FoBAMHAXsglBdzZY9R5UiINR1CIxnI8E4FbgXcDtwGBMIhoA3PB9a3zkF30UqvjqFuEQO/YSmn6+v/NkhxnywCV4DfggGBAOtj+hJ5YHwHBhAH5BTFfUznOOYM65nEufDzrmeJ63ILlhf+Hg17DL/cvY16fXsG9KbpJvSm/KbBTcVX0q/Crgddht5W3rH807ivbB72fdDHzAf/jaeHAcPcY82PFr5KPtR7iPp49AIXrr80t2XVE9c23Njzy09d/X86Knb+pJJsQ/ODvTd3nd33719qmeyqa39V/Vf239L/10DR84bySKpHLhwILDMiAbH6VEQRVM9zbMYV0AIF5zIRgHH+FDBfBawJBWpzrmp03OiXuWoYH24aOf2nrvAo74ts8IqWzzXOq+d3qM6mqIrX1eVMsaF3AEXlBXlmyrcSqWiqhJVqp5Tra7N1Hq1vlqlJmlEGvfxx9vdPHTxWZ74ET6Dz+WLm1Sz0nQ1S5q1Lap1bbukXdoua5d3iruubnG3pFvWrRUSvU4P6Z0vkpKnNs74TGMHBdxxKdgAebqT3iGFCpzfZD/QT00Q0chRcF8VBs9HyBcKxb8qUdwKSi/lK7XaAW1orW0bW9FqLYzzr/39vnzWs1HpeyYDQZvfiaWyIrW9MlAda/2myezsTbcHDeBELJ4kqQydY/LFUiVYb/CtjtBDEIxg0WwOwxOIZRq9McPsYqvdVVxSIzVsbIbzBSD4a84BXMcfBOwQqQZ50+tqE9wfUsnGoXxENhCD8rGefBISJGBttAADkUMTeAZt8ZhPskl43jSH/+R+yB4XS+xdAoQh1lfVEaAIOlKwuuLj3ma55DugFA+FD2FD0O5Gs3hLUeJi8OdCQYyLGAm7mUnwpRExGIzP6F0ZkIpNgKk3m//66csmRHV7BvYud4jZJoHJfzkoIPAqYTygHAyw6FK73S6+0K7juNUIF/EFdoUbfx7i2JdxTpp0XensPdajPDj84HUffVp6jp00a3UEhzaZSs7Hkxt83GOcxZatHutoPZ+e/ImPYwwSleWPcFTySofnJVnfct820fZenFldu1rbc+nO73h7b+tVTOosLW9hYk1Lby+PHlL7RE4HizGLqY412mBF4unss9yf4o0h8llaHHXsIgybhnX/PdfOvfZar1ydrdZaJnUf8NPIj2yw3EI7dJB6edQQqV75Ispe+jqzREodLG3RlV/xcjR7Q62UWzmUZdGMfrFK39IiR/dk1KknYkyJGRkxS1SgqGzM6TmKFKVjUpjHsJKgVUlh8gtJojTwhLwfUqWS3W4Pw3RSSzFVtKMkiMTPJ2Uj8ANFROGcZAPm4YYZcgjwi4uW+QQmcHaM+lzCG0pIwMYDO7+J7d3mrdvWLdkFO7rd27zVe6Udr6ktXsSGubw48LERYBNEsElgGmXbEDaQNfltlsgleEUcDKLV7GIOZllMj8pW462aytuVEFvpg0nYYKurdgVilTk91o39WAUj68uaAg0lL/2wJS+PX/Tv4PI1t5mL/Nj43agdvCBwODZxIPR4hZarUYaNWvVl+uZ+1dD6h2l1ox44l0Ogau0z0T3cKaLzf3Rdmno1Yi0lQ2bp0/YKjT9LRlF3W3WAfUqjHi+kWjtzyHmZnxvnP87jDx8EgoU4mMk2x7JsDkqdOgS4++8avNVPn58qaBK/6b/37vf2BG0vrv95W+1aEf5/UHO+Yo61OUeLLqd3OF1MhGajL4QIvtjxNxexuWnXTGeaC5+t2WY76pEqZHYU8VJheV+JwH45j+BZXqhVDk8sbbU3IegTKMDd/VboOt3S9pphfk3fbx9rnWDfno5qmIPc1U3lmPR358/zd2V6x+gsys5VB6e8jvpSwxaNNjnlxVwUUd0fQrTEa3twg5Ja4vvD9E++Nz++uxVi/eEnU/yR1LSbsk9DVGFs/m/rT/mXVE/Pt9W2lagXg7LToBG0gfcFzKnCl4K8KBn4qp9qPbNuvuUgfwxlASkYu/jXpeimJVKbzVT5Ki40wvDXVN/u9t6OvLlsqmmRV9Z6s2caIW3owLw9W8Sbn9SuSXshzAp7ixlu84BBj7mD1avb51vo7Aev60mw9uzd9Zvy4ho7vtwzHPaVV32ur7r8FbAsV/iD031WvtDwsmfxHPpw1wfLGLfKtmOz4o3q7SLQQFFOYR/C3lMYQln7yo7jy2gKelTmueIOVliCWiUnK/yWeDrmT3coh4AcCWTptdu2alyaP+avkOKyQ28R1erJf3nS+fkQRTpKXYoT8Pn77F3gFIQ0mE1tTk2xsa5b67gv2HJYJ8d0IdXq8qf350ZcP8cy82EFuvLX/BM/7J6MFY+AJ3FRdpMjKxJnofnropMNXQjRVVe5/aPPCG1JVFXwQHJT8XR/e1GuZDmtPSeVItvYyRXt/prvkMi3d75cnmf23CjEYJranOxSSjp5ZcVcED4WV0+3bF1HB8hkPd7qbAhleZd0XIob9ZG82gyoPW1Ordln7nrJilptRzb/dJyzt4+yuzLXdXvi8WQo9/ewOELEVRJCc1cL2kb51fjmtsCgZU1Odpl4sYCw8qCcW/uPhw5+xfTr8+dYzBDS5svlx+6grUTzTnRBR/NSWwiG49jhj0in5yuawz/e1dZjjuP1ITd1piE6ipZ5M+11dLKghf1rM5lWUdtXhrZki8exHO75H9kZm0VVS9rAxBxCyG5uRSJvvXDs349hD5ZUPblb9zruC0XTyXA0UNtgelL+ROmlsPrrzj6mitLte58Nwv6EgKo/bzjkloc6uxS6q/MK64f+0//zQDdCg3bIB8rH9LF8nDFuH+KXBoECHv1wb+7gChpqm5WAgOyK6PxZUuS1e3jaa3HX+Ld9dgWHuCSoDxm3shWYppdcrXQ7HdhE9cH3sXPb4C83DEZbpZ8OorJvw6bKrxfnFCc4XLaPN3mSh+Kzpb1Wb4U1bQZmk+4hsQOdiut2btwJDpftszd5cvxDxWedL4CWr1tUovQuJJ4ND+XejD7MuJD2ZQdkx1X8yPiKd3l2/G6+irds57gnMtv7YmZEj9AwjgwjFx7nXfICdno5etXihHisD/PGQyYD7OIUbCP+pek6+uHrX97WXisbMZzi5ujt+pUSEg8usiX8pM8jMWsYViQa4Zi5bPOfnfHcNH28X296rmCXbUa0ekICX2R0ykqUzOsFK2BWBGXSx5zd8lDkms5T/J/wSMj+uHFo70M4m7GHhUHETNa26aAgfiesHZ0zPQwsjmMos5PbnvyDWH3H54w3HBcQxU9FITbgFzWExK5s/K7lZBpQq+CrEEFyPTZrD2IBF+JcJhtmrqxS9GsngrHeklqyY6mOIfIYFRXrLffGzC/HYArjAvuY4RBxY0It2igxKkxWpdoyNWott1GrsrqNLzRwmsu06fo4oteR6k96CwErhG/tmck0Ln0PpusPwEcCE0n1LxdCNL/8CqD+uh+C8REnP7L9ifCAccz/VYPjf3v4D3aqSZH1XRP6VV7/UkeTO507JJ9w6fDbX4Edda4O15GkOJDcL1IEpw4WfrWwUJBgQXu5EfY5tGm7YcGph4VbAQZuzB/yeN8V59Jdqwf6v10zu0tj/HLwhUpi8Hv99pUvVPrjhKYNhAqzCtUvVVaLfzl/W16q3H1K4tCppVEkH4tv80sqV4wbqKLqWvKCO2XZ2pUAwTFEt7uMl7LzMZfLSMBycWH9rTO1KGAZit+UgojUXICyPYtunOegdzxhf8Gmgup+Xz0LNIP6uamulpBLFD5fKiYDJV6/B25nFWEtVgOVpXpfV+pmYqzzM+dBwbfHx9PLqvrfC31stwrpYa2pBTX9aFSs8ls12wZp/4C5VNvMj3WwqR5lHmysc6z/+y5dRw796Qfw95PAX5ZpEXnIsEYaJ9/0kcBvUMp58BCauAAY/24/8NjJWRmqS4RwEg/TdJP/moUBL4IYok3U6sG9ETjBmzrEL0rYZfebbU703StN+9b6fgwvnHnoyd//Ez9slnYRNCpiUdTFCynYJaWFbEMbFzyM+Sfw+MEm1t840w6bYObdfhR8FwF6G7BOf2Mf3UKaxXiFK+P6kvapZpPj9WLUjxzydSRWWnmqQp44qs5TwtpXWxezg6maxLUo5Rup0xZ+a3mjBZgvBjA3IrMhPpXGfzyPb2vrRXY9b+5rbXcAmy8bRqSJAEL1aA/r8OwCLEJ13WxhunMNNp7aHaabZRQQsRAH6GyEky3c7DHJ4RGvsfkyLTASi8LBpql38jRxbBQb158zExpZUnkcm18ht3JSc09XNd9Kok2oJYWwdpuYVk9GUQ1BbCPEtY8ZjSXim85jZochoZMfJbZQTFKmAlJ6VVo65OYmSO8vZeKCur0udVe5Libsc4jUvTi0igxDMycMBBFAEgmcYgDrKCCMBoJYwDH2ADuTFJSNhXPPA8pTyLxAeYPzAeULWSBmTcCyIHiFwGsSvMKg0jCq6RDFIi8O1EzIZoFKgiwZTikJVqllY5dGzyK93DcZ5aGbXwFmWRVhpBXUQsTlYtEixOVhkS6BK6wCSg9ki0EVg1sCqqTHWBa5LReyFaBW9lKUJbyvScKkCiGrRNpaqNbBr2owwX0a1mREGxndJmzazMi2YN5WhrcdWXWIqu+82sahrKEGe1A0U1ZnK3oQDvUoAkam4MuOAcMCwYEow5Bl/1oUp56BhSOg0aGx3kU5GN9dZGHiz0c0MQw+fGpWcDj8Yiv20AjbWDN7zW3y9AztSujQ6C9Hhol7MOIwE2wcJthYRa0LkeUgJBjOynBWu1gHo7yD7x6ywZjuoskUJsMlZIpgTYnBNpYOzpGEgiUBKXk3735HvShkr73KROCAJr77PhIiWYbgx7mX11yt1HNx5HEa2YAWYnBohEA8RCAmohELTU9s9s+sWR11DPHGnyCx+iHCjquRWeggsONcggDDAAY/Ai3abBMy/c/HSHS56bQ+sVsvwMJdBjaHUiiJFBpE1zWg4d4IT7QeEDV4rWoHwvYFpOkExcUAKabxyjQTcYxBJKKAVbczCFZbAoyV37xY72yoUgB2ykE6C+yQQWi+PJUmRlS8G6aIXCW79yNOEtHxu/0GsIaLyqmqXgBm6g7GANu7wsONAhEIJMBI/Tb6qCLIV07eHu+OwfhnID0Jr4eEPIThE+ylHiEKeXTXpve6N1CNARBWPA3D4fIc5Bc6YYlNclI2pdgHp0ebgqzePAeILEWRR5HyBNLCyGRBH2qVNtGnko8EM7B2mGvsGQGWnyxRWspMHcbPxDRmSGB1HOPz4rYn8UQ8Cb/ulPS6WsmkT7gk1qo8rV0o1rX7LyDFMm51DGISoPArQfFUrxy2URY6y1MjJtGVUJLBJI9wPOrcA3kqq37MJ2fQAZikUqWP/0+q0iC5pJAeSkzjqBK0ztEXekmnX7fj6rL1UsYnf94Kv6s0B923DCWLd8LaRBKaEaGMwXJhdWvcep/Im8rjU7wXuJvKxC+wtaFhTgRDAK4+uin2tX3a2PPdPu3PhUl4nG3r5erN6QP4WGgLE/a2gleKhl3tdaLxfmVVo40bsq3tbfQaGzZbYgYN+fEvMZ1PcSfejohnBtrkRUN5Io+uq7iU7laPuSA9CJ3T2NXGdP268EyuO54r1/zFvXG/vE3OlUh9cmQBWg7vG6H4W9StKBiclPY1YEa1kbplAHuLY4tKltKSY2eVZl+nwX0gt+Wz+g1YjhXh/TjpNZ79SOPQptI7v94Q+6mkqXYi5Xm5enVA+3rXFZoYjCqFtDb3zQkjnvmfqdfoNZ6Mttp452omzZl1snYuU6Ofa1NvGEHi4T71dHNtoqk3Ecah0BBO1ch1TujSqQkMeQRfV1ON6JM49hHdYl/sN/9wIe7hKppYO05d861ZSS7bocOidLX+Lx4du73JWnh4KEAtLWtKi2KOMIslhJKOfWndY4G8t4XB/A0kDf7ad5FT4HGDW0dQC+xEaeex4Rp7Ezg1yrDjIQBUA6/3lxua48Vyhf7mQ+duGfK676o2GGWb0YXjy3jtk11n7s1fqzSAlhBWa6urSFGtaUv75HMJiHX7Chnt55bdk/559TdZWpRXVB/Zg02vHvDi/CaJPx5Cer19z0BLxF401exuOOVOU2Pcz7gPjouHfMk3pgX54V6UYdTu8F0sFXQKEmTGYvbxf76LMgBpGQJ51pf0m90b4/WY40rRPYtfu5X7Y5MVe0EO46TuNCx2MKWM9+d7watwjUvw15wm3U3SXz0qXdH/DbolVMZB7p/QMtcSxFv5YEUKG9BjcUDeZZuuO2oa4s03fhpSY+1COdH1KKk6UOZjDvBpN/zkdED+V2C8RSaP3KzyMIyLYf9ScK3e1iRdk6WTpqBp3Z2WqyfXBNnZiaszAaS2D6UUHX1eF6Bti/Ayg9VNviY7mmGag/AW+j321Ovyp8U9xPy8yA3M9+H7dtx3Ki68l+k759VaWxgX0aLgGdq8XKC9BtiTV0S/s4ObkLkUaEt9KtzNSyTtaRjemgQT+mwK6/SKZDB5a8tWIRS8i2Ge1nOi7xXm8V0/zHxLCW2CKgUgNPCBizkew1inZXy1MS4wkuSN3VbSBCWgB3tp2OVTrcXXY57nAyB1vtLKwG8XzD7zNCtNGa1YDt7CWUt7r2EnGkWTqBz3BM6rTU3hq6j83pp6ilHK0eZqbEqjmSCt2P5Y3O3g+uDH4dAlXMzcD7598hmHmi5huLQGh9vKH2wjDUk+P++zSl/buxag+4u6OgAMLZAE5j1mC4inclsUH6XeuN4f8O7hahes6iNuCfmEULazHlqDQO0OcEHgaAPHK4C4z+4F5Qf2who2jYaWsVXdc4jaxNq+cwdlbz+42/GtXdWKK+mJBU5IPw2JK6EleA6AJsBg7sKI6yuBguXkYfrq9J4oLeHjZ5qIPpbsMH+VcBxaIVoeRj13s+LlIm+ubDMwbdq0tLIw3QUQX/RjjpbJ2EnaClVdCm2S3ku2EutwxhgYg2pVUuvAVpaNqdV79q/0eVt3XP2WRZBDbIxP3EjbjDmgVA2caD5o0LvLKh8Y2vi6+x2pWSr36t55Rpr9DZDNXE6y3g+wmKoCSjx+SkvkFXOydzO6cGD3ee8amaIPbAXJax8tKEzm48Oc3oj+tfn3NAY+NrJTs7zCyLPFKu99wMajGL/8DSc9VgeAEQCMMlBQxAMAskPvigRTPbGw2zoEjCUhSjkXz2d6BsrasIvU9fum+8L7mjwu+9a9TwH8EqluQpiWFFuJn5aWOKDI2/qy/Uz7082T66vkUs2I1U0qPdjHn5L8YtoX2MLCNOIWuf+5rQOXF6/MLTbVKktmhdKwNR+9wJoR93zT8bLJtiVoJ7rHSygXFGv/Jyz2n9u1yqVZpUbebrAmOUR9+gQuoLUHV5Hs97J5yYRFBpwgbVCtg/QR6QksF9TWAaTx5SrQxBgBe7/PUizED98evIx1Xd2rl7jisY2yaKUxUtHTZ+Mex2JSt5NPS12Pd/fM96gL3U2AWjRH3s4h+h4BXAvjBpRtfhZCCoYH2KcLxk/saA9YadppDXdWseDsA1nCZdoDMj4w8xQtUEgyDaALV7vj9/FbqrEF1JZ7WbQoy+BRrDEMhw38+/+lxEIQAYPhiIKhWIiDAB0/OoFsO4nsOwM5HFNT71rMll3LpeXacmt5tLxa3q3AVmgLdqMn1+r49dCf6+Tx81PsWp9/15f7kaOvU0/6hDkSXEfN2P3wZ4VOrnEq7uB2B9RvkwFX5egzj3Z91LPBGXXlzEJPRY4Jq27KhJFbbok9dOdAONzJdfsEuZxy8Lc76ubBaSbXm6uR2rp1JM5GZ3OXWfsGF9XYGQ+6xRlc7lqPXXKZK3I+6oiRi9kNT+1xmINr70iVE+uEzkEjD1zOBPhn92Yc6r4LswOCnGqb3+v0kYeu5JzVJTkPDnG8lXNt1KUzm1B3/k8NK2CmGPjMIAJCJBE5xJY9koIjRGkUISejISouhFy5QcYYw5ZaACRQNJLGdEiMGKRYMyDxZjGTIJGJJJlYsuQYRivPCPkKCOgYcC21jFipdZiq/AapsQNWr56dnf6ANWqC7NbM1B57Se1zgKkWLaQOOsxUqzaW2p2EnHIB4aKbsFtuI9xxB9blHsJ9D3F064Y88jdKjydoTz01Xq9/0V56je2ND6z0+Ujik2m0fnEyP82ABiUgfkkqNiTFGkYYnCMQAWNjIAZ4RCEKXKIRDc6xEAv8YiM2+CRPzia77NikSMFmtuYciz9DEo8IDx+PiCpjpgwaxckoTkZxem3dlHGPTRFbvx4ZfdvwZx6vOZN4RHhEHNhTcGBPTmY4HlduXLnh4xHh4ePh4xHh4eNREnFnbfSPyqorMbJau0fd5nvG1faM75RIvGN+1b0AT9gqGBeDCVPM4iCoYWeJkSzYYJJbRhdKRpRILNdYlkXRP7sT8eBFQkUdRRvm0v7JQjQ78qVFSY8q9PdK64xUpRay0Q6oUFizgrEosEqxUrHGUeLC8zZUHKyw8ZaPmhCqCorNQI9ksKrbNivOdojEFwRMEJM2xSkUKcwSgC4BqM1tMpvMJnPaCZwKhcJfkByAAqpXa/RqZbJpnNKkxQFOl3N5AbrEEoBew6AB62rD+XPhQc312FaWNH43BE6M6QROGwUlnkWt0IsRLJQ2cvKgD2n4pLWbBW1fmObeeoGoIMxuPDmX4CPBdgEK2NAMiGFBlyj/NPrBH9lXWUv5LJfNWh/tnX/iuo/Lv2Xu6vyqMw0FUPs+e+BIvKZzGE035bItzYAHCCC1/EbOAVoOMA+sGVuuBetprSshdUMfG7IJHBP1THkk+ExZdVBw20FtXujbbjK+PfLVjh03E98ZImaFXTzPNBDU8h6m/+B56TJkyjLTI2bJNtscc80z3wJLLLXMcqustt4Gm/zHZo96zOOe8KSnPO0ZOVCYV7zqdW94k4JSMS1ttEvTxu6HPdVsn/0OOOiQw2m/kCNw1DHHnXDSKaed0eGsc8674Jbbutx1T7efAYH5+5C/XsBTgDU4dpP45xhM90UAiYHCRGNh4+AywWO6GUtYi8YWiZtpWeuhwYJsOY9r123cLJRrkbyn8Pbu6x6d9iOP4e/QqXemzmzDfgccdMjh4JmkoT/Oo5nYDXqmZtP3CLK37wP2O5CWMwcdcvjYiGc143e23ablrxn22e+Agw45rFXbMRn81FstuGkErcd3YuzT3N6GffY74KBDDh8TMTxT58E788476DKh2+tr0kouzMma9T4KFesiMvvXl0mAIyV39cwJ41/Jz6slDwto4KyPP2kfzvJF6FsDoY8/tr7bRTrBDdc+/GeNJAYqe6cl2TjmyPjno02wjY7ZpfCHInqLFVvCEPFRvfrf61v2sElZm+FRj3vSG97xgz1+txeBJEATGjV2afw9cEFkOzQIS7htJgJJmatBitwIVM/feQm0wjxcbCA32dzY/LnC4ZAfQtM+sA/u9s9Wgd1Pi7+4Ybc/mqK5zfZlO165CL5KOf0FLTo9eyNuyC1uc6lRbrIa8cZvFi8jv1WON1c//T3L/eX95atFuD/oXJ3VbV7doUvvcXuHOhteAbF6AlsyjOGFEp+zm9CIIZVgGRuhqAfLQm+IA/okKZgIc3x4w51dSIRLLpuq2xPT9PogTtrp09aMtieejfzEkYMC2tEyn75Q2Oi5/Efn6wVyJaFDq9ALpYWuf3t/xJCn0iZt0iZt0iZt0jYSyU/CC8FPNe9Xk5AtO/YCTTBRkGAhQk0SZrIpwkWYKtI0UaLFVILRkZiklWSkSDVbmnQZ5phrnvkWyKwsoyZbTrVymba8JK/w2iefffHVN9/98N8hDh6Ll26qLKMhWw6thXItklf5RkdB6YySQkX0Fiu2hKGWGoESy6ZNyDIS2XIq3+gpKJ0RKVREb7FiSxg+E3cymJCQRPIyzyu89slnX3z1zXc//NcvsI3KMjLZcqKLKUQRvcWKLWE4VKSkHQDQVFojsVCuRfJKZzQUKqK3WLElDPVS5pXX3njrnfc++OSzL7765rsfk/+mpJRUTDUpucUa7CFAYqAw0VjYOLhM8JgasxIRhAOyVMnusvnlkGuqzyy0WTsmik3ii7IYGWKdG+XPA/+tIaaDB4WHd2AlT1XftdkFg+nQJ6jyVVr1HrGXaYBpTXba0Dn/FA782d7CNLTarPPSvLwMsOjUKYc+hb5vfZvDbuBDoqp+hz9kVjTNFiE+/K7LzrH8SssGDislLueL8NdOWR/F1Heh1y/oyo+KW5JUPLVJ5JLL1SPzjyee6vXMc//zwr95W/NZv/9TCw1Ijht6JRPvlFJ2o2uvtVqHaRP1Sex6aqIyRaFOsC09ZgVMxe3VHy51P1lhaSAtlyp5kCIKmWzvF9NStWJK01qPaVuNtLoTooWuNoi03LKNzk9W0wXWVWcmOzwedqDFpRoZbMD/PALIyceA4WVCSmzl2XLL5RjliYZ5reQ8imtaaBPVvO+U8tpJaHhY29NFlNY24r/J2lL+Up+R6tVZJWhHmgJitt1obFw8/MOX2cQsSViRkpWBGRlPSzOTs6Uw0qjTD2Yb/BcD+/1SP3WAsvnNqXFWOGmH1TqmubWTcAYOwbOwBUqR0K25Hvqr+mEEvJ7XfF44H5/6893HWJiHykuEOAgIDcs0Ji4yQTxkiviZJcg8YaKGZ5V1skYkzSZ59imyza6ROSTOIsuGJckxZaNyanSqnHPJtTGpG5t7HnnmlXc+ueXbuMbD2GHEAeimUrCbHB2/uLjEzUrIovnlsyyrIpLyazSi8qScu5Gbq13p0xweRAZ/UUOSjThSrsIURxcmbIRSwoWPFDla9ChR4ybstblWdggh9vJVaauutQPpqzl0EPuWggqjkzZEeK9x0XjQuC+CXcsVJTVZVWXo2qcnKiOFys0/FxlVukx02XIx5StUrARj6tPnx1giVFwC9IHKn8bc8qtmUnkS4rqKs0ABN28sHrZDdHx3sI+4g6K+7Jd24z6zy/Y9e9ZO3MN3wRbTkHLy6ozWSMAhFhmlnWdopYj59FPPZcpJE98Qhxk66HEAQaiBQ8Lnx1wYwxwe2Xw3zIkb2ZDoZfZOpG9fomBJo+GTCy5oVo2At2+7K4Uch+famQROQyDm4ruGIR/jaZiE+0Q2nnonN5F4GTSVIRfJg2QXa8PumELwqiWqcXpE9Z2v10rwHv7QdjsytvOG/PBpKCmqIBkQQtv6L98ZCNIHwxGIA9BuJMJCYC7nrudRCs1XgMZZ1NKAqLS8cfM6xlKGqNCrcWWSXDIRpboa5QqwiyZKfFXG9yOocAtFniSj6fFWCWQ02dIxD0FGE0NsfgEZTdKM+Toymk6hpl5kPgQZTXrPmGsgo+mFcAFkNG3SZkFG08rQRGQ0zYPJe0EE0DBsj1FNjgG6bxmYZWscToYacY/N+55VIlbE+lZ46s8cyrvSDKs7fG5fP3iAB4X1d9Q82d19A6eytbiahpWuB2EtUWG9lV1pvUDK4M3LFN8LTWUohToNVYsocRSfC9DYVwwXPCsB1mkZSRlUUDwK4wletq9k455IybR9MheXISRq+1AmzgasiyG3Ya9+gEmTOg9cjb+Aq7cRgLEx0rXsOQrRyjsApEgnIVUHpa28z4EgNPashmjkvQ5SWLWz69XEoUMLkDpggDRtw4arZoMuwIrsLATFHPGvAdqxoTABJ0DWXTfyySWb5hknCL+8lVTq0Ad91hPOeg1YE9evd5Io8gVgwoGLKIlh8k/LQND4wQ1+JbGsnCbYElXXjojzK+trrMXO4DB7YZcLHWtuxRQXoXMvqSL4UnxXWfackTtfCHTG9ymZDKDNdUVkpy23VmDpHhHKZ6iQX0Jwq8f1VSU8cg9KyE5DCStNUMJcjaS/GDCJ0H4e1NmIxjYeKmzact4E8toXkSsnqBWIWbUlagEiVBOxfSnuM9B/aWFywDXon4MeQl9sLa9XvFZILG2QzZmwb5Ay00NH04h31WgYMwbCbaM2XFaxRzJzqjd3g1kRyr8qKDKEVVy8+An8iFRRnT7o9bLObfUDMqDzjQsxIkzkzWEznspF9Q5u6a0pWPCWb19AyHpm/v4jhCce6CSwX4NN1llBTytDovZPCzaeOxVFGH50FVFJeOK3RpebTt9zzUEiv9GR6Y7/gFRVXJm35FcVK5iMw3ShC12mewUGB7L1T9xed5k9Otw3FibJdDz+Yg0mTy4cyFkR47ukl37oIfTveN+DAr00zyy3z5s9hdDlvy/XVdNQ/rfnzluVgSpNXbdnmjX044qUVt6rizXqp8wiuZHhIYDBl3pjNicvrowU5iclS/yNJ9g2eVzC+1CGwgMykp1uP+ouREBxt16+lf37X+bBPXW3eeOa69Xr73/guUwccN59ak/ZSZ57TsWZc/LPT/lTEk630+GUnsKTzQElWz1OcchLdfkprikd1YjmwOQnOu4xj/rFZ9uNZPhDsQa72rmON9b+Pn2faV/bWt/yFnRBpzvYjja0vMWtbmXLWtxcFqb7T0r5/0DEG3OWE4w75qgjCZ78xOONJdpwWY5LFLGKIDRzyHXnnXTQThs874AdNlpp2vucddhOm6w05WN2styW5jFJaqDKRVe00LLWaoXLU9bSlqzI2lPJ8pet9CU9I+UXS0tYbAosHlUUKVzuQ9N/SrVcKpVKIh1QXlG5ZZZajIRSyU4S8UWRg6wyxzgx2qnnGfpoo55yCljANIN00EA5xVRTSRnF5JKY6AeLNAh4YcYygqej/DQ1JMCRjzi8sEDre6/aTbVcdwv8AEEcex30mvTLi459DLM4wfGMbYyjGsmQUzAlI5+s4Q9ziJM8ceM2ypGPZITDwzTG6DncG+ZxI7BN3k6ZJc91fFxTred5nue6ruu6juM4juPz+Xw+n5+fn5+f3fEv6NX1UZuzCKtbySRJJEkCAGBmZuacc65u5bEkSZKyK00iSRIAADMzM+ecczciSZIkSZIkSZIkSZIkSQAAAAAAAAAAAAAAAACQOEmSJEmSJEmSJEmSJEkCAAAAAAAAAACGn5jZV2mqRB0oXzR35tQxCXNlShk/YghUyYnD2OmdeR/vVSMVCVKB77mObbX9Vl5ux/al0z3NPC0dV1WlhHV6D3Da6e30LLCysrCUZaUqSZIEADB8YK8UiIIcYqihhAxicIkqFeP+GZ/0mYb/YXmC4x7zqEcy+ORPwWQNd6iDmbhxGcVYjWBoNFS4rpwZWy6crwVGjYGZnOsTHfTLJ/YTRX7fOtqRDTl7RjE5wx/64CZh3MZhpCMcNgb0v0Yjw3NnbLHqbXTkfakrKCdh7Ag8x+AEZ3Dig4199HNmfGMb/chHMAVTPJIRDnMIkzTqUY5sxMPFGPU3Xjoib+aWC+bOnDrJe/DvF5QVN2qYElLnlF1WCeMiEgbtktv7F+PBE89hGPX5jh/JE4+sGruRDH8oNFiwweJh2dN3Jl+29MkTVFBxkoQxI5SUOmWyxHERhn7jXnjstis6HNWiSZ0N1iljaJzvxt/9fXwQv3jEr0tlUYuLz4k8a3H9/9Z9v0YRVreSSZJIkgQAQBaTJAGQ+mFDXSTWtJyZBQkGw7iqA0JLwuDbsueUpoMOcwbkCFS2mYDmwGM/d6UJcDxXQ90osgS9swyQfuzhjHdzHqUspX2eBtH5XvVqwXRH172g21jxSU8bmjtSbXq3e0nt3V3T3OF7GDB1oL0ZQ3OHnhOHsgn6+6G5gwfUGPKgXx2aO7BfgBQFvWloZn/O+ALlhl42NLdXv/cl0PrcQd/tpHdfMVdZPFqYfXXf2Vy/+VVVXU3BQoVrKFKsaPXVVqcYNqwRB+yUVmfCanPDQZCi/MNZUn+TRSHAPqIuNJ2ob2KGSBYNX1xyVbsG1UpopdII5csJuop8AttH4dEAlADOiGm06SIRchptvmiEsS/a0hGNuiDaqjPCvCCy0RmdviDGto4YrAtibO+Mxu6MtuM1RzidMXZ2xvtKk4vxBQyGVrHMXhf+ooWnUboqylU4bwNu45C2ZDot7h8zZ8laebbsVeTOU2WuHDlhpCYgthrcPk/nvXViXk0lG7rGXu8eOfiKkC4YLrw+/3A6BPZR2i429CgNHb/6GOoZNkxRUeMTHasCqouhtVuAS+A9qf/F8l+DBpVXUkE59V/FZdMukeQXJrl6PPpH5eSTIrZAhM/gwADaAx85Jzsu+5XxLWMfY0fHW2+PnMmBcWQQOYf8+PbAl7/C4/PWgR+8oJ0GB/jmkH4biOft8M+bNQMXeIDqkwPbwNe8Ff7K2+DPFIHvlXYvtcDtTzLpi6jqRxN5Q8oSG4zV6Qqj9xW6Kpm2ZNAujm/Tv214oT/ac1qndHg2elYXOXvctC/sv7wdRr2ZrnbYaHtm3vhk37renmv0q7OBXU5t0At6zuuWv6ytaIFWa/E2jvYb7fBrP7LgMLXifLKv+kTGM0LAA99YsZbUCh5FVcL2583gVUsn/W8d0L5if9dCn0k3tnWrHYoyt7DtefsCw1DRCX0MRD891Wy7udrvGmkv71CzPo20YJCxueqJpqmOaseNa6BKqXQiVWuiVRWpAm25ufU02xM1KkpGlRSh+GZrkANCYAMZMJAEECByZVTQkHzljuSQTSbip+RgvqbzW8vmrdeQqyCtP2fKw3JEottN9kU+SnjvC7YIvJbbU8uZYV5qAxSfwLwUCXGOiWEVOimGTp8BxrDwAActXQVqWo5Gqa+VGrJ1kShdByL6t3tKjUuA+Rd/8bPxfg3fvk8vePU9F7gz9gTNt3+wCyU7UpYE3Armmr5z2zfn/Bpl8ZkTJxvVflaUQ6mf5avZF53s3ogleF2TkI2mZE1Ml19nVXQajgJLk1qnRqTpAxLiEI6awduMaYfijrBhQYBBwWjZm+a/cgzMBJ+AiAVbCo7UPHgbJ1AQjVjxEiTJopVPZ6lSlarUWG+jnRrt1qzdMad0uOiKW7rc90iPl97o80n0dfEn5yE1O6x1MIFiTiSKt1c7YACHXGev9Zow+xLTx7qa48/VAFYXka+zTyCHRk5oWyCr2QYnUOnEIW2fj0aA+STgIEC3HjIo0JSvQWz+TLZJ5T5FhDCCy8YuTmjLDtMIiRlL8ro2U5AW3kZiZ/Z7qmRNrLSScVXUlgmJQoa5ycZOvL7NrJlS7mjOQDo9GtqGCC9XNzGtRYFhi2tLnLWaN6QZsSGCrHzcRhS/lSWWHXMOAsRbx0QcEQYOggfXa6NILE1zR0WaJke2WLUz7bf1mjLaOPt0FQRKSwIzbpK2uqSW2YF/b1pMRCEWrLYsgLc0fdWAaqKlg9BDD04nRpW57Ug7aViJZsOThBxtNFOBeDBLI0w1HJcFtlFcyPXjazw+H8P1Gosdsb8gOQqVur5wu4S2EVaU5mJiuR1cc416r9U/mGLhUY8xLr5J+I2VANNoRL36trZyjwearACBvoAA/gt4OnAQ8T5yRFs/Jr9/1OX3f7Rr67XqrVEpsNRYzTJrZJd9xWaZbNU0e5hs7P2/0hpQ614xXtN57sP1/7iCPM1843naHMLn/5qyvE4rI99r+rD8r64z5tLzrX8BHHwBDL3QlZc780pGfK22N8PDtyh9L1R+EHZ+GLZ9HBo/CVc+69iXoeHrtn1P7Y+V/VTFr1X9xsbfKP2tlt86+zsbfq/8L3q2UocY4xgbGb8A74b2ALxsQOsB0HEczAQG0HODLDDIjPiO4j35vare0sGw/b8e0B2EHCo87DmTPpN9XHHizxPyWfkc6hThtOy04syOefJ81ULWWaezRed9Fn0XccuYFeiK5GLmauQq+xLlcuRV6nXFF6brRhd2C9wif6Uwwe9U3fW8l3Ef9jCY68/fcf6ei+de2nbp+p4dPTt77+7b0b9j4Nyrv3hx70u3DN84+vc3x8Z//TZflk1O/nzJL3979+/v1Zpj0VYHfr7t8QCAJXjX1nLZ/GGDteZ/hnJoDBtAXgY2AHgedhIAvJsaICdB1j46DIBX2hOAgdwEjwAebXqj3fkuGiPOga31wPK9EMC2383LoHcB5vtvJuA4XOiDH+94B+EAZ8FP+CxX5SHAMx4RzvPWAHrUV544DwnboJxBrlQxwoznRkGMgOECAAKCQJcuK+61lyyy2ovndO1FE+e9sG8wSUqoemJN7fk5nX2eq1RzrrR7BCMvPGlsZfp30F0/Ph95cYvOVnw6UDWMce/1c4AB+k0RUPKSo6HrJv7vkr5tnsuLwX5GFFH0nJvuISa6IARJsAjblxDZneyUPaNX6rV6o96sz9MX66v79ntywyve774gtZbW4DguvNVraX1Rc1bhLkBMBH3a03q5Xv2oc/Xjugha+5MEqat3V3pi8e8P23Ik5UpZUubUPoAfq2dzzfxsVmpOamvvGHuod13v2qd78WcxLPO3w0uG1ucj1tCet7uCa5YnpjnzGZrZieIXspSceD+U0J3y7PFQnMei+boNsUufNXdOYMLAb4ZF5LF4THw0GojR0PceOG9I1kSUNqVvlEXqY6M2kRnu4B0EIWR6JmVJboYxhAA0w1hhsj7tFUWZn7MqsnSlyL5sjD6tnkadH/Jn2hTnl5xJY5oj1dyvCXr3J9BMmLM0jMRwTkZTUdZnvGAhQk00oUpBkqVINVuhn7qtstwKFVYqV+l3m22x1Sb77HfAHoOO+dNVf7nsUv9yRa9nnvvHF6/4bImbA9CDuvbGoTt7ItKG0UU1j/JgHwwRYqEfzDFIA70aPGZbKuQMlup5E76Hznd3FlwAr4YL4T/oIve4J1wMX0KXuKfj4NLw8+n7ujXxOGCsAJh3AXQncOCLCBx7HWDPbWDHDIAdwFhPLQxraddMT8GqSEXlVgiVhAJrk6lP7aabqy+wVJEXhLWBUlu4TM9U2Mtser+IsTPFQcAStlG0tg7eJun/fOm2Zc+PYkwgdAQJgGV+q1ZEEl1Y64nSFfzKhYCYrOkmK8pakNaSNSvsSZWCjQBJDQqvkoI9SASGMau9wl5ZrG1N10rxQdomiItMQVeURBMfUxLZJsyQcosQV8DTEP04mT/fBLAkSHYIyIk2ZbSnHSORgrz0IZRca7Or8dSl28xCvUt/PVhoc3fBpneIm2caVkGMQ7UvlaXz0wn9nBu36jtGiS7giQ021T0jNKsYqWdvkttl1FHwQpuFznM08S94hkVXjDof+4W9tPxb2cibO7OURDFmwUgmdKrrVpSzPFfC6F75kVxYfJIeLh8E3Z1JLierZ3Hd3OLFYMxsclJmaN33RgLfYp98veSrnA+x9JnALu8s+Cza6hpBug+H5VmShbmCFEPwkCzmgWsJL6kI09EEjAyEpiEGJiPVRyHZS8VgZfD5wCzsKOoHDXcxFQZYzPorUEgUP7tKQs85xU6gB7nfAb2tmSa9TgjjUwnK41PCAkq4NvkbxpH/uVOR0NSXfGpjv0CGe+wEeC139SI1+j1M7Hn9qV8h8X8iR8JS7lbZ7UxKYB9enscic4hbQqqcZkfpUkr8aFlqBxEZWhT5mOOhFtbAgZh2Nnhzj7BuVKKqU8Vt69SX2kp77t4AcwfT/SH1wCRB2fipHwp30H4hRfcFdaQ92Hdt0keeBRLDrP60j7BcrUANKhU2/VTkbS03dXmQz4uv7UntiKfrCZqV8BfOBuuLfTKXKOFTYh1WXOD5pTbICFcZxqiBcZQMKyGxRV2Buy7Xn9q5X7ACeVNqpKIdmdae8t8g7J9ixO5F+NJnhUMvI2MZW3ZFYYjFWaAGfO/J9HIoKGfQ0exHQ/wUfsGmL5ouphGZ4Yga3SlGeeaf3MWogBUIW0OdkvZzESbacovlIYPQ94jxc/Q4k8meYoKFkJ6BZqDG8RZMOg7r9kxhWs8VNbjrBEpFT9UHNDJRW51Lh6QTWelpk63E9Oid1jXr2GMISDjFT1dKtmnpuCg2agvJmqYkB4cHPs+q+5RyeSB5DtQWitjRHPhxpCcwdU7XFgQsq1jluxUooMvF/sPVbWcoDfu19rHUJfZJEh15h0l3wQ41HFeX1B170Zu90wlJTmhPx+UG5ypDMqBekgi5jWogN3iT5oZgcsFujVpxX3K7xBRMLcyW51CzE+rAt9RbDVLYrJ/AFwazh8ke0zVJUo7SPW0RpMTThbGbcxLabNoBt5lByWNMs0hCVuRWL0moQ+u7CGtb+hdT8KNopiMOPktYdoNkne6Ah1rosRypH7nRsJsNmOaUb2JpHqIkx3zJr8VbZlorzEDzYaTl3eP6yBkv4l3DDNXFxOUXB7+9IdX6A1e0w6vcVAusq4dbnsN5MqO6T/n28E8rBks5Oju6I6NgAcsQQhFWnAJlYoI6VFbNRhhYS47nvhYb+vVXyJA+wMLOTGfxxX0sj60N4lTkKu8W2gxll6CEDkpo0S01Y33uLdQivatHu1lhubO25NwOowjLIKpknUYFL+8tWakXaoPgqmYUrHQ+Z0NiZ5rGKcZmh+q7HYMmytY7DUWY29XQQereiga4kN93gMJAIZRhOmlz7Dgg067nmXoZClV+nxFeGAkA1jHy/NPHwqmrAGvsAdqSe9MsphSOoZW91bMqPCfKRR9MRzG6AePBA02smXcrYxkiE6fWcZ6D1YF5M6BPWhsutJNGoY7qj22tAG8jw+6qyiTQQlYmibqUTaJQ9zlhn/b/Ygrq0Y62BUx05UWvGw9EecAaR53HOUHEYbXdSjQxyBF+URdl9YbgqVhb+waGhVHf7TVKF9LRmaJHzbbZjgGNTvTd9Tjy+66GG2rUr5r6hD+IGC/1m+Gx+b+QuPLFA3IMPrIQek6H61ybdKN0ACQ9ByFf7RB6YWFKHc84JbY8STictLP2b343R+o3lqxQsR0WRraiwlSyloyVkC/gmQNirA4/YaxHQpLBGg84NZJSlF6K2AkUkGD47Ag3pAseXaXqPJqEx9LiCecc/dRsg6dnbGOWZ6brKLC6J+yxBhLixgjuWEdXH0ki961kObM+2WSghBINPaERvSueF1M8FmvW00XdvJrmVDCPJfW3rvWmnXtmTJjv3G4WLckClhNlKM0PB5xu8jzVuNoMxs3UpJ14lZjS4xNq0l8Jrv6qglWvsuo1VkX7Mb3W3zDd52gN63za6yx7yIPcF080p3AlRBU07XwIJPHuP4IlPHHGKd2TMfYDHs2nOeXp51RKcmIWPRArFE5amyP1doPQ25n0yLLoBaQfdrMzTX6EepYzURvF2H8p6YP0SoKyDPzyKN3oyRbOlnwmgD9dLxR2a4cSG/rnTH4HStszldiCa5DEv/PsCS2vUyPvbtvrTwII/XRGf+rxBn88WzKUJoVWsPG+/+Uji9ajZ0jLuAr/GnmChXuVo5Agmma/JURGoXyzXRi0YUMoy7O2LcTBKa/N+xBEMPGoDuE7abTyYeayQ1psMlAVPFB4aJozeypSXl/beIQJPMgrvt0K4rblkADuk9epIFIkHfzBfg8EuIknlK1zpwipM/GzVAGgvxpb1SsOduEJrSkrk4IirzpFrV06D3yYcvRUmlOTWISN4zoxqKuqBixNsx2Qnq/rcJYm2RZzF2v/2dMPuFrPQiAHtYKDGFAEwM64Jmnq00REqsb+tCXUGt99VU7p9qJX87dfcmfuQGZTeXu3Vj+E5HXHvn4iZcAwZfpnHLMQkEs4X1c/okAErm/6ZrhpZtu9uTVrpjwrUDH2/RDHzz3q1DsEGsZKJ9A7/Wi3CV1futiWVD9ShGK+0TRuwptnH2lndm/3n0uIoiKs6Mx0IouVdbtNsRYZtzl9sMO1SoEqXDTJ7i1lfjpTfcnR9yZhT6cAsQOPPYtMn6dk86ihf1zbfPEx9wX7Vy66u/sdNdeFLjw1cYAV53dN5PNIGLAPZKY364jsJXv3m6MsG/iwe5wfMksYL1IhxQCUGtk9bH2pcHs7GlSrjXNTYwn61I5MJVPyNX22qyn2ZkosF2TQhRbILb0YO/ViEPgb0Z+9kqGsPpI19hddYiv5+azVwOvTzX0aUEk/FPwv7W0fDv0PKDnHWv/fKh0TlE5cF2Jc/8AeSj+t+v1U037t+/kRH4z1uqnWat8rYW05eEl8/4O7/m9JaTc2Gc6i0Ytr7rdu/nt9daV2Z5A/xZz3jV6i/uFC2hqlxo5O/DsBNgVfMqVOffF93dTIjw+a2wE7Ld3vXZphdOToCAgD2zRt6Lo860ShGK1VpCA322LNW2OF+0qLJSefSI9lTYqO7jRkkkjVrSSxdC+BXptEKqFkNhq6qSD8Z/FS4JmDqd//sDc1cH5JeRU1qpPPbi1ZtCOTVQqawS+l8UFTteVSh87yAW1IMfgrqGS1HWlxi1J+clR/NRkYvpgSnvqxtdR8rk0N3rcc0UzVP4YdP0D+8M0uauJJr1wTsDA1A7ZJwllkU7feb58a/vRg//9M4dSV/6haYgNYT7e/EjQ/mfrdD3oL+M0vab7A7quVn9iav+qIJymljPpAWv29xmrL5WadxSNhi25JLl9tbD07kTA2P2y3pVZMX3ODbUNHeq4J2wnIhLRps23rpd8vnotcpDcbO1QlfDTN/ov+93+7CKKnb0Ric/SyiqpzL//cO93leTGA/BD/mVFmwpi7rp8f3OWf3Sp0PWAHtoJ9C0p2/HpweVuWr8q7ZDnwmXexr9o7d8Vx7LAdsDDFWKGgFNdiA2+TEBPaEdzgV3jH/g5r3GE7ywSRB9eFdTkTtjiZ1aIGVBnBiud11v7NvBqtonZDmG7rOeuGUL1qJ+D5nre5SCcStRkHcdXb1yrWnSWNDkwQAZwEh6h95qWA+YOpP3yvpIAzizOG+406y8VzRgicofFBE7fUobPIB5mrIQsHqc9fgRwyv7ptalvXo/YKs+MtJv5I3rWcgeCMH+x9GHipK7hnMBQ8eLH0qGxSrOmkI9u4XGRrF60sBlgEwe3bV3Y96v895fK+R73n+8EExXs1BV8u4MaL3KN7pts0HRiULo2HquskREu1JW/kfuEIUM7c932eYWG99uI6VmZBHywtdy8qvYxGoPMMsTSHk5Hze8CV87t1Tec+5HXtepVXd8K8eMG6YE5jEHcl0QpwVLGoASba7b/UBa8XsjuklbqLv/wILCHKKcnUHWAR2AHYgfCX0zHLlqqf+h8sXs0XTcxkVFYezUifyL+6+KC/86e1LfDGcNzvSbUrif5v9DwkepEWOb7u/c4E111yTRd4F1VbCN49XgM2DCdbxt3Y3rMk222teWj78dWtBJ8e74GVsOv9u9Zmgu3JmlUXg+kZ3/yYpSDkoUO7v4MhwOQus/v4LXjcV4Vq98n2fHrfJwybkBEp+N9QcgVJ4jDs4/gHPizHNt+thCdrK4ZjuRHcHwIeR3Lj+IuWFYCb6oMufgp9GUEn7/QvIvsrKbtDyZCXT9ojzgJ1dMDYi+Dk3MZIFEVgMY+FG6e4zY7mX67FydthmB6dek+wnYJRF/lhWm6/Qkwq02H6vSkbsq2rbVaWW+KixHlRVLoyAkd0PIwIzO0umQlLRXS4NtBSh+pfHe+zhkYzDfAdIzktFLwWM3g4xV5kx7Xa6b+uGIomIuPiKXl+4IGL/IhYW47eSJzcxmSzkmwKUEfac+Vn0d1ZlBFBrpZzqJ+Xi86HUMmEo8Eu7Kqa0wR15TKjqts+wxPmy1CXjSBzeIfijHXMe4Oks7RGfyYLmVbHzclppuC0mAxsZKYE4DsWqtenTu4l95m0t2UwVUkt28GBTHktASsMtT9yFLBNYT/bkAl8Pb6w7a6x3Ox4a5n53aKJvbK2YtxiqRq70FYozzPm4c5otfjzbXK2j4a2tFnAVZNyLPredurNDx/Urw1/OvUxOgM0VE6JI+Fw+EIEHgcTuMOLO9XY88UK7LlOVTEi3YMQE0E6dyjcgZiqLmN2BwKkhfFee5n5icPlZvekxkI9HsP3sPVrB2xT4Ii9J05YQ6DtlRjl+PNaLe6MMS9P3laIXVCX4hbbi4HKYv+3nbo1h/dXWbwu6eMdjmurY90bJOX0mbPgCszBJnFubmcWyfz+wwNcSTKivFsfCXNhVelP4UFgjmhg54DN6nsfM/m13SgGkmWPiOi/e0PBIrEZN0DWCe1sUllecHe6Hkcpj8lqPKxvfbk5DJNWk1zQeE9X9XHmSMV/958zFtTgsIKQzSdnqrpqTz3ltOVLjEL80coy3KxRkidvL8DNFavwM+1ZgLF9RKW3wXC9V+TAuVq98qBQtNBxee50bWN3KV2PTTEA83uzIrDh7ntzR8GXk3q7aYW+E95UPJcFcL+98H72/VNyi7CQCCxMYcA2pRyS63Vb9oF0iKkgvnvLzYB/bHfFZ2ka4gmVPXscKpy3smQVPShe5ihLNF336+wPFU15fFJBUlwh/vHs/5uizECVJGDLeMvANouOgGQXRE83mp3MxUb/u4itndmvN3/3we9Vdquw5xRF2MVutdLRn3cwXA444GjIPpBa23ztMsEDfWoLzLL9szRb18+Q7x2fQfYnj3pevOcTf7KPvHf0sLWnZkSSY5/585zyd1+6LhmvJp8DM51UJ5JV9VszDvo7CRo4OaWt2dg4Opm5ZT6od/uuHo04f+cCs0y1F5NT7kzdH5AvzyzIaRDgknjETMcpv97t3T2qLEXf5TQw+3K1YnZVXKO7LFQdKtfqjsp9bbtMjl8a0OTPr8oaxifH1a0t+cr+7vragwKClIBQJ+c1dWiKdzbI6QCSIxpIHpjcMBtMSsDgN+NZvr3zuA3bf9vX1wKybKLY2Xa9QxPS7bcxY2ROdNTOeczQol6fSzTrkhLqKxNIZE0ipk46MZsJ/6vUY9DX2KKvyg0sSuwQ0+XbQkLUYQY9saPI3wy8cp0VXfphA0QC+8I9I7kRJsNXslQvFZyD/nSYaKnpg1v2jn+0o14efYn/qmWGD8vLpwNJEv7RDG3zGkj6Ry1t+rBU4+hk158O5IBRv0n7VP+tHP+pgH0OxPHNAqCO1wGxNcfU+jCaRe0OQIsC0bjuGFb7w1sNBYbZ0ttjf8EY5DZ/ZIY/EtsWzRj/CxjVIYO+hTxrPMmV5iV0nc0BVpsXdeP/TfZTz6rnnIV3nKikOoYWjrUBujK/KOjGjEl8J3Srx8bSSRBv6FoGC1MrY3anHuw9oS5Z0ZSVXHiyaG/NRI2kLRGvYjLxZW1ISQ14qrSJvz20kLfdHmrT809L+S9DI2U/X39Ky9bGctiVm7YJ6m8/v7mHQ9BqEz7++S+pwSzPVv5/SbhzVGrMxI9LRMi51vJiWascM5OXteNQqxywH4F1jYVgXaPP0sqd9QIWpny9EteOz6jHwPZzh0yF6ES51Vd6bkc41SNMbrsqwVzyeR6ANOObYcpt1z8KwLe6MB4510xsf8i8LvPLm4UdJacEmolNxYfdtsgbqvMzqsixtWvo9tNrkqP4bHiGO3uDi25yfWhMSNJ0mEHb0BjuM9IT1AP4/7s4oesUrAuWuT15JwK2E+9zhDByOidB6YOsXGksslhpKbJcKaxEFXtnxtYSh0j4G4Tikw5nhlK//4EW5zB/UnmNDAypE9+crGJ//LXO+WZufPzbuSrOr79Wo93JifHC3naa1fkOmnXv2kKDd9A2Lp6hWSXBsnuzHor9k4cPO8/qi9wfwYD4R2cmr7AJXomlpiirE+gcLQatZZ9qqLhyO9tg+EKhPlvKiO3rXqk3YvnWM7tBgfnOV9kNx9eWLlvg2JLWGI6oC8kqpTDolf3YoorxirSGpBQlhYgsLEtgkBti2LlmhNPm6vrjD7PrjVeL8ufkuoYZpbe1yLYxBbdHVFm/9E4BylSD/qvrVT9SPFVm1rmT+tB0QHCaA2wTsMzrv5RUnVirPGOBouRp40j8NhZtl0jM6u1KFWHbg44fd0h7tWmyOPLE+nvScIrkcIq+ETdX0Fnz4kUJKExNn0f3jQo237oUFt5hupapr76UXX18s3rBWWysVZccMKT9c9K6uojbEkqpuVOte95lrHr9qqx3gt/JY/WkC+i729P4GDUsTRiuQXEZPZ1CcDUg18v6ny8uHg/geINy89738pqzFSLS3vp8pu36TDf9vKak9MRNiaGelkRzokRTMy9zW0+3rV9A2SuqqDv7Xr7nQHYnkqqmsVi6boJQZJyydCwaRd2NzF6kVSThlCQSurAygcE0BrqQ3pwxyqokwDfXX8quPrlZc84xy1ivKRkzcP+dtdYWcZvDqTX3dLrnncbqt6/L+swE4HRe77DA7lZ3WES76Vpm4SKmNDpNGKFJTmXu7hAK+R1cVo9QQN9tTAO9ftOwgvPrrzXO195v5ipDFchxpo268fxZleNQO7uXznyeKsG5vf177T/7ztIyVmZUZuRo3kv8d/FFu0Pye3VAlKf3jPUQMtA9vp6s4fzdwXyR/668t2UZuVUOK3ogDIxHOsJdLyrVpx8/dfIUGDRUNMIkHC4T66lLV9f05u8KiYiS9xpxTiXkzT+amnQ3tzvCI52B6YFUZFSCjHTN27y2/hjYFewVRTgJ6kIAcs133SsoOaPKorW3VXBRT/eP/R5MgeFFAgaCExJKj0FE5qYVwtGBb5CPYOM0sa6PsIeXzes9wFEU70tN6+JhIlXczIGApwI0UY1NwSqqE5m8MUJtE2mp/Mhu9PnUwhsJBOpjCrjxHC5+HAB3Pr7+HYJKhWs1AkFB8ARYlq6poa0eTt4Ef4xSKSOiCPFHT6A7t7FFvTs7FeOP8uNVpuGQOYVwTHxBOD7Pgrm4tlozsyLU1C3myI6XVMgOieN+W0TwyeNtTLspfpbe0o3N6j3ZHEyAiAZYZK4CjvYS8tZ6tZpjH1W7lCs7tiXSj4L3kXKxh4IIglo68Eg0lpyjIhIrZ8hDxax44k4DzE4Ryjk+o3tYtwIyxNxTheGRNjU1xUwRizI0U/OqqImo3P0vGla0d8ErR7AO09H/Glhued4PCsS/akfhygWdvnB/H/9jDgswvkir+PZbXerTe0WMr78P19695d5w+/U8j758h/uYE80FaliFlzClff3oSrHScKKe/7K9UX5nobJMXIMdt2KP7EpI5iFTKNkeX45pmV9Pzv8ff/awjfTslUzPU2cyPVdWh+cu0Ps8ynyvBRpNXZADzsOETA0lZkhTHt+oiUljqtiJbWxhxL6iLHDFLtfUa4c1Rb0adN4jdN6TsHkwkQqObMZ2OPfyHXvBua3aBxn7DwreGAxaav/0A5G26qFobFro0sK3YwdjfuW+8gu6kjv6WiJcKC4vW9Wq79Tqjc2qwfsjr1B15WZR1boD+iE3v+LGjeAabWbcKBL12aVU1Y2bEIRz9rT8Y5+uBFzhJ0Dczu0vC1pU04emrXreTk5PgqQXtfkRr79s6pgAKJ4QADxaAzpSzmZuN4fTzeVxugLH5XVxOB6X0z0aWJlv3RrTmhYTc7ExtwZx2/qtDjEXHMpZZp+Ocr1e5Qqg1kE38TMDPnV2PWirb615kAS0qlftVo4MjnB18Wuedt7QCNx5LnsBpHStT03tNzUy93yoq3EkvPqiqXkCUXtiXAx4Yfbl6csxu0YvjYJtrcOHpw8DtL44qh6hKqWcuKgatUoVhIW44WDo4PRBEwtOocBjKGQ4nEyO0Tgl5vMXlowAisAhxMpIcBMzdWwq3oziT2QQ5POXn8Fk3Zoq5p7GZCKxIpGOo3yGJuF4aQfWVLL2GJKJ5CokOVn0FhpHYgARwI/H2w3uwBwFLiGCbAMdRoKV3g9WX+nsj7//lPL8PTgjtU7gHAypdumeDbz+KSTp6o0J7IHWh6pJIEeAHbK6NE3zC6W540Zc+5e0JtWnHArVDaG8h7AQOCCu4walWfOLmgiVb5ab+KOjfFN5uQpBiLHyiizwGF5eW+UVjeZKZSUL3FVZcXUj4E3+6Ujdv3UN/96Ub/Kh+MYQ4+IRTHoA5CJv1EURHl7iqFgB/7/ao7q4uqhMepRb0msjPmab0pDBJpTh8GUpBLzG2BPYapEt8Zi1OL9/gistW1VXkiabRh00d+4UOIyOqkBCnG40Sxo5UnVfMDYmuF9VxQILPF3V5k0CoqMWvnPK2t841pj5jVOkc4ZzsXOmc/fXmV+bXXxlnA080InpfTxBnzBd0N/HTxf28vn9Ps7v683z9kSxIiJYUTBnsCLJYEd2BiyK3knYEUBZxmmOoyuZGZLc4WDWetr6LKtvZ6/FpJFS0ySY+L1QL1KJsCuAHF3mLE9CK/khE6oNtcuYBAMxDxbDDpcvsDanW118boMMkRQnTgA/NFWfLZCs1NZLLpzNr65eyM+7UF9rBBxI28GSU2F1NFpUfT6NxYzxejotFegtA2S+ct7nvPbjY1CO73Y21BezHYoGdp/Oje9w7q+xHM5LYSg7uvV2o98oHC4eLxQA1PRgyVr26JMK5d2mRqXpiX50YeN5KhX7619kSMm+lKxWB/HeAGe+VK5IV9Jp8IgUfNQWl7HP4lxYaUIivDiXhDX3DUSglbSOGwcmxo7vC+zp9fcWCyQSsYyTEh1BJET5uoyjoCJJpDJuR5xCgkdZQL+WUjzSIkWZLUeINsZnPGcMIznAE3vuqsfYryy3RCbK3wP34m/wijkafKR//WO871YVWJddV8Wy/hx7XhuTnoTFc5NiJkpONXf1zjZIvbcmR5NyBYz4PsW6uQqQPVaeNRorkq7BHnOSRaZQsxLDIuSJQnIVmZKdEB7CQWBwWTHuk2BLvKwvXpTZlUDLQ2Fy+Uwry/nWykwKVpi/PwF0oRamSl0UNPH6dppudDbc6+3df/9aZ/2dvkYysbOphdhNpn/O3dncTOwAs7KDg/cd2LCs3rtfC+SZdtDQOHZoGDEqLPJzzmDhiFZVuac+HeJF55WlZsjUVrgmIOex6kOpqcQxKd0rPI6GCIXhMRS2jg3HJMGCGyKC0iCRAwkMQW0UmVOyIz4HjiOkP7PibGBKqNmH6sFbxbXoENky+mr6xlv0P9qxQGpvMKiLp5THYNODBiMwgUHxNFJiEoeN3jSrbPeKrbjchHU9te7pVicIWYPFVFCo5EoDHnTwQrPdsuk7hmp7eMs9Ah65Ip6aa4UcfYuKiCJlaLUbfdPhSJwKjS2jacYOGOt2sDk7EmgcJBTpexQnS80EupiBjR1liDbuKCB4wtY4siQ5wo+Fiz2zYSQwJ2EHPlMLZ9CrEfjMpER0tm5Db1BsICsymSppjeNrMcREGIKBSdxBxyBgKYlYGQwTFxmJQsARSERkZHIc0LAoFfEUqRVq7z1kFCySDA8qYllh8uKTcKUYbDmVRa1rTeGZ1cx3yaEkDzX08VZ2CTi7glGBfmgfDFuMQTJTkxIpHEBe6l/jz7pf4VcB+oYbIA2g8JjeVm9jXsKrAYEqDXoFsxCUvHNHI2lbKdrdmDgRnr+TUEr9BOKpUUUJU67NyFLiNmTjziAUesHvCreU/IlYBr7bENIX8pAHcqW41XHtaqGpniknbzu5I6OOmdzCpDLRzY8ckbiGiWpeVCe31HzzqCMnStHU5HgZlYSUJVPRSVIU+gXpY1rLRJ61Y5MkRMlWDZ+MkGsr9sBB/fMyI+MxDHt3Z11gB1hm8IbgnF8StrrWuuvMeNRSuh/KpSvFxWUPscosnakEqRXy/ROVynRbXldUK41Z6mPaMNcH4AkcELWeadt7tkCYks0UMnNNt8m6F+4FLi1A2h29bNnNwnXwjeuCYgBcX8JrQpmdl4eX1x73A+N1dDBBMkSOLQcx2M2dmC5kZjOFKQVLTUzbLhuIJ3Cgy7dpPgutk9YWRbbCgWtlNIJ8f0AYlKUg8Sc2wxlYPghLwZlAXomlSmkND4/EtrM7vdZ8IvIlGHfiakUT0nsC/Nq7Y3h5WYnO6FxDeCkdHHCWr4mWg8dUdDJjbPuiFJIWxW4TTV8xlUDgg6sE1n7sQpa80wnx8r3gpike9ZxeXdSDUj6o4f3uI8C9/7inT7wucSwRBum2ybaoVlqX9XezTd+AGWg/YR/Yzyz/+3IdvFDq5kYQydWEK8uL6/Jqs/+usIUAFPBINswWc5SFgysWG6EIQ2EuCXs/awJ2pQ5RKUMmMgUTBSMjMiI6B5tLzY6zvo0/9M5qQ9vaoyDVfpxQhsYpcRIqDnFCioagmFVqjOroIQuDEQjRKvJPfFKAfc7PzbjmsQv2Ro0xiboNsZ40DYzlMg38MARyCM70eJcRnpppziczuApGOQh7d7ojsONmr3HrtRVzELX2T6BXCJODZVUv7vG/awJrLsMpnOWt14xbTVyu7xqduub+BssdocOHYC651dHCI1aJTRdrklNWKHl24LB+yT614rFzBL0r1QJuKIb+0YnXL/fNiRPJQR2MhmI1OQQD6xWcBcLVtTzku7vLeODcKjkv/oBIxgObOSzvs95udJh6vblJEYNpupH9LjDMAAMASBiA9Pgl+0S4DZq4BTFxM9LGIUR1lUReAai2wgRfjcF8XAWRU+3apwhyBDCptsprMGlWFIgvwVsQ/EzJsHQDT80yOSSqQoO3sN+Bc8ai/HTgEHRzAOTUCtolBANv9eF00Sr+HEeQByZtUCBbi2UhTVoRvVcodGSYFDaw1TvSTfEMR8UlbpEe5GbI5pCUyW0Sw62SzUaATuiAtdR+oUXqTtH+16OVPHjslDfhU3n3hs81zhNMmXFlbmZbkNtSgG8C0ZaD2hD2NQSCv4BUAffl4GaZgkPIVm5FsjgGxzmNLC4mFlJLCAYtfThd2I+rbUSG77IM75nzmtBG3uiB2MbrqcP4TvE83jHx+FAJhE+V5AbWmiRgJqm8FByAOm6DP7kVEXIM/liMLsY5AT/tDCJKvQEZJXWQydus3ciR2zmgnbTIluTgZlncBpDXU3Ukld8bEqCrNiN/EAcgnlvhsG1BFKkN/C2dYRw0OgS1VN2/EAoJnlUp/1YAgGwIVn0RMOC7FIJ4EbeAkiNIhm19ENUw/GLbbVehctKK/JqHSbPsoKra4CPUjKaQ1Rkyq7hL66uw3m9EKGqjOTRpo6C8JbMhaE9s90cqtBq3pz3hZmxst31VO4Hb/E5x+GfTiK1q3DXx1q4Z7aBMzey/tyHjNjE8aZFW54J4M4ekqGqrxK/pR9ituUm2h4KB5lVWa90QfAPEDNovQEx7sDgAjp1s521A7k7JVaXI1EDo1PrhmehUR/a87/At/Hqj41egFmhxY+1iQNwNgmHQ9v0JgsBCWutJg9sYDrMQdGQrFP7bXMS9OS4iyCrAxvwvOxUDjsFbfZluNcAnviv0ILznR3S/g+RG9ztIvn+EAaxMt8JoAaF9T9chRD27r9+dU250LuawITi62o6mB9vU0ynq/Uvl3d33ogbz8WYbSC6zLcj+dJ1xk3mDevS1A6j/NIAqjKIuZ23r12BbwJYqYYs+EfKjT+E96h/hUb/tIKfjZ3AgllEz4oqbJ6Anc/1EoUd4lsazpSNnBG1T/PJVwv6Cv/JkMj0XbvYCGBkfcibnfawLOIPebSlNnMTPBw3ywUuehfwPp/b9djyOAEYay0o84hlTcZu9SWlBMuYPprHgs5vX/eML/1aR9FqsYpYseqqcWsKlfMz4oyrwZ6Vzuyp0qywq9eViitnIkp+2QamiG2DyRLs5CApWiEKZ9CUThQH8EKY4FqAZxB+lzNzdQyGvqW1qNIDJXSVHK49SgqdMhDGHpoBkQeGDublAz4IOFqr1uQZgyuFGxN6klj20YiarMoBDjdFs/n1caOnBRDZBbbXLuo83Ggdk0sJsMER2NTdbbfg5AGvMkuus0B41RXmjhy+2YrtnS+zxYMu2hkHa5+/5+/6Bf+gf+cf+iX/qn/le/9z3+RfZ/hthKXwvvcNY2NPC+8xzXVzxIXNefOCT87HXPZPb6rQICGnTKnwytacVrDmwA95Fpy5nnfOfbuddcNElPeaHerMsASLV5UfwAQCXx9vaqV7zBTPfJHedvRBJSFcfSzP//DLBvztV8O3BEie+tzm5crATzHRbMqajYP3HuO7unzNTAADo0ncbKQF7CgAAAIAHAL64Oz+5vlwdiesBs43t+ZJNfetigqGaGHlnSaa4BMK4+b3mgupLgi8EF2DL6y2cW7C7LwywurwwufKZbVU9Y5L0QfN36F9qw64W0re1YJ4R4MiHyO1uZA3c49/YMwYJHfA+qYEocE91wFKYrJtFbiVfZi3kHHxTgf0DhsfVPLVWJKsH19KwKT+Fv+gU4klhBmu7lnR/iUqJJIWXJatde7kPEWxF93dyQL4jz4KZ86B4W13/tX0EBWz1LWkNFA39fpLIdSgy2ANcSv1SXuTUX6IaOIl8tJZGeNtoXiqcXPmuL5ltp/Z8uTpjusULQGVStpx1i3nIQ9akPVQSEEGPd+KlW1ktRg5K7pqjP6sFT1hrJM/TAPaiSR4JU9zt21vlRaKvXwqECAhcBsUOdPZ15q73qUiMCnFSECt2dY+r+QcEQ/BF9V3+GmwHbHlZNJgL26W8q7aLQauR0S4YrtW3Si0c3Be6utPkJFbAbJ6Nd0jfCMCRD2EfBnd2MdO6BkhlFyMdDKlPGkifAWC9WgdKs+lL3UgxPJ9l8E54CfXF3eji6lu8gi4m2EN5/PfIi0PrePlRCmlsbrdELT1IoQPpoyhMZWj/Kbw9HcQWDwS183+SrFPjEYimgH1cHexNqIYZJGp4dNkmd/Kl3A5kUNAb+hOZWiQtpSjzPW02P67jH2jlRs6iJVjHccVd+MYgOhEmW32LU+xAWkDHr4IvyF3GINedCD68vUJDIKfgEbFaGGu9PxNbx2XdAWB1J6o7sKN7K0D8XwdTowzBBES8GIAQNvVVBUzGxQTDuaQ1WanhfTAA6FjIgLvzOjSNvE9wAbTbKPnyVH+PdYfZHRBUdwI69Z0M6uBh0KtvqQWHHoJvqjeQV+Eoyi2EfIjAwLJsbtX6jZJ62EYaK0b2LccJtEKGi0AjWCR1G2Asc9BzIjC/+CWgww+AGN36MLem4rkJWHrGA9pdcrnbWU5zzpqlo0G203uds85aVNqlzRVroItV1h0z3KK0FdWTUKhFV/wJBJXPtDHlql0SEYUr92wxQ7e6NwvomPBb871W13dWR9nEJYvWmy6Ol9dvFiRYm9ecdcXwLjZYv3VWz5H84a2xat2wuF1hJGXrHY/XbcO4SyUDm+E5FMNi2ADVkR8Bj+z1a84GctepHuplzuINOGUFeFQ+QB9Z8HW5rumt2ZtD9Tzgsrlh4dbmJRlul9qS2R0Z0+llSYZK3LkG168/7vNaA65D6wrWjfaNVdL6c3Y8XXLZJU31/OaKFCnYsnKLW/N3Nwv4AO84fd7q+tXq6CIj2bx26Rovr3sXZMPavBrWFcM7Gqzfuqlnnn/YN1atuxa3iDE87VvE5DHRVgvNVnSUUtMyaEEz3dOfzRuD45NUC80opHMOBqgXpA5lx+KMogk69dtz8qbf5p21QNn0y+xe//LEeL2Z/TW+gORuJ4PVwzcTHARpksbI5vlWyV1qA2jkAAk30dK0MyBjMcOv7WifLxctDtt3XcuD89/WSTnvmsf2bbZuJepP7tcRZVX6kKJTwmr/9ist276wIvagPEGVGBN7Azv00B1AP7sD+l4O7hEJoYZqUaJwd3eMCz42VvopBMsj3taocN8/+wXMJ/xYwvUpJv7G/n3GdaZKtIDeGpvsdtRl9xpCFtm3NtOwsPnYTNqUTNeYxzfR6Z3gpKe6AE5QBlWjBehnzO+Yx5iX5MPyqIKFybBMLA+r4D/Pf5f/Nf93vpB1lI3gQtyIF+I1glcEF/si/Sixoeu7rn1dEs7bnMgASgpIHekkS8i67te7P+n+qRvnvsh9n/sV92fuiYGzg4XUzp5C3vRQOWvhGW+fcWpoZCimFNJ6etOZP5558Myi+Pfiv4w/Ev+PslPZr5xQUumdbM6wM/wUnvnnu7N+QbmCi+1l+UV16bpgF+pSvUIT/tX6qrqWXBVX823JTX0LvNFvolvBrfLWctPdnBRT7jxv73nilOAE4G89v23iwsTgZN0FKy44PP34ZMdk3+T4ZGKTlVAuzBRuv3Bs08zmDaJFvWt6t/Xu6n029e3Ufak/pv61+czm3s2jm5fB/8TW9mPt0fZl9gb7XfYH7GftL9h/5YBz4DjkOEw7nHa45HDH4ZUjwhHnyHbMdlQ66h3bHQcdpx1PO151vO+EdKI6zTj9LPtPbu2sd25y3uNi5RLlkuVS4nLcZdHlC9dw1yRXsivfVeZa5mpwPea65HrLLc6N4JbqluNW4rbkdsvd9R5UW9WF6jnqVHWuWq2uV3+rPqpu03A1TVpG+6B2Rpele0N3XU/o1+vfGGSGBiPPmG1syViYsT+jOeNsxkDGREbiUpZJasowuU1lprmmNJPUVG6qN71govQxkwfJgRRBKiEGSAekF7IfcgSyALkGuQ95A/k581+zFdQC6guNgCZBiVAeVArVQBugO6H7oDPQRehN6ONXf+310/od8XvJt2WN5ZGVZ620Cq2l1h9sm+wwu9dOsfPsuXalvdputP/g0DncjkqH0KFw6B3tjvccvzqaHZ2OXseQE3EqnG6n10l3ip1qZ4PzA+cB52/OXueEM309XEaX21XrEroKXFrXpKvddc01cwMn25F9V3Zr9unsnuyR7OiNuFvo1rud7hJ3nVvoLnDvcrfn8HLuzbmWE7+5Nnc+j8hz523J03vwnlzPMRajXaL9o3Oia6MvxQTFpMUchNvClfAJhC3CDhGNICHKEeOIS4gniG8QvxdZxJrHeseGxSbGkmJ5sXmxpbH1sd2xo7FHYm/Gvon9vdg6ThZ3N+5l3Pdxf5SsjefHe8QHxMfEE+NF8YXxU/Gn4hfjLzd084QmBCcYE2YSnicmJA4knkv8Psk9KT+g+PuBbavf58RVAeo+1WOqF1RvqT5Rd2LnYLsr+ismK45UiCpk9BrtotPtz9QfY8+xT9SEOa/0MCf5r/k/7tlZJWO/lfvR3mPVVe43ea/y3ux9fO+nD56NohW8AQ7IBQh4AcBhtD7pgkP+lglLsj6pIoUyEdbrwVACfpIhBxyJOgWDSAgh08C8+WH881tIXK/mJYKe1ou/1C3XNFiIkT7jXtyspyEkTJQxBVhxS4XeTZKEmoi7+/+oTeUQXtJsrYEEVrmG1gWGKsQRB5BMW1hgLjR7J01QKZ38azJiJiuzrcQcXw0ew7iGKGApvYfWU+ZcBoRIBWp8Mhlz2ZUlExCIkupHQPIdxASAYVdBgcAkmhSBFrn7uRwAkUmD6acZiin+ELfhlbxOFcnYhOUsEb/7+nufhGeXcGkdEJ8iefEYx2ocU9C2KlwkDrzkO1G9+tKVKObEbNCojNSzYIEmvQJwrJexGd9drDxzsVE/LIG7zVaPJxxYbujPCt7js9vdpnm85X9b9z7CrwicV/D3OtbVKinnZ/49DeelkvgKgQIbzlcn0lRlnPelPok/cnPYUYya/ZkhSX01YCv1oG+Be6G7gUN5xLPIXVZxoo4CGQNv8E0I3MSx02qQd936TC/zLSbUeHZ/3gnZPiqJp5JlKlk0xaK4Ch7m42ME02WT6ih43NCtg6UDGwf5RqGoIeUi3PaBs9AP2SWshB2ZjIkmW9ns2dMcAseD3u+5NxX7JqI6BYuqOsHtqnO4XfcGSlNwS4JFUiD6e4o7GEjK6bOtZkAWqy6bx8G9A77N9IRjrGfghYHypiQ8GnfONyXgugqjWU+TPM3iGIbpuY8xCMFrczw+z0t5P8JsURxeciYDx4Gtj2BNN4DLbmRP07bTtfotZrGhZ7MUrAM216BQNbs1nOTjdpXKqR5qssuTaphE2KCiyGUhFGDuE4JPy9thIeRBbZ5qiKIajNfdAqWHWCMFYTIRHBROTTs2ed69Ef+kmP2EzLquupCLWBBFUr3HWYohZuupvaSORaQrMy1//SsNiZmzqj1LgWWmH/QB459hfpeHLtt3JTIv8fX5PI9YaVHoiY8j5RFPVnXJgIfknSRx2syD8Pw13Td9JPZ/5u4rNz9JIAdfQgLt6omaPQ0nhXv3xdOV1r5c8E/Nq5BllTMm3j+ZKO8nDMX7O7OKt4q5Zc0rrWbxlPQs+zjL2oRxu9qsnGEapYGLJB0Ebs6SuOfk9KHpuw2M3ac/27tzqlBuaPsW4j+tl2npaglr4a6MdazFUcaeO9NAkgzq+H40oNgddr6vgGTuKW0qX26e78LstIeZ0wYRbOzPfY1GMwjEXevql+0Bb69IU+77tiD7D6EVOs7oZceiAcywJKNojmx1vzEqUdrbU8dVARem5dFZ3thhQ9Wp1JTwBrtPKhWqgdl0w2lRHCAbOTO1QjZrei7P4OLeitalKK+C9KQfHtl7Lhz+knFMgjUZiZqsOQPTrXKmulE98LaXWOX3AXt3du18cuP/0C485QPfFbI9/9FNDFJyAzwnVBeentzxB3Mo2ZeGPm87JFPA0nqWo9dxlxzVrZCJQASh0V0dXNPY0BeC7t30wBo9wik5bzej4f2O4fH2MVd4/2BivFqmhncTo6octhrNY+6u+m0NWKAgLSJlpUEHufGBgs1om9wEryTio2QwSK4KITWf1yADrSaWddBIcCTJjJXjM2dN8hGKOdvt2Ogj2GJLfr5+OYMSNjSWD/gQm8ReoABqnBEXnYE4SZ9bSdyUKExt8ux1VDzfEtxzj6BuVtRwsu/adps2LBpETDUyRlce+JDq2x/mrN00rpTUX8XHrpo6DvryXELb//3I4++/0TwE/J4ooUK1xwVRAt/URg5ESZTmqH91pcsj92m/leV1JCIGP0taQaQiVESNC1HA35S8FtQFIR1Y8Cp6CAR6QKJjUc++k50GoKtXxcDBfhtb0XCRoaBC414+GLgqTKZVIlJeeqo+HQAQvIbDE/D6IqDH4yXBmQdCq1woSeDnN67ihfirX6Pb4lTK0ZS4UmdzOa7c+LZGb6+J1Iaqq/w4gBuSuZ7JEFdgckIuF3xKWJnMjkrZ8jIbysBXLlMcu6scNI4FBg1Q45PerRFS4D8MuETU1RAvrgk56EOTzc4rqJQrZSPGDGvurEqil1Zae660I8vmi4VqhK9xpT0o2gZAgOyPFEsNKURoTcooykUlfCOZl0nkGLIG11HErjIHlTuxgde64lCbW0piULIn4aF+uy7XLEe6NKiaa4AEjCOUPYxm/V4Odm5SCvJpQd9uIdhh85788aq+X8NyWHEIlsfT8ObeeCiYrbEgKtsIVFSoOL9YpHB2H/e57InB4kNJ0LKKiqJqNMPNyyGin9GWm5lQCH5xMu5Js/CaihMoO1REBC+fsXgr3FZHWUkb/evp3/3QZvSXW/aaFCuq8hPm+8gd+YE3ZhdDAM4jMxIcuOJbya0dxSsGJTGH2Y19PcgZnRJPaevTAfsaCbCxypl83v+Yqsr9ViN5FgxXHZ4PN8HajGG8wVIGoyMsjRowlGY3lS7EVoTjjg8U87P0wUkJFkWD6d9T7FgTWCSoOEs9V/guQ8aS85d7+V6EmtoMOpV0FpYUaaln3qgjUnr4bb4+MSxKrygdj1zy7dEfmQJiH28ImwPCP+DC6N5ErQhcmSTlk0rFeuDxCghVr9r6ItBTcwoyrHJmhpfHJHiPMTreTxkB7/+Za7zfMXMaLXHh4cZyxpYGzNRvGJoztWteb7Udj+XSsm8zrE0YDVy0UKxUxHricIXos3bsq48GYJfXZtlcA5YygCBENrJoRdZHSt6o0UolO5RVkcZw0X1QoXBc3E8a/IcSDsLQyyXHnEyIJEUNd1e5Yu3vO0wT/q8JEkWRoLNmDbUUyszsPA6USpFH7qoHt8duMrU4DZOp2OL/ra+vc2K9DQ7wQJONF+PDQncVUm+/TE+vmN4pwHerL67DMBfdYw1QPkjh8YwuGddG9Ord9L2xQau21Di/1wHNRc3g6c0O7xroYSw/YvYGKgGnUg761lm8znIijYGmu2dwvgUx2HDvpBpkkIcWmVMSafuc2VJow4D4iv0k5UCTEoVPAjqWn4RFsB52fmFbb3v0UuzCT9Vx5/6shbzbq0H0YSf/8otxave5GBxcr4mpGYf/el/lQ5abKdg6otUKvaDdH4qhrlhjeJYkYYhi2T1X/dUF3VIzuBqjtcAbdBMWHzSWbq58wjZCkgiws2ZVEIig9jjYdlP058zY4KNSUgX0bIVH9OSAcghdoPX6RBPhcrHw0eDEbnthgwN5VCeqftsAd8PTNuYeXu5ve0NdGj3VlkMa5jZEFZTRhjsWtR3WGZdY6AHfMR0k1OosUdvP5g1vYmdrgU43IEgsi+OOAyJKW3pSzKCjpNQrzJQQkwkjMCz7UZfAL1Tr8MsuwymbvS2dbyF+lpPTvdqtAvX5HttcFvqrGKxq2MvGDHNjXXXS5lT8j54p4yuLQlWCvOxU2akWDQvZ3GFpmxi4+ZgUJZorA43TtJw8Cxad6g7HUMOKpzzQF640siYsB11krg72zag5X39yIKe8fBE3wucZWYDym81HguOrccWjPl55AjhI2I5jpDE/TLvPsPz4/5m7UQBy7r8U1PH7K1fA8qaAIlpVdfrLkIuqTUB2rSewD2rCnMOZlpmALrVvPAwDshAEpnsa3rjnHRy7siOshpmUkPnZN0IrPoInx/P0jQdunMw1bbXGsKQWJJ6GLlkEgXI0PsS9jEOxsDjJxbFszsfUcFAifuiVguvXErVVYSjQptpnPCRnLvG+yIzyHmCCvKPMbF43M/0bZh9jxnhvMGWV2VZEPbr2ZS8MWZsw4kY/gx1lv2UAKGe8pDR1jQvr/YvOykXPodYrGIrkl6rISgu0ro6vrLNi8FGktVONf8lGSk++3KJZzzynxqmQxYe/9pBYNoALzSVO56wKtEfuk3Hfnbg3jtpYCHdqu7sHWnJ9esjjtDvwEOa2j/flG9Oda9HacKfRsBKbQdKLSs9wLxCh4Hx9dZgGWZF8+5jH4lRZGbWA5dL6cpfUMKysfY9GU3pBqsXdkYlODf5lFakiSuqx2hOKZwUo2rqW9z9WBWJHCotLytvVGGCiZewbag1LobA9WE1TmKyjdEvy8wJvFTjXfIuo7BYGreGAN7e53RZW5h5OyvxlZXxrPf06ncBUvmmohBm627qHGVoNG3PSlUVBhBUvUBsdAYdFfgaECGB5WndQAEA9bDjBKGuk0PIS09yhhbqmSJfBuqFb2KRUopanZx095LLYT9eH6rtVJFKBKBw5fpMPNToh1FpCIatOGH/1mUjWUSLuIbdZu1w83+gqnmJGbgzn1/DiwJecypUxDK+4ZFbumT1oJyTkbHv3PWXz7N5UkYWQhs7dOspxcWTRX4m43RULrdMx1kq1jRzedZ3xpIjONYcdO2kjaVqgu68ZCHDCcSUiAO43A8RoZLwkOuerrIvdjw8Qc/6sUkGwcPhA7gSkVrEXJDgNfLDFgDC+G/+wh3o+6C94xfZTuzHAcY5jLNYiR4Aur8bnY2d10zvav6YJaEWntg+CBRISy3NB66P06Q7TzeiZQnCq6Hue7jAFlR7rHuZ6kzugFFYvLVcu32AVZZtctfoR888NmG7ioSz3mQWoRQ+HYUQ8bv+HO5VsqlAOoR238islVTGFmOZmCZCraRXJTtJtqUxw0XuD/RRsbCGFCDjRG8pEXA4A3qZPf2geOLw1RhykVe/PM4IPbzWPBPcNp+LYauSgU8bMJnUYHxt0AW9G2iweSxearKBhNzyTKRnrcsRpOGrDBgLCFts4Ztg4bihJwy6bLenIKTkjpwtk1CjpxvidPFqVV2Bof6FIx5ZmqKt5CJLiy7bTbUQikq6EbkC6suCFsH6cNSNbipFUX0U7Y55yhIW8UlzHnbexbtBrVUw/jCXmiqm0f81unIb2pbqWiM827/qLY4U7aEhoRvdKxdDOlRwk5HBBevFLpClgr1kRXnJZprynZw8pf5BBGTjve1TY7kyKSjf4qqCUCNgCKZc9cETi946uLvtp/8gU84one54vgyDG69TtoVVWdKHV5kF9KF6XRS4LeSM+FByugWCuVc78x9vP3IBUwRGKOvxgOh8KC5q4Oqyc4TXDpll00SeJQuWKMcz4GzBjjcrhN/g3WT7asYTSiRw3lv9gSCyCIcu0OK89O+BYYDTcZqeAG0mlWM+JyAWExsIZEiOd71yy1YdjkhQXndlmOU6b8Ozp8VybJ0bAjHMRJFHJhRwuVK6nZuVxbUfflYLmZ29UTedsyxV5IzxZhTJjVUjyOT+MzDBOD5fqd7AD3heeP8yaN1thWY5OfVTFDw8CcLzptiHEHzfg9+HeGK8vI6siYkxIcc9aD/HFYrO4pYhtjsYM4VzXmCSD6yGWNB0MdtgtpTExjy5LzraelHNePRFedmO6aE9cxE4K2sNG2v8qGYkk4H8uoqg0zzfkUpNcPuc3Gm94ILivuLmJp7RHNjJ7MNve91Ebtm1R1Jg9SkQrffSTgg4V6n8XHb7SO28N3p+PSe9HipxA+X0w6uejcYB/w5S80VewGB5wZPl/ynXA6HYvs3xqMzqO0KjttCtYbV+xLQ/DZNFibNnhIDoJrRJM6Nwe28p+QzOCINhM1cCEBi/8X3lSNKQVcLS2N0XNFVFbUfAKsjFz9w2i2boPrtJm5WoEqJ/tjCThr+26dkA41vHfbbUcSGY4KqJVI082TUcqw2w/c4JT8hrZUjUSaisrDviwZfsgeHqQCDWHZgxW3k+tTL+6j0fzB/tdXkFN/8DZbEzS8NcJQD261QSyxhCxMvZiONYO4Seti515Wayx7GIx845eLA1m5TozPwmNV6NwpBZTFMOQSeFkGZRULggyIh1Mnnny4hFNlQ8eMrxV98C8jfKnqZLpzAUleqqkbc1q4h+BrvSwYQ0Hs0jlzHxZ00/3r884vjxdDYtAgBwMw/s5YXpqGHdPy2ghmWuNApw+AncIxSoOipMmRsxHasXNRQnmJyefFhxhDfBgPj44UjQgh8WwudWSlHbCEhU1VKt9W58lN6tCcSzTrw6GXcFsR4pj7m4szQk0F4R+yCwBu17RUGnbY9MQdVV/iAqGf6M/FT3SPe+nviCcRVw6bYndZTbvu/TrUle5yrAmfUMTY9tFVyYHqybxKljaeuTJoelYTaaWNjJ59ASnZbHZgcaxu/P9k+Dh/grTGVi4vQDZe2R/VF3eC0thbdIaVuBqlpMhoZHGUmq+IXuN4xgeypxVmZtmH6wpYiuoSyNDLFyRWMRiiJRIhM/pQHkxlTaZlvz2oqIpk46lgoVnIL1ktdt2Aw/j0ls/wjd2VktA84g5qNNsQdRz3P3OLvkIcDm6Q5O9fhJrnD0wDVxqcmGHKcwzuHRPzWK2joMoTa6Lw9tYNM+6sEnOe4CR8l5ghnl/ZRZUrrEa2OMcXvbLOmsTxui6ao2+ytJGciiFSvnGV3ryT74eM37CRWMG+1VDQtPFxXyTdhXVnziyI95ONvDSgv4hele1YLIpTmEUGi/uOecRkyyP91HA+660P8dCLggBCV+JYxZHJ+O58KUpJClGusKVE6pLjR1+NOyEhnIFPV2Bk+ZIw1gh1uefk6UZD1cjeuZoWeYjk72ZbHgUI+V5H3YVsxw+Iap7oDl3dogTvpUXpub+7nzVuZfZhglotNKUkUHXvoZg4hwKVJR6b541HauL6QUXYd4f9r6JWm8sRcIxf0gNI9HHe6W7QwcZbNRLtXVdfufJd+p0aqfbYjkglmCmUuvT6daeI+PNZbEzt3XYKpHB5C2fci3OiMt2hmoRSjjsYq4jd2xkMvQEp4mfs6wA+k3b4Sn05dNoX4txgpexqpbmU4KORxOB4PDN8kY7IRfmh+VnAnOtq7m51WgL+rzt7nD0rA1uCy8kT6fDEAJSoxYfp2BRcUPAsIUN8olPonQu72Yi5uARUMWM0VHxPtfCDUjwCiX8JowmI1AJTDECrMyHHFXEunZTksCY5ckLsP1/KxCZoW4/mhDofHrQebVe+C71TXElvTqhH2KguduX8l3Dnaj+RxOD7PCknLeYEfOeZAjeBHOB9xJTyvs4I2xEAJtiJ7peY9MELPLPt+lNwHcz8Uh2maa14reghax5M9n73RWe3jKChFo3hIHbEoxDfewU65ZpX4CCvnG8y3IeHxhDurBU1GZTPsCwwfDUTb1dxrIFW/RZwO2ivo6CBXLLop+UqzgVJEJ2wI8OmfWPmoSxVCCL4a5ZCEQja0Jqnnt4a3p9v+btFITcoTaarXb3PeDIx0txGWNCvqhF/bXQRlpsDyNvbW7y+cKNQQZvgYfXyJ7962QZE5I7nAE6QbJ0/bdgSY9Ldz1uDbEuAoY2lvJ6WmVaebM9hta2HgxgBTwVsr84+MLlcPjrI7FhfxjHfF7cawz6pH+RmPaeRI/75eHQKRsBrklOD1Y7okCWT6fZVsirVQQNF9ruM+5dEr+6J249rhahqwlptn4JIuVK6JSyqeBgUc/OJ6qVqE66aa+M1qs16uLZG1goecEYlx01mVvHAucCYqJIipzW7qSacbP1Y4HJdpilXJkCy/emsHFzTkuDBBR9cVU+8Yw6BqIfPiV4D9wZJWG4J2cUjYKkAGEt+9JtmOxRYA3vPKKaKVyVwpoE1myPFWUqWOPFHiuEtXJehHHQnQVIkA5W/B1qYE2bwdeNhwzLwTrwUk2D6TgQvOAlRy7AqMRsFhuLd2TaxNsKNgu88L9zUuFYV2CWzUnswoEiaoY6dXmbEdWxy5yOWl9SX36db1WMc/2Zc1dwMF3o7mFqK7DJu02WNAJahS87fFl7kJiY4X/DPDf6NWupSQ3jC8ODR3MZNoXj8kb6ShomehAE8Z8+SD1ZI0br+sHKGT7vAHOV9y+mtnKLFQtP1rllf95qbcKoG422cZK72sQbiTEQHWLMVGeapX0qwFi+F0ZgMTwYsuRi+91XaMGwrVCYdjEyIUCLNaYFbQW4fGX2CG5u15wsgNvBw5VamAzQmMSWoG2HAS+Qp0ad85KgWgniYHOP5e052rDFej2zW7n87TBGYwYu2zcGM5dCpFzJJB/9rfnKxRrOXMPS0n28nUi4drFez+ywhssLyEa1MSBBq7zN23J440WpVN6ZcJ2gaKTLcOMdQUwgoAqI0OPxZFS+QMipT8BajbQoVABufxhf2O+2bGZZlFCtAb92Ge65YCuV4a3KPqLHSqf7HKYpkntIEd445vDnU29V9f8F1sD9RGcvO6RWf2RtOSuYm58Oilt9yfxAcuOwzTGTuZ5YKcVf02o5YiBX9kKkiGXpjyv+eSXJxquD/6u0frdRyUYwnlyUsymxKHp3yms3O7AE3WhilSuvWqxqFCt6tsm49wx+qj4Y1Pf5emY8M9iOY14uM4IzPbtultgul4Ci5a/sitoa7DUNw2S5Xk2o2JwcE8VQx8bqAMGJjanRlH19uYiT15kdsRcUlHmPG9iYP3yhIt4QLC4QdlK/VJ37F2yG3QbbU5gmlguf0nUL+UZsojBHAhcIu82PtSkzB1HtC0taE3qgk4NX1nzOwVc4w6mjGxMIoYoMVIVKNldoNqY9BddwYdcidLc/OlSwueK3zjVxDo7tRdyLNTA4VHjPc7XmBmdJfVQyvNzkZYdTGleSLmnVxAzloM1FyxiIisNPlNLCGWP1xFQCOp2qogKuGAMjH6ceQsycV8xhxwo9Pljcs/EuXw9fpxKHvUCZXhPEcUmS1lPdTeLckantxlxLRNDhLdrqY9UgvNLag1+U9IMR1+o1JQ8JNms8uK594GOLgguz6OSH6SVTpIxK2XyAnkGv04CiDuQ2jpCaxI2QkLLSkwWS2c1EqD/3EE1TWhQA9WS5i3CY0oIC1NZ8k4w8L9dpaehT/2RPEn+zs9tsn1CIFgrBZ1kpURbCNdyWExLMJn81xexPfTVp2Z1um9Xw7pPNNO9TTIZRNXUgs7B5NeqNV4FOgsETpDRIVYaFozpJ4qif8DN4PGeTpVG3Z4QhSpiQN6qE+XCPntlVU+2JBq/wpqDb8EiWJNnz5pMkkiUTOZWxnnC5bpopkvdz61GFAZ7WeYLVcqzEhuT0OSb4EgHVyKIEkqtEKGvfnlkwlwg1E/6W2ocq4beiWNOXaJGyZCUwaKlWqHwtFmogx0ESxVokoq/nIGJiZYVR3+eDXydQRMPSn5JNFXLUsscd9xR750mpJ2zTz3XWKmfUvBgz2cxVmkXX96DQ+VQoK5oKPJjA38IWhY0Y0ID9Z8s8l+udUZcXHaS5eOV//HBCkvuMY6xQCE2LaeSXURXq96tMerVOKVntVSNipI6iKBLDQNHvlkhSNOQMCWzfDPwNC3kVHstFdZwtZAN3HK9MQuS/nrEuH7Oe9G3+/pkikyrHxEr/4j/9jXtwpg1HaqhY8xpcS7oHzDxsleao3R7Xdt8njdipOSXNq1Z3jy2Vm894GG5QElv8LFRXNXDiTyFfNKCU7ZfpOGGu3Z41qoJoP1+mYFZzjKpONVoZ7Lo6LNRYXLXqDV+EgjJhjySKZDwUisWSDWi1xT4cdcdrJdcdFnFiRc/CrOoo5P42qT34kvD+0aSgMJwl5+1gFJXQirjHPVrV/Xeognn/p4jO8M2mijjXfg94K27mufg9+9zuipxOuhKdq4sOqoi/gq1wpPVmH/e92P/q4cySiUCK/9NwHzT0M4yhvnCKec5s8avg2m9YN2jGMl2Z/XtQLSjIt794mcNiXbimMFKwJQpZOLLy7wR3vmw/QSjnqNrId59e5/7UeJvFCizXJh593WADrIKEQrTkbQCo4/EA1WUzea73Rj1+3wDJxr3/KbU3TFYJDrgol3xNLVRYrX/7uM+UD8ZirvfFBKOT7jzFu9hnzilQhW32ejxZamlWQf61vWjjDGfoR9EXryTAH13B9CqUkBASt7sZAdGTq+X9XpRBis9jMSpWdY3AiUyHQ/YMIlpn3cPwaOnkSWq1BkF4lHq6sKYZfaMQeLojaCWPLqyCSr0VwrE9rqUUsEY969CPJvX6ecpjs94zpad/1HO70wld4sz9B85X2sz1FwmFgjgKQIggECIoDNdVJGK3vmWneABv0ZyEN8ZIlUIFww2aNImf6tptHMKt1cP9p+rKZ6AAvASV7W39iiHKOudKuuYQxcx4SxHscEinBoGjqPS2K+30VGMks9DXWNPZjiiqumcLordz6LDl11m6iszlQObZvfRh1ec4fWGxGZPK2QYYpNILCgvz9OypdMrAH/n89mPsgeVgC8JwO+zO53Fdi+fZKr3SRRmyi4rmxyjgX+2KysTLDxZ4ZPFut9VTqhbXwZS99MzGKw56JSDyrcm+6bzrgJAcCiF5OBclQqHJug0977rLEAEODl9W1lzfVL61gBP7BNl7WEnBxVHiXnwpU0YOBXHm8qTMRysCAW2uKlY5RcmS7/ZvBTH7cWNEf3h40x0jiQNxJnIiacuR45sz8lTbBQAluvDxQ8G5xwprJFbhlZmbmwsrjtksInhM8ujzFqFF1f2Wz9M3oLGtpkBrCjvh5ZeOjcv9eyOj8CW+Wd+XvDCrMMqz8/mdWahxX/3XRHYhrIBtLxk7n99sTaRdIJR4iWZZrXb7/bQLhxLghlnz8ZbMavOlDFh+by8tXWk/XJcq2hwfcFWcOXg1eC1i20fw9gUTOd/P213t86N0tC16GDjPPnecPokGn47Uv7btJhMY8Nx2M+PxRwFFNLIXFH2YrTd+NQ96rbAONS0FcKrVmYUek1GKBAphq0Et2TmZmjdZqqqHZZYcsTi8a0fQcSPSWeziHXjh4peFQt9gH4kk7FNIMorrozOECaTZ55wvV4LQau/QxrFJaZieduet/oQrFM4Wo/6yyq/8dhok0XKst9+1jINUhSXbOY6PUoKzJCkbcJrcDT3Edzcf/uLvJWGecZtyzeedhn+eBFYbiFOeE7o8XTsT1jRtQafQfmiaTWzmysV1S5btbrd+1sfsvtLSrSvcCtvMvF6lMGKqvo6rXekrwZK+V24EkdbfONZDBQZLoNoLJQmnw4J+HH3xl3czT63ON/z+z44SC+KBaWxxL/hwlytXjlsuMcZRjSw2F4R/TMGDTC72cGSZwnHWFWcvmbNuLHPo5C8gXOrfZTRyw5xl+p/i9IgsL7e5wmhdxxYh08eRgX/fwtymPL2o+X2GYFTMKJMguAArOobqjawoL/YTjZDshxhbXQ2CxTVvd5ljYk/g6x+qCytvGc8PabKsYdx8AJyzGwIOWTgJEv+n0pMCUDh4+q+K07BwZckFWAfBk1MRlSaCECIYhCikfh39sWDMOuZ0/ptBg3Hq5yML2EhBcT8HqxO8chaO5CJIGowFES+2vmvuzGOorhAdvXGX4UEBinhFqU1OJ3gUnZtrAgeLRB5vUjDhNmHUYOy6O0InrgBrJTFNdimVEnuFubDGrDKZBK6ywrKzcqK0+UTwiWITFkoYTpCq68ZTefZ+uwIWPnzaBw1/jGiMs9aUXIRTnJenwhvj2Eq9zmh3+4RCQXqztW/IscrBxyArf202+3d37OrmiioLtWgojI3LVbiHKuZK2CWOYhgL+oaMpyxHXEvA4ZZCX9s6UW/kJPOYZy0U5GNgYuos3Akv2My6XOdqM16RWXvIrjoogXSv60b3SXpLnp0yFFmzmcyLjcTV0PpsBZhOIinSlNnUHIX6IuZDmBASM0KwiuOFfkc5au2JydS5+iyZuQ9FYXpqliMVMgggkjW21Eg+zHLy+uweNZwsbx/XHWE6PjawR7Rbc+z8G75XgJ7MrsrQ0NDPNgveZ6+pPmA19EGvt8ZBvbUQVKvHlxIsSdEibZSDnKUy00+WHxf3rjW0YYhq3K0T5B6Ew6QR5khksKRNCMaTnAwjuGIZgy7A1u4Gvgs2e4jZ8pYuVJpeKxNJXA7nKSHoCsk+TGDIyee3dXVrgWnXo+xL0cMvbvx8T3shuwE9VBMENdrMdfhZ5Jc3thoqNYbd2eMyuDr8ZDSOur9cM97kiZ8VyLy96Z5/Y9DL6Fpz/ULDFxVeldJoq7Jri8GVR8CrpaYg4uFpYTDXeEOJNpNWHUZf0s7S9QZvDOdUsRps9h5mlYrOr7SqoSI7P7C2op8MULZuIahTFIg4fRyzjxvsa/P5iBxifh4u9kFobnnbiG8l2ML8RdrNCgNpZd7vEKqS5uk2SoXalEBhA1lm5rC7uNkhMo3RJCO9b3gUXjdxms0JeMTjEPfNt9QoMTMEJ+8gvWuVerVajtp0Ql2myrVFXphnhf5eoppyCRjbWZcEtTYQxZ42C8iL4Ai1gqBx6cTUUoigaPFucMkjj9Il/lYboy9W7IJVf1p6Yi09HJtMss/2nkBIJdT2B0JODifW1kbcwqCIg3lpDfZyqJrHDq7bxaSMT0hMMHw3i07rmOEgVn3chWXLWoljvabKaNpm/OACOIzebpFTsJF1zbgQ0eeqh7zsXOzPKaGPzhaMXEcn4aCaL3fMC0KrZY4PjkKq61YKUioHKaiPjJWxUHNI+1tMBhPijD2VShuFuHPOPS4aDf6kdnQg4UkfzjdkYGG904RNwhPwSaZ8CJEqg+msOTl2KcZLMCHTGua32Xx1EaxlhOlm4bEpZMh/uAirmmQkxxc2nmRCR2VL6zmOgE6JRCRZ50r1eEvBFdJI42qULWTQaKfBcvWkDDzzt2ei2DPGY2NMFsMz4k5jekyfu7pIKfuCnrlq1E4v049xNtpA0UDozp9ftv4/MWiw8dLYVZZAyHozxKw8rhGJe9YzljynbDOHUk3CbDtuFRmmYo6t6RLXchCzwqJEbTX2SiTiLIpItVqdRrXVFadWpzqtSmO0a4n9FAsH9264REak42zZDMuNZRsyc25VKLioxhmmjo7W1OHmhvvgGYfqk3FJe/muvGaQakRb4jgnVumOKx2KXzaY5uT8Xmi39kbzaCinEHGTaZfJdGpjj1xu716a10OQ/G95tOGNy3ZXEwbaiSjHLMOSgALpMlNWOwz+eiCe0tGb6hUX71nJpPttWlaZ/IoLVcPB9Op+kX7IaLRiPsNSuHmAcfSEeWGTg6Hn5ZdcHlpbVAe8Kw6cGHUuqN+cPXjfs4Yf5CSEnfFVbJCFr8qTfVXdw4PRRh12OZvkEYjh06Q/mG0mhB94VKNJxvvWpcHQojtcGvZ6fDWohpUZQ3JrRFlh2eIkbV3CetI9nqsKm+ElC/bTPf0F+HusbUogN7WAtQygs8yMhH/OIeYfEswk04ByOBF+a4aQ5wrThKBPn4ASW9unyJaJQJDOkpYAQkAFtmnV5c4B8GSPr2t8qE/Dgjsp2NACLehvGlep/D6o0SwwmhaoxaBfHHlRTp1585L2u7euzOd/lWRTU88e+UWnW8dfIICIIsHthIDR7yeV0hq+NjqH7yht42uh8/mO03y+y7ToAjumKAOK/dC7Qzo0TwbAANs7YPwCcK7T0IEiQYbx4yimFfl8vRcHwcqBjtArA5J7unIA/m+UtBS20k37i4V+6BX+tywUop+sRbi1oh4QwDY23eGRXVgDm7P2m/W3NJNWGkom/0LRRHAwXrqwI26v+XpXJr2+74duI4HOS74U67dP/N4ciry47MaCcJvymN7PJGhOSkdpy9wOHcf1btWYtMxBq16/5aqmLRu7P/hAo+CGzf8Y1erMosFuQYfaGFstQpobyaFJNxiZ6lm4l/ZTY1+OneK5XXlaXwXJSIfnguuWBaFjmpQr7ux5v3zt86WKUmkv+tmSe7D70L9+2fgfSo/st32bLTZuqHe5yHPLIcNXPWv6n+/KIur7ttqf2zg68G2vVceLmqATmfpSFo3yEJaqePEvoebmKdRbfclak6YjVNfoFf/roVvp6jHUXNlNzh/PmKUhkU7HB6pSI+qdNeLnu/Ky123aFEuw3fGu3A/ruWMluTbP/f3LWsSz5C1p5ZU6dnS8bQev7lt0vzctikQHvw5EZt84RcFlFy+bttCDVbTZIgF25XBhpCvIq5DaE2ANc1EK7WzbdhV3oMWNJoFupaUpkNrTruA6fxNa5zph4TSPL0xL+S7Rst8MPWyne+u7GLpvQb06iWkoHUKoE5Cz7nHxmoRpymqEiwOztK62HirpYGvnRyMUo3pn5vZE5Cory1ZCb/QvVEFzRjKQllnBZ+JpCjePZmj8EwHDuwJzrg2afPNoulT946uyxYhJYq1ci1mMwrFjiqXwj3NyhpHZDpQ3n4lUES54ooiMRIPzLjQ0tZwZ0urm5HC0uWTKdJjFPgwV0bdbxZlKDoGNSGewujLEC6fpSFxXzFxqbYmMPnGemjY7mrJSlaHRbJyxpquRa/rHreVbysR8JkNB8+LS6fFiFqyjCC1ZZBm66bRoWQjDoJK7PYpRBY0iSBVK5ptZjhhlgVQFzDM5ISAkGWOTHjH9DdXJcg0xB/ViqetwYYQm48IRQ3XTADdYB43GPe6Ns+H689utc2sSGOCm6JUojIeKFMRjxZdBFyn4o70oT4rlSp9EWQyVO/tj/zTvne+cgmEZnYpXUD06AgCxYJkP0zTXH+M7MGs9B7F/aC9OlJaCuyaGGo3JmFVFz2U7JohoQXkzhVyZ+4AF3VVSnrgqIKGCqWdFf2XYgOy0mMG2DWiDS0JL+pgRGRKZ5atMy0wtf0wxrqyZznbyAraBz2Cs8Ss4gtlFTozx5LwEs0xzn2FFs0nb6Sr8DbYyq6P6v/2zOOKq4aU526GpUmNfPvdcrq7wlDpX5Jgebi+KRvipFFKsKV52wm2etfQTBdZ1svjucK4Xh0YU/iTyp6gAHllo20F2M5DwqB7xxkjBorASZm1Cdz3+mawSgPRcvcBpW+au5lDIC1LC7mXUV7zAIhPwaf6wdw4/rt+k+SjtMmWlxnWamKBoqlBjWQSHVtYZtkKTgb+eAEfQh9q6bLIzdcT6PNWr34S7QrE6xeDHVTqNovr8WSFXP9GxafEvRPLgbZ0T5waZ9x9RaIrc6CWHaQ8dK1Lmo11ewjbLTQjXUFLM9fjYfrdmMqHdhac6fcQI5znDSa35FpgDyzSHrEKTdryIy1bd3qn4J914FGvDGg60til6rjkAGnjXNxA3gec4jp/cFr6YA26nZtmy5USJHD7PGelOeig1Ys4Uzg2zx+0HJ7is62eHAdzgssHEEnQiryYJskEWRRPf8jluibgC6WBrTbObkzkEkqZ8u2iIktLEnp+zz+V0uj49ygInrjK7xxOBv9bhwVofzsAp3MfBaAqgAqEPCfP0A1mQkxG6NHxGXGF1fefTCY+irAZMhSdfpsYdszIpBBkSLcFGdhOvVZ+kyKtqte+HmGQfLENStXyNG+Rw6RTQNOZj4xQB4r+oDARt/MnouUBbRcr8nhf6q4A7fjwF0KHXlkAUy2cbMAsirRXw2nj1c5GMmUtQpNFWv/5ViPj8oQk1CGsrIO2LRnFY5omoXikNBdPmd81e20qOyLV3u5sC14Z6tXp0wWEzvOb5JYjj4E+9uSw31hYRGlG8CLRO+uxHdnEs24EeP+vrhN4X18im2u3dsqmt41u6i75QU19JvZQSxVb+HqyDPTnOz48PanTSUJKRkXAcdxvlzlmT/HxXGursAactt+aQ8HlTk/Nv3YYe3wiUyvPGM8/4ZHw0HE6ct1UCm0g7VB6+atF/zkkoN0pRSa3O791t68HL5xLBYnlZy/PJG4Rj0G0qvzBgyVImINMimEB9hX67Gy6sE75als3bBnQ5VgmBCoXEelurVjvLH+H7q0sB6h0TjVhqpdzfdOKca35CYRwZTlE71PMKYNo+ETx12HZyEsh8S9JEdCqPkRGmQ0AlPEvLG+8oMVNZvWE4iXV5jmsk0kuY2d50QxD/HY6Jd+gEjcmVjgCxPCHKrq8s8JDd6MILrN+G/199deHth9eKXMgY6w/9u3bWb/QR/dHTzqxdr4RxVBxogz7wK9hfBp0ZMiUvR6/TaRkEVICTs7mHIjGCDLEYDRbAJM8sFLDSDOBwhBKhIDvfWS4vZQc6CStIBiOgA0E8p5iDTGQsTpBfhs1dECkBXf0RreTmyvl7wx6iubogakEFmJR7epaiEx0MUKydKWDJJDeozwowk6TVyjFswEXBU6dybt2I2LEyJi1cvDefY93ofo5wbHzTJukdXC6dV2SPc0zbzc+3AjzjYyrBAa1tWRaTsi6YyqdCtbee0wS0Sda04wIAkqa0eRdeGmGCDvizAAMYSggK8tudI8nmYH4gD8YaCgB9FDPvpOuWwS6/zXGbf/r50I+9r8qXrfxnrv9FackL8NnkftnWelnot4pcQaGwDTaatF3BaCqTgFQ0iGEe64Zh9VzK1wzxpaWGIHZWwjdT3bhZSd3ApfSheFP7MeOtbhWp23j5XeeggqsIJC29dPC8rOIEUPFNLW5LnuoLnky20T4/ybf7/MGc3dz2z7ToJ58pGBmfEBUaFhqVgCfTuZmSPEkml04mYDFgWAKZzEg7TAZZQWRqmESFJmxOHTDPHVF75UCRvXie262lQPSF13LJFqC17olxwQT3w5jkjSJaTAQs4DjBP7amiUF7CTFkZL03Dl8tk0y1uIfnpA/isPIeK9GydYFmez7191eTBC9vyi2zm5Diy+MMS9h5II5IwBuhVYqLicUfmiGYQnrjn/UsLb613NpXF/Jrdpes/F9gZMbON3tl5jy36af6vw/cyGiFTMUr3er7KQhnZTD00ySEaFUGZm6iUNg2PfbuCBz57V8INcy8mu5AgODhE7F0HaF0nc+IvbfNCfysYenOjCWAUMSqdwItOkIAwAr1rz2RHgAivvYwarmCvOBX4ddkoQAiCKRnV6BBU/8AykBtF29PXKxvCn3KhRAigK5sMgJNhSi3GGUAAbgHjeujahhMIjAYy4qVZM5dFMo+21bsgT53Q7wGaHHPlryrqGnvg/0Vxx7zxnh4kzlWt7OpgUkg9PfQqKkeX0kt/DkKdaJ5sY3o9WEWRVfT4O283kSmwJ/Q6JoLAhCNhRyOlxTNA8PKWFjrR9TaCjgmNnR3Ck2fBSbOnJQKMtV1BEZ/vEi0VCMGPXAdBdA8ClipPmbSW7uKysuF8b13vn0SwV5GdesIxFEQImJlrIDPL9jJwnz9vxHYR3ZxGw3Lvgi0ABwHDf3SPKiLxjECseYk2ohfrFmR8lxpciRNI9+C9LUVhLLPAMRw6ddNCP4MZVjgDEHFo9Arz2VcZwGl1NFNFhJFJ6lcFDizM+0K+KbGB2OE99IH86RSzHLHLBgdR+McCRoEBBRvLIAQRRCxTHzF81UZs1CAoAic4tXoJmhTQcN/HbL1sAbweABoLPEV7qNw1gxGZwAAqMXyunrOITU/G2lfjhQGZZi7AUXeYz0E95Ks/JvMYPXfdRZGVhjG7qGBCa4r9G7N/zM1PNnj95sK9KDOY3/+eNEqq9V2XOTnMChiTqhI1tkw2VZBnjCeCTfdZDpst7v5yn8OmLx9Q//dzdPIvn1nCWhbLGL8YXRzvC4v7EncRX69+PwXwGr96/A50RQUPXDfMOCk1M5gpi8XfvVL7q97T9xxa3X87pWv0/znnvzB7UCK2JG0k7LZf+zbrY+qO/p+hKTP/Lm8o5GmFO4vMCjXZunAr+5Gr/Qz8COP01ui6Aj7Hk/A1sd9++DRuW/XPfopjuBB1TFTRrncGel4lkYR5kgaVVh44zXdxUG/yG6XsuzP/05ze0cX9em+QW1Z1VwAmlsDjxIXId3hZIbZWxNiAxq9ckO53SoIMG3laezrvy8/VBjMdTw14vjgQexytPeu37n6JnYkph1TthPNrGvIf5xsFnwx2H9y/3+XJQngXPgx+7/3NzTvx1dUwDtRsGgJs9HsJQIaeYYcJgTWpvcluR3WnxyBwXAGMTp4EfyYDQadlRM44wrnGc4kljxqX0W8BoNJ2sdTKtUiu3/2aC5a2sYV8JLVahIPfMXq1U+67a7SRTp7NA7sn+k/iQuWyrlcqQRyVkvI7ZxBfzq4y0ibdpRAg4AgbGcvyRvjuqC8318u3Mo2b8CcmvFmwTBdt4CF6OBMsni248dBpKj5c+ss30N3Bra8gcZB6zVOweTfI2MBOkS1hAzQDMaPz/o6x1gZC0fgidMnGxWAllRyZs1aYsRU8enitVNJWiEM1uYa377AvQ5P3sBb7evrkCnrPNbiV4IVSk6EKNt4fVvtrusXZ5+O7Bicv7TjogceinPKbOdgVdeGhvM3di14MFjWhFSoKQja8pHld0IsoOUwUHhjaaCOwBtJQ6IDsrA5TlwOdniZj1NmvgCRjdagFErfV3lIzFu8JFS7+BtvG3nV1DWLmlObDTVbKrveUoGmMqsPORa/nd/GOThCLjeex2YTpcPlxVPa6q2UcXlx7rCSHry+GB3/d2i+zAsqNnooEKMo5/Y6vr4RzDx9xXZkUUbv+a/APXJyNAXLzscvMX3ZQnkcGOJRogm8/lFVuz6YdD+4vmwnNl64q3h4ZIJ/fSZeIEAALEVNFMw+QCFzwqwtWf7JJ7ELsKvmMCvZN2ipnB1r9wEGMZ7anIni3DBP4to/7p+rRTCExCFEMV9DhdDR36SNCUG00U6rjk+NoUReBzcU5RICBegUJYw1r2VaI5NB7SMyGT/ODOAz3Zc3pVoyFKXcnGZGi33dhzg0ZaNKiULQEREEVo7fQjKGSUR8cbV+kx1lflSrw8lZS6JvJimBAV7wBPzTdFW1wxGvVm2DvYdoWm2zxS5okIY9sSzZW5QVnoqgSQQqFsfYKE8VUtE3rQ/neGVfEjrPtfK0mHs664HdU5loIp3LWd9umD3P71+SSlVm8wNFZRosON4WmbOp4yP8v75CYTF6g12KEchJl4Z52gOxIsH/L1MuB3Y+WORHamIUFGPVUF2CZWnQ6O5y3Z1qI1Vsm1nF4ntJyHkRjgpHEYVaVNsllgAzhOFGdrZbAkElqQGpXi9N8dlYLMunbsYupJwLAz0JSc0eyRBSlDDDU6V+oel1ZVxT0yCWwHVQfy9EEfGWliSK6eKK/Ub7K28kphyRfrmnZg9P8lPLESJdS9TShGctXXrhY5PJf3WbvcMO2JHxxBQ8sQ0GY6PJAZXNqM9+0JxGBwgshZ0tIzBDqmQHQilEiQn0Zv5PRmct0OaG6SZfZV3mcDxKMsWt7uVgUtIc9WLFWmk2L2nvpK/Ioqb/OXfsH2tpYX6uOwtOuN+hNg30B7c5sWA8GnCzTW7QPGfxaxE3PZY9b4GEwMciMZ9/RzzixZzsZknWcmeLwOzL5XAIBE0P5QJGKOYxY1awdCFJcIOHH2O7copis+Mj3q1xa3SALrEs15LYvNQGwSjYBAzjYLNcTATHo7YNzBZlO8ZKrP9PllrQ2zSch4hm7hTfFdvVWgubarUtCvxLJd7Jtrx6NUR295/E0RJqPpPiGDBOZHSuPMylY8Zt81gvO+aq33zXhhmg9unoaoqkhD2Rptn0svtlZ3aaOOreJkS2vHiZny7BNk+g1x84cKGrlJuh0ZOlhmCxqIQMEzYRPU4+yfWb8I5/em/8Qcm5D5NyApNZkxgGqdum/lSXl1HhhmFeMqUOnOCMS7/2j+oPxIWrAn40z2n6hRsfQ5uwys+gKLwRIXg+tq1sDRmRP6NO8Z6npmUSSqaUmf9kPAaZjnn47JdoqDre6bEJLn7JPmukuw0Qxrgg0i724piPIF6SKgszTDttZgrTwf8o+bu8kss2sy2S2PculP7ZAL5HZ8iAFxtX8uk37Vcacm4IIe5TFfSfb5hUgrkrlwvzhaRYNrQcnJORogwvQ1J6xtVESGr9szC4U1Oi9vYFsQhz7PSkOcY6Nt9g+nFW82FL929bjsMSObGO4trHp5z114cL42VXB3gorZfHuVIu350U9NdHbcV3vKnGYLIaXMwIc53JWLROcHEEmelJ8PY5OhboDqvLt/HmGsiZQuiUjMoRp+8/1vT5tmVeQA8eSHpr1zAnhmfz2bNyUsOlifnCxrLYhdFScHtWiVTn9OBOvVzl9cVfTfNsbOL7NYvL19ixnGaosRmUEuaEn4MgImdJZfjh0EU/vHFCzULeE2MWKSmpyrOGCQ0KJFN4xYjCwYO49yDfrPhhPqHxtRKF2oaiAnJKhfYiYVfBL6h43GZn9iK7KNBzl2xAiISzu0mOAJXiOxxINqhcI0qxsKdFbJygaQp8V9xrm4R1CvlLGe0Mv6HdJzNPJpODbK+ZcH0x2vo6IVcEqs1ypTK52duYOBkIa1qfwwRshzS7a/pJNUn3tt5jgQtmC389WhgQK7LK9euFwmnaSZvNEescnu/D4Rn+rGhru3WsDEmpyl6gfj4tKpBOet3mBc5D9ba93oA8s8N7JtT4ZAY36idroQHhdRGRKh0lqE/IZO9rA5tgEzH7UqFPKntbH5to68VDgQHybFlOjuCrNvtMBTGIm2ct+F1eb6nBxtsHVbVaKGQnyuXAcbiRQr8ZdXNVtrECG2CxUhy9iFIXw5EZod1oIlyhf63ZQAZqP/ULM+hr4Fu8PTzv4SB50tuz0vZOWdwOyVvoxK+TyZweG8NxMNvV4bpcZbF4auAm1JwpNMSF06HV7DjLdmhXkpOq8T05QCg2EiVrdoZdw5J4qgikJSSYc2TYdpYBZkF+WtHTkYaLxfQfcc2naiIuFLMcJPVApDLTJJ6PBCDE8u307p+D+QE7gdSw6xA108wb48bM5es5kVmY5DZBS24iLIEpEulcnkgLQcTjgLIyPS+Z4pwez1DmtxpKuui3dCyMFAoVAFEfLfBrWFZr8dlObdycw0/aLSXNB8YVdP7AAFnTaHUBP/AxSUUiTGduJP50XK+/0kKG8BVSbSgdftp5MglNH571y5HJYoOy6EeC1QhmS5fHapR675eVguyeHgReh9RK9IvF7e0RXlPAyFny8VqcEAGY93LK1bzpIgt/F0X5WlwCwedL3tuD3h4kQyLRdfFGl8X50NB4oi0Tv9ExSHU0ZORA4IyjIomeivvXT/jRPBF8QXIXLNWqtIQAQc4fghtMd8X4iX8MqTJpxRKRCB7AnMcZpljMlWi60Ej718S6lNN3qYZIFZ3gocY427gRJzP14FbF6TY0XYltteEXIIjMRuQDmc+3nFRlZxeVw+VmieLoQk6YrmWwNMN0hNrrUnHiMMBl2EoFSw+wB/sTLuByHf39Q19WlpWxcQT5yAKzlWxs7fQ/UH6i3XkxYPX7/Q/HXU1T1zrIgoLa2jabouqOYfuYwQu02v///5YeBB1+H1QJU2AK0dTVx6P4B6baEW4kDgYj5rVoPHbAW2WzVodCHruNQVXdMF8Lkitpng/Oyh0vDWeOFmMTfv/VttOnH9dxEs/lK3HEv8gun6aL9xW5bVq2JHOh3ZUfp/fj9/rgn/9g1mOwUZ8A5T4jgvDNOTmOHDijUjBNii5fPF9744Zen9nKXlV6jYhAMv6phEzH6TRs01nAhZqPahQPkLHAYsBfYXZV2AxquPBwRphXzLFYXlrZNAgztTIt0S4eXWw8LTI0wwzlyIZWUCfJihIl6YC3P1YXQEwlPce91Go5GWFLOKuCcUN+Uf7AcEeRUVcnWWBvdKmEcEYZOT4PmUhhL/XWjoFMn285S6JRcfudiTdTr3Mu/ZZEojhIYgvlEIx2ytlwjM2VRJ/Q6U4gokQhzo3XD5//v/+ZwKnB2dk2W2fndU2sG04nTe9U5IF04uzJYvF87ShCUAD5maKhGUbaMJlCrdaIMXaUISyrWENtbbSp0d+FM5KDw4c8B7kRBrFwaaZrxtkwoJpH09JMvcRkc0yGobNJPEA7QW6Rs1mmVJ+RvqsZztRFEsIZ//GOjUyDyIRARDIb2sdVknQJrJkSBKhgkoiaiuZiwviS4sp5vcu+KnRQN3Lq5IRu3ASnVGWXOnKCAp/vPySHpmgOm0sLxBKFFoJCLBbSXDabRa7kkcA+UyclpyQMSPWZCoUIn66wvtUnVpiqNYXmHZ0d6InkX3/ROJxtznQltkBIvrRw7Jo/4dWpidET8YKcDT7GgsZZiAMwU8TKGJfP2z8Ca2tIJFKhQwZLFHAUCxiXjjZVCnDc6C9J+pQ0O0oanxyJ0AmmdH9hFgsdDYejlTMGE1ESZ/JVOiu/kJiXIcSDNJVocfX5xE0g07yEMGrIynItFDNqRYnZModiLknzlYZMDYNAASdxc26mRMQP8EL7hZpcfzTpW6ismdeRUhzL+EcAsNFrQpfJMVPw6jGGtU/2IPK/sKzgTmT8yoKKjKxfJlOf4tDUXI7G1VsVvENp8vzLoEAKAhAwDB5rvKpzZEnsZdr7YAy0VgoLvY6Gw+kBFvgcneAztH96R4cfC2yRWUjrJOKzn755QduXghMohBBQOMVwIASEX2laLeQyhcnVR3/xO2LVTWDmh/MCiz30aPbnFCyKwzd9bQD3tRVk5lJzlmYCImTRBE6UJKAALxoYSQFrflyRTTzXlrT79+Jfz0jb9+fArlteMSnO6XVXk+yCv4rnJPz1P5Gz1s966bRo2tDAQ/wFWY547fhpaKJk+JiRarWhZYVr/11//gtmtu5StsZOUARWo93Tn5czTbwLmL94k5kYbybj453DNPDmMB7excwA7xQzdIE+qo45x5vFnOKduaNnmzDBnfmHT9kWnrznunlL37+WTE/6XxBek2TGAk9E4TjF/cyjflbqAcfcIHRVXPc9RxNWf9zp53Q/UIiC89t1Khh0ZFlJpmCV9y7wNM4VzUExWAnnlLll9zVSwmHYm1V+P5AkpUHCcUInoOoK9cHIjWFng5WfWBL3+S8KMRAknAiwlp19kDMgMcz56FolD6ooWTfbe+BcctWfajApmIqWgiYnOztTa0QoJBrRk4zazOwLBG80cy/QZg4xThGjXDQBve+SQUSQ4N9m7s8NI3C2z2Yppg9G7oVzh4LLAdOgaZzpKfzrFAkmvH6bMNORrJRSQTX3BDauM6gCQcWljWMi0Y4zS5B9GyVkIGOXXXPhsGKo1Zt9OCj3I4uv3e2O1ho5oegZ0x+1ECuvGfPWFqp9ImWAjQstHk+lNahhZV6rzQI8pDpntARBqNou5we/ltim3VC+VTIahzuXAnsS5PSM6YN1qVsVf1YQyatacSkmldA0/dD6lWpU5VvgAO+7Ayo2vF5FMUVpImoIArwo/JbM6A7nqLbOHTHtK+akU1wx2ccC21HJt1lrbCP3GeTU+8jpq57AA55FywLFBjB+7D5ZDUwqCsbfvDBmz70eS2ozFQpTTmn8eWo1MVSdQK0ZjCTbilXHnGiZ71RyBPGi6liuTVIYLtWptgTGyPxrQVNF/RmHYzyv2qYWvWBLTk7EkgZDhdQiVIV4kuTWJvUAGq5akoJtirgKR028hVWLaOT/pejFbkmLlzIO9IiYpC937sWgilh1lOYKsURn94t/gm8l4ZWb3fnN5cOX6j1BhzHo3jcXT5aBFnnW0RAx8K8ootyK2B9E1TKR0sUjRQY+twL4HgJgkv3xUE0KHTk9r0ZR5/N+sg2K6J0LS/Ntud1WUCW64iT2+P0dBE13umjHUeBxsy6eX9OAK/C4Fzm/RjQowWBC4zBwhg5qqhNpXnkEiC/fsHFPyY8UCpl8MCd5IGbQ822UzYqCD4uy8LgKyKxwEPk6+DvrZEwYe0k6vyeVs6Dut5+pbxz+omLudzpPrVMtPN4NPOpF+PcX/aCOFvD4ZKbio4s/8LxkXljxJdXglXleDnSCX/yJgYhDlTZGOOsOzjJCG1UcRMzOhwV68fI2Dv7b80a8WHdERBuyPC50PMfMEYzVB89gNgnKK9vbLHMIKRzrhMkS0UIxXyPngagImS+puHDrWg55Aiirug9SGjNxs6MblwiL+/2WpYj4ajpus6MxXiKvvBDdodv3o5fqsmA5iPqNFmCP1SHKLhrkoM2FxCoK59XSsapLwCV+fLLk743PflphvjlET2IK51FSckdtlvEXio55kwk+qO5sjlaaXbGyi4QVDRzX57DCn0Qchuf+QL/IzbPJEGpdqTmC/lGizoT0J5I2CS95ZnK/FlBNO9BysD1qm+VewB+QkpWSir7V7YO94Q9cm/fXKeD2yWjASytIbx0RVC5M8i3SsITK55MPFHUMF3CusZSMROkHjbdky3YMhu6T2Q6zZSq0snfRurETVndRitJv9vh1Hbg73KcsVPM7DtcaEorb6uweOboqBkNvXg9eQ6Nl/WAcooXH82QnsAzDFlfYFSoxJOf16O+skc9jFL3VOQpR9PnfFcX1qbALeRNgBuRs9VnWYP6dN6ew8OBZe2yDEtvsdsJ13c+5g27XnbDbNiV+c9b3MvMQ9jz8WVaXDEchShmhAxCkQoJaHBJGa5UjdHa7BCRJURWGY0XFKqCR7GM08Bq2OIIWAwnqZLSomK+d3fQk3x6TsWtx0daXEVRJs4m66uyRBhrR9+3fd8OIelG3l5NhzR8ZRjnxBD/m/BAbWAx5qUJUHB7eUWxiv2Qmykm2YEHCImMKezGoklT1l8x3Q3NWj2x6JaFuxZIMnkx4YxIkIQU5aqy261iWVb+r+dEiKERGgCIkIxXOcnHbwbcolJgkyK8ERRH3Jxk4XOJvo/wdvlk44q6cFAo0JbuwoMmclijaPwQRP+xOfRrdNlQDJJAp9NoF/x7TJ3hXeH9GWKAPhMaVoFccBpJJhcEbkTcCcFAjnZsm5fUcJFPYeWRu3fOL3LnPLczZiOVuBMFRzI0Uygq9kHTe+PjG7n4h+wObEMgjeTWJYm8sCAWfYeb5kw/Mz5nbxQYQhRDDVgiZwhUULOO3WGZZWT+kJEC1tNTvjxetvGwi/OUeigdhqg9PITDXz1x9rf6SSijd4UvcYt3iXaepHfIrx3Asww1syMZyaOk1jxeKYyhEL1xE7uVbYpOSN7SbDMpKvk/jG75mJMNWaRZE4TOkd/OaPRyJMCikoYk9eRoU8YGWyHRioU5Oy3PVQO8Q/5o7NbmlV8PuRVcDLjeVJBIN76wLIkR0kmH87BVnpLGl5nuY+aZ02mPPRFtNOiTacRY2EouEgA1mm0QDpDtUMzBkiedOhU0qE+Ye1OLT/uGoKrApeYWCm5+Ha+gTL6O1KyoYacQAFYlyPVjRqM6AGNWmkyFlOIWQTY+LtmCwByVS+IOyVTbjyevSh/1RRk0clBr3zI3uM0hago11yv2+VYNa0vaAluvs9F8nQBCBccGO3GeYcGxDzoJo5fSQ55rr+Ch6csRKJEXS84J9RYagvVC7sntn9lkpkOdTsHFkI71GOwABmcji5tBBcQZCf9rYtjOoLGP4D88ILkUEl9TcuDG+60y1n+LNCwGdfxrNKTzQ8JQcdO/eLHLaYSuy0rzGjlurL5z7fDYh//CEGKWdXnfm0mOaB5uWZ67VI4849X6VvAp50jkCSo+rSHJ6+LrUjdn7iyKQdUeVTilcN11X/HUvPDAjl2e4S+LPVanwweq4z9LvT6Vacqx3aFbgnu5Zi9fcybTaA2mu+XNu96ZZ1U6dtM/u8UTtejJ+cKD5JblsADGIQhRDkdugYycuIvdiTsdFU6TFyfBy88vrR9t2EKlORw6oPZlwpI0LZ1pSyGmt2awl3+1pZQ01jykGsop0MGeRJJIUuny1yvBdoScjhUKYuAO9oZlAhO3DFrSRlelEepAIVI6ArjtQBRZlzpvz7Pyale/ZOrqnQlw5Rmdba4HCSdR3IwiGaZHWmNbFeaeDzbq7Pz58ofbzJIueC8o3rm62BbJPscNxScZTeJKN//AUyuXDee4zvaKFFB5R57UaHGMwg9HUcky0COgwnrzaite6l3vhgwP+RIbhaUzyxf44Bj5cPzma3NIqcUHu7Oo5jR9is1jfvdh+OM0Z+hMX3KZyYGkeaZ+wr65dD4wZT+xB1IRxXX9qm5mdhHElwGO4Q0qGpIAdYadQpI/fuilvGpdVJAaBDKOPrScRNgCE11jM4tVHDJCluJ/AGvr/vk+W+RFk9ekGTM30+vNWNq6/Ckra9U5H2B8AAbPAaydNUEmPJ/xnG0oD4M9PX6WkWDp02UPtn0z81WMMmGAgaPkDGo2Dn7px/8RPA9PXI2PF8I+wHgPLC6ifaje+ut3iq712nN53WfvDaj6CInda/rZ7+a9+9Iwl7odOdKsTJ4cu9RNoyC3zvjfPxdIWsfbamVa78YQHt+I+XufQs9usbru4axcQF4IqVLtAXk2g1Mf5Jz9a12GG57jdks/rMc+mXk6D/qmedeJrN9LcaX6vrlZlruv9Gh40jd+I59em4CPOqmvwMNMtj6IP3Q86CEYqOcyjdKf6MuzRaLrj/GN1Ul1snE0yxR/bMGMtHtwcfcQBc6eLzq08u/H/xN4H5k7mUBfusmSOlXn3P2ofZsLYw82+FED16sSWH+T+JFeVgm83iwTI5ali+QIG0+Koea40afvJa3S8JaTz/2QvHOqFC/oJJXl+Zct822NLkMJ5Scn8p91zk9T5o9337iXcugeewRnYAEXQChvhqLYJwcexuJrqMqdtjKANRyVP8ilx65fwIsjtLHTAPWivvNjCqxsr9wNqkCvjckCrLKeaOyjqbzNniqrLGN95DMnwvG7xJFP9Ii/eWKCneS2byZfrCsdrqrEnDnZ07v7VOrWongFsA+bNIO/Fh6gPdZ/pmhZrHlVf957CfvRflTG1coOqhFO/uiIoiPBXy+4pVRp1kfO0tLrIhaQFPsBzuNi4C25eEE3lA/VOB8H0bVGzGeQuAZUT/2VpG3TN8x+ipnGlU7kJ01MR7RE3VUmeTbLnNvpRZPbUQjt1m1PLvba3ScRwM3n8kpW2gbTJ28zxlwcm6zbyspDJAiIma8u6KJpsyHVV1lUrqfOtW8mFniHHVldMXuWX3LCFtI0nXo5XNGPeMEdLWyJ2DmYreD6h7o0fUg57W0FjgQj8dNU/x9EPJGBnqZ5qMm28V+eORToOVichsgEbnMEDd4nbuAfgB6FjNfu0zWVjlxThXKLddJQdBDwbeDhwBvBQ4G3AT2ddaX1JadTSpXEG+HNZRPvSfc5xGcM8hJr/ElW++PpvmukX3CAwVhCPLR4DMulTnjwk3jxuZgF4dcpYj7Arq8d4FdYTXAqtJ0lS1TO466+nSDxReRnTPAwh4NqGeme02noXQiX1rtgKitxaRtGYM9f8ejW++PqxaFH17gT86z2wudd7siRVvXCJ6/1xsSHgQODOcmRJkW2SvDlXpnlmc6WmlWfqRVrI7AFHmeh1p5cu0JOS3C0QpHCbXI2BcnSYlhJduc4yLxcuLfmWKfZvjrnypKvLUWPueskWKx39qfVprUW8OSfHkr5PxnWZLc9yX2TRL6okuUe7k/ikr3G0qHk+R77pZrsxzPki86RvZdRUXMadKx9zlLzyrju1dPAwO6msaM2QrUvvokQLf37q03o9W63ZndDVdZHcrs9l3DTP3clcSfpcs5DIa8wxP4DSZ1emAuR7pef0tksZB9+CGDtXvlQqs1dfd65Us56QsxTlXkfY9Oy23q/SKzRWAGInVYsD/vKn2W+ItHhiUM1eLbCPBoU0v2TFAgfXpLuqMyXiyMKnBxwp5eETM4odgpObbXHLdTfaKv+eMkZTNSwJZ1n5xLj89XKVITWfg9twM8dBv7nrtjtdLDufofYpGpkDyjhkTE7UxooYdxZCJ9eVpwfuuW9ukdL0ifJyny/vX6byy59PAXy9cyp+6DBhwxlXSAQTzbNAZinmR4wkW5b6dkcRFFWfYDmGzIkm1CILaeVGjxEzlknCYscxudTSTPGQLq58eQpk1BIXDptFZZiqHoGYSLaFaQrLlRHYLR6l2BI76RVZnDRZ8vIdFl0BjekVphBTUcXWiE1ZiTjL+jm1pQxKktNPzAx2hnjGmrkXs5z0Xs4+MQnsJvvgLaYVNlgZzZyQiJjFt9t2WbVKcQNtUpZSVrye/n51mrRfhDuzYa3+/Y6cuVbsr1Z6wdX3/2VRW131NRTBQvqDXAMOrvH8JUpm28liNdZUcy21opwhkOQ1P3yt2qyqLUMbGR11DBtDuyMuu5QpM1Nm9hnRn6Qu6nDWHntZsyHD89EnP/tditK3fj7QmSt3nrwaBQpg0h3lKlRabru6hvJbrayRAgWdbiy8cESRosWKlygptyBZvV1/MpcLFCxUuEhTTRcVFjGFstYE63R75LF/PKldvJkSJaEN9WOBIMmKqumGadmO6/lEEplCpdEZTBaK4UFsDpfHFwhFYolUJlcoVWqNVqc3OF2c83ZEeWo0KLSaWmoz7zDd0lQ6lWbi5g1rru0/L3KJPDN9UYb9siDXFxCtO3nJbKfduqTTjDMxbPQ/GhznKhQSHFedyxL09g7NJxHOepZJoVvLW+qCG9be8pH+5cBfICZTSloD3XZk1rhTds/cJ5dZSDOv+VPCcON9OMFtViTPC9wPcXh/AkSIsZRJNodOO21OL+xY+aXB409KS9mgwb/Ro1ByC+lYlt2pPRHfkBCe89q96dc76MkleOm4iZymsTU70INvcSAvEyMTdZA5L1OzI3tLoyXjAiPPDdREDdXlYJbzjkXChDyaeFRiF4Es9EzahcLknbBvLl33U0ygLxQT1TQ0bZq9Px8Qc+InBNKJDJkhLv0uDIpBgdyZc9FI9S6bskil4mU/Vqd03alOtar4xEpQqfOwRTA+wWbeLE4sw9+Sdgq7DuD3sHj899rhII1lXvkiVLk6sQA0sQhzpcq0w0z9QuOMdID6GOlwqJWewo04UpOQZhZt8CA0Otkg5SvW1lr+KFLRydryJaRkRcoDj6S1Li2mC8aGgjS44bwIZM7E9Tai16uQ25v1a3XB2KutzIBQCRnUWggZhkvxDXnj2JsVcWyODECPjXUXrABImhPo3JHiD+OweAcjpa0pUZJ7GNdmdeyI+an/SZP83aYZV9cKZa6SZS41AklZ0Ao3KW5TjT/a7dHR1eaibbWMWbd5DiSnD27KXEccOr1xFbguMSLUuCNNAW6CZZor3XCCxlw+2p328R4fcZZvzOVrQM0+ORktQSsa8dwHomZ7kqg8ttVGmYi2IC/28Nk7QzM8sHgP8xniPcyHNu8TPuLwMZcPbf60oyZkb7XqaCPA2/bL73+cQYcVsYCI6Oom2V1RFlgEgEEioqscNgTykAAgrANhM5EAMEzYAB8wDUBneeEtQH4h9wmUwKMDQK/d4GARAAYJ9Bo2ABCwZ0AAAAAbAAA+AEAH8BYgPwMuAzXiEVvHJUN3Y9h4PL+lmY+nE6F3UJhcPZUCrgQy2xkrCBOf85GmaQV1AKG31uXaQ+rqDtuxMsNXfsqErvFhqTe+7iFeJW8JFu5S1E5qsdTgyC6iG3EvgXURZyWFWM6cbtnbgPsGjAw6WCQqn7ldLUsqjcO4TYdBv+dlARUzZwxFvLJpr9zGf5Uet85EiWdb6kKJm8YM/itdecYElJllTfiK/VjL3OML250DHyfenkYR9rnPh5tDukRcNpvcRDOJ9lmD6uoguBfvxv+nYeSmnKpftmM/EN7mbH1ukA77Psse/Ymhr2x5u0p4JH7hKPZ0ytmyQ/Hzh+n4/f/pPxpS3AIAAA=="}},"time_used":98,"timings":{"blocked":25,"dns":0,"connect":0,"send":0,"wait":23,"receive":50,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
